Office は AES 256 サポート

投稿者: | 2018年8月10日

先日記事にしたパスワードマネージャの弱点を克服するで、Zip暗号化ファイルと Android暗号化対応アプリを検討しましたが、今ひとつしっくりきません。
PC・Android・Chromebook を行き来して使用する前提で選定すると、Zip も Androidアプリも汎用性に欠ける印象です。

色々考えていたら、Office にたどり着きました。
特に LibreOffice は無償なので都合が良く、且つクロスプラットフォームです。

PC版の最新バージョンでは Microsoft Office, LibreOffice ともに AES 鍵長256ビットに対応しています。

base on AES暗号 | セキュリティ用語辞典 | IT用語辞典 | 日立ソリューションズ

AES暗号とは、アメリカ合衆国で先進的な暗号規格 (Advanced Encryption Standard) として新たに規格化された共通鍵暗号方式による暗号である。

なお、AESはSPN構造のブロック暗号であり、ブロック長は128ビット、鍵長は128ビット・192ビット・256ビットの3つが利用できる。

有償の MS-Office が最新の 2016 でないと標準サポートが鍵長 128ビットであるのに対して、LibreOffice は2012年リリースのバージョン 3.5 以降で 鍵長 256ビットを採用しています。
※LibreOffice の最新バージョンは LibreOffice 6.0.6、Ubuntu 16.04.4 LTS のバージョンでも 5.1.6.2 のため、敷居はかなり低いでしょう。

結論

確認した結果、LibreOffice の AES 暗号化ファイルは Androidアプリでは開けませんでした。
MS-Office はバージョン 2010 のみの確認(AES 128)ですが、Androidアプリでも開けることを確認しました。
この様子だと Office 2016 では AES 256 に対応してそうです。

MS-Office の対応状況

ファイル形式に Open XML (.docx, .xlsx, pptx …)を採用した Office 2007 以降、標準で AES に対応しています。
ファイル保存時にパスワードを設定すると自動的に AES で暗号化されます。

AES 128

Office 2007 – 2013 は、AES 鍵長128ビットを標準採用しています。

Office 2007

base on 2007 Microsoft Office System Document Encryption

The encryption information block is the same as in previous versions of Office, but the Microsoft 2007 Office system uses the Advanced Encryption Standard (AES) encryption, which is the strongest industry-standard algorithm available and was selected by the National Security Agency (NSA) to be used as the standard for the U.S. Government, AES has a default 128-bit key (which can be increased to 256-bit via the Windows Registry) and uses SHA-1 hashing.

暗号化情報ブロックは以前のバージョンのOfficeと同じですが、Microsoft 2007 Officeシステムでは業界標準のアルゴリズムとしては最強のAES(Advanced Encryption Standard)暗号を使用しており、NSA(National Security Agency)米国政府の標準として使用するために、AESにはデフォルトの128ビット鍵(Windowsレジストリで256ビットに増やすことができます)があり、SHA-1ハッシングを使用します。

Office 2013

base on Office 2013 の暗号化技術と暗号化設定の計画 | Microsoft Docs

Office 2013 には暗号化の実行方法を変更する設定もありますが、Open XML 形式ファイル (.docx, .xslx, .pptx など) を暗号化するのであれば、既定値、すなわち AES (高度暗号化標準)、キー長 128 ビット、SHA1、CBC (暗号ブロック チェーン) でも大部分の組織にとって申し分のない強力な暗号化が実現します。

AES 256

AES 鍵長256ビットは、Office 2016 でデフォルトになっています。
※AES 鍵長256ビットの読み取りは Office 2007 SP2 以降でサポート。

base on Office 2016 の暗号化技術と暗号化 | Microsoft Docs

Office 2016 の暗号化技術と暗号化について
2007 Office system SP2、Office 2010、Office 2013、Office 2016 では、次の CNG ハッシュ アルゴリズム、またはシステムにインストールされている他の CNG 暗号拡張機能を使用できます。

  • MD2、MD4、MD5、RIPEMD-128、RIPEMD-160、SHA-1、SHA256、SHA384、SHA512

Office 2016 には暗号化の実行方法を変更する設定もありますが、Open XML 形式ファイル (.docx, .xslx, .pptx など) を暗号化するのであれば、既定値、すなわち AES (高度暗号化標準)、キー長 256 ビット、SHA1、CBC (暗号ブロック チェーン) でも大部分の組織にとって申し分のない強力な暗号化が実現します。
暗号化技術と暗号化設定
次の表に、Office 2016 の使用時に暗号化アルゴリズムの変更に使用できる設定を示します。これらの設定は、Access 2016、Excel 2016、OneNote 2016、PowerPoint 2016、Project 2016、Word 2016 に適用されます。

設定 説明
CNG暗号アルゴリズムを設定する 使用する CNG 暗号アルゴリズムを構成できます。既定の設定は AES です。
CNG 暗号キーの長さを設定する 暗号キーの作成に使用するビット数を構成できます。既定の設定は 256 ビットです。

Open XML形式のファイルとして保存され Office 2016を使用して暗号化されたドキュメントは、Office 2016、Office 2007 SP2、および Office 2007 SP2互換パックを使用しているOffice 2003でのみ読み取ることができます。
以前のバージョンの Office との互換性
CompatMode を 0 に設定すると、Office 2016 を使用して Open XML 形式ファイルを暗号化するときに、Office 2016 は、既定で提供される強化されたセキュリティの代わりに Office 2007 互換の暗号化形式を使用することに注意してください。

Word 2010 はOK

Word 2010 の暗号化ファイルが開けることを確認しました。

確認環境 バージョン
デバイス Android 4.4.2 / A1-810
Word 16.0.10325.20043

Excel は Chromebook CB3-431-C5FM では「Your device isn’t compatible with this version.」となり導入できなかったので、Word で確認しています。
また、手持ちは Office 2010 のみのため、バージョン 2016(AES 256)での確認はできませんでした。

LibreOffice の対応状況

LibreOffice 3.5 以降、AES 鍵長256ビットがデフォルトです。
ファイル形式に ODF 1.2 (.odt, .ods, odp …)を指定してパスワードを設定・ファイル保存すると、自動的に AES で暗号化されます。

base on LibreOffice 3.5: Release Notes – The Document Foundation Wiki
last edited 07:20:02, 2018-05-09
In LibreOffice 3.5, a different and more secure encryption algorithm (AES-256) is used for password protected files in the ODF 1.2 and ODF 1.2 Extended file formats. The new cipher is activated by default. Blowfish encryption in ODF 1.2 files is considered deprecated

  • LibreOffice versions up to 3.4.4 don’t support the AES-256 cipher.
  • LibreOffice 3.4.5 can read ODF files encrypted with the AES-256 cipher, but on writing a password protected file will fall-back to the Blowfish cipher.
  • LibreOffice 3.5.0 can read and write ODF files encrypted with the AES-256 (and Blowfish) cipher. For files in the ODF 1.2 and ODF 1.2 Extended formats, AES-256 is the default cipher. New as well as existing password encrypted documents in these formats are always encrypted with the AES-256 cipher on writing them to disk. There’s no UI to configure the cipher.

LibreOffice 3.5では、ODF 1.2およびODF 1.2拡張ファイル形式のパスワード保護されたファイルに対して、より安全性の高い異なる暗号化アルゴリズム(AES-256)が使用されています。新しい暗号はデフォルトで有効になっています。 ODF 1.2ファイルでのBlowfishの暗号化は推奨されなくなりました。

  • 3.4.4までのLibreOfficeバージョンは、AES-256暗号をサポートしていません。
  • LibreOffice 3.4.5は、AES-256暗号で暗号化されたODFファイルを読み取ることができますが、パスワード保護されたファイルを書くことでBlowfish暗号にフォールバックします。
  • LibreOffice 3.5.0は、AES-256(およびBlowfish)暗号で暗号化されたODFファイルを読み書きできます。 ODF 1.2およびODF 1.2拡張フォーマットのファイルの場合、AES-256がデフォルトの暗号です。これらの形式の新しいパスワードおよび既存のパスワード暗号化文書は、AES-256暗号で暗号化されてディスクに書き込まれます。暗号を設定するUIはありません。

Android 版 は AES 未対応

試したところ、Androidアプリの LibreOffice Viewer は、AES(パスワード付きファイル)には対応していませんでした。

確認環境 バージョン
デバイス Android 4.4.2 / A1-810
LibreOffice Viewer 6.1.0.0.alpha0+