暗号化と復号化
暗号化とは、メールや情報といったメッセージ(データ)を、理解できない、または別の内容の文面に変換することをいう。暗号化したメッセージを暗号文といい、暗号化する前の元のメッセージを平文という。
暗号技術の起源は紀元前にまで遡り、主に軍事目的で、秘密裏に情報をやり取りする技術として発達してきた。
メッセージ受信者が、暗号文を平文に戻すことを復号化(復号する)という。正当なメッセージ受信者も、暗号文のままでは正しいメッセージを取得することはできない。よって、暗号文を復号して平文に戻す必要がある。
テレビ放送も暗号化されており、デジタル地上波のテレビ番組を視聴するには、「B-CAS(ビーキャス)カード」をセットする必要がある。
警察無線や消防無線も暗号化されており、無線を受信する為には専用の機器が必要。
暗号化とは
コンピュータでは、テキスト、音楽や画像など全ての形式のデータは「0」と「1」だけを用いた2進数で表現される。この時の、2進数で書かれた「0」と「1」の羅列はコンピュータにとって理解できる並びである。
暗号文もまた「0」と「1」の羅列だが、暗号文の場合はコンピュータが解釈できないものになっている。すなわち暗号化とは、元のデータに何らかの演算を行い、コンピュータが解釈できない羅列に変えることである。
暗号化する時の数値計算では「鍵」を使う。鍵を使った数値計算を施し悪意ある第三者がデータの中身を理解できないものにする。そして、データ受信者がこの鍵を使ってデータを復号する。
暗号化が必要な理由
インターネット上でのメッセージのやり取りは、送信したメッセージが様々なネットワークや機器を経由して相手に届く。
メッセージが悪質な機器やプログラムを通過し、メッセージの内容が悪意ある第三者に盗み見される危険性が常にある。ここで、送るデータを暗号化することが有効な対策と言える。データを暗号化することで、悪意ある第三者が盗み見した時は理解不能な暗号文となっているからだ。
第三者が、ネットワーク上を流れるメッセージを盗み見する行為を盗聴という。また、正当な受信者がメッセージを平文に戻すことは復号化というが、第三者が暗号文を平文に戻そうと試みる行為は解読(または「解析」)と呼ぶ。
暗号アルゴリズムには鍵が必要
複雑な問題を解く為の手順のことをアルゴリズムという。そして暗号化・復号化におけるアルゴリズムを暗号アルゴリズムという。
暗号化・復号化に必要な手順(アルゴリズム)があるが、その中で鍵を使用する。金庫に鍵をかけるように暗号化にも鍵を使用し、金庫の鍵を開けるように復号化にも鍵を使用する。金庫の鍵は金属のギザギザした形状のものだが、暗号化・復号化での鍵は数値である。
アルゴリズムと鍵が分かれば、基本的には復号できることになる。
どれだけ強固な金庫も鍵が盗まれてしまっては金庫の中身も盗まれてしまうように、暗号の世界でも鍵が盗まれないことが重要になる。鍵が金庫の中身を守るように、暗号アルゴリズムでの鍵は送受信するデータを守る。
インターネット上ではより複雑な暗号が使われていく。それでもCPUやGPUなどプロセッサの演算能力が向上している為、定期的に暗号に関する見直しが行われている。
暗号技術においても鍵の管理が重要になるわけだが、暗号方式は、鍵の管理方法によって「共通鍵暗号方式」と「公開鍵暗号方式」の2種類に分類できる。データ通信で起こり得る色んな問題に、対応する暗号技術も複数あるが、重要となる「鍵の管理」に共通鍵暗号と公開鍵暗号が使われる。
- 共通鍵暗号方式(対称暗号)
- 暗号化と復号化に同じ鍵を使用する。
- 暗号化の鍵と復号化の鍵は等しい。
- 公開鍵暗号方式(非対称暗号)
- 暗号化と復号化で異なる鍵を使用する。
4つのリスクと対応する暗号技術
メッセージ送受信で起こり得る問題は盗聴を含めて4つあり、暗号技術を用いた、各問題に合った対策で回避する。
- 盗聴
- 相手にメッセージを送る際、経路の途中で、第三者がメッセージの内容を盗み見する。
- 機密性が脅かされる。
- 「共通鍵暗号方式」「公開鍵暗号方式」で対策。
- なりすまし
- メッセージのやり取りにて、第三者が送信者(または受信者)を騙る。
- 「メッセージ認証コード」「デジタル署名」で対応。
- 改ざん
- 受信者にメッセージが届く途中で、第三者がメッセージの内容を書き換える。
- 正真性が脅かされる。
- 「メッセージ認証コード」「デジタル署名」で対策。
- 事後否認
- メッセージ送信者に悪意があったとしても、追求時において「自分が送ったメッセージではない」と言い逃れをする。こうなると、インターネット上での商取引や契約が成り立たなくなる。
- 「デジタル署名」で対策。
「改ざん」とは無関係に、通信途中で何らかの障害によってデータが破損することもある。
こういった問題は、メッセージ送受信時だけに限らず、ウェブサイト閲覧時にも潜む。