hsm超入門講座
DESCRIPTION
2010年11月18日に行ったHSMセミナー用の資料です。「HSMとは」からはじまり、「HSMの機能」、「HSM導入の利点」を整理し、最後に、情報システムにおける「HSMの利用パターン」4パターンをまとめました。TRANSCRIPT
HSM超入門講座HSM超入門講座2010‐11‐18
サリオンシステムズリサーチ ソフトウェア開発部中村浩士
HSM超入門講座HSM超入門講座
HSMとは
HSMの機能
HSM導入の利点HSM導入の利点
HSMの利用パターン
Copyright © 2010 Sarion Systems Research. All rights reserved.2
HSMとは何か?
暗号用の鍵を入れる金庫
HSMとは何か?
暗号用の鍵を入れる金庫
HardwareSecuritySecurityModule
3 Copyright © 2010 Sarion Systems Research. All rights reserved.
http://www.flickr.com/photos/danielsphotography/466435567/
暗号用の鍵?暗号用の鍵?
暗号処理が必要なところ、どこにでもある暗号処理が必要なところ、どこにでもあるアルゴリズムは公知 : 鍵が肝
デ タベ ス/ファイル保護データベース/ファイル保護
SSL通信
セキュアメール
ソフトウェア配布
ネットワークのアクセス管理
DNSDNS認証局
DRMDRMCopyright © 2010 Sarion Systems Research. All rights reserved.4
http://www.flickr.com/photos/neospire/3594831633/http://www.neospire.net/
通常のアプリケーション
鍵をファイルに保管、メモリー中に展開して利用
通常のアプリケ ション
鍵をファイルに保管、メモリ 中に展開して利用
OSによるアクセス管理
サーバー
アプリケ ションアプリケーション
暗号演算
鍵対象デ タ 鍵対象データ
Copyright © 2010 Sarion Systems Research. All rights reserved.5
サーバーに鍵を置くとサ バ に鍵を置くと…
OS、ミドルウェア、アプリケーションのどこかにOS、ミドルウ ア、アプリケ ションのどこかにセキュリティーホール/設定ミスがあるかも…
メモリ ダンプを取られるかもメモリーダンプを取られるかも…
CPU消費電力、電磁放射(サイドチャネルアタック)
アクセス制限を回避し鍵ファイルの読み出し鍵ファイルの読み出し
鍵の読み込み時に覗き見
6 Copyright © 2010 Sarion Systems Research. All rights reserved.
鍵データはメモリーダンプ中でも乱数性が高い
鍵が漏えいしたら鍵が漏えいしたら…
事後対応:過去の暗号結果全てが漏えいの扱い事後対応: 過去の暗号結果全てが漏えいの扱い
新たな鍵を生成し 全ての暗号処理のやり直し新たな鍵を生成し、全ての暗号処理のやり直しCopyright © 2010 Sarion Systems Research. All rights reserved.7
HSMによる対策
ハードウェア内部に鍵を保管してアクセス制御
HSMによる対策
物理的に取り出そうとすると動作不能に
外からデータを送り込み 暗号演算外からデ タを送り込み、暗号演算
鍵を外に出さずに使う
サ バ HSMサーバー HSM
アプリケーション
暗号演算
鍵鍵
対象データ
8 Copyright © 2010 Sarion Systems Research. All rights reserved.
HSM関連セキュリティー基準HSM関連セキュリティ 基準
FIPS 140‐2: Security Requirements for CryptographicFIPS 140 2: Security Requirements for Cryptographic Modules (ICカードも同じクラス)
レベル2:物理侵入痕跡が残るレベル2: 物理侵入痕跡が残る
レベル3: カプセル化 + 攻撃で動作不能に
レベル4 攻撃時に内部消去レベル4: 攻撃時に内部消去
CC: Common CriteriaEAL: Evaluation Assurance Levelセキュリティー強度でなく評価保証の厳密さセキュリティ 強度でなく評価保証の厳密さ
EAL 1~EAL7: 民生品は~EAL4
9 Copyright © 2010 Sarion Systems Research. All rights reserved.
HSMの機能HSMの機能
A) 鍵の生成
B) 鍵の管理
C) 暗号演算C) 暗号演算
D) 拡張機能) 拡張機能
Copyright © 2010 Sarion Systems Research. All rights reserved.10
A)鍵の生成 ‐ HSMの機能A) 鍵の生成 ‐ HSMの機能
物理乱数による安全な鍵の生成物理乱数による安全な鍵の生成
鍵として利用できることの確認
11 Copyright © 2010 Sarion Systems Research. All rights reserved.
http://www.flickr.com/photos/fontplaydotcom/514279632/
B)鍵の管理 ‐ HSMの機能B) 鍵の管理 ‐ HSMの機能
鍵のライフサイクルを管理鍵のライフサイクルを管理
生成: 物理乱数による安全な鍵の生成
保管: ハードウェアによる保護
配布:鍵のインポート、エクスポート配布: 鍵のインポ ト、エクスポ トバックアップ・リカバリー
利用 暗号演算利用: 暗号演算
廃棄: 痕跡を残さない廃棄
12 Copyright © 2010 Sarion Systems Research. All rights reserved.
C)暗号演算 ‐ HSMの機能C) 暗号演算 ‐ HSMの機能
鍵を指定して処理を実行鍵を指定して処理を実行
暗号化・復号
署名・検証署名・検証
鍵の保護鍵の保護
ICカード/パスワードによるアクセス権限制御
指定の鍵用途以外の処理はできない指定の鍵用途以外の処理はできない13 Copyright © 2010 Sarion Systems Research. All rights reserved.
標準化された暗号演算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.
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/
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
情報システムのセキュリティー基準情報システムのセキュリティ 基準
情報セキュリティ管理基準:鍵管理部分抜粋情報セキュリティ管理基準: 鍵管理部分抜粋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 22TDES、SHA‐1、RSA1024、DSA1024、EC160
移行移行へCopyright © 2010 Sarion Systems Research. All rights reserved.17
HSM導入の利点HSM導入の利点
セキュリティー強化セキュリティ 強化
一点集中で情報システムのセキュリティーレベルを上げるセキュリティ レベルを上げる
暗号詳細を知らなくても使える
標準 れ を標準化されたAPIを利用
情報システムの運用負担軽減情報システムの運用負担軽減
運用で禁止し、監査すべきことをHSMに制御させることをHSMに制御させる
18 Copyright © 2010 Sarion Systems Research. All rights reserved.
HSMの利用パターンHSMの利用パタ ン
1. 鍵管理のセキュリティー強化
2. 鍵アクセス管理の一元化
拡張機能を使 てさらに高度に拡張機能を使ってさらに高度に
3. 機密情報保管機密情報保管
4. プログラム保護
Copyright © 2010 Sarion Systems Research. All rights reserved.19
1 鍵管理のセキュリティー強化1. 鍵管理のセキュリティ 強化
鍵管理のセキュリティー強化
市販品のセキュリティーレベルに不安がある(例 用 イ タ ネ トから直接接続が必要なサ バ )(例: B2B用にインターネットから直接接続が必要なサーバー)
システムのセキュリティー要件を満たさない(例 個人情報の暗号化に使用した鍵の運用要件が厳しい)(例: 個人情報の暗号化に使用した鍵の運用要件が厳しい)
既存のカスタム開発アプリに暗号機能を追加(例:機密情報の保管が必要になったため)(例: 機密情報の保管が必要になったため)
の暗号演算 暗号化 署名を行うHSMの暗号演算APIで、暗号化、署名を行う20 Copyright © 2010 Sarion Systems Research. All rights reserved.
(市販品アプリを利用)(市販品アプリを利用)
:標準APIを介して市販品アプリとHSMが連携: 標準APIを介して市販品アプリとHSMが連携
HSMサーバー
市販品アプリ 標準API
暗号 署名の安全性向上暗号、署名の安全性向上
運用負担の軽減
セキュリティー関連投資の削減(データセンター内での追加ロックが不要、等)
Copyright © 2010 Sarion Systems Research. All rights reserved.21
(カスタム開発アプリを利用)(カスタム開発アプリを利用)
:標準APIを介した暗号機能実装: 標準APIを介した暗号機能実装
HSMサーバー
開発アプリ 標準API
(加えて)(加えて)
セキュアな実装の強制
セキュリティー基準への準拠
Copyright © 2010 Sarion Systems Research. All rights reserved.22
2 鍵アクセス管理の一元化2. 鍵アクセス管理の 元化
鍵へのアクセス制限追加
複数サーバーで鍵をセキュアに共有したい
サーバー上の別アプリの鍵利用を禁止したい
運用上、複数管理者への運用 、複数管 者アクセス権限の分散が必要
ネットワーク型HSMを利用して鍵を共有
カ ドと 固有 を使 クセ 制限ICカードとHSM固有APIを使ってアクセス制限23 Copyright © 2010 Sarion Systems Research. All rights reserved.
(鍵の共有)(鍵の共有)
:ネットワーク透過なHSMとの標準API連携: ネットワ ク透過なHSMとの標準API連携
サーバー
HSM(例)ウェブアプリ標準API
サーバー
(例)バッチアプリ標準API
サーバー
アクセス権限制御の一元化
認証はパスワード または起動時にICカード挿入認証はパスワ ド、または起動時にICカ ド挿入
Copyright © 2010 Sarion Systems Research. All rights reserved.24
(高度なアクセス権限分散)(高度なアクセス権限分散)
:独自APIによるICカード認証を実装: 独自APIによるICカ ド認証を実装
HSMサーバー
開発アプリ 独自API
3人のうち2人揃えば許可、の実現
ICカードの紛失に対応
低レベルの独自APIを利用する必要あり低レ ルの独自APIを利用する必要あり
Copyright © 2010 Sarion Systems Research. All rights reserved.25
3 機密情報保管3. 機密情報保管
機密情報をハードウェア内で保護
OSが管理するファイルシステム上に機密情報を保存す を避保存するのを避けたい
鍵を利用した独自暗号アルゴリズムが必要(例: 独自パディング方式、文字列連結)
HSM内の不揮発性メモリーに機密情報を格納
鍵利用時に取り出して処理に利用鍵利用時に取り出して処理に利用26 Copyright © 2010 Sarion Systems Research. All rights reserved.
:独自APIによる機密情報保存の実装: 独自APIによる機密情報保存の実装
サーバー HSM
開発アプリ 独自API
機密情報を 内部に格納機密情報をHSM内部に格納
利用時にはサーバー上に取り出されるため、サーバーメモリー中にのみ展開、短時間利用、安全なメモリー消去などの追加対策が必要
Copyright © 2010 Sarion Systems Research. All rights reserved.27
4 プログラム保護4. プログラム保護
鍵を利用するプログラムそのものを保護
鍵のアクセス管理を行い、正しい暗号演算をも 鍵を す プ グ 安全行っても、鍵を利用するプログラムは安全か?
実行中に署名対象をすりかえられないか?実行中に復号した機密情報を盗まれないか?
認証済みプログラムだけに鍵利用を許可したい認証済みプログラムだけに鍵利用を許可したい
カ タ イズした ムウ を 内にカスタマイズしたファームウェアをHSM内に28 Copyright © 2010 Sarion Systems Research. All rights reserved.
:開発ファームウェアがHSM内で動作: 開発ファ ムウ アがHSM内で動作独自APIによるプログラム間通信
HSMサ バ HSMサーバー
開発アプリ開発ファーム
独自API開発アプリウェア
独自API
機密データの漏えいを防ぐ
鍵の不正利用を防ぐ
プログラムの改ざん防止
Copyright © 2010 Sarion Systems Research. All rights reserved.29
まとめまとめHSMの機能 4つのHSM利用パターン
A) 鍵の生成
B) 鍵の管理
1. 鍵管理のセキュリティー強化
2. 鍵アクセス管理の一元化
C) 暗号演算
D) 拡張機能
3. 機密情報保管
4. プログラム保護D) 拡張機能
HSM内部にデータ記憶デ タ記憶
HSM内部でプログラム実行
Copyright © 2010 Sarion Systems Research. All rights reserved.30
お問い合わせお問い合わせ
株式会社サリオンシステムズリサーチ株式会社サリオンシステムズリサ チ
〒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
お問い合わせ: [email protected]
Copyright © 2009‐2010 Sarion Systems Research. All rights reserved.31