この話、内緒だよ!~実は身近な暗号技術について~

この話、内緒だよ!~実は身近な暗号技術について~

現代社会の人々の情報はどのように安全にやり取りされているのでしょうか。 本稿では、安全なネットワーク間通信を達成するための、暗号化と呼ばれる技術について説明します。暗号というと、自分には関係がないと思われる方もいらっしゃるでしょうが、現代では皆さんが暗号を使わない日はないというほど、実は生活に密着した技術です。 皆さんの知らないところで活用されている、暗号化の技術、ちょっとだけ覗いてみませんか?

暗号化とは?

そもそも暗号化とはどんな技術なのでしょうか。
現代で主に使用される暗号技術は、情報を送る際、その情報が盗まれても内容が第三者には分からないように、暗号化を施す技術で、これはクリプトグラフィと呼ばれます。逆に情報を盗まれないようにするため、情報自体を隠す暗号技術をステガノグラフィと呼びます。(新聞の縦読みメッセージ等がこれに当たります)

現代のネットワーク間での通信は情報をどこかに隠しながら安全にやりとりすることは困難なので、前者が主に使われます。つまり、皆さんの情報は、盗まれることが前提でやり取りがされているということなのです。ちょっと衝撃的ですね。

なんで必要なの?

元々暗号の起源は紀元前まで遡ります。(初期の暗号は、暗号として生まれたのか、現代の人間が当時の人間と違って、その文字を正しく読めないだけなのかは議論されているらしいのですが…)ただ、暗号を特に必要とし、進化させてきたのは常に戦争です。

もっとも有名な暗号には第二次世界大戦中に、ドイツにて発明されたエニグマ暗号があります。エニグマ暗号機という機械を用い、暗号化、復号化(暗号文を平文に戻すこと)を行いました。戦争時の味方同士での情報のやり取りは非常に重要です。自軍の作戦の情報が敵に渡ったら敵軍はその作戦に対して事前に対策を取ることができてしまいます。作戦情報の流出はつまるところ自軍の敗北=犠牲を出すことになるのです。戦争時の暗号化技術は言葉通り人の命をかけた重要な技術だったのです。

では現代の暗号技術はどのようなところで必要になるのでしょうか。
みなさんがインターネットを使用する際のさまざまな情報はネットワークの波をサーフしながら送られていきます。その中には皆さんの個人情報(名前や年齢、住所やクレジットカード情報)が含まれることがあります。

個人情報を第三者に盗聴されてしまうのは嫌でしょう。盗まれることはもちろん、知らないところで犯罪に使われてしまったりすることもあります。ただ、情報をネットワークの波に流さずに生活することは現代では困難です。eコマースサイト(ネットショッピングをするようなサイト)を利用する際や、スマートフォンで楽しむアプリケーションをダウンロードする際にも個人情報を提供することが必要です。(アプリケーションをダウンロードする際、情報アクセス画面を無視してダウンロードする人は、知らず知らずのうちに提供しているかもしれません)

このように現代では度々個人の情報を流すことが必要です。そして人々の会話を盗み聞きすることが容易なように、ネットワーク上を流れるデータを盗聴することも、少しネットワークの知識がある人なら簡単です。

ここまでお読みいただけた方なら暗号化の必要性は充分認識していただけるでしょう。つまりネットショッピングやアプリケーションを安全に楽しむ際には暗号化の技術が不可欠なのです。普段暗号というものをあまり意識しない人や自分に関係がないと思っている方でも、実は日々使用する生活に密着した技術の一つなのです。

いつ、どこで使われているか

暗号化がどのようなところで使われるかの例は先述しました。
では、具体的にいつ暗号化がなされているかを見てみましょう。

インターネットを使用している中で、暗号化がされていることを確認するもっとも簡単な方法としては、実際にeコマースサイトなどにアクセスしてみることです。みなさんが普段ネットショッピングをする際に利用するeコマースサイトにアクセスしてみましょう。

アカウント情報を見たり、購入履歴などの画面を表示してみます。(もしeコマースサイトなど利用されたことのない方は、銀行のサイトなどで個人情報を見てみましょう)
画面上側のURL欄にhttps://から始まるURLが入っていませんか?
(使用するブラウザによっては表示されないものもあります)
これはHTTPプロトコルを使用した通信の裏側で、SSL(Secure Sockets Layer)という暗号化フレームワーク(暗号化スイートとも呼ばれる複数の暗号技術のセット)が使われていることの証です。

なぜHTTPプロトコルにはSSL暗号化フレームワークが必要なのでしょうか。実はHTTPプロトコルによる通信の際には、私たちが見て理解できる形式の情報(平文)でのやり取りが行われています。

つまり盗聴者に情報を盗聴されてしまった場合、暗号化がなされていないので、個人情報をいとも簡単に盗まれてしまうわけですね。そのため、盗まれても内容がわからない形式(暗号文)でのやり取りを目指します。HTTPプロトコルでの通信にSSLという暗号化フレームワークを利用させたのがHTTPSと呼ばれるプロトコルです。

簡単にいえばURLを見たときにhttps://からはじまるURLが入っている際は、裏側では暗号化通信が行われているので、安心して個人情報を提供することができるということです。

具体例

実際の暗号の具体例を示します。

  • シーザー暗号 (日本以外ではカエサル暗号やカエサル・シフト暗号の表記が一般的です)

シーザー暗号とはいわゆる平文の各文字を別の文字に変換して、平文の解読を困難にする換字暗号の一種で、紀元前に発明された暗号化技術です。これは文字の「並び」を事前に決めた文字数分シフトさせて、シフト後の文字で文章を記述します。逆に復号化の際はシフトさせた分を逆にシフトさせて復号化します。

実際シーザー暗号を用い、アルファベット表記で書かれた文の各文字をシフトさせて暗号化をしてみます。今回は2文字分後ろにシフトさせてみます。2文字分シフトさせると、下記のようになります。

a → c
b → d
c → e

例えば筆者の名前、yuta furukawaを上記のルールで暗号化すると、

yuta furukawa → awvc hwtwmcyc

となります。暗号化されたawvc hwtwmcycを盗聴したとしても意味不明の文字列ですが、アルファベット表記で2文字分逆にシフトさせて復号化するというルールを知っていれば、yuta furukawaという文字列に復号化することができます。

現代のインターネットで実際に使用される暗号化技術はこんな簡単なものではありませんが、暗号化と復号化のルール(今回の例では暗号化の際2文字分シフトさせるということ)を事前に通信する二者間で共有しておくという根本の仕組みは何も変わりません。

今回挙げた例の他にも、ヴィジュネル暗号、エニグマ暗号、AES、DESなどさまざまな暗号化技術があります。気になる方はぜひ調べてみましょう。

まとめ

いかがだったでしょうか。暗号という一見遠いような存在は、実は現代人が密接に関わる非常に重要な仕組みだったことを感じて頂ければと思います。
私が登壇するコースの中でも暗号化の重要性や、裏側の仕組みをもっと詳しく話しています。実際にインターネットを介した通信時の暗号化の方法などにご興味のある方はぜひ受講にいらしてください。もしかすると、お会いできるかもしれませんね。

最後までお読みいただきありがとうございました。

記事は、予告なく変更または削除される場合があります。
記載された情報は、執筆・公開された時点のものであり、予告なく変更されている場合があります。
また、社名、製品名、サービス名などは、各社の商標または登録商標の場合があります。