“ノートPC使わない”以外の盗難防止策


第2回 データ保護のための手段、暗号処理を高速化せよ


竹井 淳
インテル株式会社
技術政策本部シニアリサーチャー
TCG日本支部共同代表

小池 浩之
インテル株式会社
技術本部 アプリケーションエンジニア
2010/10/22


 標準アルゴリズム、AES

 平文と暗号文を変換するアルゴリズムにはさまざまなものが存在するが、一般に暗号アルゴリズムは、使用する鍵のタイプによって、対称鍵暗号(共通鍵暗号)と公開鍵暗号の2つに分類できる。AES(Advanced Encryption Standard)は、DES(Data Encryption Standard)と同様、暗号と復号で同じ鍵を使用する対称鍵暗号である。

【関連記事】
セキュリティ用語事典「AES」
http://www.atmarkit.co.jp/aig/02security/aes.html

 DESは1977年、アメリカ合衆国連邦情報処理標準規格(FIPS)に採用された暗号アルゴリズムであり、世界中のさまざまな分野で広く採用されてきた。しかしながら、コンピュータ性能の向上に伴い、DESによる暗号文の解読が短時間で可能となってしまったため、新たな暗号アルゴリズムの必要性が高まった。

 そこで、アメリカ合衆国の標準化機関であるNIST(National Institute of Standards and Technology)は、新たな暗号方式の公募を行った。世界各国の企業および暗号技術者が多数の対称鍵暗号アルゴリズムを提案した中から、「Rijindael」という対称鍵暗号アルゴリズムがAES、すなわち新しい暗号標準として2000年に選定され、2001年3月に「FIPS #197」として公表されたのである。

【関連記事】
これだけは知っておきたいアルゴリズム〜共通鍵暗号編
http://www.atmarkit.co.jp/fsecurity/rensai/crypt03/crypt01.html

 Rijndaelは、ベルギーの暗号研究者であるJoan DaemenとVincent Rijmenが設計した暗号アルゴリズムだ。長さ128ビット(16バイト)の固定長ブロックごとに暗号および復号の処理を行うことから、ブロック暗号と呼ばれるアルゴリズムに属する。また、使用される暗号鍵の長さは128ビットから256ビットまでの間で32ビット単位で選択可能であり、鍵の長さに応じてAES-128、AES-192、AES-256と呼ばれる。

 ブロック暗号アルゴリズムは、ラウンド(round)処理と鍵拡大(key expansion)処理で構成され、ラウンド処理の回数は鍵長によって異なる。AES-128、AES-192、AES-256のラウンド処理の回数は、10回、12回、14回であり、それぞれ10個、12個、14個のラウンド鍵が各ラウンド処理で利用可能なように生成される。各ラウンド処理では、上記で生成されたそれぞれのラウンド鍵と入力データを基に変換処理を行い、次のラウンドにデータを渡していくのである。

 Rijndaelでは、1回のラウンドで入力データのすべてのデータを暗号化しているのだが、実際のRijndaelではこの処理を10回から14回繰り返す。鍵長が長くなりラウンド数が増加すればするほど暗号の強度も増していくが、ラウンド数の増加により必要な処理時間も増加するため、暗号化および復号化に要する時間も長くなってしまうのである。

 AESは暗号アルゴリズムとして堅牢で有効なものであると広く認められ、政府機関と産業界の双方に標準として受け入れられた。事実、対称鍵暗号を必要とする新しいプロトコルのほとんどがAESをサポートしている。また、もともとはほかの対称鍵暗号アルゴリズムで設計されていた既存のシステムの多くが、AESにコンバートされている。AESの普及と長い期間に渡って期待される重要性を考えると、AESのパフォーマンスとセキュリティ性の向上は、PCクライアントとサーバの両方において大きな意味を持つ。

 命令セットへの実装で高速化

 さて、先ほどインテルが、AESを実装したことに触れた。

 具体的に説明すると、インテルのAdvanced Encryption Standard New InstructionAES-NI)は、コードネーム「Westmere」と呼ばれる、32nm マイクロアーキテクチャ・ベースの2010年版インテルCoreプロセッサ・ファミリー以降で利用可能な、新しいインストラクション・セットである。この新しいインストラクション・セットは、AESを用いた高速かつセキュアな暗号化と復号化を実現する。

 AES-NIは、AESの暗号および復号をサポートする4つの命令(AESENC、AESENCLAST、AESDEC、AESDECLAST)と、鍵拡大をサポートする2つの命令(AESIMC、AESKEYGENASSIST)から構成されており、AESで規定されているすべての標準鍵長、標準オペレーションモードをカバーする。また、既存のソフトウェアだけの実装に比べて、非常に優れたパフォーマンスを実現する。

図2 インテルのAES-NIの処理

 もう1つ重要なポイントとして、パフォーマンスの向上に加え、セキュリティの向上も実現することが挙げられる。AES-NIの処理時間はデータに依存せず実行され、テーブルも使用しない。ソフトウェアベースのAES実装は、処理時間ベースやキャッシュベースの攻撃にさらされる可能性があるが、AES-NIはそれに対する耐性を提供する。

 さらに、AES-NIを使用することでAESの実装は単純化され、コードサイズも小さくすることができる。それによって検出の困難なサイドチャネル攻撃に対する耐タンパ性を高めることができている。

【関連イベント】
TCG日本支部(JRF) 第二回 公開ワークショップ
http://www.trustedcomputinggroup.org/jp/jrfworkshop

TCG日本支部では「安全なモバイルコンピューティングを実現―ディスク暗号化標準技術(TCG/OPAL)」をテーマにした公開ワークショップを開催します。ストレージセキュリティの仕様であるOPAL技術の概要・背景、実装・ソリューション例を紹介する予定です。詳細はリンク先をご確認ください。

Profile
竹井 淳(たけい じゅん)

インテル株式会社
技術政策本部シニアリサーチャー
TCG日本支部共同代表


1990年よりインターネットの運用、研究に従事。衛星回線をインターネットで活用するための研究、標準化などを担当したのち、約3年間ISP事業立ち上げのために事業会社へ出向。

2005年より現職にて技術政策や標準技術にかかわる業務に従事。通信技術からセキュリティ技術およびプライバシー保護など広範囲に日本および世界の技術政策をカバーする。

TCGにおいては、世界で最初となる地域支部の設立にかかわり、現在富士通研究所の小谷氏とともに共同代表を務める。

TCGの日本支部
は、世界最先端のIT環境である日本においてTCG技術の普及を助けるための非営利の団体として活動を続けている。

Profile
小池 浩之(こいけ ひろゆき)

インテル株式会社
技術本部 アプリケーションエンジニア


1987年より業務アプリケーション・システムの設計・開発に従事。10年間のSE経験を経て1996年にインテル入社。クライアント管理ソフトおよびネットワーク機器の営業技術を担当したのち、サーバ関連ソフトウェア技術者としてIPMI、InfiniBand、EFIなどの実装につき国内PCメーカーを支援。

2006年のインテルvProテクノロジー発表以降、現職にてPCメーカー、ソフトウェア・メーカー、システム・インテグレータ、企業IT部門に対する開発支援、技術情報の提供および布教活動に従事。企業におけるクライアントPC管理戦略についての情報発信を行う。

現在はPCの紛失・盗難対策のための要素技術であるインテル・アンチセフト・テクノロジーの実装・開発支援を担当し、同技術の普及活動に注力している。

2/2

Index
データ保護のための手段、暗号処理を高速化せよ
  Page1
ストレージのデータを保護する手段
OPALの登場
暗号処理高速化の必要性
Page2
標準アルゴリズム、AES
命令セットへの実装で高速化


“ノートPC使わない”以外の盗難防止策 連載インデックス


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間