커크호프의 원리
IT 위키
- Kerckhoffs' Principle
- 암호 시스템의 안전성은 알고리즘의 비밀이 아니라 오직 키의 비밀에만 의존해야 한다는 원칙
1883년 네덜란드 출신 암호학자 아우구스트 케르크호프스(Auguste Kerckhoffs)가 제시했다. 공격자가 암호 알고리즘을 완전히 알고 있더라도 키가 없으면 복호화해 평문을 얻을 수 없어야 한다.
- 설계를 숨겨서 안전을 얻으려는 방식(Security by Obscurity)을 부정한다.
- 암호 알고리즘은 널리 공개해서 많은 암호학자의 검증을 거치는 과정을 통해 안전성을 인정받아야 한다.
- 알고리즘이 노출되어도 키만 교체하면 계속 쓸 수 있다. 반대로 비밀 알고리즘은 한 번 노출되면 시스템 전체를 바꿔야 한다.
- 현대 표준 암호는 모두 이 원칙을 따른다. AES, SEED, ARIA 는 알고리즘 명세가 전부 공개되어 있다.
클로드 섀넌(Claude Shannon)은 같은 취지를 다음과 같이 정리했다.
- 적은 시스템을 알고 있다 (The enemy knows the system)
