見出し画像

通信相手は本物?マルチチャネル・デバイス認証

 今回は、前回までにご紹介したOCCの具体的な利用例の一つとして、デバイス間通信のマルチチャネル認証についてご紹介します。

  …ぷるるる、がちゃ。
「もしもし。」
「おれだよ、おれ。事故を起こしちゃったから、銀行に100万円振り込んでくれない?」
「その声は太郎だね。わかった、わかった!」
ちょっと待ってください!その人は本当に太郎さんですか?声が同じでも、本当に本人か、確認しなければならないのでは?…と、これは電話の例ですが、情報通信の世界ではどのようなことが起きているのでしょうか。今回のテーマは「相手が本物かを確かめる」ということです。

①デバイス間通信とは

 私たちの身の回りには、無線通信の機能を備えたデバイスがどんどん増えています。デバイス間通信とは、スマートフォン、テレビといった様々なデバイス同士で、直接データ通信を行うことをいいます。昔ながらのテレビのリモコンなども、赤外線を使ったデバイス間通信の一種と言えますね。またSuicaなどのIC乗車券を自動改札にタッチしたときにも、RFIDと呼ばれる技術を使ってデバイス間の無線通信が行われています。他にも、ワイヤレスイヤフォンをペアリングしたり、スマホの画面をテレビに映したり、デバイス間通信を日常的に使うことも多くなっているのではないでしょうか。
 ちなみに、隣にいる友達にスマートフォンで電話をかけたとしたら、どうなるでしょうか?すぐ目の前にあるデバイス同士なので、ぜひダイレクトにデバイス間通信をしてほしいところなのですが、通常は、基地局などいくつもの設備を介して音声データが伝送されます。つまり、音声データは大きく遠回りすることになるので、とても効率が悪いです。隣にいる友達とは、ぜひ直接お話しましょうね。このようなケースで、基地局を介さず、隣のスマートフォンを直接通信させる。これがデバイス間通信です。

②どんなときに使える?

 デバイスとデバイスとを繋げる通信、デバイス間通信には、どのような例があるのでしょうか。本当に色々な技術やユースケースがあるのですが、身近な例をもう少しご紹介しておきます。

・Bluetoothによるワイヤレスイヤフォン接続


 音楽を聴くとき、ワイヤレスイヤフォンを使っている方いらっしゃいますか?コードが絡まることがないので便利ですよね。ワイヤレスイヤフォンと音楽の再生機器とを接続する際によく用いられるのが、Bluetoothと呼ばれる無線通信の規格です。イヤフォン側をペアリングモードにして、再生機器側でペアリングの操作をして接続するほか、タッチ操作での接続が可能な機種もあったりします。

・Wi-Fi Directによるテレビへのストリーミング


 身近な無線通信として利用しているWi-Fiですが、実は大きく分けて2つの形態があります。私たちが普段よく使っているのは、アクセスポイントと呼ばれる機器を介した形態です。同じWi-Fiに繋がった隣のスマートフォンと通信する場合にも、必ずアクセスポイント経由でデータが転送されます。ちなみに、家庭用の機器としては、いわゆる無線LANルータがアクセスポイント機能を備えているケースが多いです。
 これに対して、もう1つの形態がWi-Fi Directと呼ばれる手法です。その名の通り、アクセスポイントを用いずに、デバイス同士を直接接続します。代表的なものとして、Miracastと呼ばれる映像のストリーミング転送技術があります。スマートフォンやタブレットとテレビなどの大型ディスプレイとを接続することで、映画などのコンテンツを大画面で観ることができます。他にも、対応したプリンタに印刷したいデータを直接送るケースなどもありますね。

③通信の傍受とメッセージの暗号化


 例えば、LINEなどのメッセージをやりとりしたときに、「このメッセージは暗号化されています」と書かれていることはないでしょうか。暗号化とは、お互いのやりとりが第三者に漏れないように、連絡しあう人だけが分かるようにデータを変換してしまうことです。AさんがBさんに「こんにちは」というメッセージを送るとします。Aさんが書いた「こんにちは」というテキスト(平文)を、特別なカギを使って暗号文に変えてから送ります。このメッセージを受け取ったBさんは、カギを使って変換(復号と呼びます)することで、元の「こんにちは」というテキストを読むことができるのです。
 それではなぜ、こんなに面倒なことをするのでしょう?「どうせ復号してから読むなら、最初から暗号化なんてせずに送ったらいいのに…」と思った人、それは「どうせまた汚れるのだからお風呂なんて入らなくていいのに…」くらい無茶な考えです!特に無線通信で使われる電波は、四方八方へと飛んでいってしまいます。なんなら壁も突き抜けていきます。この電波を知らない第三者が受け取った場合(傍受する、あるいは盗聴するとも言います)、もし暗号化していなければ、メッセージの内容が筒抜けになってしまうのです。つまり暗号化をせずにメッセージを送るということは、大声で叫んでいるようなものなのです。メッセージの内容が周りの人に丸聞こえになってしまうので、もし変な人が近くにいたらと思うと…、恐ろしいですよね。

 

④通信している相手は本当にその人?


 暗号化をしていれば、盗聴されても大丈夫!と安心したところで、実はまだ心配な点があります。

「暗号化をしてお話している、その相手は本当にBさんでしょうか?」

 Bさんを名乗った別の人物である可能性はないのでしょうか?そう、いわゆるオレオレ詐欺のように。(ちなみに、かつてオレオレ詐欺と呼ばれた特殊詐欺については、その手口や名称も多様なものがあります。お気をつけくださいね。)このように、悪意のある第三者がBさんを名乗ることを「なりすまし」と呼びます。また、AさんとBさんの間に割り込んで、こっそりメッセージをすり替えたりする「中間者攻撃」と呼ばれる攻撃も存在します。知らない間に悪い人とお話しているなんて、怖いですね…。
 さて、どうしてこんな恐ろしいことが起こってしまうのでしょうか。上述したように、暗号化にはカギが必要です。つまりAさんとBさんの間でカギを交換する必要があるのです。このカギ交換のやり取りを、最初から悪い人と行ってしまっていたのですね。通信の難しいところは、相手がよく見えないところです。IC乗車券のようにタッチするような至近距離であれば、相手を間違える可能性は低そうです。でもBluetoothでペアリングするときに、もし似たようなデバイスがたくさんあったらどうでしょう?それは本当にあなたのイヤフォンだと、確信が持てるでしょうか。
 「なりすまし」や「中間者攻撃」を防ぐためには、相手が本物であることを確認する、つまり認証する仕組みが必要です。

 


⑤マルチチャネル認証


 通信する相手が本物であることを確認するのが難しいのは、情報(手掛かり)が少ないせいです。機種名やナントカIDなどだけでは、ちょっと心もとない気がします。とはいえ、やみくもに情報を増やせばいいわけではなく、何か工夫が必要そうです。例えば口座開設の手続きなどで、「ほとんどの情報はメールで送られてきたけど、パスワードだけは郵送で送られてきた」といった経験はありませんか?これは住所の情報も使って本人であることの確認=認証を行っている、ということですね。
 今回私たちは、このような考え方でデバイスを認証することを考えました。Wi-Fi Directのような電波を使った無線通信デバイスの認証を、まったく別の媒体である「光」を使って行う手法です。メールアドレスと住所のように複数の媒体(チャネル)を使って認証するため、マルチチャネル認証と呼んでいます。

 

⑥OCCを使う!


 OCCとは、LEDやディスプレイなどの光源からの光信号として送信したデータをカメラで受信する通信方法です。詳しくは、「カメラを用いる可視光通信、OCCとは?」をご覧ください。今回は、OCCをデバイス認証用に用いる手法を開発しました。具体的には、Wi-Fi Directの接続手順の中にOCCによる認証を組み込んだAndroidアプリを作り、2台のスマートフォンを使って実験を行いました。
 暗号カギを生成するための情報を、スマートフォンのディスプレイの色によって表し、これをもう一方のスマートフォンのカメラで撮影して受け取ります。受け取った情報をもとにカギの計算を行うことで、相手が本物であることを確認します。OCCを用いることで、通信相手となるデバイスが光るため、どのデバイスと接続するかを視認して確かめる=認証することができます。また、電波と違って光が障害物などで遮られるため、そもそも知らない相手にまで信号が届く確率が低い、という利点があります。

⑦廊下で実験!


 開発したアプリを使って、デバイス認証してWi-Fi Direct接続ができることを確認しました。スマートフォンのディスプレイとカメラを使って、どのくらいの距離まで認証ができるのか、大学の廊下で距離を測りながら調べました。長い廊下にメジャーを置いて、椅子で固定して、実験を行いました。冬だったので寒い中、ひざ掛けをお供に頑張りました。他の研究室の先生が通るときに少し気まずかったそうです…。おつかれさまでした!


18mまで通信できることを確認しました。肉眼で見てみると、小さい…!

 ただし、スマートフォンを手で持ったときには、手ブレなどの影響が出てくるため、上手く光信号を読み取れる距離は短くなります。今回の実験では2m離れたところまで通信できました。このあたりは今後、光の並べ方などの工夫で改善することもできそうです。

⑧今後に向けて


 OCCでは光を使って通信するため、周囲の明るさやカメラの設定によって、光信号の色が違って見えることがあるそうです。光の色が変わってしまうと、正しい情報を受け取れなくなってしまいます。今後は、より多様な環境で正しく通信することができるように、研究を進めていく予定です。

 今回は、デバイス同士の通信においてOCCで認証する技術をご紹介しました。デバイス同士の通信で、相手が本物かどうかを見極めるときにOCCが使えるのですね。みなさまくれぐれもオレオレ詐欺には注意しましょう。それではまた次回もお楽しみに!読んでくださりありがとうございました。


この記事が気に入ったらサポートをしてみませんか?