暗号化とは? セキュリティ対策の基礎について解説

暗号化とは? セキュリティ対策の基礎について解説

セキュリティについて語るときにしばしば見かける「暗号化」という言葉。暗号化とは何を意味し、どのような仕組みによって実現されるものなのでしょうか。セキュリティ対策の基礎として理解しておきたい暗号化について解説していきます。

暗号化とは?

暗号化とは一定のルールに従って文字列を変えるなどして、データの内容を第三者にわからなくする技術または手法です。

例えばショッピングサイトなどの問い合わせフォームを使うときには、ほとんどの場合、ブラウザのアドレスバーに「http」ではなく「https」で始まるURLが表示されます。このHTTPSは、HTTPにセキュリティ機能を加えた通信を行う技術です。もっと具体的に言えば、「https」で始まるURL表示は、そのWebページがSSLやTSLといった通信プロトコル(通信手順)によって暗号化された通信状態であることを示しています。

また、圧縮ファイルとして知られるZIPファイルもパスワードを付けて暗号化することができます。さらにWindowsには標準で、「Encrypting File System(EFS)」というNTFS(ファイルシステムの一つ)のファイル暗号化機能が搭載されています。

なお、暗号化されたデータは、暗号化される前の状態(平文と呼ばれます)に戻すことができなければその内容を他の人に伝えることができません。暗号化されたデータをもとのデータに復元することは「復号」と呼ばれます。

暗号鍵とは?

暗号化に用いられる一定のルールは、暗号化アルゴリズム、変換アルゴリズムなどとも表現されます。この暗号化アルゴリズムの手順を制御するための「あるデータ」のことを、暗号鍵といいます。言い換えると、暗号鍵とは暗号化したり復号したりするときに使うデータのことです。

この鍵を利用すれば、同じ暗号化アルゴリズムで、個々のデータを異なる手順によって暗号化できます。すなわち、同じ暗号化アルゴリズムを使用しながら、利用者によって暗号化の手順を異なるものにするのが鍵の役割です。そのことによって文章を暗号化して安全にやりとりすることなどが可能になります。電子メールや無線LANにも、こうした暗号化技術が使われています。

暗号強度とは?

暗号強度とは暗号の破られやすさのことです。つまり暗号文を、暗号鍵を用いずに解読することで、もとの状態のデータを特定する難易度を示すものです。暗号強度が高いほど安全性の高い暗号ということになります。

一般的に、暗号強度は暗号化アルゴリズムの種類か、暗号鍵の長さによって決まります。鍵の長さとは、暗号化や復号に使う鍵が何ビットあるかを示すものです。鍵を長くすれば安全性が高まりますが、暗号化・復号に時間がかかるというデメリットが生じます。

暗号化方式には2種類ある

暗号鍵を使った暗号化方式には「共通鍵暗号」と「公開鍵暗号」の主に2種類があります。両者の違いを説明しましょう。

共通鍵暗号

共通鍵暗号とは、暗号化する際と復号する際に、同じ鍵を用いる暗号化方式です。ファイルの暗号化などによく使われ、処理が早いという特長があります。

通信で共通鍵を使う場合は、(1)送信側がデータを「共通鍵」で暗号化して送信する、(2)受信側が受け取ったデータを同じ「共通鍵」で復号してデータを読み取る、という流れになります。

このとき、送信側は事前に受信側に鍵を渡す必要があります。鍵が第三者に漏れるとその人物によって暗号化したデータが復号されるおそれがあるため、鍵は安全に受け渡さなくてはなりません。

また、同じ鍵を複数のユーザーに配布するのも危険です。その鍵があればすべての暗号化したデータを復号できるようになるので、鍵はユーザーごとに生成する必要があります。

公開鍵暗号

公開鍵暗号とは、暗号化用と復号用とで、異なる2つの鍵を用いる方式です。暗号化に使う鍵は「公開鍵」、復号に使う鍵は「秘密鍵」と呼ばれます。

公開鍵は誰でも取得できる暗号化専用のオープンな鍵で、例えるなら誰でも鍵がかけられる南京錠のようなものです。一方、秘密鍵は受信側のみが保持することになる復号用の鍵で、南京錠を開けるための鍵とイメージすればわかりやすいでしょう。

通信で公開鍵暗号方式を利用する際は、(1)受信側が公開している公開鍵を送信側が取得し、その公開鍵を使って暗号化したデータを送信する、(2)受信側は受け取ったデータを、受信側のみが保持している秘密鍵を使って複号し、データを受け取る、という流れになります。

暗号化するメリット

暗号化の目的はセキュリティの強化にあります。SSL/TLSによって暗号化されたWebページは、今では個人情報を送信する際やクレジットカード決済をするときだけではなく、ショッピングサイトなどでは常に利用されるようになっています。

このような「常時SSL化」されたサイトを作るメリットは、セキュアな通信が可能になることによってユーザーが送信する情報を盗み見られたり、意図しないWebサイトに飛ばされてフィッシング詐欺に遭遇したりする危険性が減少し、安心してインターネットを利用できるようになることです。

以前はデータの暗号化と復号には時間がかかり、通信速度や処理速度が低下するという問題がありました。しかし現在では、インターネットの通信速度が向上し、HTTPに関してはデータの処理方法が変わって、速度の問題はクリアされています。通信に限らず、さまざまなデータを暗号化して安全性を確保していく流れは、今後もさらに拡大していくでしょう。