うねうね動く「ラバランプ」のランダムな光がインターネットの暗号通信約1割のカギを握っている
コンピューターが人間の作ったプログラムで動いている以上、例え乱数を主力するように命令したとしてもある一定のルールにのっとったものになります。つまりコンピューターが本当にランダムな結果を出力するには、コンピューターの外にある情報が必要。とあるサーバー企業ではうねうね動くラバランプがその役目を担っています。
ラバランプはこんな照明器具。電球の熱による対流を利用し中の液体が動くと幻想的な見た目が得られます。
Lava Lamps row (relaxing music) – YouTube
コンピューターが作り出すことが出来るのはあくまでも「擬似乱数」なので、理論上、一定の情報量があれば出力を予測できてしまいます。
そこで多くのパーソナルコンピューターでは「マウスの動き」「打鍵間隔」、スマホであれば「ジャイロの傾き」「本体の加速度」など、人間が完全にコントロールしきることができず、しかもランダムな情報を乱数の元として使用することがあります。
しかしCloudflairのように、大量のデータの配信を行うようなサービスを提供している企業は、セキュリティを高める「暗号化」のために大量の乱数が必要になります。人力ではとてもこの量を賄い切ることはできません。
そこで使用されているのが「LavaRand」と呼ばれる手法。元は1996年にシリコングラフィクス社が発明した手法ですが、ラバランプをカメラで撮影し、その画像や動画のデータを利用して完全にランダムな乱数を作り出します。
Cloudflair社の「LavaRand」システムのカメラからの眺め。
ラバランプの動きは予測が不可能なので乱数生成にはピッタリ。カメラセンサーの電気的なノイズなどその他のランダムな要素も組み合わされているため、ラバランプの撮影を邪魔したり、カメラに細工したりという攻撃に対してもそれなりの強さをもちます。
何よりネットというデータの集まりが、幻想的なラバランプの光に守られているというのは詩的な美しさがありますね。動画はこちらから。
The Lava Lamps That Help Keep The Internet Secure – YouTube
乱数生成方法は本当にユニークなものがたくさんあります。こちらはサイトを訪れたユーザーに「0」でも「1」でも好きな方を押してもらってランダムなデータを得ているというサービス。一番カオスなのはやはり人間です。
ユーザーみんなでランダムな「1」と「0」のバイナリを作るプロジェクト「zeroone.io」 – DNA
ソース:LavaRand in Production: The Nitty-Gritty Technical Details
トップ画像:lava lamps | Dean Hochman | Flickr
関連記事
「バービーちゃんタイプライター」には暗号・復号機能が搭載されていた - DNA
何かの暗号?中世ヨーロッパの本の余白に描かれた奇妙な絵20選 - DNA
Wi-Fiや携帯電話の電波を通さない壁紙がフランスで開発される - DNA
危険なWi-Fiネットワークがあると光って知らせる魔法の短剣「つらぬき丸」をDIY - DNA
米国防総省高等研究計画局DARPAからの挑戦「シュレッダーにかけられた文書を復元できたら賞金5万ドル」 - DNA
ユーザーみんなでランダムな「1」と「0」のバイナリを作るプロジェクト「zeroone.io」 - DNA