니덤-슈로더 프로토콜
IT 위키
더 많은 작업
- Needham-Schroeder Protocol; 니덤-슈로더 프로토콜
- 신뢰하는 제3자(키 분배 센터)나 공개키를 써서 두 통신 당사자가 서로를 인증하고 세션 키를 나눠 갖게 하는 키 분배·인증 프로토콜
1978년 로저 니덤(Roger Needham)과 마이클 슈로더(Michael Schroeder)가 발표했다. 대칭키판과 공개키판 두 가지가 있다. 대칭키판은 키 배포 센터(KDC)를 두는 방식으로, 뒤에 커버로스의 바탕이 됐다.
디피-헬먼 키 교환이 두 당사자가 계산으로 같은 키를 만들어 내는 방식인 것과 달리, 니덤-슈로더는 믿을 수 있는 서버가 세션 키를 만들어 나눠 주는 방식이다.
A 와 B 는 각자 KDC 와만 비밀키(KA, KB)를 공유한다. N 은 한 번만 쓰는 난수(nonce)다.
- A → KDC : A, B, NA
- KDC → A : EKA(NA, B, KS, EKB(KS, A)) — 세션 키 KS 와 B 에게 넘길 티켓
- A → B : EKB(KS, A)
- B → A : EKS(NB)
- A → B : EKS(NB − 1) — A 가 KS 를 가졌음을 증명
A 와 B 가 서로의 공개키로 난수 NA, NB 를 암호화해 주고받아 상대를 인증한다. 1995년 로우(Gavin Lowe)가 중간자 공격을 찾아냈고, 두 번째 메시지에 응답자 신원 B 를 넣는 수정판(니덤-슈로더-로우)으로 고쳐졌다.
- 대칭키판은 재전송(재생) 공격에 약하다. 옛 세션 키 KS 가 노출되면 공격자가 3번 메시지(티켓)를 다시 보내 A 행세를 할 수 있다. B 는 그 티켓이 새것인지 알 수 없기 때문이다(Denning-Sacco 공격)
- 그래서 티켓에 타임스탬프를 넣어 유효 시간을 제한하는 방식으로 보완했고, 커버로스가 이 방식을 따른다
| 방식 | 키를 만드는 주체 | 바탕 | 대표 약점 |
|---|---|---|---|
| 니덤-슈로더(대칭키) | KDC 가 만들어 분배 | 대칭키, 신뢰하는 제3자 | 재전송 공격(타임스탬프로 보완) |
| KDC 기반 키 분배 | KDC | 대칭키 | KDC 단일 실패 지점·부하 집중 |
| 디피-헬먼 키 교환 | 두 당사자가 각자 계산 | 이산대수 문제 | 인증이 없어 중간자 공격에 취약 |
| 공개키로 감싸 전달 | 한쪽이 만들어 상대 공개키로 암호화 | 공개키 암호 | 공개키 진위 확인 필요(PKI) |