ネットワークレベルでのファイル保護に役立つメカニズムは数多くあるものの、こういったファイルが改ざんされたり悪人の手に渡ったりしないようにするためには、複数のレベルでセキュリティ対策を講じるのが一番であることに変わりはない。Office 2007では暗号化や、書式と編集に対する制限、デジタル署名を始めとする複数のデータ保護機能が提供されている。今回は、こういった保護機能をいかに使いこなせばよいかについて詳しく説明したい。
現代のビジネス環境では、オフィス生産性向上ソフトウェアに対して電子メールの送受信やドキュメントの書式設定、表計算、スライド形式のプレゼンテーションの作成といった機能以上のものが期待されている。また、オフィスのドキュメントを人為的、または悪質なプログラムによる未承認アクセスから保護したり、それを共有する人々の誤用から防いだりするための方法も求められている。
現代のネットワークには、ファイル保護に役立つ数多くのセキュリティメカニズムが組み込まれている。ファイアウォールは、ファイルの格納されているネットワークに対する侵入者のアクセスを阻止するために用いられる。ウイルス対策プログラムはドキュメントや電子メールメッセージがウイルスやその他のマルウェアの影響を受けていないかどうかをチェックする。IPsecでデータを暗号化することで、ネットワーク内を流れるパケットが捕捉された場合でもそのレベルでは内容を盗み見られないようにしておくことができる。アクセスコントロールやファイルレベルでの許可、EFS(Encrypting File System)による暗号化を用いれば、組織内の未承認の人物がファイルにアクセスすることを防止できる。
とはいうものの、最善のセキュリティ戦略は複数のレイヤで対策を講じることであり、レイヤの数は多ければ多いほど望ましい。現代のOSにはネットワークレベルでの保護策やセキュリティメカニズムが組み込まれているとはいえ、アプリケーションにもさらなる保護策を組み込んでおくことは悪いことではない。Microsoft Office 2007には、MicrosoftのWordやExcel、PowerPointによって作成されたファイルの機密性と完全性の保持に役立つデータ保護機能が複数搭載されている。本稿では以下のことについて解説している。
- ドキュメントを暗号化し、パスワードで保護する方法
- ドキュメントの書式や編集を制限する方法
- デジタル署名を用いて、作成したドキュメントやメッセージが改ざんされないようにする方法
ドキュメントの暗号化とパスワードによる保護
Office 2003でもパスワードによる保護機能が提供されていたものの、その暗号化処理には弱点があったため、しばしば問題となっていた。Office 2003ではストリーム暗号であるRC4をキー長128ビットで使用していたが、暗号化された既存のドキュメントを編集し、再度暗号化する際に初期ベクトル(IV)が使い回されるようになっていたため、同一のキーストリームが使用されていたのだ。このことは、パスワードによって保護されているファイルの2つの異なるバージョンを比較することによって、パスワードのクラックが可能となることを意味している。ハッキングのスキルがない?大丈夫。「パスワードリカバリツール」と銘打って販売されている複数のソフトウェアでは、Office 2003のパスワードを破ることが可能になっている。
Office 2007ではキー長128ビットのAES(Advanced Encryption Standard)と、SHA-1ハッシュを使用している。セキュリティをさらに強化したい場合、レジストリを編集するかGroup Policyを使用すればキー長を256ビットに増やすことができる。これにより、パスワードで保護されているファイルのセキュリティを強化することができる。これは、長く複雑なパスワードが使用される場合に特に効果的だ。
Officeの旧バージョンとの互換性
暗号化されたファイルを、まだOfficeの旧バージョンを使用しているユーザーと共有する必要がある場合にはどうなるのだろうか?Office XPやOffice 2003を使用しているユーザーは、以下の条件を満たしていれば、Office 2007で暗号化されたファイルをオープンし、読むことができる。
- AESをサポートしているOS(Windows XP SP2かWindows Server 2003、もしくはWindows Vista)を使用しており、かつ、
- 「Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats」(Microsoftのウェブサイトからダウンロード可能)をインストールしている