Gentle Breeze

[CISSP] Domain 6. 암호학 (I) 본문

⑨ 직무역량강화/CISSP

[CISSP] Domain 6. 암호학 (I)

재령 2012. 1. 11. 15:54
▶ 암호학과 보안
  - 암호학(cryptology) = 암호기술(cryptography) + 암호분석(cryptanalysis)

  - 암호학에 대한 보안 요구사항
      - 기밀성
      - 무결성
      - 인증
      - 부인봉쇄

  
- 암호 시스템의 안전성은 키의 비밀성에 달려있음

  - 암호화의 3요소 : 알고리즘, 키, 키 사이즈

  - 원시 암호법 : Eg) 시저 사이퍼

  - 현대 암호학
      - 대치(substitution)
         - Mono-alphabetic Substitution : 평문의 문자가 항상 동일한 암호문의 문자로 대치
                                                       빈도수 분석에 취약
         - Poly-alphabetic Substitution : 일정한 규칙 적용, 평문의 동일한 문자가 암호문의 다른 문자로 치환
                                                      통계적 분석에 취약
 
      - 전치(transposition) : 평문 문자를 재배열, 치환(permutation)

  - 대칭키 암호 : 대치/전치 암호 기반, DES
  - 공개키 암호 : 큰 수의 소인수분해 문제, 유한체ㅔ서의 이산대수 문제 등을 기반, RSA

  - 정보 이론
      - 혼합(confusion) : 1:1 대치 기법 이용
      - 확산(diffusion) : 전치, 치환 기법 이용

▶ 암호 시스템에 대한 공격 모델
  - 수동형 공격과 능동형 공격의 예
      - 위조(fabrication) : replay attack
             hacker가 암호화 된 data packet 을 가로채 server에 계속 보내 data 무결성 훼손
             client에서 timestamp(1970.01.01~)를 붙여 보내고 server에서 받은 후 비교, 큰 차이 발생 시 공격 인지
             TCP에서 sequence를 붙여 보내고 같은 sequence가 반복 시 공격 인지
             Application에서 nonce(1/100억) 값을 붙여 보내고 같은 nonce가 반복 시 공격 인지
             Eg) OAuth for facebook

    - 평문(M/P) : Plain Text
    - 암호문(C) : Cipher Text
    - 키(Key) : KE / KD / KU / KR

  - 암호분석(cryptanalysis)
      - COA (Ciphertext-Only Attack) : 동일한 알고리즘으로 암호화 된 일부의 암호문으로 평문을 알아내고자 함
                                                     또한 암호화에 사용 된 Key를 알아내기 위한 사실상 전수조사 공격
      - KPA (Known-Plaintext Attack) : 일부의 평문과 대응하는 암호문을 함께 가지고 이를 바탕으로 Key를 획득
      - CPA (Chosen-Plaintext Attack) : 일부의 암호문과 대응하는 평문을 가지고 있음
                                                       암호화 될 평문을 선택 가능
                                                       특정 평문 블록(긴 블록)을 선택해 암호화 가능
      - ACPA (Adaptively CPA) : 특정 평문 블록을 선택해 평문을 암호화 한 결과를 얻을 수 있음
                                             평문의 일부(작은 블록)를 변경했을 때의 암호문을 알아내서 계속 추적
      - CCA (Chosen-Ciphertext Attack) : 공개 키 암호화 알고리즘을 공격 시 사용
                                                         복호화 될 암호문을 선택 가능, 암호문에 해당하는 평문을 얻어냄
      - Chosen-Text Attack = CPA + CCA
      - Rubber Hose Cryptanalysis : Key를 알고 있는 사람을 찾아 그 사람을 회유

  - 링크 암호화
      - 각 노드와 노드를 건너 뛸 때마다 암/복호화를 반복
      - 각 노드 내에서 일시적으로 평문이 존재해 중간 노드에서 데이터 유출 가능성
      - 운영이 간단하고 키 관리가 단순함 (인접한 노드들과 키를 교환)
      - 긱 링크 당 한 세트의 키만 필요함
      - 라우팅 정보까지 암호화해 트래픽 분석이 어려움
      - Network 장비(Swetch 장비) 간 암호화
      - L1 ~ L2 계층에서 구현 됨

  - 종단간 암호화
      - 라우팅 정보를 암호화 하지 않음, 트래픽 분석에 취약
      - Payload 만 암호화
      - 모든 노드간 Key를 교환해야 하므로 Key 관리가 복잡함
        노드의 갯수가 n 이면 n+(n(n-3)/2)개
      - 중간 노드에서도 데이터가 암호문으로 존재
      - L7 에서 작동하기 때문에 높은 수준의 보안 서비스 제공

▶ 암호학의 용어와 기본 도구
  - 대칭키 암호 알고리즘
      - 암호화 하는 key 와 복호화 하는 key 가 같음
      - 암호의 안전성은 key의 비밀 유지에 의존
      - key 분배 문제가 가장 어려움
      - 스트림 사이퍼, 블록 사이퍼 방식
      - 계산 속도가 빠름
      - 안전한 인증이 힘들고 전자 서명이 불가

  - 공개키 암호 알고리즘
      - 송신측에서 공개키와 개인키를 만들어 암호화해서 먼저 보냄
      - 수신측에서 key를 받아 데이터를 암호화
      - Key Pair (공개키, 개인키)
      - 개인키가 안전성의 근거이므로 비밀 유지, 복호화 키로 사용함
      - 큰 수의 소인수분해 문제, 유한체에서의 이산 대수 문제 기반
      - 계산 속도가 느림
      - 안전한 인증이 가능하고 전자서명이 가능

  - 일방향 해시 함수
      - SHA1 (160 bits), SHA256 (256 bits), SHA512 (512 bits)
      - 평문의 크기가 다양해도 해시값은 일정함
      - 평문을 알면 해시가 나옴, 해시가 있더라도 평문을 알 수는 없음
      - 해시값을 계산하기는 쉽지만 역방향 계산은 불가능
      - 해시값이 128 bits 일 경우 유추를 통해 계산이 가능
      - 해시값은 보통 20 bytes(160 bits) 이내
      - 메시지 다이제스트(요약) 라고도 함

  - MAC (Message Authentication Code)
      - 송수신측이 Secret(비밀 키)를 안전하게 나누어 가지고 있다는 전제
      - 암호학적 해시 (만들어진 해시를 Secret을 사용해 암호화)
      - 수신한 메시지가 평문을 유지하고 있는지 확인 가능 (무결성)
      - 수신한 메시지가 정말 발신자로부터 온 것인지 확인 가능 (사용자 인증)
      - 가장 주된 목적은 무결성 확인

  - 전자 서명 (Digital Signature)
      - 전자서명 생성키는 개인키, 전자서명 검증키는 공개키
      - 송신자의 개인키(해시)로 암호화 한 일종의 해시
      - 사용자 인증, 무결성, 부인봉쇄(non-repudiation)를 제공함
      - 가장 주된 목적은 무결성 확인
Comments