2014年8月1日金曜日

暗号化とは? 暗号化の基本と「圧縮形式Zip」暗号化、暗号化ソフト紹介

最近は、個人情報が漏れる事件が相次いでいますが、今の時代、個人情報が漏れた場合、インターネットで売買され、個人情報が拡散し、それを取り戻すことは不可能です。

なお、個人情報、いくら漏れないようにしていても、何かの原因でいつ漏れるか分かりません。万が一、漏れた場合でも、それを利用されないようにするのが”暗号化”です。今回は、暗号化の基本と「圧縮形式Zip」暗号化、暗号化圧縮形式Zip対応のフリーソフト「7-Zip」、代表的な暗号化ソフトを紹介します。

暗号化は、その名のとおり、「データを判読できないようにする」ことですが、貴重で多量のデータを紛失したときのことを考えると、これからは、この暗号化は大変重要なキーワードになります。

なお、暗号というのは、「伝える内容がわからないように隠すための技術」で、一定の規則に従って文章・数などを他の表現に変えて、その規則を知らない人には元が何かは判らなくするためのものです。

以前、電気店にあったUSBメモリに以下のことが書いてありました。

「AES 128bit(ビット)による暗号化機能を搭載」

この”AES 128bit(ビット)”とは一体何者なんでしょうか?

実は、これは暗号化方式を意味するもので、”AES”は現在最も一般的な暗号化方式です。また、”128bit(ビット)”は暗号化する際の”複雑さ”を表し、この数値が大きいほど、見破られにくい暗号であることを表しています。



■ 暗号化とは


暗号化についての基本的な言葉は以下になります。

 ・暗号前の元の文章を「平文」
 ・暗号文に変換する作業のことを「暗号化」
 ・暗号文を元の文章に戻すことを「復号化」
 ・変換するときの規則を「鍵」と呼びます。

例えば、”3文字ずらすという規則”で「JAPAN」を暗号化すれば、「MDSDQ」という暗号化された文字列になります(この方式はシーザーが使ったと言われ、シーザー暗号と呼ばれます。紀元前1世紀ころ)。

暗号化することで、なんだかよく分からない文字列「MDSDQ」が出来上がります。ところが、受け取る側に、”3文字ずらすという規則”を連絡しておけば、もとの「JAPAN」という平文に戻すことができます。



■ 暗号化の基本

文章を暗号化するときの基本は、まず始めに文章を数字で表現し、そしてそれを一定の規則に従って変換し暗号します。ただし、規則が同じだと誰でも暗号文を元に戻すことができてしまいます。それを避ける為、変換するときの規則、つまり鍵を変えます。

暗号の鍵は通常ビット数で表現されます。ビット数が多いほど、複雑な鍵になります。

例えば、一般的な暗号化方式「AES方式」の場合、鍵の長さが128ビットの場合、鍵の種類は、2の128乗(約3.4 × 10の38乗)の鍵の種類があります。一般的に鍵が長いほど暗号の強度が増加します。



■ お勧めの「圧縮形式Zip」で暗号化


私が一番気に入っているのが、 ”一般的に使われている「圧縮形式Zip」で暗号化”です。暗号化圧縮形式Zipは、一般的な圧縮形式であり、このデータ形式をサポートする様々なソフトがあります。

圧縮形式Zipは、圧縮するだけでなくパスワードを付けて内容を保護するという機能も用意されており、「パスワード文字列」を指定するだけで、簡単に暗号化/復号化(解凍)できます。


なお、圧縮形式Zipの暗号化には下記があります。重要なファイルをやり取りする場合は、(2)のAES-256がお勧めです。ただし、解凍する側にもAES-256に対応したツールが必要になります。

 (1) 弱い暗号化 ZipCrypt:昔からある一般的な方式。

 (2) 強い暗号化 AES-256:比較的新しい方式。
 
また、暗号化する場合のパスワードは簡単なパスワードを避け、最低でも8文字、可能なら10文字以上のパスワードにしましょう。

なお、Vista以前のWindows OSでは(2)の強い暗号化方式に対応できていません。また、Vista以降のWindows OSでは、その標準機能だけで暗号化ZIPファイルの復号化はOKですが、暗号化ZIPファイルは作成できません。

いずれにしても、Windowsの標準機能では、強い暗号化の「圧縮形式Zip」の活用は困難なので、別途、「7-Zip」のような暗号化ソフトが必要です。

参考:
Windows TIPS:ZIPファイルにパスワードを付ける - @IT
http://www.atmarkit.co.jp/ait/articles/0511/26/news011.html



■ 暗号化圧縮形式Zipをサポートする 圧縮・解凍フリーソフト


暗号化圧縮形式Zipをサポートする圧縮・解凍フリーソフトは様々ありますが、操作を簡単にするには、次の機能が必要です。


(1) 圧縮されたデータを通常のフォルダーのように扱える、ファイルマネージャの機能を持つ

(2) 圧縮データの中のファイルを変更した場合、圧縮データ自体も更新できる

(3) 暗号化強度の高い暗号化方式(AES-256)をサポートしている

つまり、Windowsのエクスプローラのように圧縮データを扱える、高度な暗号化機能を持つ、圧縮・解凍フリーソフトが便利です。

以下で紹介する「7-Zip」は、上記の(1)~(3)の機能を持っており、とても便利です。




■ 暗号化圧縮形式Zip対応のフリーソフト「7-Zip」 (海外:日本語対応)

■  圧縮・解凍以外に、暗号化でも役立つ優秀なソフト


このソフトは、高圧縮率を実現し、ポータブルタイプの圧縮・解凍ソフトでは、代表的な人気のあるソフトです。専用の形式「7zフォーマット」に対応するほか、各種の圧縮・解凍形式をサポートしています。

強力な「256AES 暗号化機能」、自己解凍形式、ファイルの分割・結合、テストの実施、お気に入り機能などをサポートしています。

・圧縮      : 7z, zip, gzip, bzip2, tar
・解凍      : 7z, zip, gzip, bzip2, tar, rar, cab, iso, arj, lzh, chm, z 他
・対応OS     : Windows 7/Vista/XP/2008/2003/2000/NT/ME/98で動作します。
         (注)私のパソコンではWindows8でも使えています。

・ダウンロード : 圧縮・解凍ソフト 7-Zip
          http://sevenzip.sourceforge.jp/


7-zipのダウンロードは、32ビット版と64ビット版が用意されているので、環境に合わせてダウンロードしましょう。ちなみに、「32ビットか64ビットか?」は、OSの違いで判断します。

スタートメニューの「プログラム」に「7-Zip File Manager」の項目が追加されますので、これを実行します。または、7zFM(7zFM.exe)をダブルクリックして起動します。

7-Zipは”2画面分割”で使うと操作が便利になります。

なお、USBでも使えるポータブルタイプの「7-Zip Portable」もあります。

 7-Zip Portable | PortableApps.com
 http://portableapps.com/apps/utilities/7-zip_portable


≪補足≫ 7-Zipで圧縮形式ZIPにパスワードを付ける方法

下記を参考にして下さい。

 ZIPにパスワードを付ける方法
 http://sevenzip.sourceforge.jp/howto/zip-password.html

7-Zipでは2種類の暗号化方式が利用できますが、暗号強度の強い「(2)のAES-256」を選択ください。

ただし、解凍する側にもAES-256に対応したツールが必要です。Vista以前のWindows標準のZIP解凍機能や古いツールではAESに対応できていませんので注意ください。

なお、ZIPファイルの暗号化ではファイル名は暗号化されないので、ZIPファイルの暗号化を行う際は、ファイル名に重要な情報が入らないように留意しておく必要があります。



■ 《補足》独自の方法で暗号化する定番ソフト紹介


なお、暗号化圧縮形式Zip以外に、独自の方法で暗号化でき、暗号化の強度も高く、昔から評判の良い2つのソフトを紹介します。いずれも、Windows7・Windows8で動作可能です。


■超カンタン・超強力なファイル暗号化ツール 「ED」

 EDのダウンロード : Vector
 http://www.vector.co.jp/soft/dl/win95/util/se119287.html


ED(イーディー)は強力な暗号化アルゴリズムと、使い勝手が良いWindows用フリーウェアファイル暗号化ツールです。簡単な操作で、ファイルやフォルダーを自在に暗号化することができます。

なお、USBメモリまたはUSB接続ポータブルHDDに保存して活用することもできます。EDは、鍵長最大256ビット暗号アルゴリズムをベースにした、解読不可能レベルの暗号化も可能である強力な暗号強度を保っています。

使い方は簡単で、暗号化する場合は、暗号化したいファイルやフォルダを選択後、それを「E」ボタン上にドロップし、パスワードを入力するだけです。

復号する場合は、ファイルやフォルダを選択した後、それを「D」ボタン上にドロップし、パスワードを入力します。


■暗号化で長年人気のあるソフト 「アタッシェケース」

 アタッシェケース - 窓の杜ライブラリ
 http://www.forest.impress.co.jp/library/software/atasshecase/


「アタッシェケース」は10年以上も開発が続く人気ソフトです。最大の特長は、デザインと操作性がシンプルでありながら、解読が困難な256ビットのAES暗号を採用するなど、高度な機能が備わっている点です。

ファイルの関連付けを利用すれば復号の操作が簡単になるほか、「アタッシェケース」をインストールしていない環境のために、暗号化したファイルを自己復号型のEXE形式で出力できます。




■ 共通鍵暗号方式、公開鍵暗号方式


暗号化方式には大きく分けて2つあり、ひとつは共通鍵暗号方式、もうひとつは公開鍵暗号方式です。

共通鍵暗号方式は、いわゆる「鍵」のイメージそのもので、暗号化と復号化に同じ鍵を使います。そのため、お互いに同じ鍵(共通の鍵)を持っている必要があります。なお、この鍵は秘密にしなければならないので、秘密鍵方式とも呼ばれています。

一方公開鍵方式は、暗号用と復号用に別の鍵が必要で常にペアで使う必要があります。一つは秘密鍵として自分だけの秘密にします。もう一つは公開鍵といって、一般に公開してしまいます。

AさんからBさんに暗号文を送る場合は、Bさんの公開鍵を使って送りたい文章(平文)を暗号化します。

復号するのに必要なのは、暗号化に使った公開鍵とペアになる秘密鍵で、受け取ったBさんは、Bさんの秘密鍵で復号することで、もとの文章(平文)を見ることができます。



■ 暗号化方式

昔から代表的な暗号方式を以下に紹介します。なお、最近は、高度な暗号化方式がありますが、ここでは省略します。


(1) DES(Data Encryption Standard)方式  *共通鍵暗号方式

1977 年にアメリカ商務省標準局(現在のNIST)が1977年に公布した「データ暗号化規格」。IBM社が開発した共通鍵暗号の一方式で、米国の銀行、商用 UNIXのパスワードなどに使われてきました。最近の技術では解読が容易になり、DESに代わるものとして、トリプルDES等が考案されています。


(2) AES(Advanced Encryption Standard)方式 *共通鍵暗号方式

DES に代わる次世代の暗号標準として、AES候補となる暗号方式を全世界から公募し、 2000年10月に「Rijndael」という方式が選ばれました。米国政府の次世代標準暗号化方式(AES)Rijndaelは、暗号強度と速度の双方 に優れた暗号化アルゴリズムとして高く評価されています。


(3) RSA(Rivest-Shamir-Adleman)方式  *公開鍵暗号方式
 Ronald Rivest氏、Adi Shamir氏、Leonard Adleman氏の3人が1978年に開発し、開発者の名前をとって名付けられました。公開鍵暗号の標準として広く普及しています。