
잘못될 수 있는 일은 잘못된다, 머피의 법칙(Murphy’s Law)

바다가 통째로 밀려온다, 쓰나미(Tsunami)
현관문 자물쇠가 어떤 구조로 열리고 잠기는지는 설명서만 찾아봐도 누구나 알 수 있습니다. 그래도 우리가 안심하고 외출하는 이유는 자물쇠의 원리가 아니라 내 손에 든 열쇠가 비밀이기 때문입니다. 암호의 세계에도 이와 똑같은 생각을 담은 오래된 원칙이 있습니다. 그것이 바로 ‘케르크호프스의 원칙(Kerckhoffs’s Principle)’입니다.
케르크호프스의 원칙이란 쉽게 말해 ‘암호 체계는 열쇠를 뺀 나머지가 모두 알려져도 안전해야 한다’는 설계 원칙을 의미합니다. 방식 자체를 숨겨서 지키려 하지 말고, 작고 바꾸기 쉬운 열쇠 하나만 지키도록 만들라는 뜻입니다.
본 자료에서는 이 원칙이 태어난 19세기의 배경부터 열쇠만 숨기는 것이 더 안전한 이유, 숨겨서 지키려다 무너진 사례, 그리고 오늘날 보안 설계에 주는 교훈까지 차례로 살펴보겠습니다.

숨기지 않아도 안전한 암호의 조건
케르크호프스의 원칙은 어디서 왔을까?

이 원칙의 주인공은 네덜란드 출신의 언어학자이자 암호학자 오귀스트 케르크호프스(Auguste Kerckhoffs)입니다. 그는 파리의 경영대학원에서 독일어를 가르치면서 암호를 연구했고, 1883년 군사 학술지에 「군사 암호(La Cryptographie Militaire)」라는 글을 두 차례에 걸쳐 실었습니다.
(1) 전신이 바꾼 전쟁터
당시에는 전신이 보급되면서 전쟁터에서 주고받는 통신문이 크게 늘었습니다. 두꺼운 비밀 암호책을 들고 다니다가 빼앗기면 모든 통신이 들통나는 위험도 그만큼 커졌습니다. 케르크호프스는 이런 현실에 맞는 군사 암호의 조건을 여섯 가지로 정리했습니다.
(2) 여섯 가지 조건 중 두 번째
여섯 조건에는 사실상 풀 수 없어야 한다, 열쇠는 적어 두지 않고 외울 수 있어야 한다, 혼자서 다룰 수 있어야 한다는 내용 등이 있습니다. 그중 두 번째 조건이 ‘체계가 비밀을 요구해서는 안 되며, 적의 손에 넘어가도 문제가 없어야 한다’는 것이었고, 오늘날 케르크호프스의 원칙이라고 하면 바로 이 조건을 가리킵니다.
왜 열쇠만 숨기는 것이 더 안전할까?

암호 방식 전체를 비밀로 하는 편이 더 안전해 보이지만, 실제로는 그 반대입니다. 미국의 수학자 클로드 섀넌(Claude Shannon)은 1949년 논문에서 이 생각을 ‘적은 체계를 알고 있다’는 한 문장으로 다시 정리했는데, 이를 섀넌의 격언이라고도 부릅니다.
- 비밀은 결국 새어 나간다(Inevitable Disclosure): 장비는 전쟁터에서 빼앗기고, 소프트웨어는 분석 도구로 뜯어볼 수 있으며, 사람은 매수되거나 협박을 받을 수 있습니다.
- 바꾸는 비용이 다르다(Cost of Replacement): 방식이 드러나면 장비와 프로그램을 모두 새로 만들어야 하지만, 열쇠가 드러나면 새 열쇠만 나눠 주면 됩니다.
- 공개가 검증을 부른다(Public Scrutiny): 방식을 공개하면 전 세계 전문가가 약점을 찾아 주고, 오래 버틴 방식일수록 믿을 수 있게 됩니다.
미국의 보안 연구자 스티븐 벨로빈(Steven M. Bellovin)은 미국 국가안보국의 한 전직 관계자에게서, 새 장비의 1번 제품은 곧바로 상대국 손에 들어간다고 가정하는 것이 그곳의 기본이었다는 이야기를 들었다고 전합니다. 지킬 비밀이 적고 단순할수록 지키기도 쉽다는 것이 이 원칙의 핵심입니다.
숨겨서 지키려다 무너진 사례들

방식을 숨기는 데 기대는 보안을 흔히 ‘은폐를 통한 보안(Security through Obscurity)’이라고 부릅니다. 역사에는 이 방법이 오래 버티지 못한 사례가 많습니다.
에니그마의 배선
1920년대부터 독일군이 쓴 에니그마 암호기는 기계 구조와 날마다 바뀌는 설정이 모두 비밀이었습니다. 그러나 폴란드의 수학자 마리안 레예프스키(Marian Rejewski)는 1932년 말 프랑스 정보기관이 입수한 자료에 수학적 분석을 더해 기계 내부의 배선을 알아냈습니다. 구조가 드러나자 남은 방어선은 설정뿐이었고, 이것이 훗날 연합군이 에니그마를 해독하는 바탕이 되었습니다.
DVD 복제 방지 장치
1990년대 DVD에는 비공개 암호 방식으로 영상을 보호하는 장치가 쓰였습니다. 하지만 1999년 이 방식을 풀어내는 프로그램이 인터넷에 퍼지면서 사실상 무력해졌고, 이미 팔린 수많은 기기 속 방식을 바꿀 방법도 없었습니다.
교통카드 칩
2000년대 후반에는 세계 여러 도시의 교통카드와 출입증에 쓰이던 한 비접촉 카드 칩의 비공개 암호가 연구자들에게 분석되었습니다. 연구자들은 칩의 층을 벗겨 현미경으로 회로를 들여다보는 방법까지 써서 방식을 알아냈고, 숨겨져 있던 약점이 함께 드러났습니다.
오늘날 보안 설계에 주는 교훈

현대의 민간 암호는 대부분 케르크호프스의 원칙을 따라 방식을 공개합니다.
(1) 공개 경쟁으로 고른 표준
미국 국립표준기술연구소(NIST)는 1997년 새 암호 표준을 공개 공모했고, 전 세계 연구자들이 몇 년 동안 후보들을 공격하며 검증했습니다. 그 결과 2000년 벨기에 연구자 두 사람이 만든 방식이 뽑혀 오늘날 널리 쓰이는 고급 암호화 표준(Advanced Encryption Standard)이 되었습니다.
(2) 열쇠 관리에 힘을 모으기
방식이 공개되어 있으니 실제 보안은 열쇠를 얼마나 잘 만들고 보관하고 바꾸느냐에 달려 있습니다. 비밀번호를 길고 다르게 쓰고, 유출이 의심되면 바로 바꾸는 습관도 같은 원리입니다.
(3) 숨김은 덧붙이는 장치로만
방식을 굳이 알리지 않는 것 자체가 나쁜 것은 아닙니다. 다만 그것은 여러 겹의 방어 가운데 하나일 뿐, 안전의 유일한 근거가 되어서는 안 됩니다.
케르크호프스가 이 원칙을 적은 지 140년이 넘었지만, 그 사이 전신은 인터넷으로, 암호책은 컴퓨터 프로그램으로 바뀌었을 뿐 핵심은 그대로입니다. 오히려 누구나 프로그램을 뜯어볼 수 있는 지금이야말로 이 원칙이 더 절실해졌습니다.
무엇이든 언젠가는 드러난다고 가정하고, 드러나도 무너지지 않도록 설계하는 태도가 필요합니다.
상대가 모든 것을 안다고 가정하고 열쇠 하나만 단단히 지키는 것, 그것이 믿을 수 있는 보안을 만드는 설계의 첫걸음입니다.






