오늘 끝나면
키 교환 문제
- ✓키 교환 문제의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 키이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
열쇠를 어떻게 몰래 건네나 — 디피-헬만(1976), 섞는 페인트 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
암호 & 보안 · 06
키 교환
몰래 합의하기
공개된 채널에서, 도청자가 다 봐도 둘만의 비밀 키를 만들 수 있다. 이게 디피-헬만(1976)이다. 비밀을 보내지 않고 비밀을 공유한다.
암호를 쓰려면 먼저 같은 키가 필요하다
5강에서 본 대칭키(AES)는 빠르고 강하다. 근데 한 가지 발이 묶인다. 둘이 같은 키를 미리 갖고 있어야 한다.
그 키를 인터넷으로 보내면 도청자(이브)가 본 채로 다 가져간다. 키를 보내는 순간 비밀이 아니다.
만나서 직접 건네면 된다. 근데 처음 보는 서버끼리는 만날 수가 없다.
공개된 채널에서, 도청자가 다 보는데도 둘만 아는 키를 만들어야 한다. 불가능해 보이는데 가능하다.
키를 보내는 순간 비밀이 아니다
섞기는 쉽고 되돌리기는 어렵다
열쇠는 페인트의 한 가지 성질이다. 섞기는 쉬운데 되돌리기는 어렵다는 것.
노랑에 파랑을 부으면 초록이 된다. 1초면 된다. 근데 그 초록만 보고 원래 노랑과 파랑이 정확히 뭐였는지 다시 뽑아내라 하면? 사실상 못 한다.
이게 일방향성이다. 한쪽은 거저고 반대쪽은 막힌다.
디피-헬만은 이 비대칭을 그대로 빌려온다. 진짜 암호에선 페인트 대신 큰 수의 거듭제곱이 그 역할을 한다.
섞기는 1초면 된다 ✓
되돌리기는 사실상 불가능하다 ✕
비밀을 보내지 않고 비밀을 공유한다
핵심 트릭이다. 공개색 하나를 정해두고, 각자 자기 비밀색을 섞어 그 혼합색만 서로 교환한다.
그다음 받은 혼합색에 자기 비밀색을 한 번 더 섞는다. 그러면 둘 다 공개색 + 앨리스비밀 + 밥비밀 이라는 똑같은 최종색에 도달한다. 섞는 순서가 달라도 결과는 같다.
비밀색을 어떻게 바꿔도 앨리스와 밥의 최종색은 항상 똑같이 나온다. 비밀색 자체는 채널에 한 번도 안 나간다.
이브는 다 봤는데도 못 맞춘다
이브는 채널을 통째로 도청한다. 그래서 공개색도 갖고, 오가는 두 혼합색도 다 가진다.
최종색을 만들려면 마지막에 누군가의 비밀색을 한 번 더 섞어야 한다. 근데 비밀색은 애초에 채널에 안 나갔다. 이브 손엔 없다.
혼합색에서 비밀색을 도로 뽑아내려 해도, 2강의 일방향성 때문에 막힌다. 섞인 색은 되돌릴 수 없다. 그래서 이브는 마지막 한 수를 못 둔다.
| 공개색 | 가진다 |
| 앨리스가 보낸 혼합색 | 가진다 |
| 밥이 보낸 혼합색 | 가진다 |
| 앨리스 비밀색 | 못 가진다 |
| 밥 비밀색 | 못 가진다 |
| 최종 공유색 (키) | 못 가진다 |
다 봐도 비밀색 한 번을 못 섞어 키를 못 만든다
이렇게 만든 공유색이 곧 키다
앨리스와 밥은 이제 똑같은 색 하나를 공유한다. 이 색을 숫자로 바꾸면 둘만 아는 대칭키가 된다. 이걸로 5강의 AES를 돌리면 끝이다.
정리하면 세 줄이다. 일방향 성질이 열쇠다. 비밀은 안 보내고 공유 비밀을 만든다. 도청자는 다 봐도 최종 키를 못 구한다.
이게 1976년 디피-헬만의 핵심이다. 만난 적 없는 둘이 공개된 채널에서, 도청 속에서 비밀을 합의한다.