키 배송 문제
:대칭키 암호를 사용하려고 하면 키 배송 문제(key distribution problem)가 발생
키 배송 문제 해결 방법
-키의 사전 공유
-키 분배 센터에 의한 해결(온라인 키 분배)
-Diffie-Hellman 키 교환
-공개키 암호
키의 사전 공유
:키 관리기관(TA,Trusted Authority)이 임의의 두 사용자에게 비밀 경로를 통하여 임의 키를 선택하여 전달 하는 방법
:n 명의 사용자 , n-1가지 키 관리
TA는 가지 키를 관리
키 분배 센터(KDC, Key Distribution Center)에 의한 해결
:암호 통신이 필요해질 때마다 키 분배 센터에 의해서 개인과 키 분배 센터사이에서만 키를 사전에 공유하는 방법
:n명의 사용자가 있다면 n개의 키가 필요
Diffie-Hellman 키 교환(Diffie-Hellman 키 합의)
:공개키 암호 알고리즘(최초의 비밀키 교환 프로토콜)
:KDC없이 대칭 세션키를 생성
:대칭키를 만들기 전에는 양쪽은 두 개의 수 p와 g를 선택(p는 소수, 300자리가 넘는 십진수(1024bit))
:키 교환이라는 이름이 붙어 있지만 실제로는 키를 교환하는 것이 아니라 공유할 키를 계산하여 만들어 내는 것
:이산대수 문제 사용( 에서 n을 구하는 문제)
:완전 순방향 비밀성 = 비밀키가 노출되더라도 그 후의 키 분배 과정에서 얻는 세션키의 안전성에는 영향을 미칠 수 없어야 한다는 성질
공격
-이산대수 공격
:이브(Eve)가 x,y값을 구할 수 있다면 대칭키를 계산 할 수 있게 된다.
-중간자 공격(Man In The Middle Attack)
:키 교환의 중간에 끼어들어 정상적인 전송이 되는 것처럼 보이게 하는 공격
:이런 공격에 취약한 이유는 인증단계가 없기 때문
국대국 프로토콜(STS,Station-To-Station protocol)
:공개키 인증서를 이용한 전자서명을 사용
:중간자 공격을 해결
공개키 암호
1. 수신자는 미리 암호화키(공개키)를 송신자에게 알려 준다. 이 암호화키는 도청자에게 알려져도 괜찮다.
2. 송신자는 암호화키로 세션키를 암호화하여 수신자에게 보낸다.
3. 수신자는 복호화키(개인키)로 암호문을 복호화한다.
:공개키와 개인키는 서로 밀접한 관계(수학적 관계)가 있기 때문에 각각 별개로 만들 수는 없다.
:전자문서의 무결성과 부인방지 기능을 갖고 있는 전자서명 구현, 다양한 암호 프로토콜에 사용 가능
:느린 암호화 속도
공개키 암호의 역사
:1976년 휘트필드 디피 & 마틴 헬만이 공개키 암호의 아이디어를 발표
:1978년 론 라이베스트 & 아디 샤미르 & 레너드 애들먼이 공개키 알고리즘과 RSA를 발표
:현재 공개키 암호의 표준은 RSA
RSA 암호시스템
:공개키 암호의 표준
:개발자 세 사람의 이름, Rivest-Shamir-Adleman
:인수분해 문제해결의 높은 난이도를 이용
:암호화, 전자서명의 용도로 사용
:SSL 프로토콜을 가진 웹 브라우저, PGP 등 RSA 사용
키 생성
p,q 선택 , p,q는 소수 (p≠q) , (개인,선택)
N=p×q를 계산 , (공개,계산)
ø(N)=(p-1)(q-1)를 계산
정수 e를 선택, gcd(ø(N),e) = 1 , 1 < e < ø(N) , (공개,선택)
확장된 유클리드 호제법을 이용 d를 계산 de mod ø(N) = 1 , (개인,계산)
공개키 PU={e,N}
개인키 PR={d,N}
ex)
p=17, q=11
N=17×11=187
ø(N)=16×10=160
e=7 선택
d<160, de mod 160 = 1 , d=23 ∵23×7=160×1+1
PU = {7,187}
PR = {23,187}
암호화와 복호화
RSA에서는 두 개의 지수 e,d 사용(e:공개값, d:비밀값) , 공개 : e,n 비밀 : d,p,q
(암호화)
(복호화)
공격
-소인수분해 공격
:현실적인 시간 내에 소인수분해를 마칠 수 있는 효율적인 소인수분해 알고리즘이 개발되지 않는 한 RSA는 안전하다고 말할 수 있다.
:Factoring Attack
-중간자 공격
:기밀성에 대해 매우 유효한 공격
:송신자와 수신자 사이에 들어가서 송신자에 대해서는 수신자처럼, 수신자에 대해서는 송신자처럼 행세하는 공격이다.
:RSA뿐만 아니라 어떤 공개키 암호에서도 사용 가능
:중간자 공격을 막기 위해서는 공개키 인증서가 필요
권장사항
p,q (p≠q) 거의 같은 크기의 소수이어야 한다.
p-1,q-1은 커다란 소인수를 각각 가져야 한다.
p-1,q-1의 최대공약수는 작은 수이어야 한다.
메시지는 OAEP를 사용해서 패딩되어야 한다.
Rabin 암호시스템
:합성수 모듈러에 관하여 제곱근을 찾기 어렵다는 사실로부터 안전성을 얻음
암호화와복호화
:연산은 오직 한 번의 곱셈으로 이루어져 있고, 이 연산은 매우 빠르게 수행된다.
:성능이 낮은 플랫폼에서 잘 활용된다. ex)스마트카드
:복호화를 하면 동등한 확률로 4개의 평문 후보가 나타난다.
Rabin 시스템의 보안
:p,q가 충분히 크기만 하다면 안전
:시스템 복잡도는 큰 수 n을 두 개의 소수의 곱으로, 소인수분해하는 수준의 복잡도와 동일
EIGamal 암호시스템
:이산대수 문제에 근거해서 만든 공개키 암호시스템
:암호문의 길이는 평문의 약 2배
:많은 메모리 공간이 필요하며 전송 속도가 느림
:키 교환,인증,짧은 메시지의 암/복호화에 사용
:암호 소프트웨어 GnuPG에 구현
타원 곡선 암호시스템(ECC, Elliptic Curve Cryptosystem)
:이산대수의 문제에 근거해서 만든 공개키 암호시스템
:ECC는 전자상거래의 핵심 기술
:160bit ECC는 1024bit의 RSA키와 동일한 보안수준
:H/W와 S/W로 구현 용이
:스마트카드, 무선통신 단말기 등과 같이 메모리와 처리능력이 제한된 응용분야에 효율적
ECC와 RSA 방식의 비교
항목 |
ECC 방식 |
RSA 방식 |
기반구조 |
WPKI(무선) |
PKI(유선) |
속도 |
우수 |
느림 |
키 크기 |
상대적으로 작은 키 |
ECC에 비해 큰 키 |
적용 |
소형 모바일 환경 |
인프라가 다소 구현된 환경 |
대칭키 방식과 비대칭키 방식의 비교
항목 |
대칭키 |
비대칭키 |
키의 상호관계 |
암호화키=복호화키 |
암호화키≠복호화키 |
안전한 키길이 |
128bit 이상 |
2048bit 이상 |
암호화키 |
비밀 |
공개 |
복호화키 |
비밀 |
비밀 |
비밀키 전송 |
필요 |
불필요 |
키 개수 |
N(N-1)/2 |
2N |
암호화 속도 |
빠름 |
느림 |
경제성 |
높다 |
낮다 |
제공 서비스 |
기밀성 |
기밀성,부인방지,인증 |
목적 |
데이터(파일) 암호화 |
대칭키 교환 |
전자서명 |
복잡 |
간단 |
단점 |
키 교환 원리가 없다 |
중간자 공격에 취약 |
해당 알고리즘 |
DES, 3DES, AES, IDEA |
RSA, ECC ,DSA |
하이브리드 암호시스템
:대칭키 암호로 속도를 높이고, 공개키 암호로 세션키를 보호
:의사난수 생성기, 대칭키 암호, 공개키 암호라는 3가지 암호기술 사용
:메시지는 대칭키 암호로 암호화, 암호화 한 세션키는 의사난수 생성기로 생성, 세션키는 공개키 암호로 암호화
:PGP, SSL/TLS에서 하이브리드 암호시스템 사용
:PGP에서는 하이브리드 암호시스템에 (전자서명+전자서명의 검증+개인키 관리)를 추가하여 사용
'보안서적 > 정보보안기사' 카테고리의 다른 글
정보보안기사 필기시험 정리 - 6 (0) | 2017.06.23 |
---|---|
정보보안기사 필기시험 정리 - 5 (1) | 2017.06.09 |
정보보안기사 필기시험 정리 - 3 (1) | 2017.05.24 |
정보보안기사 필기시험 정리 - 2 (1) | 2017.05.22 |
정보보안기사 필기시험 정리 - 1 (1) | 2017.05.22 |