Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# 暗号とセキュリティ

ディスク保護のためのベストな暗号化スキーム

この記事では、FPGA上でのディスク暗号化パフォーマンスのためにFASTとAEZを評価するよ。

Debrup Chakraborty, Sebati Ghosh, Cuauhtemoc Mancillas-Lopez, Palash Sarkar

― 1 分で読む


ファストとAEZ:ファストとAEZ:暗号化のチャンピオンマンスで優れてるよ。FASTとAEZはディスク暗号化パフォー
目次

ハードディスクに保存されているセンサティブな情報は、不正アクセスから守られなきゃいけない。そこで登場するのがディスク暗号化。正しい鍵が提供されない限り、データを読めない形式で保存することで、データを守ってくれるんだ。この目的のために使われる特定の方法が、Tweakable Enciphering Scheme (TES)として知られている。

過去20年、研究者たちはTESの開発に取り組んできて、すでに多くの成功例がField Programmable Gate Arrays (FPGAS)を使って実装されてる。これは様々なタスクを実行するようにプログラムできるハードウェアソリューションだ。この記事では、最近の有望なTESであるAEZとFASTに焦点をあてる。これらのスキームがXilinx Virtex 5やVirtex 7ファミリーのFPGA上でどう実装されているかを見て、IEEE標準スキームであるXCBとEME2とパフォーマンスを比較するよ。

目標は、どの暗号化スキームが最もパフォーマンスが良いかを突き止めること。FASTは他のスキームより優れているようで、将来のディスク製品に組み込むのに良い候補になりそうだ。

ディスク暗号化の必要性

コンピューターはハードディスクにセンサティブなデータを保持してる。このデータを不正アクセスや改ざんから守るために、信頼性のある暗号化方法が重要なんだ。効果的なディスク暗号化メカニズムは、データを暗号化された形式で保持しつつも、高レベルのアプリケーションがシームレスにやりとりできるようにするものだ。

暗号化アルゴリズムは、パフォーマンスに大きな遅延を引き起こさずに情報を守る必要がある。これらのアルゴリズムの効果は、ソフトウェアかハードウェアで実装されるかによって大きく変わる。ソフトウェアベースの暗号化は、プロセスがソフトウェア内で行われるためパフォーマンスを遅くする。一方で、低レベルのディスク暗号化は、ハードウェアを使ってディスクコントローラーのすぐ上に実装でき、高速なデータの読み書きを維持できる。

Tweakable Enciphering Schemesを理解する

ディスクはセクターと呼ばれるセクションに分けられていて、各セクターには通常4096バイトが保存されてる。データを安全に保つために、TESがこれらのセクターの暗号化と復号化に使われる。TESは、秘密鍵、ツイーク(セクターアドレスなど)、メッセージ(セクター内のデータ)の3要素を組み合わせたものだ。結果として得られるのは、元のメッセージと同じサイズの暗号文だ。

データを暗号化する際、アルゴリズムはこれら3要素を使って暗号文を生成し、復号化プロセスでは元のメッセージを得るためにステップを逆にする。重要なことに、秘密鍵を失うとディスク上のデータが読めなくなっちゃう。

歴史的に、HaleviやRogawayのような研究者たちがディスク暗号化に適した様々なTESを提案してきた。よく知られている方法にはCMC、EME、AEZなどがある。実装には通常、Advanced Encryption Standard (AES)が基盤となるブロック暗号として使われる。

TESの実装

暗号化と復号化の両方が必要なほとんどのTESは、両方のプロセスをサポートできるハードウェアソリューションが必要。これにより、必要なハードウェアの面積が増える。AESの場合、復号化モジュールはしばしば暗号化モジュールよりも長いクリティカルパスを持つ。しかし、AEZ、FAST、FMixのようなTESメソッドは、基盤のブロック暗号の暗号化機能のみを使うことができる。これにより、小型のハードウェアができ、クリティカルパスの長さも短くなる。

この作業の焦点は、FPGAを使ってFASTとAEZの効率的な実装を提供すること。スピードを最大化することを目指していて、たとえそれが大きめのFPGAを使うことを意味しても構わない。FASTとAEZは、並列処理に適しているから実装するのに魅力的なんだ。

FASTとAEZの詳細

FASTは、さまざまな機能に適応できるアルゴリズムのスイート。ディスク暗号化専用に特化した設計では、ビットツイークと固定長メッセージを使用する。アルゴリズムは、AESを基盤にした疑似乱数関数(PRF)の周りに構築されている。

FASTには、暗号化プロセスの重要な部分であるハッシュ関数が使われている。ハッシュ関数は、入力を受け取って固定サイズの文字列を生成し、それを暗号化に利用できる。FASTで使えるハッシュ関数の2つのタイプは、多項式評価とBernstein-Rabin-Winograd (BRW)メソッドに基づいている。

一方、AEZもAESを基にしていて、ディスク暗号化に焦点を当てている。短いメッセージの扱い方が長いメッセージとは異なる。ディスク暗号化のためには、特定のビット数以上の入力長が必要だ。データを安全に処理するために、暗号化レイヤーの組み合わせを使っている。

ハードウェア実装

FASTとAEZの両方のハードウェア実装は、高効率を維持することを目指している。実装には、性能能力で知られるXilinx VirtexファミリーのFPGAを利用している。

FASTのアーキテクチャは、カウンターモードの動作を採用し、AES暗号化機能の複数のコアを使って処理を高速化している。設計には、単一のAESコアを使用する実装と、二つのAESコアを使うものがある。AESコアのパイプライン化されたステージを使うことで、複数のデータブロックを同時に処理できる。

AEZの場合、並列で動作する二つのAESコアを使って計算を迅速化する。同様のアプローチを採用しているが、暗号化用のマスキング値を計算する必要があるため、アーキテクチャはより複雑になっている。これは、暗号化時にオンザフライで行うか、あらかじめ値を保存することで前計算することができる。

パフォーマンス比較

FASTとAEZの実装をIEEE標準のXCBやEME2と比較する際に、いくつかのパフォーマンス指標が重要になる。これには、使用されるハードウェアの面積、暗号化と復号化の速度、達成されたスループットなどが含まれる。

  • 面積: これはFPGAで使用されるスライスやロジックエレメントの数を指す。より複雑なアルゴリズムは、面積を多く要求する傾向がある。

  • スループット: この指標はデータ処理の速さを示し、通常はビット毎秒で測定される。ディスク暗号化では、高いスループットが常に望ましい。

パフォーマンス結果は、FAST用に構築されたアーキテクチャがAEZ、XCB、EME2と比較して最高のスループットを示すことを明らかにしている。FASTのバリエーションの中では、BRW多項式メソッドを利用したバージョンが、ホーナー法よりも乗算要件が少ないため優れたスループットを示した。

結論

結論として、FPGA上のFASTとAEZの実装は、従来のソフトウェアベースの暗号化アルゴリズムに対して大きな利点を示している。ハードウェア環境でデータを迅速かつ安全に処理する能力は、コンピューター上のセンサティブな情報を保護するために重要なんだ。

この研究から得られた結果は、効率的な暗号化方法を採用しようとしているディスクメーカーや標準化団体にとって貴重な洞察を提供する。FASTとAEZはディスク暗号化において将来の使用に期待が持てるが、FASTはその高いスループットとFPGAリソースの効果的な利用で特に際立っている。

著者たちからもっと読む

類似の記事

分散・並列・クラスターコンピューティングブロックチェーンとスマートコントラクトでIoTモニタリングを強化する

この研究は、ブロックチェーンがIoTサービスの監視をどう改善できるかを探ってるよ。

Adam Booth, Awatif Alqahtani, Ellis Solaiman

― 1 分で読む