hsm超入門講座

31
HSM超入門講座 HSM超入門講座 20101118 サリオンシステムズリサーチ ソフトウェア開発部 中村浩士

Upload: hiroshi-nakamura

Post on 12-Jun-2015

6.927 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: HSM超入門講座

HSM超入門講座HSM超入門講座2010‐11‐18

サリオンシステムズリサーチ ソフトウェア開発部中村浩士

Page 2: HSM超入門講座

HSM超入門講座HSM超入門講座

HSMとは

HSMの機能

HSM導入の利点HSM導入の利点

HSMの利用パターン

Copyright © 2010 Sarion Systems Research.  All rights reserved.2

Page 3: HSM超入門講座

HSMとは何か?

暗号用の鍵を入れる金庫

HSMとは何か?

暗号用の鍵を入れる金庫

HardwareSecuritySecurityModule

3 Copyright © 2010 Sarion Systems Research.  All rights reserved.

http://www.flickr.com/photos/danielsphotography/466435567/

Page 4: HSM超入門講座

暗号用の鍵?暗号用の鍵?

暗号処理が必要なところ、どこにでもある暗号処理が必要なところ、どこにでもあるアルゴリズムは公知 : 鍵が肝

デ タベ ス/ファイル保護データベース/ファイル保護

SSL通信

セキュアメール

ソフトウェア配布

ネットワークのアクセス管理

DNSDNS認証局

DRMDRMCopyright © 2010 Sarion Systems Research.  All rights reserved.4

http://www.flickr.com/photos/neospire/3594831633/http://www.neospire.net/

Page 5: HSM超入門講座

通常のアプリケーション

鍵をファイルに保管、メモリー中に展開して利用

通常のアプリケ ション

鍵をファイルに保管、メモリ 中に展開して利用

OSによるアクセス管理

サーバー

アプリケ ションアプリケーション

暗号演算

鍵対象デ タ 鍵対象データ

Copyright © 2010 Sarion Systems Research.  All rights reserved.5

Page 6: HSM超入門講座

サーバーに鍵を置くとサ バ に鍵を置くと…

OS、ミドルウェア、アプリケーションのどこかにOS、ミドルウ ア、アプリケ ションのどこかにセキュリティーホール/設定ミスがあるかも…

メモリ ダンプを取られるかもメモリーダンプを取られるかも…

CPU消費電力、電磁放射(サイドチャネルアタック)

アクセス制限を回避し鍵ファイルの読み出し鍵ファイルの読み出し

鍵の読み込み時に覗き見

6 Copyright © 2010 Sarion Systems Research.  All rights reserved.

鍵データはメモリーダンプ中でも乱数性が高い

Page 7: HSM超入門講座

鍵が漏えいしたら鍵が漏えいしたら…

事後対応:過去の暗号結果全てが漏えいの扱い事後対応: 過去の暗号結果全てが漏えいの扱い

新たな鍵を生成し 全ての暗号処理のやり直し新たな鍵を生成し、全ての暗号処理のやり直しCopyright © 2010 Sarion Systems Research.  All rights reserved.7

Page 8: HSM超入門講座

HSMによる対策

ハードウェア内部に鍵を保管してアクセス制御

HSMによる対策

物理的に取り出そうとすると動作不能に

外からデータを送り込み 暗号演算外からデ タを送り込み、暗号演算

鍵を外に出さずに使う

サ バ HSMサーバー HSM

アプリケーション

暗号演算

鍵鍵

対象データ

8 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 9: HSM超入門講座

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.

Page 10: HSM超入門講座

HSMの機能HSMの機能

A) 鍵の生成

B) 鍵の管理

C) 暗号演算C) 暗号演算

D) 拡張機能) 拡張機能

Copyright © 2010 Sarion Systems Research.  All rights reserved.10

Page 11: HSM超入門講座

A)鍵の生成 ‐ HSMの機能A) 鍵の生成 ‐ HSMの機能

物理乱数による安全な鍵の生成物理乱数による安全な鍵の生成

鍵として利用できることの確認

11 Copyright © 2010 Sarion Systems Research.  All rights reserved.

http://www.flickr.com/photos/fontplaydotcom/514279632/

Page 12: HSM超入門講座

B)鍵の管理 ‐ HSMの機能B) 鍵の管理 ‐ HSMの機能

鍵のライフサイクルを管理鍵のライフサイクルを管理

生成: 物理乱数による安全な鍵の生成

保管: ハードウェアによる保護

配布:鍵のインポート、エクスポート配布: 鍵のインポ ト、エクスポ トバックアップ・リカバリー

利用 暗号演算利用: 暗号演算

廃棄: 痕跡を残さない廃棄

12 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 13: HSM超入門講座

C)暗号演算 ‐ HSMの機能C) 暗号演算 ‐ HSMの機能

鍵を指定して処理を実行鍵を指定して処理を実行

暗号化・復号

署名・検証署名・検証

鍵の保護鍵の保護

ICカード/パスワードによるアクセス権限制御

指定の鍵用途以外の処理はできない指定の鍵用途以外の処理はできない13 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 14: HSM超入門講座

標準化された暗号演算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.

Page 15: HSM超入門講座

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/

Page 16: HSM超入門講座

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

Page 17: HSM超入門講座

情報システムのセキュリティー基準情報システムのセキュリティ 基準

情報セキュリティ管理基準:鍵管理部分抜粋情報セキュリティ管理基準: 鍵管理部分抜粋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

Page 18: HSM超入門講座

HSM導入の利点HSM導入の利点

セキュリティー強化セキュリティ 強化

一点集中で情報システムのセキュリティーレベルを上げるセキュリティ レベルを上げる

暗号詳細を知らなくても使える

標準 れ を標準化されたAPIを利用

情報システムの運用負担軽減情報システムの運用負担軽減

運用で禁止し、監査すべきことをHSMに制御させることをHSMに制御させる

18 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 19: HSM超入門講座

HSMの利用パターンHSMの利用パタ ン

1. 鍵管理のセキュリティー強化

2. 鍵アクセス管理の一元化

拡張機能を使 てさらに高度に拡張機能を使ってさらに高度に

3. 機密情報保管機密情報保管

4. プログラム保護

Copyright © 2010 Sarion Systems Research.  All rights reserved.19

Page 20: HSM超入門講座

1 鍵管理のセキュリティー強化1. 鍵管理のセキュリティ 強化

鍵管理のセキュリティー強化

市販品のセキュリティーレベルに不安がある(例 用 イ タ ネ トから直接接続が必要なサ バ )(例: B2B用にインターネットから直接接続が必要なサーバー)

システムのセキュリティー要件を満たさない(例 個人情報の暗号化に使用した鍵の運用要件が厳しい)(例: 個人情報の暗号化に使用した鍵の運用要件が厳しい)

既存のカスタム開発アプリに暗号機能を追加(例:機密情報の保管が必要になったため)(例: 機密情報の保管が必要になったため)

の暗号演算 暗号化 署名を行うHSMの暗号演算APIで、暗号化、署名を行う20 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 21: HSM超入門講座

(市販品アプリを利用)(市販品アプリを利用)

:標準APIを介して市販品アプリとHSMが連携: 標準APIを介して市販品アプリとHSMが連携

HSMサーバー

市販品アプリ 標準API

暗号 署名の安全性向上暗号、署名の安全性向上

運用負担の軽減

セキュリティー関連投資の削減(データセンター内での追加ロックが不要、等)

Copyright © 2010 Sarion Systems Research.  All rights reserved.21

Page 22: HSM超入門講座

(カスタム開発アプリを利用)(カスタム開発アプリを利用)

:標準APIを介した暗号機能実装: 標準APIを介した暗号機能実装

HSMサーバー

開発アプリ 標準API

(加えて)(加えて)

セキュアな実装の強制

セキュリティー基準への準拠

Copyright © 2010 Sarion Systems Research.  All rights reserved.22

Page 23: HSM超入門講座

2 鍵アクセス管理の一元化2. 鍵アクセス管理の 元化

鍵へのアクセス制限追加

複数サーバーで鍵をセキュアに共有したい

サーバー上の別アプリの鍵利用を禁止したい

運用上、複数管理者への運用 、複数管 者アクセス権限の分散が必要

ネットワーク型HSMを利用して鍵を共有

カ ドと 固有 を使 クセ 制限ICカードとHSM固有APIを使ってアクセス制限23 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 24: HSM超入門講座

(鍵の共有)(鍵の共有)

:ネットワーク透過なHSMとの標準API連携: ネットワ ク透過なHSMとの標準API連携

サーバー

HSM(例)ウェブアプリ標準API

サーバー

(例)バッチアプリ標準API

サーバー

アクセス権限制御の一元化

認証はパスワード または起動時にICカード挿入認証はパスワ ド、または起動時にICカ ド挿入

Copyright © 2010 Sarion Systems Research.  All rights reserved.24

Page 25: HSM超入門講座

(高度なアクセス権限分散)(高度なアクセス権限分散)

:独自APIによるICカード認証を実装: 独自APIによるICカ ド認証を実装

HSMサーバー

開発アプリ 独自API

3人のうち2人揃えば許可、の実現

ICカードの紛失に対応

低レベルの独自APIを利用する必要あり低レ ルの独自APIを利用する必要あり

Copyright © 2010 Sarion Systems Research.  All rights reserved.25

Page 26: HSM超入門講座

3 機密情報保管3. 機密情報保管

機密情報をハードウェア内で保護

OSが管理するファイルシステム上に機密情報を保存す を避保存するのを避けたい

鍵を利用した独自暗号アルゴリズムが必要(例: 独自パディング方式、文字列連結)

HSM内の不揮発性メモリーに機密情報を格納

鍵利用時に取り出して処理に利用鍵利用時に取り出して処理に利用26 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 27: HSM超入門講座

:独自APIによる機密情報保存の実装: 独自APIによる機密情報保存の実装

サーバー HSM

開発アプリ 独自API

機密情報を 内部に格納機密情報をHSM内部に格納

利用時にはサーバー上に取り出されるため、サーバーメモリー中にのみ展開、短時間利用、安全なメモリー消去などの追加対策が必要

Copyright © 2010 Sarion Systems Research.  All rights reserved.27

Page 28: HSM超入門講座

4 プログラム保護4. プログラム保護

鍵を利用するプログラムそのものを保護

鍵のアクセス管理を行い、正しい暗号演算をも 鍵を す プ グ 安全行っても、鍵を利用するプログラムは安全か?

実行中に署名対象をすりかえられないか?実行中に復号した機密情報を盗まれないか?

認証済みプログラムだけに鍵利用を許可したい認証済みプログラムだけに鍵利用を許可したい

カ タ イズした ムウ を 内にカスタマイズしたファームウェアをHSM内に28 Copyright © 2010 Sarion Systems Research.  All rights reserved.

Page 29: HSM超入門講座

:開発ファームウェアがHSM内で動作: 開発ファ ムウ アがHSM内で動作独自APIによるプログラム間通信

HSMサ バ HSMサーバー

開発アプリ開発ファーム

独自API開発アプリウェア

独自API

機密データの漏えいを防ぐ

鍵の不正利用を防ぐ

プログラムの改ざん防止

Copyright © 2010 Sarion Systems Research.  All rights reserved.29

Page 30: HSM超入門講座

まとめまとめHSMの機能 4つのHSM利用パターン

A) 鍵の生成

B) 鍵の管理

1. 鍵管理のセキュリティー強化

2. 鍵アクセス管理の一元化

C) 暗号演算

D) 拡張機能

3. 機密情報保管

4. プログラム保護D) 拡張機能

HSM内部にデータ記憶デ タ記憶

HSM内部でプログラム実行

Copyright © 2010 Sarion Systems Research.  All rights reserved.30

Page 31: HSM超入門講座

お問い合わせお問い合わせ

株式会社サリオンシステムズリサーチ株式会社サリオンシステムズリサ チ

〒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