4. 12 (목) - 암호 (비밀키 / 공개키 암호의 키분배센터 키 교환)

◎ 비밀키 분배의 어려움

 ▷ 물리적인 방법으로의 키전달
  - 링크 암호화의 방식
   → 장비를 받아야 통신이 가능 (장비는 물리적으로 존재하기에)
  - 단대단 암호화에서 적용 어려움
 ▷ 이전의 키를 사용해 암호화된 새로운 키를 전송
  - 링크 암호화 / 단대단 암호화 모두 적용 가능
  - 공격자가 한 키를 알게 되면, 이후 모든 키가 노출
 ▷ 신뢰할 수 있는 제 3자(키분배센터)를 통하여 키 분배
  - 단대단 암호화에서 채택
  - 사용자는 키분배센터와 유일한 키를 공유

◎ KDC(키분배센터)를 이용한 비밀키 분배
 ▷ Kerboros 방식 73-76p


(1) - ID(A) : KDC에 등록된 A의 신원정보 (A가 보내는 요청) - 시스템마다 다른 설정
 ex) MAC 주소, ID의 해쉬값 등등...
- A, B : IP 주소
- SK : 세션 키
(2) -   : A의 마스터키 KA로 암호화 (세션키의 노출을 방지)
- T : 타임스탬프 (현재성을 보장)
(3) - B에게 A의 인증
(4) - A에게 B의 인증 : 이 시점에 A와 B는 상호인증 성공
→ 이후 통신 종료시 세션키 폐기
→ 5~10초간 A에서 통신이 없으면 B는 세션키를 폐기
→ 그렇게 되면 KDC로부터 다시 세션키를 발급

▷ 해석
 KDC - 인증과 키 분배의 담당
 - 1차 도메인 컨트롤러

 응답자 B - 2차 도메인 컨트롤러, 실질적 서버

 발신자 A - 클라이언트

 KDC로 부터 키를 부여받기 위해서는 A, B가 KDC에 등록/가입 되어있어야 함
  → A와 B는 사전에 KDC와 마스터키를 공유하고 있다.



◎ 공개키의 유효성
 ▷ 공개키의 공개 발표
  - 자신의 공개키를 다른 사용자에게 전송
  - 문제점
    → 어떤 사용자가 다른 사용자 A로 위장하여 공개키 공개
       (A에 전송되는 암호화 메시지를 도청)


◎ 공개키 기관에 의한 세션키 분배
   - 세서미 방식


 ▷ A와 공개키 기관이 상면한다
상면하다 : 자신의 공개키를 공개키 기관에 등록, 공개키 기관의 공개키를 가져옴
 = face to face
 ▷ 순서
  (1) - 클라이언트 A는 공개키 기관에 타임스탬프를 주며 B의 공개키를 요구한다(Request)
  (2) - 공개키기관은 KUb와 질의내용, 타임스탬프를 공개키기관의 개인키로 암호화하여 회송
   → 근원지 증명 → A는 공개키기관이 맞음을 확신
  (3) - B의 공개키로 자신의 ID와 N1(난수)을 암호화하여 전송
   → B만이 볼 수 있어야 함
  (4) - B는 A의 ID를 확인, 공개키기관에게 A의 공개키를 요구
  (5) - 자신의 개인키로 B가 요구한 결과와 A의 공개키를 타임스탬프와 함께 암호화하여 회송
  (6) - A가 보낸 난수 N1과 자신이 생성한 난수 N2를 A의 공개키로 암호화하여 전송
   → A는 B가 진짜 B임을 확신
  (7) - A는 B의 공개키로 N2를 암호화하여 회신
   → B는 A가 진짜 A임을 확신
  (8) - A는 자신의 개인키로 세션키를 암호화한 결과를 B의 공개키로 암호화하여 전송
   → 세션키의 공유 성공

 ▷ 비밀키 방식보다 공개키기관의 부담이 덜 함
 ▷ 재선송 시에는?
  - A의 경우
   → 공개키 기관은 저장하고 있는 키의 해쉬 값을 저장하고 있음,
   → A는 공개키 기관에 B의 공개키의 해쉬 값이 맞나 물어봄
    - B가 맞을 경우
   → (8)번 과정부터 시행
    - B가 틀릴 경우
   → (1)번 과정부터 재시행

  - B의 경우
   → A에게 값을 받았을 때, 역시 공개키기관에 A의 해쉬 값을 요청
    = A가 틀릴 경우
     → 모든 A가 보낸 메시지를 무시
    = A가 맞을 경우

     → 정상 시행

댓글

이 블로그의 인기 게시물

Linux Server - FTP 실습 (2 / 2) : 사용자 제한 ( ftpuser / user_list )

전자서명 개념

3.27 (화) - Network (패킷 통신 - 4가지 지연)