ファイルの暗号化
コンピュータ上で個人情報や機密性の高い情報を扱う場合,不正なアクセスから情報を守る必要があります.パスワード等による PC の利用者管理の他に,OS のファイル管理機能を用いてファイルやフォルダに対するアクセス権を設定し,重要なファイルにアクセスできるユーザーを制限することはできます. しかし,アクセス管理機能でアクセス制限を加えても,データを記録したハードディスク (あるいは PC 自体) が物理的に盗まれ,ディスク解析ツールなどで情報が読み出されるようなケースには対応できません.また,データを取り出して通信回線等を介して他の場所に転送する場合にも,盗まれる危険性はあります.
このような場合,情報 (ファイル) を暗号化して保存や転送することが効果的な対策になります.
ファイルのセキュリティ対策
コンピュータ上でファイルを扱う場合の情報セキュリティに対する要件には,以下があります.
- 機密性
他人に情報が不正に漏れることを防ぐこと.
- 完全性
データの改ざんや破壊を見逃さず,データの正確性を保証すること.
これらを実現するためのファイルに対するセキュリティ対策として暗号技術があります.
- 暗号化
ファイルを暗号化して格納,保存することです. ファイルを暗号化することにより,たとえ盗まれたりコピーされたとしても情報の読み取りを困難にできます (情報の秘匿化).
- メッセージ認証
ファイル転送時などにファイルに対するメッセージ認証子 (MAC) を付加し,ファイル情報が変化していないことを検証できます.MAC の生成には,暗号化関数やハッシュ関数が使われます.
また,ファイルのダウンロードサイトなどでは,ファイルに対するフィンガープリント(指紋)をハッシュ関数で生成し公開することが行われています.ファイルをダウンロードした後に,ハッシュ値を計算し公開されている値を同じになることを確認してダウンロード情報が正しいことを検証できます.
- ディジタル署名
電話における声,手紙における署名のように「ディジタル署名(電子署名)」と呼ばれる本人が書いた文書であることを保証する暗号技術が利用できます. ディジタル署名では,差出人を偽る「なりすまし」対策ができます.また,情報が改ざんされていないことを検証できます.
Windows の暗号化機能
- EFS
暗号化ファイル システム EFS (Encrypted File System)は,情報をディスク上に暗号化された形式で格納するための Windows の機能です.EFS の使い方は暗号化したいファイルやフォルダーのプロパティで暗号化の設定をオンにします.暗号化すると文字色が変わるので容易に識別できます.
EFS では,暗号化を行った当人のアカウントでログオンすれば,復号を意識せずに暗号化されたファイルやフォルダをシームレスに使えます(パスワードは要求されない).他のアカウントでログオンすると,暗号化した項目にはアクセスできず,移動やコピーも不可となります.ディスクを取り外してほかのパソコンに接続した場合も同様です.
EFS でデータの暗号化に利用する共通鍵は,FEK(File Encryption Key)と呼ばれ,ユーザがファイルを暗号化する際に自動的に生成されます.この FEK は,暗号化したファイルのヘッダ部分に特定の領域を設け,そこに公開鍵暗号方式で暗号化して格納されます.
- BitLocker
Windows(Vista以降) に搭載されているディスク(ドライブ)全体を暗号化するセキュリティ機能です. コントロールパネルより,「BitLocker ドライブ暗号化」を有効にして利用します.このとき, スタートアップ時にドライブのロックを解除する方法を以下から選択できます.
また,BitLockerパスワードを忘れた場合や PC のトラブルによりドライブの暗号化を解除できなくなった場合に使用する回復キーを保存します.
BitLocker が使用されているドライブに新しいファイルを追加すると,ファイルは自動的に暗号化されます.ただし,これらのファイルを別のドライブまたは異なる PC にコピーした場合は,ファイルは自動的に暗号化が解除されます.
なお,暗号化されたディスクは,一般的に数%の性能低下が見込まれます.
ファイル暗号化
- ZIP 暗号化
ZIP 形式は,複数のファイルを一つのファイルとしてまとめて取り扱うアーカイブフォーマットであり,1つ以上のファイルが格納されています.圧縮はオプションであり,圧縮が行われる場合はファイル単位に圧縮されます.ZIP 形式には,ファイルを1つにまとめて圧縮するだけでなく,パスワードを付けて内容を保護する暗号化機能があります.パスワード文字列を指定して暗号化/復号(解凍)でき,ファイルシステムも選びません.
現在の Windows OSでは ZIP形式は標準ファイル形式としてエクスプローラなどでもサポートされてますが(解凍機能のみ),暗号化 ZIPファイルを作成するには対応したアーカイバーを別途インストールする必要があります.
ZIP の暗号化では,以下の注意が必要です.
- 安全性を求めるならば,最低でも10文字,可能なら15文字程度以上のパスワードを付けることが望ましい.パスワードの全数探索を行うツールが存在します.
- ファイル名も含めて暗号化したい場合は,ファイル名も暗号化可能な 7z形式のファイルとして暗号化します.7-Zip の場合は「7z」というアーカイブ形式で(ファイル名の暗号化を有効にして)暗号化すれば,ファイル名を秘匿できます(Windows の標準機能では展開できなくなります). ZIP形式のまま秘匿したければ,無意味なファイル名に変えてから暗号化したり,作成した ZIPファイルを新たな 別の ZIPファイルに入れ(ネストさせる),外側の ZIPファイルを暗号化します.
- パスワード暗号
ファイルを暗号化するソフトウェアは,フリーソフトも含めて多数存在します.多くのソフトは,パスワードを鍵としてファイルを暗号化するものです.共通鍵暗号 (AES 暗号など) 用の鍵の生成方法により,次のような方式があります.
- パスワードからあるアルゴリズム(鍵導出関数)で鍵を生成し,生成した鍵でファイルを暗号化する.復号時も同じアルゴリズムでパスワードから鍵を生成する.
- 乱数で共通鍵暗号用の鍵を生成し暗号化する.生成した鍵はファイルとして別途保持する. 復号時は保管してある鍵を指定する.鍵ファイルは必要に応じてパスワードで保護する.
ファイル暗号化ソフトの選択に当たっては,次のような点に注意が必要です.
- 暗号アルゴリズム(AES 256ビット強度の暗号がサポートされていること)
- 暗号化ファイルは他ソフトでも復号可能か(独自のファイル構造を持つか否か)
- 暗号化対象は何か (ファイル,ディレクトリなど)
- 操作性 (パスワード忘却対策の有無など),処理性能,動作環境
- 信頼性 (正しく暗号アルゴリズムが実装されていることを検証する)
オンラインストレージの暗号化
GoogleDrive や OneDrive など複数のコンピュータとの間でファイルの共有を可能とするオンラインストレージサービスの場合,格納されるファイルのセキュリティは基本的にはオンラインストレージサービスの機能に依存します.例えデータが暗号化されて格納されていたとしても暗号化の機能をサービス提供側に一任しているため,セキュリティ上の不安は残ります(サービスの提供側では復号して中身を見ることは可能). また,オンラインストレージサービスのユーザIDとパスワードが漏洩した場合には暗号化されていても情報は漏洩します.
ファイル暗号化ソフトを使ってファイルを暗号化してから格納すれば,オンラインストレージサービスのパスワードと暗号化ソフトのパスワードで2重の防御ができますが,毎回暗号化や復号が必要になり操作性が悪くなります.この場合,フォルダ暗号化ツールやサービスなどを使って設定した暗号化フォルダをオンラインストレージと同期するフォルダに設定すれば操作は自動化できます.