-
암호학_01_키관리_KDC, Kerboros, 공개키관리기관정보보안/암호학 2020. 5. 18. 13:39
비밀키 - 대칭키
시간이 짧다.
키를 나누어 갖기가 굉장히 힘들다.
한가지 방법으로는 힘들다.
예) 관리주체가 동일?
관리주체가 다르면 다른 방식을 사용해야한다.
Local area network
공개키 - 비대칭키
시간 오래 걸린다.
모든 메시지를 암호로 주고받는다면 느리다.
컴퓨터가 발달하면 암호 해독 속도가 빨라지므로.
VPN 가상 사설망.
서울과 부산 지사.
키관리란?
비밀키를 어떻게 나누어 갖는냐? 라는 질문에 대한 응답이다.
세션을 암호화 하는대 비밀키가 적합.
1. KDC 비밀키 분배 센터에 의한 키분배
Kerboros (KDC를 이용한 키분배 방법)
(1),(2) os가 일치해야함.
KDC 가 세션키를 만들어서 발신자 A와 응답자 B에게 전달한다.(A,B를 KDC의 가입자라고 한다.)
키 분배 센터는 믿을 수 있는 선로를 이용한다.
A와 B가 KDC에 1회 접촉해야한다. (암호에서는 상면한다고 표현한다.)
마스터키 (KDC가 가지고 있음, 그 수 는 가입자 수와 동일함.)
각 가입자들은 마스터키를 각각하나씩있으며 키분배 센터는 모든 마스터키를 보관한다.
A,B는 어떤 통신인지는 알 수 없다. 하지만 다양한 방식의 통신을 설정해 둔 것을 의미한다.
A가 B에 로그인 한다고 가정해 보자.
Request : ID(A(: A의 신원정보)를 전송하여 A,B통신을 위한 세션키 생성 요청
KDC 는 B가입자의 존재 유무 확인, ID(A) 확인.
T는 난수로 추후 A와 B를 확인하는데 사용됨.
세션키 SK를 A의 마스터 키로 암호화 해서 A에게 전송한다.
세션키 SK를 B의 마스터 키로 암호화 해서 B에게 전송한다.
A가 획득한것, ID(B), T, SK 암호 해제는 Eka
B가 획득한것, ID(A), T, SK 암호 해제는 Ekb
T는 양방향에서만 아는 값으로 검증이 가능하다.
T+1이 아니라 미리 예약된 연산을 통해서 전송함.
통신이 끝나면? 세션키를 삭제함. 세션키는 매회 새로 발급받는 것을 원칙으로 한다.
응답자 B의 화살표는 사실은 존재하지 않는다?
그렇다면? 어떻게 받는가?
A로 부터 받는다!
Eka[sk,ID(B),T] + Ekb[sk,ID(A),T]
특징: 비밀키만 가지고 사용한다. 비밀키 이외에는 사용되지 않는다,
문제점 :
- 디렉토리 정보를 수정
- 위조의 공개키로 임의의 가입자가 위장하여 도청
2. 공개키 기관에 의한 키분배
공개 키 기관이 믿을 수 있는 기관이어야 한다. (믿을 수 있는 기관? 돈 내고 등록하는 기관.)
A,B도 1회 공개키 기관과 상면해야한다.
공개키를 공개 레포지토리에 올려야한다.
이때 공개키 레포지토리를 A인척 올려두면 문제가 생긴다.
위조된 공개키를 처리할 필요가 있다.
SESAME
A,B가 공개키를 등록해야 한다. 이를 통해 위조된 공개키를 처리할 수 있다.
또한 공개키 기관의 공개키를 A,B도 가져온다.
왜 필요할까?
추후 서명단계에서 부인방지를 하기 위해 사용될 것이다.
A,B(은행이라고 볼 수 있다.)의 공개키가 공개키 기관에 등록되어 있어야함.
PKI와 동일.
- A가 공개키 기관에 time stamp와 B의 공개키에 대한 정보 요청을 보낸다.
- 공개키 기관은 A에게 Kub(U= 공개키 R= 비밀키)를 전송하되 공객키 기관의 개인키로 암호화 하여 전송한다.
- A가 보내는 난수 N1은 A가 B를 확인하기 위해서 B의 공개키로 암호화 해서 B에게 전송한다. 이때 Ida (a를 식별하기위함.)
- IDa로 식별한 B는 공개키 기관 에게 A의 공개키를 요청한다.
- 공개키 기관은 Kua (a의 공개키)와 타임스템프를 전송한다.
- B는 A의 진위여부를 판단하기 위해 N2를 생성, A가 보낸 N1과 함께 전송한다.
- A가 B에게 N2를 전송하여 서로임을 증명한다.
- 서로의 세션키를 전송하지 않았기 때문에 아직 통신할 수는 없음.
- A는 Ks 라는 세션키를 A의 비밀키로 암호화 한 후 B의 공개키로 한번 더 암호화 한다.
- 이후 다시 연결하는 경우 8)만 하면 될거 같지만 사용할 수 없다.
- 왜 안되는가?