본문 바로가기
Post 3. 개발 일지/1. 정보보안기사

정보보안기사 필기 요약 #2-2. 암호학

by 조단단 2017. 8. 16.

[정보보안기사 필기 요약 보기]

 정보보안기사 필기 요약 #1-1. 정보보호 개요 http://captech.tistory.com/2

 정보보안기사 필기 요약 #2-1. 암호학 http://captech.tistory.com/3

 정보보안기사 필기 요약 #2-2. 암호학 http://captech.tistory.com/4

 정보보안기사 필기 요약 #3-1. 접근통제 http://captech.tistory.com/5

 정보보안기사 필기 요약 #4-1. 시스템 보안 http://captech.tistory.com/6

 정보보안기사 필기 요약 #5-1. 네트워크 보안 http://captech.tistory.com/7

 정보보안기사 필기 요약 #5-2. 네트워크 보안 http://captech.tistory.com/8

 정보보안기사 필기 요약 #5-3. 네트워크 보안 http://captech.tistory.com/9

 정보보안기사 필기 요약 #6. 애플리케이션 보안 http://captech.tistory.com/10

 

 

 이전 #2-1 포스팅이 암호의 역사 및 배경지식들이었다면

#2-2 포스팅에서는 조금 더 본격적인(어려운?) 내용입니다.

 

 암호 기술은 크게 대칭키 암호와 공개키 암호로 나누어집니다.

먼저 대칭키 암호(공통키 암호)에 대해 알아보겠습니다.

 

 

 대칭 암호

1. DES

 - 64비트 블록 암호 알고리즘

 - 키의 크기: 64비트(56비트 비밀키 + 8비트 패리티 비트)

 - 안정성은 비선형 함수로 구성된 8개 S-Box에 의존

 - 16라운드 페이스텔(Feistel) 구조

 - 대체와 전치(순열)를 반복 적용

 - 복호화는 암호화의 역순

 

* 대체(substitution): 비트를 다른 비트로 대체하여 혼돈 제공

  전치(permutation): 비트 순서를 재배열하여 확산 효과 제공

 

  혼돈(confusion): 암호문과 키의 상관관계를 숨기는 것

  확산(diffusion): 평문의 통계적 성질을 퍼뜨려 숨기는 것

 

2. 3DES(트리플 DES)

 - DES를 3단으로 겹친 암호 알고리즘

 - 키의 크기: 168비트(DES의 키 56비트 * 3 = 168)

 - 암호화 - 복호화 - 암호화 순

 - 단순 DES로도 사용가능

 

3. AES(Rijndael)

 - 128비트 블록 암호 알고리즘

 - 키의 크기: 128/196/256비트

 - 10/12/14라운드 SPN구조(Substitution-Permutation Network)

   Non-Feistel 구조이며 제약이 있지만 병렬성을 제공, 대치-전치 과정을 반복

 

4. 그 외 대칭 암호들

 (1) IDEA: 64비트 블록, 8라운드, 키 교환용, 무차별 공격에 대응, PGP SW에서 사용

 (2) Blowfish: 32~448블록, 키 교환용, 페이스텔 구조, 특허 및 라이센스 없음

 (3) SEED: 128비트 블록, 16라운드, 페이스텔 구조, 비선형성 안전도에 의존

 (4) ARIA: AES와 블록, 키의 크기는 동일

 

 

 블록 암호 모드

 - 블록 암호는 고정 길이 비트만 암호화가 가능하다.

  임의의 길이 평문은 일정 크기의 블록으로 나누어 암호화

 

1. ECB모드(Electric CodeBook)

 - 평문 블록, 암호문 블록이 일대일 대응

 - 마지막 블록의 길이가 부족할 시 패딩

 - 병렬처리 가능

 

2. CBC모드(Ciphertext Block Chaining)

 (1) 전 단계 결과 블록 XOR 평문 블록

 (2) 암호화(평문이 직접 암호화)

 - 복호화만 병렬처리 가능

 

3. CFB모드(Ciphertext FeedBack)

 (1) 전 단계 결과 블록 암호화

 (2) XOR 평문 블록(평문을 직접 암호화하지 않음)

 - 전 단계 결과 블록은 암호화 + XOR

 - 복호화만 병렬처리 가능

 

4. OFB모드(Ouput FeedBack)

 (1) 전 단계 결과 블록 암호화

 (2) XOR 평문 블록(평문을 직접 암호화하지 않음)

 - 전 단계 결과 블록은 암호화(XOR 안함)

  키 스트림 작업과 XOR 작업을 병행하여 고속처리 가능

 - 병렬처리 불가

 

5. CTR모드(CounTeR)

 (1) 카운터 암호화 XOR 평문 블록

 - 암호화, 복호화는 완전히 같은 구조이므로 구현이 간단(스트림 암호 특징)

 - 바뀌는 값인 비표(nonce) + 카운터 값인 블록 번호로 구성

 - 병렬처리 가능

 

 * CFB, OFB, CTR은 스트림 모드가 가능한 블록 모드

 

 

 블록 암호 공격

1. 차분 공격(Differental Cryptanalysis)

 - 평문 블록 비트의 차이와 대응하는 암호문 블록 비트의 차이를 비교

 

2. 선형 공격(Linear Cryptanalysis)

 - 알고리즘 내 비선형 구조를 선형화시켜서 키를 찾는 방법

 

3. 전수공격법(Exhaustive Key Search)

 

4. 통계적 분석(Statistical Analysis)

 

5. 수학적 분석(Mathematical Analysis)

 

 

 공개키 암호

1. 대칭 암호의 키 배송 문제

 (1) 키의 사전공유

 (2) 키 배포센터

 (3) Diffie-Hellman 키 교환

 (4) 공개키 암호로 해결

 

2. 공개키 암호

 - 수학적으로 해결하기 힘든 문제를 이용(암호화 오래 걸림)

 - 암호화키와 복호화키가 분리되어 있음

 - 키 배송 문제는 해결했지만 공개키 신뢰성 문제가 남음

 

3. RSA

 (1) 암호화: 암호문 = (평문)E제곱 mod N

  공개키 (E, N)

 (2) 복호화: 평문 = (암호문)D제곱 mod N

  개인키 (D, N)

 

4. RSA에 대한 공격

 (1) 무차별 공격(Brute Force, Factoring Attacks)

 (2) 중간자 공격(Man-in-the-middle)

 

5. 그 외 공개키 암호들

 (1) ElGamal: mod N으로 이산대수를 구하기 어려움을 이용

 (2) Rabin: 소인수분해가 곤란함을 이용

 (3) ECC(Elliptic Curve Cryptosystem): 타원 곡선 암호

  - RSA보다 키가 짧으면서 동일한 성능을 제공, 구현이 용이

   무선, 모바일 환경에서 효율적, 전자상거래 핵심기술

   ECDSA 서명 알고리즘: 타원곡선, 모듈러 연산 필요

 

 

  하이브리드 암호

 - 공개키 암호의 약점인 (a) 처리속도 느림 (b) 중간자 공격에 취약 중

  (a)를 해결하는 방법, (b)는 공개키에 대한 인증이 필요

 - 메시지는 대칭암호로 암호화

 - 대칭암호 세션키는 의사난수 생성기로 생성

 - 세션키를 공개키 암호로 암호화하여 전송

 - 수신자의 개인키로 대칭암호 세션키 복호화

 - 복호화한 세션키로 메시지 대칭암호 복호화

 

 

 해시함수

1. 일방향 해시함수

 (1) 임의 길이 메시지 - 고정 길이 해시값

 (2) 일방향성

 (3) 메시지가 다르면 해시값도 다름

  - 같은 경우 충돌(collision) - 충돌내성 필요

 (4) 역상 저항성, 두 번째 역상 저항성, 충돌 저항성

 

2. 메시지 인증코드(MAC; Message Authentication Mode)

 (1) 임의 길이 메시지 - 고정 길이 출력

 (2) 송신자와 수신자가 공유하는 키를 사용(키 배송 문제)

 (3) 제3자에 대한 증명, 부인방지를 해결할 수 없음

 

 

  전자서명

 (1) 위조 불가

 (2) 서명자 인증

 (3) 부인 방지

 (4) 변경 불가

 (5) 재사용 불가

 - 전자서명은 일반적인 공개키 암호와 키 사용이 반대

  개인키로 서명 작성(암호화), 공개키로 서명 검증(복호화)

 

1. 메시지 복원형 전자서명

 - 서명자가 개인키로 메시지 암호화, 검증자가 공개키로 복호화

  기존 공개키 방식을 이용하므로 별도의 프로토콜이 필요하지 않음

  메시지를 일정한 크기 블록으로 나누어 서명하므로 느림

 

2. 부가형 전자서명

 - 메시지를 해시 알고리즘으로 일정 길이로 압축하여

  서명자가 개인키로 서명한 후 메시지에 덧붙여 전송

  검증은 메시지 해시값, 전자서명을 공개키로 복호화하여 비교

 

 

 PKI(Public-Key Infrastructure)

1. PKI 구성요소

 (1) 인증기관(CA; Certification Authority)

 (2) 등록기관(RA; Registration Authority)

 (3) 디렉터리 서비스(Directory Service)

  - X.500, LDAP(Lightweight Directory Access Protocol)

 

2. PKI 관리 대상

 (1) 인증서(PKC; Public-Key Certificate)

  - X.509 표준규격

 (2) CRL(Certificate Revocation List)

  - 폐지한 인증서 목록

 (3) OCSP(Online Certificate Status Protocol)

  - 필요한 인증서만을 네트워크를 통해 실시간으로 상태 확인

 

3. PKI 형태

 (1) 계층 구조

 (2) 네트워크 구조

 (3) 혼합형 구조

댓글