05.18 암호학 키 관리
4장 키 관리
1. 비밀 키 분배의 어려움
2. KDC를 이용한 비밀 키 분배
3. 공개 키 기관에 의한 세션 키 분배
1. 비밀키 분배의 어려움
- 물리적인 방법으로 전달
- 링크 암호화에서 적용 가능 (장비를 설치해야 하기 때문에 물리적으로 가능)
- 단대단 암호화에서 적용 어려움 (애플리케이션에서 하는 일이 단대단)
- 이전의 키를 사용하여 암호화된 새로운 키를 전송
- 링크 암호화나 단대단 암호화 모두 적용 가능
- 공격자가 어떤 한 키를 안다면 이후의 모든 키가 노출
- 제 3자(키 분배 센터)를 통하여 키 분배
- 단대단 암호화에서 널리 채택
- 사용자는 키 분배 센터와 유일한 키를 공유
2. KDC를 이용한 키 분배 방법(Kerboros)
키 분배 센터(KDC)는 모든 가입자의 마스터 키를 갖고 있어야 한다
1. Request | | ID(A), A, B A가 세션 키를 달라는 요청을 보냄 (A와 B의 신원, 신원 정보가 포함돼있음)
2. KDC가 요청을 받고 정상적인 가입자인지 확인하고 B라는 가입자가 있는지 확인해본다
그리고 B의 신원 정보(EKA [SK, ID(B), T]) KA로 암호화해서 보내줌 (KA는 A의 마스터 키(비밀 키))
2. EKB[SK,ID(A),T] B의 마스터키로 암호화해서 B에게도 세션 키와 A의 신원 정보 보냄
3. A는 세션키를 이용해 ESK [ID(A), T]를 B에게 전송한다
B는 A의 신원을 확인 (T과 ID(A))
4. B는 세션키를 이용해 ESK [ID(B), T+1]을 A에게 전송
A는 B의 신원을 확인 (T+1과 ID(B))
5. 그리고 이제 세션 키로 통신하면 된다
그럼 B는 KDC와 어떻게 연락을 하는가
A를 통해서 KDC가 B에게? 전달? 하는 건가? 모르갯내
Kerboros특) 비밀키만 씀
3. 공개 키 기관에 의한 세션 키 분배
A와 B는 공개 키 기관을 반드시 한 번은 가서 자신의 신원 정보를 등록하고
공개 키 기관이 발행한 공개 키를 들고 돌아가야 함
그러면 A는 자신의 개인 키와 기관의 공개 키를 들고 있는 거임
A와 B는 공개 키 레파지토리에 등록해야 함
A랑 B는 그냥 공개 키 주고받으면 되는데 왜 굳이 공개 키 기관을 거쳐야 할까?
-??????
U : 공개키
R : 개인키
ID : 자신의 신원정보
과정 설명
- 공개 키를 등록한다 (A의 신원정보, 공개 키) B의 공개 키를 요청한다
- 기관이 자신의 개인 키로 암호화해서 A에게 보낸다 왜? 공개 키 기관이 보낸 공개 키라는 것을 입증하기 위해서
- N1이라는 난수와 신원정보를 만들어서 보낸다 A를 B를 확인하기 위해 A가 생성한 난수인데 공개 키로 암호화해서
- 기관에게 A의 공개 키를 요청하는데 (1번 과정과 유사)
- 기관의 공개 키로 암호화해서 보내준다 (2번 과정과 유사)
- A의 진위 여부를 확인하기 위해 B도 N2라는 난수를 만든다 A의 공개 키로 암호화함
- A는 N2를 B의 공개 키로 암호화하여 전송