커코프의 원칙(Kerckhoffs's principle)
암호의 안전성은 알고리즘이 아니라 키의 비밀성에만 의존해야 한다
읽기
- Kerckhoff
- '커코프', '케르크호프스' 라고도 읽는다.
의미
- 암호화 알고리즘이 공개되어도, 키만 잘 지키면 안전할 수 있는 암호 체계를 만들어야 한다.
- 우리가 어떤 암호화 알고리즘을 사용하고 있는지 공격자가 알고 있어도, 공격이 어려워야 한다.
- 실제 환경에서는 알고리즘을 잘 안 바꾸고, 쓰던 것을 계속 사용하곤 한다.
- 키의 비밀성을 유지하는 것보다 알고리즘의 비밀성을 유지하는 것이 더 어렵다.
- 알고리즘이 공개되면, 더 많은 버그를 찾아내어 알고리즘을 개선시킬 수 있다.
- 비공개 알고리즘을 상대적으로 신뢰하기 어려운 이유.
- 비밀이 적으면 적을수록 시스템은 안전하다.
기원
- 1883년, La Cryptographie Militaire에 실린 커코프(Auguste Kerckhoffs)의 글에서 비롯됐다.
- 군사용 암호의 설계 원칙에 대한 내용이다.
원문은 프랑스어지만, 다음은 위키백과의 내용을 인용한 것이다.
- The system must be practically, if not mathematically, indecipherable;
- It should not require secrecy, and it should not be a problem if it falls into enemy hands;
- It must be possible to communicate and remember the key without using written notes, and correspondents must be able to change or modify it at will;
- It must be applicable to telegraph communications;
- It must be portable, and should not require several persons to handle or operate;
- Lastly, given the circumstances in which it is to be used, the system must be easy to use and should not be stressful to use or require its users to know and comply with a long list of rules.
Some are no longer relevant given the ability of computers to perform complex encryption, but his second axiom, now known as Kerckhoffs's principle, is still critically important.
다음은 한국어 위키백과에 실린 번역문이다.
- 암호체계는 수학적으로는 해독불가능하지 않다고 하더라도, 실질적으로 그래야한다.
- 암호체계는 비밀에 붙여질 필요가 없어야만 하며, 적의 손에 떨어지더라도 문제가 없어야 한다.
- 키는 글로 쓰여지지 않더라도 교환 혹은 보관할 수 있어야 한다. 당사자들의 의지에 의해서 바뀌거나 수정될 수 있어야 한다.
- 전신에 적용할 수 있어야 한다.
- 이동이 가능해야하며, 암호 체계의 사용과 기능을 위해 여러 사람의 협력을 필요로 하지 않아야 한다.
- 마지막으로, 시스템의 활용을 요구하는 여러 상황들이 주어졌을 때, 암호 체계는 이용이 쉬워야 하며, 정신적인 압박감이나 여러 규칙들의 관찰을 필요로 하지 않아야 한다.
몇가지 항목들은 복잡한 암호화를 수행할 수 있는 컴퓨터의 존재로 인해 더이상 의미가 없어졌지만, 2번째 항목은 이제 케르크호프스의 원리로 알려지게 되었으며, 아직까지도 매우 중요한 의미를 가지고 있다.
From: 리얼월드 암호학
공개된 암호화 표준을 구축하는 것은 케르크호프스의 원칙Kerckhoffs' principle이라는 개념과 관련이 있다. 이 원칙은 대략 다음과 같다. '우리가 가장 많이 사용하는 알고리즘을 적이 발견하지 못하리라고 기대하는 건 어리석은 일이다. 차라리 적에게 공개적으로 개방하자.'
앨리스 여왕과 밥 경의 적들이 메시지를 암호화하는 방법을 정확히 알고 있다면 그들의 암호화 알고리즘이 어떻게 안전할 수 있을까? 정답은 비밀 키다! 키의 비밀은 알고리즘 자체가 아니라 프로토콜을 안전하게 만드는 것이다. 이는 책에서 공통적으로 다루는 주제다. 우리가 실제 세계에서 배우고 사용하는 모든 암호화 알고리즘은 자유롭게 연구하고 사용할 수 있다. 이러한 알고리즘에 대한 입력으로 사용되는 비밀 키만 비밀로 유지된다. 이 원칙은 1644년 장 로베르 뒤 칼레Jean Robert du Carlet의 "ars ipsi secreta magistro(거장조차 알 수 없는 비밀)"라는 표현에서 비롯했다. 1
Links
- Kerckhoffs's principle (wikipedia)
- Kerckhoffs' principles from « La cryptographie militaire »
- PDF: Auguste Kerckhoffs, « La cryptographie militaire », Journal des sciences militaires, vol. IX, pp. 161–191, Février 1883.
참고문헌
- 리얼월드 암호학 / 데이비드 웡 저/임지순 역 / 제이펍 / 1쇄 발행 2023년 01월 20일 / 원제: Real-World Cryptography
주석
-
리얼월드 암호학. 1장. 9쪽. ↩