ケータイ用語の基礎知識

第775回:Letter Sealing とは

LINEの覗き見、改ざん防止技術

LINEの設定画面にあるLetter Sealingの設定

 「Letter Sealing」(レターシーリング)とは、スマートフォンやパソコンで利用できるメッセージングアプリ「LINE」で採用されている、メッセージの暗号化技術です。

 「LINE」のスマートフォンアプリでは、バージョン5.30以降で対応しています。この機能により、ユーザー同士のトークの内容が守られているのです。

 2016年10月現在、現行バージョンのアプリの初期設定では、Letter Sealingが有効になっています。有効になっているトークではユーザーの名前の左側に、鍵を模した「ロックアイコン」が表示されます。

Letter Sealingが有効になっているトークでは、相手の名前の左側に鍵の絵の「ロックアイコン」が表示される

 "Letter Seal”とは、手紙を封に入れた後に蝋で閉じ、その後、開封されていないことを証明できるよう、刻印が押されたものを意味する英語です。封を開けるには蝋をはがさなければなりませんが、特定の印を持っていないと同じ文様の刻印を押せません。手紙を運んでいる途中で盗み見たり改ざんされていない証明となったわけです。同じようなイメージで、LINEのLetter Sealingのロックアイコンもトークが途中で盗み見されたり改ざんされていないという証明をしているわけです。

 なお、Letter SealingはLINE社が開発し、同社内でのみ利用されている独自方式ですが、暗号化の技術自体はインターネットでも一般的な、256bit AES、CBC(Cipher Block Chaining)ブロック暗号モードを利用しています。つまり、インターネットで一般的に利用されている暗号化技術と同程度に、データの解読や改ざん、なりすましなどは困難と言えます。

途中経路やLINEのサーバーでも解読不可

 Letter Sealingは、簡潔に言うとエンドトゥーエンド、つまり、端末~端末の間でメッセージの暗号化を行います。

 LINEのトークやグループトークを行う途中経路、たとえばスマートフォン~携帯電話基地局といった、途中の経路も、さまざまな難読化のための技術が使われています。もし電波が傍受されたしても、その内容を他人が見ることはできないわけです。さらに万が一、何らかの条件でそのデータが解読されたとしても、それをさらにトークのメッセージとして復元したり改ざんすることを難しくしているわけです。

 仕組みを見てみると、トークを行っている端末同士では、ディフィー・ヘルマン(Diffie-Hellman、DH法)鍵共有という方式で、暗号鍵をやり取りします。これは、共通鍵暗号方式における鍵の受け渡しを安全に行うための方式。公開鍵と秘密鍵を用意し、公開鍵のみを相手に送信するやり方です。秘密鍵と公開鍵両方を使って共通鍵という鍵データを生成し、それで暗号を解くようになっているため送信者、受信者のやり取りする鍵だけを盗聴しても鍵を作ることができなくなっています。

 そして、このDH法を使って共通鍵を作成し、そこからAES-CBC方式でトークデータそのものを暗号化・復号化します。DH法を使って共通鍵を作ることができたユーザー、つまりトークの相手やグループトークの参加者のみが、トークデータを正しく解読できます。

 さらにLetter Sealingでは、この「Letter Seal」から取った名前の由来にもなっている独特の「トークデータの検閲や改ざんがないことを証明するシール」のようなデータを使います。

 これはMAC(メッセージ認証コード、Message Authentication Code)と呼ばれるもので、メッセージが送信される前の元のメッセージを縮約、つまり数学的に要約したデータのことです。トークデータを送信する側は、MACをメッセージの検証用に付け加えて送ります。受信側は、MAC値とメッセージ本体の特徴を照らし合わせて、途中で改ざんされていないことを確認できます。

 Letter Sealingで採用されている方式では、LINEサーバーも共通鍵を持つことができませんし、当然正しい縮約データを作ることも不可能です。つまり、LINEのトークやグループトークが行われる際にデータが流れる中継点となるLINEのサーバーにとっても暗号の解読はできないということで、サーバーは誰から誰へのトークなのかはわかっても、その内容にはタッチできないことになります。

 Letter Sealing以前のLINEのトークやグループトークでは、トークを利用している利用者の端末で暗号化してからサーバーで一旦それを解いて、そのトークのデータを受ける利用者の端末に合わせた暗号化を再度やり直して送るということをしていました。現在も、Letter Sealingを利用しない設定にすると、これまでの方式で暗号化されます。このやり方ですと、万が一の場合、たとえば、LINEのサーバーがハッキングされて暗号鍵が盗まれたり、運営者が誤って鍵を漏洩させたりといった場合にはLINEや悪意の第三者にトークデータが検閲されたり改ざんされるという可能性も、技術的にはあり得ないことではありません。

 実際には、暗号鍵は厳重に管理されていますので、あくまで技術的な可能性となりますが、Letter Sealingを採用することで技術的にも、悪意の第三者や、運営者であるLINEにもトーク内容は検閲や改ざんが不可能となりました。

 また、この方式を採用することで、途中解読、再暗号化の負担がなくなり、LINEサーバーの負荷も軽減されるというようなメリットもあると考えられます。

大和 哲

1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら
(イラスト : 高橋哲史)