HSM超入門講座

10,112 views

Published on

2010年11月18日に行ったHSMセミナー用の資料です。「HSMとは」からはじまり、「HSMの機能」、「HSM導入の利点」を整理し、最後に、情報システムにおける「HSMの利用パターン」4パターンをまとめました。

Published in: Technology

HSM超入門講座

  1. 1. HSM超入門講座HSM超入門講座 2010‐11‐18 サリオンシステムズリサーチ ソフトウェア開発部 中村浩士
  2. 2. HSM超入門講座HSM超入門講座 HSMとは HSMの機能 HSM導入の利点HSM導入の利点 HSMの利用パターン Copyright © 2010 Sarion Systems Research.  All rights reserved.2
  3. 3. HSMとは何か? 暗号用の鍵を入れる金庫 HSMとは何か? 暗号用の鍵を入れる金庫 Hardware SecuritySecurity Module 3 Copyright © 2010 Sarion Systems Research.  All rights reserved. http://www.flickr.com/photos/danielsphotography/466435567/
  4. 4. 暗号用の鍵?暗号用の鍵? 暗号処理が必要なところ、どこにでもある暗号処理が必要なところ、どこにでもある アルゴリズムは公知 : 鍵が肝 デ タベ ス/ファイル保護データベース/ファイル保護 SSL通信 セキュアメール ソフトウェア配布 ネットワークのアクセス管理 DNSDNS 認証局 DRMDRM Copyright © 2010 Sarion Systems Research.  All rights reserved.4 http://www.flickr.com/photos/neospire/3594831633/ http://www.neospire.net/
  5. 5. 通常のアプリケーション 鍵をファイルに保管、メモリー中に展開して利用 通常のアプリケ ション 鍵をファイルに保管、メモリ 中に展開して利用 OSによるアクセス管理 サーバー アプリケ ションアプリケーション 暗号演算 鍵対象デ タ 鍵対象データ Copyright © 2010 Sarion Systems Research.  All rights reserved.5
  6. 6. サーバーに鍵を置くとサ バ に鍵を置くと… OS、ミドルウェア、アプリケーションのどこかにOS、ミドルウ ア、アプリケ ションのどこかに セキュリティーホール/設定ミスがあるかも… メモリ ダンプを取られるかもメモリーダンプを取られるかも… CPU消費電力、電磁放射(サイドチャネルアタック) アクセス制限を回避し 鍵ファイルの読み出し鍵ファイルの読み出し 鍵の読み込み時に 覗き見 6 Copyright © 2010 Sarion Systems Research.  All rights reserved. 鍵データはメモリーダンプ中でも乱数性が高い
  7. 7. 鍵が漏えいしたら鍵が漏えいしたら… 事後対応: 過去の暗号結果全てが漏えいの扱い事後対応: 過去の暗号結果全てが漏えいの扱い 新たな鍵を生成し 全ての暗号処理のやり直し新たな鍵を生成し、全ての暗号処理のやり直し Copyright © 2010 Sarion Systems Research.  All rights reserved.7
  8. 8. HSMによる対策 ハードウェア内部に鍵を保管してアクセス制御 HSMによる対策 物理的に取り出そうとすると動作不能に 外からデータを送り込み 暗号演算外からデ タを送り込み、暗号演算 鍵を外に出さずに使う サ バ HSMサーバー HSM アプリケーション 暗号演算 鍵鍵 対象データ 8 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  9. 9. HSM関連セキュリティー基準HSM関連セキュリティ 基準 FIPS 140‐2: Security Requirements for CryptographicFIPS 140 2: Security Requirements for Cryptographic  Modules (ICカードも同じクラス) レベル2: 物理侵入痕跡が残るレベル2: 物理侵入痕跡が残る レベル3: カプセル化 + 攻撃で動作不能に レベル4 攻撃時に内部消去レベル4: 攻撃時に内部消去 CC: Common Criteria EAL: Evaluation Assurance Level セキュリティー強度でなく評価保証の厳密さセキュリティ 強度でなく評価保証の厳密さ EAL 1~EAL7: 民生品は~EAL4 9 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  10. 10. HSMの機能HSMの機能 A) 鍵の生成 B) 鍵の管理 C) 暗号演算C) 暗号演算 D) 拡張機能) 拡張機能 Copyright © 2010 Sarion Systems Research.  All rights reserved.10
  11. 11. A) 鍵の生成 ‐ HSMの機能A) 鍵の生成 ‐ HSMの機能 物理乱数による安全な鍵の生成物理乱数による安全な鍵の生成 鍵として利用できることの確認 11 Copyright © 2010 Sarion Systems Research.  All rights reserved. http://www.flickr.com/photos/fontplaydotcom/514279632/
  12. 12. B) 鍵の管理 ‐ HSMの機能B) 鍵の管理 ‐ HSMの機能 鍵のライフサイクルを管理鍵のライフサイクルを管理 生成: 物理乱数による安全な鍵の生成 保管: ハードウェアによる保護 配布: 鍵のインポート、エクスポート配布: 鍵のインポ ト、エクスポ ト バックアップ・リカバリー 利用 暗号演算利用: 暗号演算 廃棄: 痕跡を残さない廃棄 12 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  13. 13. C) 暗号演算 ‐ HSMの機能C) 暗号演算 ‐ HSMの機能 鍵を指定して処理を実行鍵を指定して処理を実行 暗号化・復号 署名・検証署名・検証 鍵の保護鍵の保護 ICカード/パスワードによるアクセス権限制御 指定の鍵用途以外の処理はできない指定の鍵用途以外の処理はできない 13 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  14. 14. 標準化された暗号演算API標準化された暗号演算API PKCS#11PKCS#11 Windows CAPI/CNG (CSP) Java Security Provider (JCE) OpenSSL (CHIL)OpenSSL (CHIL) HSM固有のAPIHSM固有のAPI (独自API) PKCS#11 CSP JCEJCE CHIL 独自API 14 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  15. 15. D) 拡張機能 ‐ HSMの機能D) 拡張機能 ‐ HSMの機能 HSM内部にデータ記憶HSM内部にデ タ記憶 nCipher HSMでは不揮発性メモリーを利用可能 鍵と同様のアクセス権限制御鍵と同様のアクセス権限制御 HSM内部でプログラム実行 nCipher HSMでは SEEというカスタムソフトウェア 実行環境を利用可能 HSMのファームウェアをァ ウ を カスタマイズするイメージ 15 Copyright © 2010 Sarion Systems Research.  All rights reserved. http://www.flickr.com/photos/kopitehtarik/4339657571/
  16. 16. SEEとは?SEEとは? SEE: Secure Execution EngineSEE: Secure Execution Engine セキュアなHSM内部で、C言語で開発したプログ ラム(SEEコ ド)を実行できるラム(SEEコード)を実行できる SEEコードはHSMの暗号演算機能を利用し、独自 の処理を行うことができる 鍵へのアクセス許可を鍵 のアクセス許可を SEEコードのみに与えることができる Copyright © 2010 Sarion Systems Research.  All rights reserved.16
  17. 17. 情報システムのセキュリティー基準情報システムのセキュリティ 基準 情報セキュリティ管理基準: 鍵管理部分抜粋情報セキュリティ管理基準: 鍵管理部分抜粋 8.3.2.2 秘密かぎ及びプライベートかぎは、認可されていない開示から保護 する 8 3 2 3 かぎの生成 保管 及び保存のために用いられる装置は 物理的8.3.2.3 かぎの生成、保管、及び保存のために用いられる装置は、物理的 に保護する 8.3.2.6 かぎ管理システムでは、種々の暗号システム及び種々の業務用ソ ぎ生成 連 合意され 標準類フトウェアのためのかぎ生成のために、一連の合意された標準類、手順及 びセキュリティを保った手法を定める 8.3.2.13 かぎ管理システムでは、事業継続管理の一環として、紛失したか ぎ又は破損したかぎを復旧するために、一連の合意された標準類、手順 及びセキュリティを保った手法を定める 暗号強度: NIST 800 131 Draft 2暗号強度: NIST 800‐131 Draft 2 2TDES、SHA‐1、RSA1024、DSA1024、EC160 移行移行へ Copyright © 2010 Sarion Systems Research.  All rights reserved.17
  18. 18. HSM導入の利点HSM導入の利点 セキュリティー強化セキュリティ 強化 一点集中で情報システムの セキュリティーレベルを上げるセキュリティ レベルを上げる 暗号詳細を知らなくても使える 標準 れ を標準化されたAPIを利用 情報システムの運用負担軽減情報システムの運用負担軽減 運用で禁止し、監査すべき ことをHSMに制御させることをHSMに制御させる 18 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  19. 19. HSMの利用パターンHSMの利用パタ ン 1. 鍵管理のセキュリティー強化 2. 鍵アクセス管理の一元化 拡張機能を使 てさらに高度に拡張機能を使ってさらに高度に 3. 機密情報保管機密情報保管 4. プログラム保護 Copyright © 2010 Sarion Systems Research.  All rights reserved.19
  20. 20. 1 鍵管理のセキュリティー強化1. 鍵管理のセキュリティ 強化 鍵管理のセキュリティー強化 市販品のセキュリティーレベルに不安がある (例 用 イ タ ネ トから直接接続が必要なサ バ )(例: B2B用にインターネットから直接接続が必要なサーバー) システムのセキュリティー要件を満たさない (例 個人情報の暗号化に使用した鍵の運用要件が厳しい)(例: 個人情報の暗号化に使用した鍵の運用要件が厳しい) 既存のカスタム開発アプリに暗号機能を追加 (例: 機密情報の保管が必要になったため)(例: 機密情報の保管が必要になったため) の暗号演算 暗号化 署名を行うHSMの暗号演算APIで、暗号化、署名を行う 20 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  21. 21. (市販品アプリを利用)(市販品アプリを利用) : 標準APIを介して市販品アプリとHSMが連携: 標準APIを介して市販品アプリとHSMが連携 HSMサーバー 市販品アプリ 標準API 暗号 署名の安全性向上暗号、署名の安全性向上 運用負担の軽減 セキュリティー関連投資の削減 (データセンター内での追加ロックが不要、等) Copyright © 2010 Sarion Systems Research.  All rights reserved.21
  22. 22. (カスタム開発アプリを利用)(カスタム開発アプリを利用) : 標準APIを介した暗号機能実装: 標準APIを介した暗号機能実装 HSMサーバー 開発アプリ 標準API (加えて)(加えて) セキュアな実装の強制 セキュリティー基準への準拠 Copyright © 2010 Sarion Systems Research.  All rights reserved.22
  23. 23. 2 鍵アクセス管理の一元化2. 鍵アクセス管理の 元化 鍵へのアクセス制限追加 複数サーバーで鍵をセキュアに共有したい サーバー上の別アプリの鍵利用を禁止したい 運用上、複数管理者への運用 、複数管 者 アクセス権限の分散が必要 ネットワーク型HSMを利用して鍵を共有 カ ドと 固有 を使 クセ 制限ICカードとHSM固有APIを使ってアクセス制限 23 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  24. 24. (鍵の共有)(鍵の共有) : ネットワーク透過なHSMとの標準API連携: ネットワ ク透過なHSMとの標準API連携 サーバー HSM(例)ウェブアプリ 標準API サーバー (例)バッチアプリ 標準API サーバー アクセス権限制御の一元化 認証はパスワード または起動時にICカード挿入認証はパスワ ド、または起動時にICカ ド挿入 Copyright © 2010 Sarion Systems Research.  All rights reserved.24
  25. 25. (高度なアクセス権限分散)(高度なアクセス権限分散) : 独自APIによるICカード認証を実装: 独自APIによるICカ ド認証を実装 HSMサーバー 開発アプリ 独自API 3人のうち2人揃えば許可、の実現 ICカードの紛失に対応 低レベルの独自APIを利用する必要あり低レ ルの独自APIを利用する必要あり Copyright © 2010 Sarion Systems Research.  All rights reserved.25
  26. 26. 3 機密情報保管3. 機密情報保管 機密情報をハードウェア内で保護 OSが管理するファイルシステム上に機密情報を 保存す を避保存するのを避けたい 鍵を利用した独自暗号アルゴリズムが必要 (例: 独自パディング方式、文字列連結) HSM内の不揮発性メモリーに機密情報を格納 鍵利用時に取り出して処理に利用鍵利用時に取り出して処理に利用 26 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  27. 27. : 独自APIによる機密情報保存の実装: 独自APIによる機密情報保存の実装 サーバー HSM 開発アプリ 独自API 機密情報を 内部に格納機密情報をHSM内部に格納 利用時にはサーバー上に取り出されるため、 サーバーメモリー中にのみ展開、短時間利用、 安全なメモリー消去などの追加対策が必要 Copyright © 2010 Sarion Systems Research.  All rights reserved.27
  28. 28. 4 プログラム保護4. プログラム保護 鍵を利用するプログラムそのものを保護 鍵のアクセス管理を行い、正しい暗号演算を も 鍵を す プ グ 安全行っても、鍵を利用するプログラムは安全か? 実行中に署名対象をすりかえられないか? 実行中に復号した機密情報を盗まれないか? 認証済みプログラムだけに鍵利用を許可したい認証済みプログラムだけに鍵利用を許可したい カ タ イズした ムウ を 内にカスタマイズしたファームウェアをHSM内に 28 Copyright © 2010 Sarion Systems Research.  All rights reserved.
  29. 29. : 開発ファームウェアがHSM内で動作: 開発ファ ムウ アがHSM内で動作 独自APIによるプログラム間通信 HSMサ バ HSMサーバー 開発アプリ 開発ファーム 独自API開発アプリ ウェア 独自API 機密データの漏えいを防ぐ 鍵の不正利用を防ぐ プログラムの改ざん防止 Copyright © 2010 Sarion Systems Research.  All rights reserved.29
  30. 30. まとめまとめ HSMの機能 4つのHSM利用パターン A) 鍵の生成 B) 鍵の管理 1. 鍵管理のセキュリティー強化 2. 鍵アクセス管理の一元化 C) 暗号演算 D) 拡張機能 3. 機密情報保管 4. プログラム保護 D) 拡張機能 HSM内部に データ記憶デ タ記憶 HSM内部で プログラム実行 Copyright © 2010 Sarion Systems Research.  All rights reserved.30
  31. 31. お問い合わせお問い合わせ 株式会社サリオンシステムズリサーチ株式会社サリオンシステムズリサ チ 〒101‐0054 東京都千代田区神田錦町3 23東京都千代田区神田錦町3‐23 西本興産錦町ビル14F 電話: 03‐5217‐2980(代) FAX: 03‐5217‐3590 Web: http://www.sarion.co.jpWeb: http://www.sarion.co.jp お問い合わせ: dev_contact@sarion.co.jp Copyright © 2009‐2010 Sarion Systems Research.  All rights reserved.31

×