ケルクホフスの原理

提供: miniwiki
移動先:案内検索

暗号技術において、ケルクホフスの原理(ケルクホフスのげんり、Kerckhoffs' principle もしくはKerckhoffs' assumption)とは、19世紀にアウグスト・ケルクホフス(Auguste Kerckhoffs) によって提案された次の原理である:暗号方式は、秘密鍵以外の全てが公知になったとして、なお安全であるべきである

概要

ケルクホフスの原理は、暗号方式は秘密にしようとしてもスパイによって設計書が盗み出されたり暗号装置ごと敵に捕獲されたりして、遅かれ早かれ敵に解析されてしまうという経験則に基づく。1883年に出版されたエッセイにて、軍用暗号に関する次の6個の条件が示されていて[1]、現在ケルクホフスの原理と呼ばれているものはこの2番目にあたる。

  1. 暗号方式は、現実的に(数学的にではなく)逆変換不能であること
  2. 暗号方式は、秘密であることを必要としてはならず、敵の手に落ちても不都合が無いようにできること
  3. 鍵は伝達可能で、文書を見なくても維持することができ、通信員が変更できること
  4. 電気通信に適したものであること
  5. 携帯可能であり、その利用や動作には大勢の人を必要としてはならない
  6. 最後に、利用状況のことを考えて、精神的緊張や長々とした注意書きを知っていることは不要など、取り扱い易いことが必要である

この原理は現代暗号では重視され、暗号の安全性を議論する際には、暗号文から暗号方式を推測する困難さではなく、暗号方式は既知として、専ら暗号文(や平文)が入手できた場合に平文や暗号鍵を推測する困難さを問題としている。参考:暗号理論#解読

シャノンはケルクホフスの原理を「敵はシステムを知っている」("the enemy knows the system")という簡潔な言葉で表現した[2]。現在ではこのシャノンのバージョンの方が有名である。このシャノンのバージョンを英語では「Shannon's maxim」と呼ぶ事もある。

さらに、暗号の安全性証明は難しい問題であり、設計者自身や特定の評価機関だけによる評価では、本当に安全かどうかを確認する事ができないので、アルゴリズムを公開して暗号の安全性を誰でも検討できるようにすることが暗号標準として広く受け入れられるための必要条件であるとみなされている。


暗号学やセキュリティ製品への拡張

シャノン版のケルクホフスの原則「敵はシステムを知っている」は、暗号方式のみならず、電子署名電子マネー電子投票等の暗号プロトコルに対しても適応する事ができ、実際暗号プロトコルの研究では基本的に方式を公開する事が前提となっている。

シャノン版のケルクホフスの原則はさらに、暗号プロトコル以外のセキュリティ製品にも拡張できる。 この場合ケルクホフスの原則は、攻撃者にセキュリティ製品のソースコードや設計図等を盗られてそれを解析されたとしても、なお安全であるようなセキュリティ製品を作らねばならない、という事を意味する。

オープンソースソフトウェアでは、より積極的に、ソースコードを公開することでソースコード等が漏れてもその製品が本当に安全かどうかを世界中の研究者が吟味できることをメリットの一つと考えている。

しかし実製品や実システムにおいては、ソースコード等を全て公開してしまうと安全性を保証するのが原理的にできない場合や、少なくとも公開しない方が安全性が高いと考える場合もあり、方式の詳細は未公開な製品やシステムも多い。

出典

  1. Auguste Kerckhoffs (1883年2月). “Journal des sciences militaires”. Fabien Petitcolas. . 2018閲覧.
  2. Shannon, Claude (1949-10-04). “Communication Theory of Secrecy Systems”. Bell System Technical Journal 28: 662. https://archive.org/stream/bstj28-4-656#page/n5/mode/2up . 20 June 2014閲覧.. 

参考文献

  • Auguste Kerckhoffs von Niuewenhof, "La Cryptographie Militaire", In Journal des Sciences Militaires, Vol.IX, pp.5–83, Jan.1883 と pp.161–191, Feb.1883 の2編。

関連項目