2020. 5. 18.

[암호학] 4장 키관리


공개키는 해독에 걸리는 시간을 오래 걸리게 하기 위해 키의 크기를 늘린다.
공개키를 사용하여 통신을 하면 너무 느리기에 대칭키에 속도를 버릴 수는 없다.
그래서 비밀키를 나눠가질 방법에 대해 연구하기 시작했다.

*비밀키 분배의 어려움

물리적인 방법으로 전달
  • 링크 암호화에서 적용 가능
# 라우터를 거치지 않기 때문이다.
  • 단대단 암호화에서 적용 어려움
이전의 키를 사용하여 암호화된 새로운 키를 전송
  • 링크 암호화나 단대단 암호화 모두 적용 가능
  • 공격자가 어떤 한 키를 안다면 이후의 모든 키가 노출
3(키 분배 센터)를 통하여 키 분배
  • 단대단 암호화에서 널리 채택
  • 사용자는 분배 센터와 유일한 키를 공유

# 관리 주체가 다르면 키의 관리가 어려워진다.
# 로컬네트워크 - LAN ,외부네트워크 - WAN
# vpn, 라우터를 이용하는 사기업등의 등장으로 LAN WAN 구분이 모호해짐
# 지금은 관리의 주체가 정해진 네트워크는 LAN
# 키관리란 어떻게 비밀키를 나눠갖느냐라는 것이다.

*KDC를 이용한 비밀키 분배

KDC 를 이용한 키분배 방법(Kerboros)

(1)Request = ID(A)AB 
型 に 翠 
E 要 の K 」 D 市 ) ョ 
( と ESK[ID(B).T + 1 〕 
3 ) 
[ID(A.TI 
市 8 亠 巨 
E 品 富 K 」 D ( と ヨ

# 실제로 쓰지 않는다. 같은 네트워크가 아니기 때문.
# request 세션키를 달라고 요청
# A, B A B 통신하겟다는 용도 설명
# A B 정상적인 가입자인지 확인한다.
# KDC 세션키를 만들어줄때 T A B 서로를 확인할 있는 난수이다.
# ka 내용을 암호화한다. ka 마스터키
# ID(A) A 신원정보, ID(B) B 신원정보
# B KB 이용하여 KDC 직접 통신하지 않아도 A 통해서 KDC 통신할 있다.
# SK 세션키
# 커버로스는 비밀키만 사용한다.

> KDC 를 이용한 기분배 방법(Kerbo”05) 
관리자가 A와 8에게 상면해야합 
trus 관계 키 분배 센터 
(KOC) 
*21 연결할수있는 세션을 요청 
(1) Request Il ID(A),A,B 
EKA[SK.ID(B),T] 
8의 신원졈보튿 보내품 
KA (A의 마스터게 
T귀 
(3) 다다|0(A),T〕 
EBK[ID(B),T+I] 
미리예약된 연산을 하여 보냄 
운영제자가 일지 
관리주제가 하나 
키분배센터는 모든 가입자의 
마스터기를 가지고 있어야합 
) EKB[SK.ID(A).TI 
A의 신원 점보를 보내품 
KB (8의 다스터기) 
서버

방법으로는 커버로스와 세사미
소규모 네트워크(관리를 하는 네트워크) 커버로스, 인프라는 세사미 사용
세션키를 어떻게 주고 받느냐가 중요하다. 세션키는 모두 비밀키이다.
인프라라는 것은 사회기관망을 말하는것이다.
각 사용자(A,B) KDC와 각자 마스터 키를 가지고 있다고 가정

(1)단계 
세,코기 요구 에시지를 보냄 
신송 내용 : AQ* 3의 센원. ,핀원 생보(ID(A)) 
(2) 단궤 
KDC는 AZ, 3이긔 세,코기 (5K)와 삼다의 신원정보를 각자의 
master *e!]로 임호한 하이 내포 
3는 Am 통,핀을 원한다는 것을 확인 
KA, KB는 KDCQ4 사용K卜7K!잊 master71 
T는 time stamp
( 4 ) ( 袒 畍 啝 に コ 袒 ) 
( 3 ) 
・ AE 3 逗 啝 攣 ( T + 一 犁 6 ( 3 ) ) 
A 市 」 一 。 一 啝 市 い K = D ( と ヨ B 
3 市 」 一 。 一 啝 E%[ID(B),T+I] 幽 A ま 
3 市 AA 啝 攣 袒 (TQ* ID(A))

키 분배 센터에서의 키 계층 구조

세션키
  • 종단 시스템간의 통신을 암호화하는데 사용되는 임시 키
  • 보통 논리적인 연결에 사용된 후 폐기
  • 분배 센터로부터 획득 :
(마스터키를 사용하여 암호화되어 전송)
  • 개체가 N일 경우 필요한 세션키 : N(N-1) / 2

마스터키
  • 분배 센터와 사용자가 공유하는 유일한 키
  • 개체가 N일 경우 필요한 마스터키 : N

*공개키의 유효성

공개키의 공개 발표
  • 자신의 공개키를 다른 사용자에게 전송 등의 방법으로 공개
  • 문제점
    • 어떤 사용자가 다른 사용자 A로 위장하여 공개키 공개
(A에 전송되는 암호화 메시지를 읽을 수 있게 됨)


공개적으로 사용 가능한 디렉토리
  • 필요한 사항
    • 기관은 각 가입자에 대한 {이름, 공개키}의 디렉토리 유지
    • 각 가입자는 디렉토리 기관에 공개키 등록
    • 가입자는 필요시 새로운 것으로 교체 가능
    • 기관은 디렉토리를 공포
    • 가입자는 전자적으로 디렉토리 접근 가능
  • 문제점
    • 디렉토리 정보를 수정
    • 위조의 공개키로 임의의 가입자로 위장하여 도청
  • SESAME

*공개키 기관에 의한 세션키 분배

(l) Request ΙΙ 
(4) Request ΙΙ Tim.t2 
[ΚΤ> Request ΊΙ Timel] 
(5) II Request
: 공개기 
R, 개인기 
|0 : 자신의 신원정보 
공개키 기관 
(1) Request || Time 
1. 공개기 듷록(A 신원경보. 공7 ) 
B 공개키 내나 
) RequestllTimell 
공개구 l" -| 개인기로 암호화하여 
(4) Request || 11,|恥1 
4. A의 공개기 내나 
시행자A 
공개기기관의 공개기. 
8의 공개키 
itclass 
수 있도록함 (5) Il Request || 11"•e: 
(3) Il Nil 
(7) EKUblN21 
4_10 
6) B가 A의 진의여부를 확인하기 위해 
A의 공개키로 암호화하여 NI과 N2를 보냄 
공개기기관의 공개기. 
대용자B A의 공개기

장점 : 서로 다른 주체에 의해서 관리해도 된다. 공개키 표준 규격이 정해져 있기 때문이다.
믿을 있는 공개키 기관이란 돈받는 곳이 믿을 만한 곳이다. ex) 은행?
A B 공개키 기관에 한번은 가야한다. A B 서로 만날 필요는 없다.
A B 공개키를 기관에 등록하면 등록기관의 공개키를 가져온다.
KUb 공개키 기관의 비밀키로 암호화해서 A에게 주는 이유는 공개키 기관이 보냈다는것을 입증하기 위해서이다.
A N1 돌아온것을 통해 진짜 B인지 확인한다. - N1 A 만들었기에 가능

(1)단계 
3의 공가기에 대한 요구를 타임스뎸프와 센송 
(2) 단계 
공가기 기관은 3의 공가기야 (1) 닌-x의 에시지를 
R卜셴의 개인기로 안호한하여 센송 
(3) 단궤 
3의 공가기를 저장하고. AA 식별자(|DA)와 임시비표(N,)을 3 
의 공가기로 임호한하이 센송l
(4), (5) 단귀 
3는 (1). (2) 닌궤와 길은 방법으로 AA 공가기 획득 
(6) 단계 
3는 임시비표 바, NZ를 AA 공가기로 임호한하여 신송 
(7) 단계 
A는 NZ를 1324 공가기로 임호한하여 전송 
문제쩜 
- 공개키 니뎩토길 수생에 
타임스뎸프에 의하시어 송신,*다방외 공개키 유효기간을 
과인한 것이므로 원요 시| 공가귀 기관으로부너 공개키를 
다 치| 갖고 와야 함

*공개키를 이용한 세션키 분배

(1) II IDA] 
(2) [Nl II N2]

세션키를 자신의 개인키로 암호화 하고 뒤에 B 공개키로 암호화한다.

: 공그H귀를 교환헸다고 가정 
(1) 단계 
AA 식별자와 임시비표(바)를 3의 공개기로 안호한하여 전송 
(2) 
3는 새로운 임시비표(NZ)와 NI을 AA 공가기로 안호한하여 센송 
(3) 단계 
A는 보증을 위해 3의 공가기로 임호한한 NZ을 반환 
(4) 
A는 "1뛘기 KS를 ,한택하여 M=E b[EKRa[Ks]]를 신송

공개키는 언제든 바뀔 있기 때문에 항상 재사용하기전에 상태검증을 해야한다.
공개키를 상태검증을 하였을때 아직 유효하다면 인증단계를 스킵한다.


댓글 없음:

댓글 쓰기