IBM 4758暗号モジュール | |
| プロセスタイプ | 暗号化 |
|---|---|
| 産業部門 | コンピューティング |
| 主な技術またはサブプロセス | 暗号ハッシュ関数、暗号化 |
ハードウェアベースの暗号化は、データ暗号化のプロセスにおいて、コンピュータハードウェアを使用してソフトウェアを補助したり、場合によってはソフトウェアを置き換えたりすることです。通常、これはプロセッサの命令セットの一部として実装されます。たとえば、AES暗号化アルゴリズム(最新の暗号)は、広く普及しているx86アーキテクチャのAES命令セットを使用して実装できます。[1]このような命令はARMアーキテクチャにも存在します。[2]ただし、暗号化モジュールが中央プロセッサから分離され、代わりにコプロセッサ、特にセキュア暗号プロセッサまたは暗号化アクセラレータとして実装されている、より珍しいシステムも存在します。その一例がIBM 4758またはその後継機であるIBM 4764です。[3]ハードウェア実装は、従来のソフトウェア実装よりも高速で悪用されにくく、さらに改ざんから保護できます。[4]
歴史
コンピュータハードウェアが使用される前は、暗号化はさまざまな機械的または電気機械的手段で実行できました。初期の例としては、スパルタ人が使用したスキュタレーがあります。[5]エニグマ暗号機は、第二次世界大戦でドイツ軍が使用した電気機械式暗号機でした。[要出典]第二次世界大戦後、純粋に電子的なシステムが開発されました。1987年にABYSS(A Basic Yorktown Security System)プロジェクトが開始されました。[6] [7]このプロジェクトの目的は、ソフトウェアの著作権侵害から保護することでした。しかし、一般的な暗号化へのコンピュータの応用は、1940年代のブレッチリー・パークにまで遡ります。ブレッチリー・パークでは、第二次世界大戦中にドイツ軍最高司令部が使用した暗号を解読するためにコロッサス・コンピュータが使用されました。ただし、暗号化へのコンピュータの使用はもっと後のことです。特に、1960年に最初の集積回路が開発されるまで、コンピュータは暗号化には実用的ではありませんでした。なぜなら、エニグマ暗号機のポータブルなフォームファクタと比較すると、[8]当時のコンピュータは建物全体を占めていたからです。マイクロコンピュータが開発されて初めて、ニッチな用途以外ではコンピュータ暗号化が可能になりました。ワールドワイドウェブの開発により、オンラインショッピングが普及するにつれて、消費者が暗号化にアクセスする必要性が生まれました。 [9]消費者の主な懸念は、セキュリティと速度でした。[9]これにより、速度とセキュリティの両方を向上させる方法として、最終的に主要なアルゴリズムがプロセッサに組み込まれました。[4]
実装
命令セットでは
86 の
x86アーキテクチャは、CISC(複雑命令セットコンピュータ)アーキテクチャとして、通常、複雑なアルゴリズムをハードウェアで実装します。 [ 10 ]暗号化アルゴリズムも例外ではありません。x86アーキテクチャは、AES(Advanced Encryption Standard)アルゴリズムの重要なコンポーネントを実装しており、[1] NSAはこれを極秘情報に使用できます。[11]このアーキテクチャには、Intel SHA拡張機能を介したSHAハッシュアルゴリズムのサポートも含まれています。[1] AESは文書の暗号化に役立つ暗号ですが、ハッシュはパスワードなどの検証に使用されます(PBKDF2を参照)。
アーム
ARMプロセッサはオプションでセキュリティ拡張機能をサポートできます。ARMはRISC(縮小命令セットコンピュータ)アーキテクチャですが、 ARMホールディングスによって指定されたオプションの拡張機能がいくつかあります。[2] [12]
コプロセッサとして
- IBM 4758 – IBM 4764の前身。[13]これには専用のプロセッサ、メモリ、乱数ジェネレータが含まれています。[14]
- IBM 4764とIBM 4765は、使用される接続を除いて同一です。[13]前者はPCI-Xを使用し、後者はPCI-eを使用します。[3]どちらもマザーボードに接続する周辺機器です。
増殖
Advanced Micro Devices (AMD) プロセッサも x86 デバイスであり、2011 年のBulldozerプロセッサのイテレーション以降、 AES 命令をサポートしています。 [15] Intelと AMD の両社が提供する最新のプロセッサには暗号化命令が存在するため、ほとんどの最新のコンピュータにこの命令が搭載されています。 [16] また、 ARM プロセッサに実装されているため、多くのタブレットやスマートフォンにも搭載されています。[ 16]
利点
ハードウェアに暗号化を実装するということは、プロセッサの一部がそのタスク専用になることを意味します。これにより、速度が大幅に向上します。[4]特に、パイプラインをサポートする最新のプロセッサアーキテクチャでは、暗号化命令の実行と同時に他の命令を実行できることがよくあります。さらに、ハードウェアにはソフトウェアからデータを保護する方法があります。その結果、オペレーティングシステムが侵害された場合でも、データは安全である可能性があります(ソフトウェアガード拡張機能を参照)。[17]
デメリット
しかし、ハードウェア実装が侵害されると、大きな問題が生じます。悪意のあるソフトウェアは、(おそらく)安全なハードウェアからデータを取得できます。使用される主な方法は、タイミング攻撃です。[18]これは、オペレーティングシステム内であっても、ソフトウェアのバグよりもはるかに解決が困難です。Microsoftは、Windows Updateを通じて定期的にセキュリティ問題に対処しています。同様に、Mac OS XとLinux 、 iOS、Android、Windows Phoneなどのモバイルオペレーティングシステム向けにも定期的なセキュリティ更新プログラムがリリースされています。ただし、ハードウェアは別の問題です。プロセッサのマイクロコード(低レベルのソフトウェア)を更新することで問題を解決できる場合があります。ただし、他の問題は、ハードウェアを交換するか、 Spectreエクスプロイトのように、ハードウェア実装のパフォーマンス上の利点を軽減するオペレーティングシステムの回避策によってのみ解決できる場合があります。[19]
参照
参考文献
- ^ abc Intel® 64 および IA-32 アーキテクチャ ソフトウェア開発者マニュアル(PDF)。Intel。2017 年 12 月。pp. 303–309、410。
- ^ ab ARM® Cortex®-A57 MPCore プロセッサ暗号化拡張機能(PDF)。ARM Holdings。2017 年 12 月 17 日。2016年 12 月 13 日時点のオリジナルよりアーカイブ(PDF) 。
- ^ ab "4764 暗号化コプロセッサ". IBM. 2018年1月21日時点のオリジナルよりアーカイブ。2018年1月20日閲覧。
- ^ abc P. Schmid および A. Roos (2010)。「AES-NI パフォーマンス分析」。Tom's Hardware。2018年1 月 20 日閲覧。
- ^ ケリー、トーマス(1998年7月)。「スカイテールの神話」。暗号学。22(3):244–260。doi : 10.1080 /0161-119891886902。
- ^ 「ABYSS: ソフトウェア保護のための信頼できるアーキテクチャ」(PDF) 。 2018年1月21日時点のオリジナルよりアーカイブ(PDF) 。2018年1月20日閲覧。
- ^ 「IBM 4758 セキュア コプロセッサの構築」(PDF)。IBM 。2017年 8 月 8 日時点のオリジナルよりアーカイブ(PDF) 。2018 年1 月 20 日閲覧。
- ^ 「エニグマE事件」(PDF)。暗号博物館。2016年11月5日時点のオリジナルよりアーカイブ(PDF) 。 2018年1月20日閲覧。
- ^ ab 「消費者とオンラインショッピングへの期待 – Ecommerce News」。2015年2月20日。2016年9月30日時点のオリジナルよりアーカイブ。2016年8月29日閲覧。
- ^ 「x86-64 命令セット」(PDF)。オックスフォード大学。2017 年 4 月 18 日。p. 1 。2018 年1 月 24 日閲覧。
- ^ Lynn Hathaway (2003 年 6 月)。「国家安全保障システムと国家安全保障情報の保護のための高度暗号化標準 (AES) の使用に関する国家政策」(PDF)。2010 年 11 月 6 日時点のオリジナルからアーカイブ(PDF) 。2011年2 月 15 日閲覧。
- ^ 「暗号化ハードウェアアクセラレータ」。OpenWRT.org。2016年5月17日。2018年1月21日時点のオリジナルよりアーカイブ。2018年1月25日閲覧。
- ^ ab 「IBM 4765 暗号化コプロセッサー セキュリティ モジュール」(PDF)。米国国立標準技術研究所。2012 年 12 月 10 日。2018年 1 月 25 日時点のオリジナルよりアーカイブ(PDF) 。2018年1 月 20 日閲覧。
- ^ 「IBM 4758 モデル 2 および 23 PCI 暗号化コプロセッサ」(PDF)。IBM 。2004 年 5 月。2018 年1 月 24日閲覧。[永久リンク切れ ]
- ^ Brent Hollingsworth ( AMD ) (2012年10月). 「新しい「ブルドーザー」と「パイルドライバー」の指示」(PDF)。アレシボ天文台。2018年2月9日時点のオリジナルよりアーカイブ(PDF) 。 2018年1月25日閲覧。
- ^ ab Shay Gueron (ハイファ大学& Intel ) および Nicky Mouha (ルーヴェン・カトリック大学& NIST ) (2016 年 11 月 9 日). 「Simpira v2: A Family of Efficient Permutations Using the AES Round Function」(PDF)。2017 年 7 月 16 日時点のオリジナルよりアーカイブ(PDF) 。2018 年1 月 25 日閲覧。
- ^ 「Intel SGX for Dummies (Intel SGX Design Objectives)」。intel.com。2013年9月26日。2014年4月29日時点のオリジナルよりアーカイブ。
- ^ 「BearSSL – Constant-Time Crypto」www.bearssl.org。2017年1月11日時点のオリジナルよりアーカイブ。2017年1月10日閲覧。
- ^ Hachman, Mark (2018年1月9日). 「Microsoftのテストで、Spectreパッチが古いPCのパフォーマンスを低下させることがわかった」PC World。2018年2月9日時点のオリジナルよりアーカイブ。 2018年1月9日閲覧。
