送信する情報(平文)のデジタルデータと同じ長さの
真性乱数を暗号鍵として用意し、はぎ取り式メモ(パッド)のように1回ごとに使い捨てる暗号化方式。異なる平文ごとに、異なる暗号鍵を使う。平文と暗号鍵のビット和によって暗号文を生成して伝送し、受信側で再び暗号文と暗号鍵のビット和によって平文を復号する。
ドローン制御通信のワンタイムパッド暗号化についての詳細
地上にある送信機と、ドローンに搭載される受信機は、近年2.4GHz帯の電波を用いて通信が行われている。通信データは制御に関するコマンド群で、シリアル通信に準拠し、スタートバイト、エンドバイトやステータス情報を含み、1パケット25バイトの固定長で、18種類の制御情報を表現し、短い時間間隔で繰り返し送出される。
送信機が生成するこの25バイトのデータは、今回作製した地上局制御装置を経由する際、スタートバイトとエンドバイトを除き、さらに、末尾へ2バイトのチェックサムを追加した後、地上局制御装置内部に蓄積された真性乱数と論理和処理を施されて暗号化される。
暗号化されたデータは、先頭に1バイトのシーケンス番号をつけ、全長26バイトで送信される。ドローン上の受信装置は、繰り返し26バイトのデータを受信するが、最初の1バイトにより、パケットの一時的な欠落やドローン内部に保持する真性乱数の先頭アドレスを計算し、復号を試みる。復号した結果は、末尾2バイトのチェックサムを確認し、合致している場合に有効データとして、ドローンの制御装置に渡される。
制御通信に関してのみであれば、おおむね30分の飛行に3Mバイトのサイズの真性乱数で対応可能であり、本システムは、高度なセキュリティを実装して運用可能な形でユーザに提供することができる。
図4は、地上にいる盗聴者が、正規の地上局とドローン間の無線通信を傍受している様子(盗聴装置のモニタ画面)を示している。(a)は、制御コマンドの信号を暗号化している状態を傍受している様子で、制御コマンドは完全に暗号化されており、盗聴者にはランダムな数字の列にしか見えず、意味のある情報を与えない。(b)は、暗号化を解いた状態で、ドローンの制御に使われるコマンドの特定のコード(決まった数値の列)が見えるようになっている。(c)は、盗聴者が強制的に制御コマンドを変更しており、ドローンの制御を乗っ取っている状態になっている。(d)は、再び制御コマンドを暗号化した場合の画面で、盗聴者には制御コマンドのコードの判別が付かない状態に戻る。