오늘 끝나면
대칭키 (AES)
- ✓대칭키 (AES)의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 대칭키이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
같은 열쇠로 잠그고 푼다 — 빠르지만 열쇠 전달이 문제 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
암호 & 보안 · 05
대칭키
같은 열쇠
잠글 때와 풀 때 같은 열쇠를 쓴다. 빠르다. 단, 그 열쇠를 어떻게 건네느냐가 숙제다.
대칭키 = 잠금·해제가 같은 열쇠
대칭키는 잠글 때 쓴 열쇠로 다시 푸는 방식이다.
집 현관 자물쇠와 같다. 채울 때와 열 때 같은 열쇠를 꽂는다.
비번을 건 압축파일도 마찬가지다. 잠글 때 친 비번을 풀 때도 그대로 친다. 그 비밀 하나를 나와 상대가 똑같이 들고 있어야 한다.
요즘 데이터 암호화는 거의 다 이 방식이다. 표준 이름이 AES다. 너무 중요해서 미국 정부가 공모전까지 열어 뽑았다.
키로 데이터를 통째로 뒤섞는다
AES가 하는 일은 한 마디로 뒤섞기다. 평문 글자를 키로 휘저어 의미 없는 덩어리로 만든다.
섞는 규칙이 키에 묶여 있다. 그래서 같은 키로 거꾸로 돌리면 정확히 원래대로 풀린다. 키를 모르면 그냥 잡음으로 보인다.
같은 키로 거꾸로 돌리면 원문 복원
직접 잠그고 풀어보기
핵심은 이거다. 키가 정확히 같아야만 복원된다. 1글자만 틀려도 통째로 깨진다.
복호키 열쇠를 열쇄로 한 글자만 바꾸면 복호문이 깨진 글자로 변한다.
키가 섞는 규칙 자체를 정하기 때문이다. 규칙이 살짝만 어긋나도 풀이가 전부 엇나간다. 비번 한 글자가 틀리면 압축파일이 안 열리는 것과 같다.
7c38 7178 7760 0645 0478 7374 c5c7 033c 0b80 1278
여기 키를 1글자만 바꿔 보자. 복호문이 와장창 깨진다.
만나는장소는3시카페
같은 열쇠라 원문이 깔끔하게 돌아왔다.
강하고 빠르다
대칭키가 실무를 다 먹은 이유는 두 가지다. 강하고, 빠르다.
제대로 된 키(256비트)는 세상 모든 컴퓨터를 동원해도 다 맞춰보지 못한다. 경우의 수가 우주의 별 개수보다 많다.
또 큰 데이터를 한 번에 후딱 섞는다. 그래서 스트리밍, 디스크 암호화, 메신저 본문까지 실제 데이터는 거의 다 대칭키로 암호화한다.
그런데 그 열쇠를 어떻게 주지?
여기서 진짜 문제가 튀어나온다. 나와 상대가 같은 열쇠를 들어야 하는데, 그 열쇠를 처음에 어떻게 안전하게 건네나?
메일이나 문자로 보낸다고 하자. 중간에서 가로채면 끝이다. 가로챈 사람도 같은 열쇠로 다 풀어버린다. 암호가 아무리 강해도 열쇠가 새면 다 끝이다.
만난 적 없는 상대와 어떻게 비밀 열쇠를 똑같이 나눠 가질까. 이걸 푸는 게 다음 장 키 교환이다.
Q. 대칭키 암호의 가장 큰 실무 문제는?
키를 상대에게 안전하게 전달하는 것이다. 암호 자체는 강하고 빠르다. 단, 같은 열쇠를 양쪽이 들어야 하니 처음에 그 열쇠를 어떻게 건네느냐가 문제다. 키가 새면 다 풀린다. 그래서 키 교환 기술이 필요하고, 그게 다음 장의 주제다.암호가 강해도 열쇠가 새면 끝이다. 다음 장은 키 교환이다.