すぐに使える暗号化技術について
現在、インターネットの普及に伴い、知人や友人との連絡が容易に行えるようになり、キャッシュレス決済による購買活動が可能になるなど、社会全体の利便性が向上しました。一方で、インターネットを介して、悪意者が違法に個人情報を取得したり、オンライン上での機密情報を意図的に漏洩したりといった事例が発生しており、よりサイバー攻撃への備えが必要となっています。そこで今回はこれらの攻撃に対して、安全に情報を保つ手段である「暗号化技術」について解説します。
暗号化技術とは
概要
暗号化技術とは、情報を安全に保つために、データを第3者が読めない形式に変換する技術のことです。この変換された形式は、特定の手順や鍵を知っている者だけが元の情報に戻すことができます。言い換えると、不正なアクセスからデータを保護し、情報の秘密性と完全性を保つための手段となります。
現在の暗号化技術は、電子メールの送信、オンラインバンクの取引、個人情報の保護など、私たちの生活の様々な場面で使用されています。
暗号化技術の歴史
ここでは、暗号化技術の起源とその歴史的発展について説明します。暗号化技術の歴史は古く、紀元前1900年のエジプトで、暗号化技術は見つかっています。ここで使われている暗号は、今で言う記号の置き換えと呼ばれる手法でした。しかし、この暗号は何か秘密の情報を伝えるものではなく、威厳を持たせるために文字の形式を変えて表示される目的だったようです。
紀元前1500年、メソポタミアの書記が陶器の釉薬の配合を隠すために暗号を使用しました。これが、秘密の情報を隠すために暗号を使用したと確認されている最初の例となります。
また、紀元前100年に、古代ギリシャ人はメッセージを変換する暗号(暗号化と復元のアルゴリズム)を使用していたことが確認されています。この時に使用された暗号は「シーザー暗号」と呼ばれ、平文の各文字を別の文字に置き換えて暗号文を作成しすることからそう命名されました。
16世紀になると、より暗号化の技術は発展し「ヴィジュネル暗号」と呼ばれる暗号技術が登場します。ヴィジュネル暗号はシーザー暗号よりも安全で、解読されにくい暗号技術でしたが、1863 年にフリードリヒ・カシスキーによって解読されてしまいました。
20世紀に入ると、暗号化技術はより発展をとげ、複雑なものとなります。
1918年にエニグママシンが発明され、第二次世界大戦になると、エニグママシンはナチスドイツ軍で常用されるものとなります。
最終的に、このエニグマはポーランドによって解読され、それがイギリスの「ボンベ」の製造につながりました。
この時期まで、暗号は主に軍事用途に限定されており、一般の人々には広く認知されていませんでした。しかし、企業が競合他社から自社の情報資産を保護する目的として暗号技術を活用し始めたことで、状況は大きく変化します。
1970年台に、IBMは「ルシファー」というブロック暗号技術を開発し、これが後に現在のデータ暗号基準(DES)として広く認知されるようになりました。
その後、DES に変わる暗号技術として、より安全性の高いAESが登場し、データ通信時にセキュリティを守るSSL/TLSの技術が開発され、今に至ります。
暗号化の基本的な仕組み
暗号化では、システムやソフトウェアを用いて、テキストメッセージや電子メールのような平文(元のデータ)を「暗号テキスト」と呼ばれる解読不能な文字列に変換します。
そして、受信者がデータにアクセスすると、情報は元の形式に変換されます。これを「復元化」と呼びます。
暗号化のポイントは「鍵」です。
暗号鍵がなければ、データの暗号化と復元化はできません。
また、この暗号化された鍵(以下、暗号鍵)が第三者にわたってしまうと、データを解読された可能性もあります。
そのため、暗号鍵は厳重に保管しなければなりません。
暗号化に使う方式の種類
暗号化を行う際に使われる方式は3種類あります。それぞれのメリット・デメリットは以下になります。
共通鍵暗号方式
メリット
処理が単純なため、暗号化と復元が早い
最もシンプルな方法であり、わかりやすく
デメリット
共有する人数分のパスワードが必要になる
鍵の管理を慎重に行う必要がある
公開鍵暗号方式
メリット
暗号化するための鍵は複数で共有できるため、管理が簡単
デメリット
暗号化と復元の処理に時間がかかる
ハイブリット暗号方式
メリット
暗号化と復元の処理が早い
パスワードの管理や受け渡しが簡単
デメリット
共有鍵暗号方式と公開鍵暗号方式を組み合わせて方式となるため、処理が複雑になる
「どのような方式なのか」「メリット・デメリットの詳細」「どのような場合に向いている方式なのか」については、以下で詳しく説明します。
共通鍵暗号方式
共通鍵暗号方式とは、暗号化と復号に同じ鍵を使用する暗号方式です。この暗号方式では、1つだけ鍵を用います。
データの流れは以下のように簡単なものとなります。
![](https://assets.st-note.com/img/1725803273-fuBKDpXRnaF9E81lIC7cyr54.jpg?width=1200)
送信者は共通鍵を使って平文を暗号化する
受信者は共通鍵を使って暗号文を復号化する
共有鍵暗号方式はPCへの負荷が軽く、暗号化・復元の速度が速いのがメリットです。また、複雑な工程がなくシンプルな方式のため、わかりやすくのも特徴です。一方で、やり取りする人数の共通鍵が必要になるため、人数が多くなればなるほど鍵の管理が大変になります。
少人数とのやりとり、かつ共通鍵の情報を安全にやりとりできる環境下である場合に有効な暗号方式になります。
公開鍵暗号方式
公開鍵暗号方式とは暗号化に公開鍵、復号に秘密鍵を使用する暗号方式のことです。
この公開鍵は誰でも簡単に入手できる公開された鍵ですが、秘密鍵は1つしかない大切な鍵になります。
![](https://assets.st-note.com/img/1725803396-TuWYjdLDnKqwl42AxvIbC1Sc.jpg?width=1200)
受信者Bが秘密鍵を使って公開鍵を作成する
送信者Aは受信者Bが作成した公開鍵を取得する
送信者Aは平文(暗号化したい文)を公開鍵を使って暗号化して、受信者Bに送付する
受信者Bは送信者Aが暗号化した暗号文を受け取る
送信者Bは暗号文を秘密鍵で平文に復元化する
このように受信者(秘密鍵を持っている人)のみが暗号を解くことができる仕組みになっています。秘密鍵は受信者が大切に保管して、公開鍵は誰でも取得できる場所に公開されています。
公開鍵で暗号化したデータは秘密鍵でしか復元できません。そのため、受信者が秘密鍵の情報を外部に漏らしさえしなければ、第三者がデータを復元できる術はないです。
暗号化に使う公開鍵は同じものを複数人に共有することができ、鍵の管理がしやすいメリットがあります。
一方、暗号化・復号の処理に時間がかかりやすく、PCへの負担が大きいことがデメリットです。
大人数と暗号化データのやり取りが必要な場合には、公開鍵は有効な暗号方式になります。
ハイブリット暗号方式
ハイブリット暗号方式とは、共通鍵暗号方式と公開鍵暗号方式の良いところをとった方式です。暗号化・復号は「共通鍵暗号方式」を用いますが、共通鍵の受け渡しは「公開鍵暗号方式」で行います。
ハイブリット暗号方式の具体的な流れは以下になります。
※イメージとして、共通鍵の配布を公開鍵で行う感じです
![](https://assets.st-note.com/img/1725893201-CKl3q0D6PepZLsiE8OWwY2hA.jpg?width=1200)
送信者は、共有鍵暗号方式の共通鍵で暗号化する
送信者は、共通鍵を公開鍵で暗号化する
送信者は、共通鍵で暗号化された1. の文と、公開鍵で復号化された2. の共通鍵で受信者に送る
受信者は、秘密鍵を使って公開鍵で暗号化された2. の共通鍵を復号する
受信者は、4. で取り出した共通鍵を使って、1. の暗号化された文を復号する
ハイブリット暗号方式は、共通鍵暗号よりも安全で、公開鍵暗号方式よりも処理が速いことが特徴です。
また、公開鍵暗号方式と共通鍵暗号方式を組み合わせたものとして、SSLが有名です。
SSLではまず、公開鍵暗号方式を使い、通信内容を暗号化するための「共通鍵」をサイトの運営者と閲覧者の間で共有します。
そして、共有された「共通鍵」を用いた共通鍵暗号方式で、個人情報やログイン情報などの通信データを暗号化して通信します。
ECサイトなどでクレジットカード番号などを登録するときには、このSSLを使ってデータを送受信しているため、第三者が盗み見ても、内容が特例されることはありません。
ホームページのアドレス冒頭が「https」で始まっているものはこのSSLが適応されています。
暗号化を高める方法
暗号化はセキュリティ対策として有効な方法ではあるものの、暗号化を行っただけでは、十分なセキュリティ対策をしたとは言い難い状況です。
より安全性の高いアルゴリズムを選択することが必要になります。
現に暗号化には暗号強度という概念があり、暗号強度は暗号の解読のされやすさを表したものです。暗号の長さが長いほど、安全性が高いと言われており、暗号のアルゴリズム(暗号化処理の手順・規則のこと)も暗号強度に影響します。
現在使用されている暗号化の方法は、アルゴリズム自体は隠せないため、安全性について評価された、安全性の高いアルゴリズムを利用することが必要です。
安全性の高いアルゴリズムの例は以下になります。
RSA
最もメジャーな公開鍵暗号方式のアルゴリズムになります。大きな2つの素数の積から、それぞれの素数を算出することが困難であることを安全性の根拠としています。
AES
最も広く標準的に利用されている鍵暗号式のアルゴリズム。安全性の高さから、無線LANの規格としても使用されているアルゴリズムになります。
ElGamal
公開鍵暗号方式のアルゴリズムの1つで、離散対数問題の困難性に安全性の根拠を置いているものです。
まとめ
暗号化技術とは情報を安全に保つために、データを第3者が読めない形式に変換する技術のことであり、私たちの生活の様々な場面で使用されている
暗号化技術の歴史は古く、当初は軍事目的で利用されていた。しかし、企業が暗号技術を活用し始めたことでより安全性の高い暗号技術が開発され現在に至る
暗号化の基本的な仕組みとして、情報は元の形式に変換する「復元化」と平文を暗号化する「暗号テキスト」がある。その暗号化と復元化を行うためには暗号鍵を用いて行う。
暗号化方式には「共通鍵暗号方式」「公開鍵暗号方式」「ハイブリット暗号方式」が存在する。
また、公開鍵暗号方式と共通鍵暗号方式を組み合わせたものとして、SSLが有名であり、通信データの暗号化に用いられる。
暗号化を行っただけでは、十分なセキュリティ対策を行なったとはいえず、安全性の高いアルゴリズムを利用する必要がある