
364
HTTP
3
부 식별, 인가, 보안
14.3.2
공유키 발급하기
대칭키 암호의 단점 중 하나는 발송자와 수신자가 서로 대화하려면 둘 다 공유키를
가져야 한다는 것이다.
만약 누군가가 죠의 하드웨어 상점과 은밀하게 대화를 나누려면(공영 텔레비전
방송에서 주택 개조 프로그램을 보고 나서 목공 도구를 주문하려고), 그는 무엇인
가를 은밀하게 주문하기 전에 그와 www.joes-hardware.com만의 개인 비밀 키를
발급해야 한다. 그러려면 비밀 키를 생성하고 그것을 기억할 방법이 필요하다. 모
든 손님과 죠의 하드웨어가 수천 개의 키를 생성하고 기억해야 할 것이다.
앨리스(A), 밥(B), 크리스(C) 모두가 죠의 하드웨어(J)와 대화를 원한다고 해보자.
A, B, C는 각각 J와의 비밀 키를 각각 발급할 필요가 있다. A는 키 k
AJ
를, B는 k
BJ
를,
그리고 C는 k
CJ
가 필요하다. 대화 참여자의 각 쌍은 그들만의 개인 키를 가질 필요
가 있다. 만약 N개의 노드가 있고, 각 노드가 상대 N-1과 은밀하게 대화를 나누어
야 한다면, 대략 총 N
2
개의 비밀 키가 필요하다. 관리해야 하는 사람 입장에서 이것
은 지옥이다.
14.4
공개키 암호법
한 쌍의 호스트가 하나의 인코딩/디코딩 키를 사용하는 대신, 공개키 암호 방식은
두 개의 비대칭 키를 사용한다.