JPRSサーバー証明書 (ドメイン認証型) 認証局証 …JPRS サーバー証明書(ドメイン認証型)認証局証明書ポリシー(Certificate Policy) Version
クライアント認証システム (識別・認証・権限管...
Transcript of クライアント認証システム (識別・認証・権限管...
1
平成23年度
情報セキュリティ特論
認証(正当性を検証する作業 )
デジタル署名(暗号化された署名情報 )
PKI(公開鍵基盤)
実用化の例
認証システム(アクセス管理技術)
1.エンティテイ認証:本人かどうかの検出
2.アクセス制御:許可された権利以外のアクセスを防止
ユーザ クライアント(端末)
サーバユーザ認証 クライアント認証
リモートユーザ認証
ユーザ認証の例 パスワード
ユーザ認証
本人であることを確認本人の認識を利用: IDナンバー、パスワード
(長所)実装が容易(短所)忘れやすい、類推が可能本人の持ち物を利用:磁気カード、ICカード
(長所)偽造が困難(短所)無くし易い。特別な読取装置が必要身体的特徴を利用(バイオメトリクス認証):指紋、声紋、網膜など(長所)他人の偽造が困難、確実性が高い(短所)プライバシが問題、変更が不可能、
特別な装置が必要
クライアント認証システム(識別・認証・権限管理)
パスワード認証・クリアテキスト認証・チャレンジレスポンス認証
(ワンタイムパスワード)ディジタル署名:(なりすまし、改ざん、否認対策)
PKI(公開鍵基盤):確実に本人の鍵か証明する機構
クリアテキスト認証
サーバに対して平文でユーザIDとパスワードを送信する。
盗聴できる
認証システム
※スニファ:(ネットワーク上に流れるパケットなどをモニタリングし、トラフィック調査や流れているデータの分析を行うこと)が可能でセキュリティ強度が低い
チャレンジ&レスポンス認証
クライアント
(0)鍵Kの事前配布
(3)暗号化C= f(K,R)
サーバ
(2)乱数R生成
保管している鍵K’
(4) C’= f(K’,R)の計算(5)C=C’, K=K’ならば正当なクライアントと判断
(1)アクセス要求
+・クライアントごとに異なる鍵の使用(システム全体で同じ鍵を持つのは危険)・鍵の配送に公開鍵の使用・ハッシュ関数を暗号アルゴリズムの代わりに使用
ワンタイムパスワード(使い捨てパスワード)
2
(セキュア)ハッシュ関数
任意のデータ1
一部変更データ2
ハッシュ関数
ダイジェスト1
ダイジェスト2
・同じ長さ
・まったく異なる
・ダイジェストからのデータは導出不可能(一方向性)
・同じダイジェストを出力する 2つの入力データを見つけるのは困難(コリジョンしない。)
ドキュメントや数字などの文字列の羅列から一定長(20バイト程度)の短いデータ(ダイジェストあるいはハッシュ値)に要約するための関数・手順
ハッシュ関数の簡単なプログラム例
long hash(char *s) { int i; int L = strlen(s);for (i = 0; i < L; i++) h = h * 137 + s[i];
return h % 1987; }
ハッシュ値が値域内でできるだけ均等に分かれるためには、この剰余を求める数(h = p mod qのq)として素数を選択することが良い。hの更新計算で用いる137=27 + 23 + 20は、乗法した後にも2進数表現の下位の桁にも情報が残るので、前の方の文字の情報が桁あふれによって失われることはない。
代表的なハッシュ関数
ハッシュ関数 特徴
MD2 128bit のハッシュ値
Ron Rivest によって開発され、RFC1319 として公表(PEM に使用。)
MD4
128bit のハッシュ値
Ron Rivest によって開発され、RFC1320 として公表(MD5、SHA-1 などの源流)1994年に暗号解読攻撃が成功したことによって、このアルゴリズムは安全ではないことが判明
MD5
128bit のハッシュ値
Ron Rivest によって開発され、RFC1321 として公表(広く使用)1996年に衝突攻撃によって部分的に弱点が存在することが判明
SHA-1
160bit のハッシュ値
1995年に NIST によってアメリカ政府の標準ハッシュ関数として採用 RFC 3174。
ハッシュ関数の利用
・パスワードがネットワーク上を流れない。
・ハッシュ値から元データを算出できないためパスワード漏洩の危険性を回避できる。
ユーザIDハッシュ値
認証要求各ユーザIDとハッシュ値を記憶
ユーザIDパスワード
ハッシュ値
ユーザIDとハッシュ値が一致すれば認証
ハッシュ処理
パスワードの盗聴を試みる
パスワード認証(チャレンジレスポンス)
・パスワードがネットワーク上を流れない。・万一盗聴されても、次には違う値にて検証されるため、盗聴された値は役に立たない。
①ユーザIDを送る
②チャレンジコードを送る
③ハッシュ値を送る
レスポンス
認証要求 ユーザID
チャレンジコード(乱数)
+パスワード
チャレンジコード(乱数)
+パスワード
ハッシュ値 ハッシュ値 ハッシュ値
一致すれば認証
ハッシュ処理 ハッシュ処理
サーバー側は常にユーザーのパスワードを記憶する必要がある。
デジタル署名の必要性
主張1.この文章を書いたのは私である。2.この文章は変更されていない。
正しさの証明1.本物は1つである。署名(印鑑)は本人だけが書ける(持つ)。
2.複製できない。複製したことが容易に検出できる。
成りすまし、改ざん
3
デジタル署名の実現方法
1.署名者Aだけが署名できる。2.だれもが、Aの署名であることを確認できる。
公開鍵暗号の基本原理1.Aだけが持っているAの秘密鍵による処理2.みんなが持っているAの公開鍵による処理
例) RSA暗号 P:平文 C:暗号文
C=E(P)=Pe mod n, P=D(C)=Cd mod n
E(D(P))=D(E(P))=P
デジタル署名の原理
もっともらしい文章であればAだと確認される。
ハッシュを用いたデジタル署名
電子署名の作成
(1)相手に送信したい情報(平文)のハッシュを作成する(2)作成したハッシュの内容を自分の秘密鍵で暗号化する
(3)平文と電子署名のペアを相手に送る
改ざんの検証
(1)相手の公開鍵を入手する(2)その公開鍵で送付された電子署名を復号化する(3)送付された平文から、相手と同じアルゴリズムを用いてハッシュを作成する(4)(2)の結果と(3)で作成したハッシュを比較する
デジタル署名の有効性の確認
1.本人だけ署名できるようになっているか?秘密鍵を持っている者にしか実行できない。
2.なぜ、ハッシュ関数を用いるのか?公開鍵暗号系では時間がかかるので、160ビット程度のハッシュ値を使用し、高速化する。
3.だれでも検証できるか?公開鍵は公開されているのでだれでも検証可能
署名の偽造に注意することも必要
代表的なデジタル署名アルゴリズム
アルゴリズム 特徴
Sha-1WithRSAEncryption
公開鍵暗号方式に RSA、ハッシュ関数に SHA-1 を使用
Md5WithRSAEncryption
公開鍵暗号方式に RSA、ハッシュ関数に MD5 を使用
id-dsa-with-sha1
公開鍵暗号方式に DSA、ハッシュ関数に SHA-1 を使用
ecdsa-with-SHA1
公開鍵暗号方式に ECDSA、ハッシュ関数に SHA-1 を使用
電子署名とデジタル署名デジタル署名 (Digital Signature)公開鍵暗号方式を利用したもので、メッセージの発信者の認証と改ざんの検知が可能なもの電子署名 (Electronic Signature)電子署名は各国によって様々な定義がされており、デジタル署名を含む広義の署名
国 法律・指令 説明
日本 電子署名法 電子データの作成者を特定でき、電子データが改変されていないことが確認できるもの
米国 連邦電子署名法 電子データに署名する意図で作成した電子データ
EU EU電子署名指令 「電子署名」電子的データに関連付けられて認証
手段の役割を果たすもの
「高度な電子署名」署名者の特定が可能なもの
4
公開鍵の正当性、管理問題
公開鍵暗号の公開鍵が偽造
PKI (Public-Key infrastructure)システムの構築
認証局(CA: Certification Authority) を設け、公開鍵と利用者の繋がりを保障する(セキュリティ基盤)。
成りすましなどの攻撃が自明
暗号システムの崩壊
..
PKI 「公開鍵基盤」の役割
松藤
印鑑
印鑑証明身分証明書
役所
確認発行
認証局(CA:Certification Authority)
秘密鍵
発行
公開鍵証明書
確認
PKIが提供する機能とサービス
暗号化 デジタル署名
脅威
盗聴、不正アクセス、なりすまし、改ざん、否認
否認防止認証 完全性
機密性
公開鍵配布時の認証
Aさん
Aさんになりすまし
公開鍵秘密鍵Aさんの公開鍵かしら
Bさんが未知の Aさんの公開鍵を取得したい場合
Bさん
認証モデル (PGP モデル)
公開鍵の所有者を信頼できる人物に保証してもらう方法個人レベルで信頼関係を構築することになり、全体を管理する主体が存在しないため企業などの組織に適用するのは困難
AさんBさん
AさんとBさんに信頼関係のあるCさん
Aさんの公開鍵+Cさんの署名
認証モデル (認証局モデル)信頼できる第三者機関 (TTP:Trusted Third Party)に公開鍵の所有者を保証してもらう方法
加入者Aさん
公開鍵
認証局(TTP)
(1)
(2)
Bさん
(3)
(4)確認
×なりすましできない
公開鍵の所有者の本人性をなんらかの方法で確認し、証明書(Certificate) を発行・公開鍵とその所有者を証明する情報・改ざん防止のため認証局の署名が付与
5
PKIの一般的モデル
通信(暗号化、署名)
バックアップ秘密鍵、証明書 証明書申請
証明書利用者
登録局 (RA:Registration Authority)
認証局 (CA:Certification Authority)アーカイブ
(バックアップ)
証明書,証明書失効リスト(CRL) の公開
リポジトリ(Repository)保管
加入者(証明書申請者・所有者)
証明書申請証明書発行
証明書, CRL の取得
PKIトークン
秘密鍵のセキュリティも大事
PKIトークン
機能・利点・電子証明書・秘密鍵の保管(PKI認証、電子署名)・秘密鍵を使った復号や署名などの演算を行う。・秘密鍵は、トークンから読み出せないため、外部に漏洩する危険性が減少する。
その他用途・リモートアクセス(IPSec, VPN, SSL-VPN)・Web承認 (SSL,ID/Pass)・PC起動/ロック(OSログイン、ブートプロテクション)・ファイル/ディスク暗号化 ・リモートディスクトップ・無線LAN(IEEE802.1x EAP TLS)・パスワード管理 ・暗号化メール(S/MINE, PGA)
秘密鍵のセキュリティモデル
加入者
紛失や盗難などに対応
PKIアプリケーション
・Web において使われる SSL/TLS・電子メールに使われる S/MIME(暗号化・電子署名)・VPN (仮想ネットワーク)に使われる IPsec など
Web
インフラ
PKIアプリケーション
PKI
メール VPN
PKIの例 ベリサインマネージメントPKI
外部とのやり取りでは受信した人のパソコンからも証明書の信頼性がすぐに認証できる証明書
限られたネットワークでのアクセスコントロールには手軽に発行できる独自運用規定に基づいた証明書
SSL(Secure Socket Layer)暗号通信
クライアント サーバ
1) 暗号化仕様交渉(SSL通信を行ないましょう。)
4)秘密鍵にてデータ復号化
2)暗号化仕様交渉 (証明書(公開鍵)の送付)(この公開鍵で暗号化してください。)
3)暗号化、データ送信
米Netscape社が開発したインターネット上で情報を暗号化し、送受信できるプロトコル
SSLサーバ証明書:WEBサイトの所有者の情報、送信情報の暗号化に必要な鍵、発行者の署名データを持った電子証明書・証明書に表示されたサーバの所有者であることの証明(信頼のできる第三者認証機関から発行された証明書を使用 )
6
ルート証明書
認証局が自分自身に対して発行した大元の証明書証明書が信頼できる認証局から発行されていることを確認するのは、ユーザが確認するのは手間がかかり現実的でない。 →
代表的なブラウザではWEBTRUSTという厳しい監査基準を満たした認証局のルート証明書をあらかじめ搭載し、ブラウザの利用を通して意識することなく証明書の信頼性を確認できる。
ルート証明書の確認(インターネットエクスプローラの場合)ツール>インターネットオプション>コンテンツ>証明書>信頼されたルート証明機関
SSL利用ページの特徴・URLが「http://」から「https://」に変る。・インターネットエクスプローラであれば、右下に鍵マークが表示
クリックするとプロパティが表示される。
S/MIME:RSA公開鍵暗号方式を用いてメッセージを暗号化して送受信する。この方式で暗号化メールをやり取りするには、受信者側もS/MIMEに対応している必要がある。
信頼性のない証明書を使用した場合
信頼性のない(ブラウザにルート証明書がプレインストールされていない)証明書では、ブラウザからセキュリティ警告が発せられる。
VPN:Virtual Private Network
VPNの仕組み1.送信元VPN装置(アドレスD)は相手先(アドレスC)の認証を行う。2.正しければ、パケットに新しいヘッダを付け加え、カプセル化し、相手先に送る(トンネリング:Tunneling )。ここで、通信パケットは暗号化されている。
3.受取側(アドレスC)は、復号化し、元のパケットを受け取る。ユーザはトンネリングされていることを意識することはない。
インターネットVPN装置 VPN装置
アドレスC アドレスD
VPNトンネル
公衆回線をあたかも専用回線であるかのように利用できるサービス。企業内ネットワークの拠点間接続などに使われ、専用回線を導入するよりコストを抑えられる。
VPNの実現方法 :IPSec
IPSec:IPパケットの暗号化と認証を行う仕組みで、暗号化通信方式の標準規格IPSecサービスプロトコル必要に応じてどちらか一方または両方を使うことが可能「認証ヘッダ(AH:Authentication Header)」IPパケットを認証するためのプロトコルで、パケットが通信途中で
改ざんされずに届いたことを保証するもの「暗号ペイロード(ESP:Encapsulating Security Payload)」IPパケットを暗号化するプロトコル
IPSecを利用したVPN環境の問題点・ファイアウォールとVPNを併用する場合、ファイアウォールでは、
VPNのためにカプセル化した暗号化パケット等を通す必要がある。・VPNはアドレス変換を行うIPマスカレードとの併用はできない。
PKIの役割