1. 일반적인 키 구분
※ 암호 키 이란?
- 평문을 암호화/복호화하는, 암호 알고리즘 수행시, 반드시 주어져야 할, 핵심 가변 정보 값
ㅇ 암호화,역암호화에 따른 키 구분
- 암호 키 (Encryption Key) : 암호화용 키
- 역암호화 키 (Decryption Key) : 이를 푸는 키
ㅇ 암호키의 대칭성에 따른 키 구분
- 대칭키 : 송수신자가 같은 키(공유 비밀키)를 쓰는 방법
- 비대칭키 : 암호화와 역암호화가 서로다른 키를 쓰는 방법
. 즉, 비대칭적인 키(암호화용 : 공유키, 역암호화용 : 개인키)를 사용
ㅇ 기밀성 유지를 위한 비밀,공개,개인 키 구분
- 비밀 키(Secret Key) 또는 공유 비밀 키(Shared Secret Key) : `대칭키 방식에서`, 비밀 키
. 암호화 및 역암호화할 때, 동일하게 사용하는 비밀키로서, 당사자들 만이 아는(공유되는) 키
. 주로, 기호열 또는 비트열로 구성됨
- 개인 키(Private Key) : `비대칭키 방식에서`, 각 개인별로 관리하는 비밀 키
. 주로, 1 이상의 숫자로 구성됨
- 공개 키(Public Key) : `비대칭키 방식에서`, 공개되는 키
. 신뢰할 만한 인증기관/인증서버 등에 공개하는 키
. 암호화할 때 이를 결합 사용
.. 이때, `암호화할 때의 공개키` 및 `해독할 때의 개인키`가 수학적인 쌍을 이룸
ㅇ 인증 수행용 키
- 디지털 서명 키 : 서명 작성 및 검증에 다른 키를 사용
. 디지털 서명을 작성할 때는, 개인 보관하는 개인 비밀 키로써 하고,
. 디지털 서명을 검증할 때는, 공개 키를 사용 (즉, 누구라도 디지털 서명 검증이 가능)
- 메세지 인증 코드 : 송수신자가 공히 공통의 키를 사용하여, 메세지에 대한 인증을 수행함
ㅇ 정적인 키,동적인 키 구분
- 정적 암호 키(Static Encryption Key)
. 통신 쌍방이 항상 같은 암호 키를 공유하는 방식
- 동적 암호 키(Dynamic Encryption Key)
. 통신 쌍방이 동적으로 계속 바뀌는 암호 키를 갖게되는 방식
. 주로, 동적으로 (4-Way Handshake 등에 의해),
.. `키 생성` 및 `키 분배`되는 방식을 말하기도 함
. 특징 : 사용자 자신은 암호키 값을 모름, 사용자 마다 암호키 값이 전부 다름
. 여기서, 암호키 값은 단순한 숫자 나열로서,
.. `유일성` 및 `랜덤성` 만 유지하면 됨
2. 키 분배에 필요한 키 구분 ☞ 例) 802.11 키 관리,802.11 키 종류 참조
ㅇ 사전 마스터 키 (Pre Master Key)
- 통상, 클라이언트가 Pre Master Key라는 난수(Random Number)를 생성하고,
- 입수한 서버 공개키에 의해, 이 난수를 암호화한 후에 서버에 전송하고,
- 서버는 이 난수를 서버 개인키로 해독(역암호화)하고,
- 결국, 클라이언트,서버 양쪽에서 Pre Master Key로부터 동일한 Master Key가 유도됨
ㅇ 마스터 키 (Master Key)
- 세션 키가 마스터 키에 의해 암호화되어 전달됨 (주로, 서버에 의해)
. 통상, 사용자 및 KDC(키분배센터)/서버는 함께, 마스터키라는 비밀키를,
. 동적 키 생성으로 미리 상호공유하게 됨
- 이때, 하나의 마스터 키로, 동일 사용자에게 여러 세션의 개설에도 사용이 가능
- 세션 키와 달리 반복 사용 가능
ㅇ 세션 키 (Session Key)
- 양 종단 간 성립된 한시적 연결 세션에 만 사용되는, 일시적인 대칭 키(암호화 키)
. 매 통신/세션 마다 1회 만 사용
※ 결국, 키 분배 센터와 사용자 간에 1:1 둘 만의 유일한 키를 공유
- 세션 키는 마스터 키에 의해 암호화되어 전달됨