暗号化とステガノグラフィのコンビネーションによるスマートロック・セキュリティの強化

arXivで論文のリストを見ていると、面白そうな記事を見つけた。

Smart-Lock Security Re-engineered using Cryptography and Steganography」という記事。インドのサーダーパテル工科大学から出た論文らしい。

タイトルを訳せば、「暗号化とステガノグラフィを使用して再設計されたスマートロックセキュリティ」。不動産業界向けのITサービスを提供している自分としては興味深い記事だ。

論文からの抜粋

要約

  • スマートロックキーにはBLE(Bluetooth Low Energy)を使用するが、このプロトコルはMITM攻撃(Man-In-The-Middle Attack)に対して脆弱。
  • BLEのMITM攻撃に対する脆弱性を分析し、セキュリティレベルを高めたスマートロックを設計するために、イメージステガノグラフィと暗号化の組み合わせが役立つという結果が出た。

結論

  • 既存のソリューションとしてSMSワンタイムパスワード、暗号化、ステガノグラフ等があるが、どの方法でもいくつかの脆弱性が残る。
  • 暗号化とステガノグラフィの組み合わせは、これらの原理が持っている利点を保持しながら、確実にそれぞれの欠点を排除する。 そのような方法論の実装は、IoTのセキュリティ分野で研究を助け、将来のBLE対応IoTデバイスを強化する可能性がある。

単語

BLEとは

 Bluetooth Low Energyの略で、スマートフォンとIoTデバイス間でデータを転送することができる電力効率の高い無線技術のこと。BLEデバイスはメンテナンスが簡単で、コイン型電池で長年使用できる。

暗号化・復号化とは

暗号化とは情報を通信する際に、情報を第三者に盗聴・傍受・改ざんされないようにする仕組みのことで、復号化とはその情報を実際に理解できる形に直すこと。

具体的に言えば、Eメールでやり取りする時に、誰かにこっそり見られたりメッセージを変えられたりしないように情報を作り変えることを暗号化といい、もとにもどすことを復号化という。

鈴木さんが田中くんにEメールを送信する場合のことを例に出して説明してみる。

  1. 田中くんは公開鍵(一度閉じたら鍵を使わない限り開かない箱)とそれに対応する秘密鍵(箱を開けるための唯一の鍵)を持っていて、田中くんが鈴木さんに公開鍵の方だけ(箱だけ)を渡す。
  2. 鈴木さんは自分の送りたいメッセージをこの公開鍵を使って暗号化して(メッセージを田中くんにもらった箱に入れて閉じて)、送信する。
  3. メッセージを受け取った田中くんは、これを秘密鍵によって復号化し(戻ってきた箱の鍵を開けてメッセージを取り出し)、理解できる形に直す。

実際には、公開鍵(箱)は文字列を一定の規則性に従って乱数化するものであり、秘密鍵(鍵)は乱数化した文字列をもとの形に直すものである。それぞれの公開鍵によって乱数化する規則が違うので、秘密鍵を偽装することはほとんど不可能に近い。

MITM攻撃とは

 デバイス間で受信者を偽装し2者間の通信を奪うサイバー攻撃。BLEプロトコルで実行され、緊急の問題になっている。

たとえば、鈴木さんが田中くんにメッセージを送る場合、

  1. 鈴木さんと田中君はまず公開鍵を交換(二人とも自分が渡した公開鍵に対応した秘密鍵を持っている)
  2. 鈴木さんは田中くんにもらった公開鍵を使って暗号化したメッセージを田中くんに送信する
  3. 田中くんは公開鍵に対応した秘密鍵でメッセージを復号化してメッセージを読む

という流れでセキュアな通信が行われているのだが、MITM攻撃ではまず、

1の際に二人の公開鍵交換を阻止して、別の公開鍵を二人にわたす。

2で鈴木さんは偽の公開鍵でメッセージを暗号化して田中くんに送るが、途中で攻撃者・侵入者がこれを秘密鍵によって復号化して傍受。

3で田中くんは何も気づかずにメッセージを読める。被害者は続けてメッセージをやり取りするが、ずっと傍受されている状態。

大事な情報を通信でやり取りするのにもリスクが伴うということがわかる一例。

公開鍵、秘密鍵による通信については以下の記事がわかりやすかった

https://persol-tech-s.co.jp/corporate/security/article.html?id=26

ステガノグラフィとは

 ある情報を他の情報の中に埋め込んで存在を隠蔽すること。サイバー攻撃としてのステガノグラフィは、検出を回避して不正なプログラムを埋め込むために使われる。

アニメ名探偵コナンでよく出てくる、文章の行頭の文字をつなげて読むと別のメッセージが隠されているやつもステガノグラフィ。

暗号化とステガノグラフィを組み合わせてMITM攻撃を防ぐ方法

この論文の一番ドヤりたいであろう内容は以下の流れで説明されている。

  1. まずAndroidスマートフォンアプリでパスワードを入力すると、パスワードが埋め込まれる画像が選択される。
  2. AES暗号化を使用してパスワードを暗号化し、暗号化されたテキストが画像内でエンコード(デジタル情報に変換)される。これはすべてクライアント側(Androidスマートフォンアプリケーション)で行われる。
  3. 画像はBluetooth 4.0(BLE)プロトコルで送信され、受信されるとその画像に隠された暗号文を復号する。
  4. ユーザーによってパスワードが入力されると復号化される。アルゴリズムが有効なパスワードをチェックしてロックを開くかどうかを決定する。

暗号方式のデメリットは第三者が攻撃や侵入によって秘密鍵にアクセスするとデータが漏えいすることで、

ステガノグラフィのデメリットは、メッセージの存在自体は隠されるが、メッセージの形式は変わらないため、攻撃者が隠されたデータが存在することを理解すれば(どちらのステゴファイルでも)、メッセージが復号化されてしまうこと。

そこでこの両方の方法を組み合わせて使用​​すると、元の情報の場所と実際のコンテンツ自体を識別するために、ステガノグラフィで隠された情報の分析と暗号解析の両方を同期して実行する必要があるため、セキュリティが大幅に向上する、ということ。

実装にはユーザーのインターフェースとしてAndroidアプリ、IoTのためのRaspverry Pi 3 モデルB、サーバーとしてAWS、そして電磁ロックが使われている。以下のような流れだと思われる。

  1. AndroidアプリからパスワードをRaspberry Piに送って処理する
  2. Raspberry PiはAWS上のデータと照合して、同じパスワードであれば「一致したよ!」と電磁ロックに信号を出す
  3. 受け取った信号をもとに電磁ロックが解除or施錠される。

英単語

  • vulnerabilities 脆弱性
  • Cryptography 暗号化
  • Steganography ステガノグラフィ
  • implementation 実装
  • methodology 方法論

まとめ

IoT通信をセキュアに行うための暗号化と復号化にはAdvanced Encryption Standardのアルゴリズムが使用されていて、このアルゴリズムにはMITM攻撃、なりすまし攻撃などの問題があることが調査により判明しているけれど、ワンタイムパスワードの使用に関する論文はほとんどないらしい。

どうしてこんなにタイムリーで必要性のありそうな研究がされていなかったのか。何が背景にあって、研究者が手を出してないのか。

既存のソリューションで解決できてなかったことは、

  • BLEデバイスが盗聴の被害を受けること
  • MIMT攻撃からパケットインジェクションや認証攻撃に繋げられること
  • Dos攻撃によりシステムがクラッシュし、最終的にシステムのバッテリ寿命が枯渇すること

などがあったが、暗号化とステガノグラフィのコンビネーションがこれらのソリューションになるかもしれない、という素晴らしい内容でした。

画像認識でステガノグラフィを見破ってかつそれに対応した秘密鍵にアクセスできる凄腕ハッカーが現れるまではこの方法が主流になる可能性ありますね。

このシステム、CCS(Combination of Cryptography and Steganography)って名前になると予想します!