Notice
Recent Posts
Recent Comments
Gentle Breeze
[CISSP] Domain 6. 암호학 (I) 본문
▶ 암호학과 보안
- 암호학(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)를 제공함
- 가장 주된 목적은 무결성 확인
- 암호학(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)를 제공함
- 가장 주된 목적은 무결성 확인
'⑨ 직무역량강화 > CISSP' 카테고리의 다른 글
[CISSP] Domain 6. 암호학 (III) (0) | 2012.01.12 |
---|---|
[CISSP] Domain 6. 암호학 (II) (0) | 2012.01.11 |
[CISSP] Domain 5. 시스템 운영 보안 (0) | 2012.01.11 |
[CISSP] Domain 4. 응용 시스템 및 시스템 개발 보안 (0) | 2012.01.11 |
[CISSP] Domain 3. 통신과 네트워크 보안 (II) (0) | 2012.01.10 |
Comments