모의해킹 수업 note 정리

05.18 암호학 키 관리

tommy76 2020. 5. 18. 13:38

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 : 자신의 신원정보

과정 설명

  1.  공개 키를 등록한다 (A의 신원정보, 공개 키) B의 공개 키를 요청한다
  2.  기관이 자신의 개인 키로 암호화해서 A에게 보낸다 왜? 공개 키 기관이 보낸 공개 키라는 것을 입증하기 위해서
  3.  N1이라는 난수와 신원정보를 만들어서 보낸다 A를 B를 확인하기 위해 A가 생성한 난수인데 공개 키로 암호화해서
  4.  기관에게 A의 공개 키를 요청하는데 (1번 과정과 유사)
  5.  기관의 공개 키로 암호화해서 보내준다 (2번 과정과 유사)
  6.  A의 진위 여부를 확인하기 위해 B도 N2라는 난수를 만든다 A의 공개 키로 암호화함
  7.  A는 N2를 B의 공개 키로 암호화하여 전송