ページ)エンジニアならば、情報の重要性を誰よりも理解しているはずです。そこで、クラウド時代にエンジニアが知っておくべき「暗号」論を、もう一度おさらいしてみてはいかがでしょうか。デブサミにて反響が大きかった「クラウドを支えるこれからの暗号技術」を執筆した筆者による新連載です。アップデートしようインターネットの普及と発展により、ネットワーク上で秘密にすべき情報がたくさんやりとりされています。最近ではクラウドサービスの普及により、サーバーに重要な情報を置く機会も増えたことで、個人情報流出の危険性も常につきまとっています。実際、情報漏えいの事故や事件がしばしば報道されていますし、これを受けて、「情報漏えいが怖いからクラウドサービスは使わない」という人も少なくありません。安全に情報を管理することが、今まで以上に強く求められているのです。その実現のために、情報セキュリティという考え方があります。機密性:特定の人だけが情報にアクセスできること完全性:他人に勝手に情報を書き換えられたりしないこと可用性:必要なときに情報を参照できることという三つの性質を表します。機密性や完全性のためには、情報の暗号化だけでなくデータを置く場所、操作する人の教育などに注意を払わなければなりません。可用性のためにはバックアップシステムやサーバーの多重化が必要になります。してみると、暗号化技術は機密性や完全性を実現するために必要な技術の一つに過ぎないことが分かります。暗号化技術がよかったとしても、他の部分が悪ければ情報セキュリティは守れないのです。実際、情報漏えいの原因が人であることも多いです。いえ暗号化技術は、情報を守る土台として決して欠かせないものなのです。守るべき情報(データ)は、その利用形態に応じて大きく三つに分類されます。Rest)は、AESなどの共通鍵暗号が使われます。改ざん検知のためにメッセージ認証符号を組み合わせることも多いです。通信技術が使われます。その中心には公開鍵暗号があります(もちろん共通鍵暗号も使われます)。Use)に使われる暗号化技術はあまりありませんでした。従来の暗号化技術は、暗号化されたデータを一度復号しないと何もできなかったからです。そのため、近年では復号しなくても計算したり、検索したりできる暗号化技術が研究されています。この連載ではそれらの暗号化技術を紹介していきましょう。一度おさらい「公開鍵暗号」とは?新しい技術を取り上げると書きましたが、それらは基本的に公開鍵暗号の発展形です。そのためまず公開鍵暗号のおさらいをしておきましょう。公開鍵暗号を使うときは各自が公開鍵と秘密鍵を生成し、公開鍵はみんなに渡して秘密鍵は手元に秘密に持ちます。公開鍵を改ざんされることなく安全に他人に渡すには公開鍵基盤(PKI)などを利用します。詳細については「5分で絶対に分かるPKI」もご参照ください。【関連記事】5分で絶対に分かるPKI(@IT)http://www.atmarkit.co.jp/fsecurity/special/02fivemin/fivemin00.htmlAさんがBさんにメッセージを送りたいときはBさんの公開鍵KBを使って平文mから暗号文cを作ります。受け取ったBさんは自分の秘密鍵K′Bを使って復号します。暗号化のための鍵と復号するための鍵を別のものにし、片方は公開してもよいというのが公開鍵暗号の最大の特徴です。形式的に書くと公開鍵暗号とは次の3個のアルゴリズムからなります。鍵生成:全員で使うためのパラメータの初期設定をする。ユーザーそれぞれが誰にも教えない秘密鍵K′と、みんなに教える公開鍵Kとを作る。Enc(KA,m)を作る。