1. 비대칭키 암호
(1) 키 배송 문제 : 키를 보내지 않으면 복호화할 수 없고, 암호화하지 않은 키를 보내면 도청자도 복호화가능함.
1) 해결 방법
- 키의 사전 공유에 의한 해결
- 키배포 센터에 의한 해결 ( 온라인 키 분배)
- 디피헬먼 키 교환에 의한 해결
- 공개키 암호에 의한 해결
2) 키의 사전 공유에 의한 해결
- 키 관리 기관(TA)가 사전에 두 사용자에게 비밀 경로를 통해 임의의 키 전달
- 안전한 통로 필요함, 키 관리 어려움, 관리 비용 큼
3) 키 배포센터에 의한 해결
- 암호 통신이 필요해질 때마다 키 배포센터(KDC)에서 개인 - KDC 사이에서만 공유
- 개인간 공유 X
- 순서 :
- 통신신청
- KDC에서 의사난수 생성기로 2개의 세션키(K) 생성
- DB에서 사용자의 키(KA,KB) 추출
- KDC) 사용자의 키를 이용해 세션키를 암호화
- 송신자는 개인의 키(KA)를 이용해 세션키 복호화
- 송신자는 세션키를 이용해 데이터를 암호화하여 전송
- 수신자 역시 개인의 키(KB)를 이용해 세션키 복호화
- 데이터 읽음
- 세션키 삭제
4) 디피-헬먼 키 교환에 의한 해결
- KDC 없이 대칭 세션키 생성
- 키를 계산하여 만드는 것으로, 두 사용자는 두 개의 수 p와 g 선택
- K = g의 x,y승 mod p
- 안정성
- 이산 대수 공격 : 문제 풀이 어려움 , xy를 알게 되면 풀림
- DOS 공격 : 비밀키 생성에 지연 시간 존재. 제 3자에 의한 DOS는 키 생성 부담으로 서버 마비 -> 요청자를 확인하기 위한 쿠키 사용으로 해결
- 중간자 공격 : 중간에 인증단계가 없음 -> 전자서명, 공개키 인증서로 해결
5) 공개키 암호에 의한 해결
- 공개키 암호 = 암호화 키와 복호화 키가 다름.
- 암호화키는 노출되어도 됨.
- 수신자가 별도의 복호화 키를 갖고 있음
(2) 공개키 암호
1) 개요
- 암호화 키는 공개키로, 복호화 키는 비밀키로 (둘은 수학적 관계)
※공개키 원칙
- 암호화 키와 복호화 키는 같은 사람의 키 쌍
- 키는 암호호와 복호화 중 1번만 사용
- 타인의 개인키 사용 불가
2) 공개키 암호의 중간자 공격
- 송신자 : 수신자의 공개키 요청
- 도청
- 수신자의 공개키 전송
- 도청자가 수신자의 공개키 저장
- 도청자의 공개키를 송신자에게 전송
- 송신자는 도청자의 공개키로 데이터 암호화
- 수신자에게 암호문 전달
- 도청자는 자신의 공개키로 복호화 -> 데이터 획득! 공격 성공!
- 도청자는 수신자의 공개키로 위조문 암호화하여 전달
- 수신자는 자신의 개인키로 복호화하여 위조문 받게 됨.
- 중간자 공격은 공개키 인증서로 본인 인증하여 해결
3) 대칭키 vs 비대칭키(공개키) 암호 시스템
대칭키 | 비대칭키 (공개키) | |
장점 | 암호화 복호화 고속도 키 길이 짧음 (128 이상) |
키 분배 용이 관리할 키의 개수가 상대적으로 적음 키 변화 빈도 적음 여러 분야에 응용 가능 |
단점 | 키 분배 어려움 관리할 키의 개수가 상대적으로 많음 키 변화 빈도 많음 응용 분야 제한 |
암호화 복호화 저속도 키 길이 김 (2048 이상) |
키 관계 | 암호화키 = 복호화 키 | 암호화 키 ≠ 복호화 키 |
비밀키 전송 | 필요 | 불필요 |
경제성 | 높 | 낮 |
제공 서비스 | 기밀성 | 기밀성, 부인방지, 인증 |
목적 | 데이터 암호화 | 대칭키 교환 |
전자서명 | 복잡 | 간단 |
알고리즘 | DES AES IDEA 3DES | RSA ECC |
(3) RSA
1)개요
- 인수분해 문제 해결의 난이도를 이용한 대표적인 공개키 암호 알고리즘
- 암호화 / 복호하 : 지수 e (암호화 때) , d (복호화 때) 이용
- 키 생성
- 서로 같지 않는 p와 q 소수를 구해내는 것에 달림.
2) RSA 알고리즘
3)RSA에 공격
- 인수분해 공격 : 인수분해를 풀어내는 문제
- 키 길이가 길어야 안전 = 개인키 d의 비트 수가 커야 안전
- 단, 키 길이가 너무 늘어나면 처리 속도 문제 발생
- 타이밍 공격 : 선택- 암호문 공격
- 소요 시간을 드러내지 않도록 막아 키 길이 추측 공격 해결
- 랜덤 지체
- 선택 암호문 공격
- 오류 메시지나 타이밍을 해석해 키 혹은 평문 정보 유추
- OAEP 로 해결
4) 최적 비대칭키 암호 패딩 (OAEP , Optimal Asymmetric Encryption Padding)
- 평문 앞에 인증정보(평문 해시값 / 정해진 갯수의 '0') 추가하고 암호화
- 복호화시 인증정보가 일치하지 않으면 오류 메시지 전송 (구체적인 오류 이유 안내 X) -> 선택 암호문 공격 해결
- 난수 이용
(4) Rabin 암호시스템
1) 개요
- RSA - 지수합동, Rabin - 2차 합동
2) 암호화와 복호화
- 연산은 한번의 곱셈 - 속도 빠름
- 성능이 낮은 플랫폼 : 스마트 카드 에 이용
3) Rabin의 보안
- 충분히 큰 p와 q = 큰 n (p*q)
- n을 두 개의 소수의 곱으로 곤란한 소인수 분해를 이용한 보안
(5) EIGamal 방식
1) 개요
- 이산대수 문제에 근거해서 만든 시스템 (디피헬먼의 키교환 알고리즘 확장판)
- 디지털 서명, 암호화, 키 교환에 사용되는 공개키 알고리즘
2) 특징
- 느린 속도, 많은 메모리 공간 요구
- 평문이 암호문이 될 때 순서쌍으로 표현 -> 암호문 : 평문 길이의 2배
- 소수 p의 크기 768비트 이상 권고
3) 응용
- RSA가 쓰이는 곳 어디든
- 짧은 메시지의 암호화 복호화 가능
(6) 타원 곡선 암호 (ECC)
1) 개요
- 키 길이 256비트 <-> RSA 4096 비트
- 일반적인 공개키 암호화 복호화 연산들을 빠르게 수행
2) 특징
- 하드웨어 / 소프트 웨어 구현 용이
- 메모리와 처리 능력이 제한된 응용 분야에 효과적 = 스마트 카드, 무선 통신 단말
- 전자상거래 핵심 기술
- 보안을 위해 서로 다른 타원 곡선 선택 및 변경 가능
- 타원 곡선 이산대수 문제
2. 하이브리드 암호시스템
1) 대칭키 암호와 공개키 암호
- 공개키 암호 단점
- 대칭키 암호에 비해 느린 속도 -> 대칭키 이용으로 해결
- 중간자 공격에 취약함 -> 인증 기술로 해결
- 대칭키 암호 단점
- 키 배송 문제 -> 공개키 이용으로 해결
2) 하이브리드 암호 시스템
- 암호화
- 대칭키로 메시지 암호화 (고속)
- 공개키로 메시지 암호화에서 사용한 대칭키를 공개키로 암호화
- 활용
- 암호 소프트웨어 PGP
- SSL / TLS
- 전자서명 검증
- 개인키 관리
'자격증 > 정보보안기사' 카테고리의 다른 글
정보보안기사 실기 명령어 정리 (0) | 2022.11.11 |
---|---|
2022년도 정기검정 4회차 정보보안기사 필기 CBT 후기 ⭐️ (1) | 2022.11.11 |
[Sec.3] 대칭키 암호 (0) | 2022.03.04 |
[Sec. 2] 암호학 (0) | 2022.03.01 |
[Sec. 1] 정보보호관리의 개념 (0) | 2022.03.01 |