Real AES

Encryptモジュール向けにDefuse PHP-Encryptionライブラリを使用した認証付きAES-256暗号化メソッドを提供するセキュリティモジュール。

real_aes
25,913 sites
20
drupal.org
api
Drupal 8 Drupal 9 Drupal 10 Drupal 11

インストール

Drupal 11, 10, 9, 8 v8.x-2.6
composer require 'drupal/real_aes:8.x-2.6'

概要

Real AESは、DrupalのEncryptモジュール用の暗号化メソッドプラグインを提供するモジュールです。このプラグインは、業界標準のAES-256暗号化をCBCモードで提供し、HMAC認証によるデータ整合性検証機能を備えています。

暗号化処理には、セキュリティ研究者Taylor HornbyとScott Arciszewskiによって開発・保守されているDefuse PHP-Encryptionライブラリを使用しています。このライブラリは、暗号化のベストプラクティスに従って設計されており、暗号化処理を正しく実装するための信頼性の高いソリューションです。

認証付き暗号化(Authenticated Encryption)により、暗号文のデータ整合性が保証されます。復号時にはまず整合性チェックが実行され、チェックが通過した場合にのみ復号処理が実行されます。これにより、CBCモードでのAESに対する特定の暗号文攻撃を防止できます。

Features

  • AES-256暗号化(CBCモード)による強力なデータ保護機能の提供
  • HMAC認証によるデータ整合性検証(認証付き暗号化)
  • Defuse PHP-Encryptionライブラリによる安全で信頼性の高い暗号化実装
  • 256ビット暗号化キーサイズの自動検証機能
  • Encryptモジュールとのシームレスな統合

Use Cases

個人情報の暗号化保存

ユーザーの氏名、住所、電話番号などの個人情報をデータベースに暗号化して保存します。Field EncryptモジュールとReal AESを組み合わせることで、特定のフィールドのデータを自動的に暗号化・復号できます。これにより、データベースが漏洩した場合でも個人情報が保護されます。

機密文書の保護

契約書、財務データ、医療記録などの機密文書を暗号化して保存します。Keyモジュールでファイルプロバイダーを使用し、暗号化キーをWebルート外の安全な場所に保存することで、セキュリティレベルを高めることができます。

Webフォームデータの暗号化

お問い合わせフォームやアンケートで収集したデータを暗号化保存します。Webform Encryptモジュールと組み合わせることで、フォーム送信データを自動的に暗号化し、データベースでの保存時のセキュリティを確保できます。

APIトークン・認証情報の保護

サードパーティサービスのAPIキーやアクセストークンを暗号化して保存します。Encryptモジュールのプログラマティックなインターフェースを使用して、設定に保存されたシークレット情報を暗号化できます。

GDPR/個人情報保護法への対応

GDPRやその他の個人情報保護法では、個人データの適切な技術的保護措置が求められます。Real AESによる強力な暗号化は、これらの規制要件への対応策の一つとして活用できます。

Tips

  • 本番環境では、キープロバイダーとして「Configuration」を使用しないでください。データベースにキーが保存されるため、セキュリティリスクがあります。代わりに「File」プロバイダーを使用し、キーファイルをWebルート外に保存してください。
  • 暗号化キーは必ずランダムに生成してください。推測可能なパスワードやフレーズをキーとして使用しないでください。
  • キーファイルのバックアップを安全な場所に保管してください。キーを失うと、暗号化されたデータを復号できなくなります。
  • キーファイルには適切なファイルパーミッションを設定し、Webサーバーのみがアクセスできるようにしてください(例: chmod 600)。
  • 暗号化を有効にする前に、必ずデータのバックアップを取ってください。暗号化処理中に問題が発生した場合に備えるためです。

Technical Details

Hooks 1
hook_requirements

Defuse PHP-Encryptionライブラリがインストールされているかをチェックし、ステータスレポートに表示します。

Troubleshooting 4
「Defuse PHP-Encryption library is not correctly installed」というエラーが表示される

Composerでモジュールをインストールしていない可能性があります。「composer require drupal/real_aes」を実行して、モジュールとその依存関係を正しくインストールしてください。

「Incorrect encryption key size. AES encryption requires a 256-bit key」というエラーが表示される

暗号化キーのサイズが256ビットではありません。Keyモジュールでキーを作成する際に、キーサイズとして「256」を選択してください。既存のキーを使用している場合は、256ビット(32バイト)のキーを再生成してください。

暗号化後のデータが復号できない

同じ暗号化キーが使用されていることを確認してください。キーが変更されたり、異なるキーを使用すると復号に失敗します。また、暗号化されたデータが途中で変更・破損していないことを確認してください。

ステータスレポートでReal AESに関する警告が表示される

ステータスレポート(/admin/reports/status)でDefuse PHP-Encryptionライブラリのインストール状態を確認してください。「Not Installed」と表示される場合は、Composerで依存関係を再インストールしてください。

Security Notes 4
  • Real AESはAES-256暗号化とHMAC認証を組み合わせた認証付き暗号化を提供します。これにより、暗号文の改ざんを検出できます。
  • 暗号化キーはモジュールのセキュリティの根幹です。キーの管理には十分な注意を払ってください。
  • このモジュールはDrupalのセキュリティカバレッジの対象です。セキュリティ脆弱性が発見された場合、Drupalセキュリティチームによって対応されます。
  • 暗号化はセキュリティの一層であり、これだけでは完全なセキュリティを保証しません。適切なアクセス制御、安全なサーバー設定、定期的なセキュリティ更新と組み合わせて使用してください。