認証技術・署名技術 2000・11・6 佐野 晋 要求 安全にメッセージを相手に送りたい 通信相手を確認したい 改ざん防止 盗聴の防止 発信者がアドレスを偽っていない保証 受信者がアドレスを偽っていない保証 さらに 第3者がメッセージの正しさを確認できる 送った相手がそのメッセージを拒否できない 通信の事実を隠したい 2000/11/6 S.Sano 認証技術・署名技術 2 要求-かっこよくいうと 機密性 (Confidentiality) 完全性 (Integrity) 改ざんの検知,防止 真正性 (Authenticity) 第3者に情報が伝わらない, 盗聴の防止 送信者の正当性 否認拒否 (Non Repudiation) 送信者が送信の事実を拒否できない機能 受信者が受信の事実を拒否できない機構 2000/11/6 S.Sano 認証技術・署名技術 3 どうやってつくるか 機密性(機密保護) 完全性(改ざん検出) 暗号 暗号 デジタル署名 真正性(成りすまし防止) 暗号 デジタル署名 認証 2000/11/6 S.Sano 認証技術・署名技術 4 暗号の基礎知識 ひらぶん 平文 plaintext 暗号化鍵 復号化鍵 encryption key decryption key 暗号文 暗号化 ciphertext encryption 復号化 decryption 平文 解読 cryptanalysis 平文 2000/11/6 S.Sano 認証技術・署名技術 5 暗号技術の変遷 ①通信を秘密に ②暗号アルゴリズムを秘密に ③暗号アルゴリズムは公開,鍵を秘密に ④復号化鍵*のみを秘密に *:正しくは公開鍵方式の二つの鍵の いずれか一方 2000/11/6 S.Sano 認証技術・署名技術 6 暗号認証技術の基礎知識 慣用(対称鍵)暗号系 … DES 暗号化と復号化は同じ鍵 送信者と受信者は鍵を共有する 高速 公開鍵暗号系 … RSA 暗号化と復号化で鍵が違う - ふたつの鍵 片方の鍵は自分以外に知られても良い 公開鍵と秘密鍵 2000/11/6 S.Sano 認証技術・署名技術 7 一方向ハッシュ関数 任意のデータ長を固定のデータに変換 ぶつかりが少ない 出力から入力が予測しにくい 任意長 データ 2000/11/6 S.Sano ハッシュ関数 認証技術・署名技術 128bit データ 8 メッセージダイジェスト 一方向性ハッシュ関数で MD2,MD4,MD5 元データの変更が出力に大きく影響 逆演算が困難 同じメッセージダイジェスト値をもつ別の元データを見 つけるのが困難 L.Rivest 128ビット SHA-1 NIST,NSA 160ビット 2000/11/6 S.Sano 認証技術・署名技術 9 慣用暗号系を用いた暗号と認証 平文 秘密の鍵をお互いに共有 相互に相手認証が可能 暗号化 暗号文 秘密鍵 復号化 平文 秘密鍵 共有 2000/11/6 S.Sano 認証技術・署名技術 10 公開鍵暗号系を用いた秘密性の確保 送り先の公開鍵でメッセージを暗号化 送り先の秘密限で復号 平文 A 暗号化 暗号文 Bの公開鍵 2000/11/6 S.Sano 復号化 Bの秘密鍵 認証技術・署名技術 平文 B 11 公開鍵暗号系を用いたデジタル署名 発信元の秘密鍵でメッセージを暗号化 発信元の公開限で復号 デジタル署名 第3者も正当性と送信元の確認ができる 平文 A 暗号化 暗号文 Aの秘密鍵 2000/11/6 S.Sano 復号化 Aの公開鍵 認証技術・署名技術 平文 B 12 一方向関数を用いたメッセージ 認証子 メッセージは平文 メッセージ認証子(MIC)を生成して添付 MIC-Message Integrity Check 平文 H A 2000/11/6 S.Sano 暗号化 MIC Aの秘密鍵 H 比 復号化 較 Aの公開鍵 認証技術・署名技術 B 13 認証 個人認証…システムがユーザを認証 本人しか知らない事実 (例: パスワード) 持ち物(例: 印鑑、 ICカード) 身体的特徴を利用(例: 指紋、網膜) プロセス認証…プロセスやホストを認証 低レベルの識別子の利用(例:アドレス、プロセスID) パスワード 暗号技術に基づいた認証子 2000/11/6 S.Sano 認証技術・署名技術 14 認証 ゴール 要求が本物の要求者の意志に基づくものである ことを要求受理者が確認する 要求の一般的な処理の流れ ①本人を認証(authentication) ②要求が正当であることを確認(authorization) ③要求の受理、処理 2000/11/6 S.Sano 認証技術・署名技術 15 パスワード システムと利用者で秘密を共有 システム側では暗号化(ハッシュ)して保存 利用者は記憶し必要に応じて入力 パスワードによる認証の限界 利用者のパスワード管理の問題 名前,単語など類推されやすいパスワード メモ書き 忘れる ネットワーク上をそのまま流れ、盗聴の危険 2000/11/6 S.Sano 認証技術・署名技術 16 使い捨てパスワード 一度だけ有効なパスワードの生成 同期式 disposable password onetime password カウンタ同期 (ex. SafeWord) 時刻同期 (ex. SecurID) 非同期式 チャレンジ/レスポンス型 2000/11/6 S.Sano S/KEY, OTP SafeWord SNK 認証技術・署名技術 17 チャレンジ・レスポンス型の例 ユーザ クライアント 秘密鍵 サーバ challenge = “23456876” 秘密鍵 暗号化 暗号化 response = “03426890” 検証 2000/11/6 S.Sano 認証技術・署名技術 18 S/KEY, OTP ユーザ n n,seed,f (seed+s) サーバ クライアント challenge = n-1,seed 秘密:s f n-1 n-1 response = f (seed+s) f f:メッセージダイジェスト関数 2000/11/6 S.Sano 検証 認証技術・署名技術 19 使い捨てパスワードの問題 ユーザに計算能力が必要 計算ソフトウエア 専用計算機 計算済みのリスト 同じチャレンジ・レスポンスの対が現れる 可能性 秘密の値が類推される可能性 2000/11/6 S.Sano 認証技術・署名技術 20 暗号アルゴリズムによる認証 秘密の鍵を共有 慣用鍵暗号系 秘密鍵による暗号化 公開鍵暗号系 2000/11/6 S.Sano 認証技術・署名技術 21 鍵の量 n人でお互いに認証すると 慣用暗号系の場合 …n × (n - 1) / 2 公開鍵暗号系の場合 … n対 の鍵が必要 公開鍵を用いるとスケールするが 処理に時間が必要 → ハッシュ関数,と組み合わせ 相手の公開鍵の信頼性は? 信頼おける第3者による署名 = 証明書 2000/11/6 S.Sano 認証技術・署名技術 22 メッセージの電子署名 発注書 ベーコン100g 注文します 電子署名された発注書 ベーコン 100g 注文し ます ハッシュ 関数 暗号化 Aの 秘密鍵 署名 2000/11/6 S.Sano 認証技術・署名技術 23 メッセージの電子署名と確認 発注書の 電子署名 ベーコン100g 注文します ハッシュ 関数 暗号化 注文主の 秘密鍵 署名 ベーコン100g 電子署名の 注文します 確認 署名 2000/11/6 S.Sano ハッシュ 関数 比較 暗号化 認証技術・署名技術 注文主の 公開鍵 24 公開鍵の公開がポイント 本当にその公開鍵はそのユーザの公開鍵か? 証明書 鍵を第3者が証明 鍵発行者がユーザの公開鍵をデジタル署名する 鍵発行者の公開鍵は既知 2000/11/6 S.Sano これは 佐野の 印である. 証明書発行局 認証技術・署名技術 25 証明書 公開鍵とその所有者情報の対応を第3者 が,確認して電子署名したもの 印鑑証明書 この鍵はAの 公開鍵である ことを証明します 発行局 X.509証明書 バージョン番号 署名アルゴリズム 発行者名 有効期限 ユーザID 公開鍵 ハッシュ 関数 暗号化 CAの 秘密鍵 関連情報 2000/11/6 S.Sano 署名 認証技術・署名技術 26 公開鍵基盤 PKI – Public Key Infrastructure 証明書発行局(CA)を中心にした公開鍵 の流通基盤 X.509 2000/11/6 S.Sano 認証技術・署名技術 27 CAの機能 CA CA 証明書発行局 (2)本人確認 (1)発行要求 +本人 確認情報 Aの鍵です 発行局 (3)発行 Aの証明書 A B ベーコン100g 注文します A 2000/11/6 S.Sano Aの鍵です 発行局 認証技術・署名技術 28 CA Certification Authority 認証局または証明書発行局 証明書を発行する第三者機関 エンティティの認証と署名(Certificate) 証明取消の確認と署名(CRL) 階層化による分散管理が可能 信用度はポリシとそれに従った運用による 2000/11/6 S.Sano 認証技術・署名技術 29 CAの機能 Registration Authority Issuing Authority 証明書に著名する機能 Publishing Authority 証明書を発行してよいかどうかを判断する機能 証明書を配布する機能 Validation Authority 個々の証明書の有効性を判定する機能 2000/11/6 S.Sano 認証技術・署名技術 30 CAの役割り 他のCAとの連携 (1)公開鍵Aの登録依頼 A A 新規ユーザ 公開鍵DB 証明書発行局(CA) B (2)証明書の発行 ユーザAの公開鍵は A である.発行局 証明書発行局の役割 2000/11/6 S.Sano CA 無効証明書 リスト CRLの 発行 認証技術・署名技術 他ユーザ からの 問い合わせ 31 セキュリティ強化メール メールをやりとりする当事者間でのセキュリティ 強化 メール送信者の認証 メールの改ざん防止 メール内容の秘匿 配送系は従来どおり 二つの方式 PGP - Pretty Good Privacy S/MIME - Secure/Multipurpose Internet Mail Extentions 2000/11/6 S.Sano 認証技術・署名技術 32 SSL Secure Socket Layer Netscape Communications社が提案 主なブラウザに標準実装 インターネット上でのプライバシを保証 盗聴の防止 偽造の防止 改ざんの検出 利用アルゴリズム 機密保護: DES,IDEA,RC4,RC2 認証: RSA,DSS 改ざんの検出: SHA,MD5 2000/11/6 S.Sano 認証技術・署名技術 33 SSLと階層 トランスポート層とアプリケーション層の間 にあり,アプリケーションとは独立 トランスポートのセッションごとの機密保護 と認証 アプリケーション SSL TCP IP Link 2000/11/6 S.Sano 認証技術・署名技術 34 SSLの仕様 X509ベースの証明書を交換 セッション鍵を生成し,相手の公開鍵で封 印し,転送 そのセション鍵をもとに暗号化通信 2000/11/6 S.Sano 認証技術・署名技術 35 SSL セッション鍵の共有方法 サーバ クライアント 接続要求 サーバの公開鍵 Ksrv(証明書) Ksess を Ksrv で暗号化 {Ksess}Ksrv セッション鍵(乱数) Ksess セッション鍵 Ksess 暗号通信 2000/11/6 S.Sano 認証技術・署名技術 36 IPsec IPレベルでの認証/データ暗号化 AH …認証 ESP …暗号化 IPv4 および IPv6 がターゲット 鍵管理プロトコルとは独立 Security Association の確立が前提 トラフィック解析には対処しない 2000/11/6 S.Sano 認証技術・署名技術 37 IPsec(AH) IP Authentication Header IPデータグラムの保全性と認証を提供 (鍵付き)メッセージダイジェストを利用 配送途中で変化する値はメッセージダイ ジェストの対象外 TTL(IPv4) HopLimit (IPv6) 2000/11/6 S.Sano 認証技術・署名技術 38 鍵つきMD5による認証 お互いに秘密鍵をもってメッセージ認証 IPデータグラム MD5 認証子(MIC) MD5 鍵 送信側 2000/11/6 S.Sano 鍵 認証技術・署名技術 比 較 受信側 39 IPsec(ESP) IP Encapsulating Security Payload 機密性を提供 AHとの併用が可能 ペイロード部分のみを暗号化 トンネルモード…IPペイロード全体 トランスポートモード…トランスポート層のみ 2000/11/6 S.Sano 認証技術・署名技術 40 Security Association 通信当事者間で合意した鍵情報 「誰から誰にデータを送る際に」 通信当事者の識別子情報 「どの種類の」 利用する暗号アルゴリズム、パラメータ 「どの鍵を使って」 利用する鍵 IPsecでは SPI で SAを識別 2000/11/6 S.Sano 認証技術・署名技術 41 DES DES - Data Encryption Standard 平文 64bit 米国商務省が規定した暗号基準 商用をベースに広く利用 共通鍵暗号系(慣用暗号系) 64ビットのブロック暗号 DES 鍵 (56+8bit) 2000/11/6 S.Sano 暗号文 64bit DES-1 平文 64bit 鍵 (56+8bit) 認証技術・署名技術 42 DES CBCモード CBC - Cipher Block Chaining 同一平文でも異なった暗号文 IV(初期ベクトル)の割り当て 平文 パケットごとにランダムなIVを生成 DES 暗号文 鍵 2000/11/6 S.Sano DES-1 平文 鍵 認証技術・署名技術 43 トリプルDES DESを,さらに強力に 平文 112ビット鍵(2×56ビット) D D-1 鍵1 鍵2 2000/11/6 S.Sano D 鍵1 暗号文 D-1 D D-1 鍵1 認証技術・署名技術 平文 鍵2 鍵1 44 HMAC Hash Message authentication Code MD5(K XOR opad, MD5(K XOR ipad, text)) ipad = the byte 0x36 repeated 64 times opad = the byte 0x5C repeated 64 times. 2000/11/6 S.Sano 認証技術・署名技術 45 鍵管理の問題点 秘密鍵の安全管理の問題 安全性とシステムの処理効率 バックアップの必要性と危険性 管理する環境の物理的なセキュリティレベル 鍵変更時の影響の問題 鍵の紛失、盗難 証明書の期限切れ 2000/11/6 S.Sano 認証技術・署名技術 46 どの階層で暗号するのか? 階層 アプリケーション層 …ex.メール プレゼンテーション層…ex.SSL ネットワーク層 …ex. IPSec リンク層 …ex. 回線暗号箱 エンドエンドセキュリティの考え方 2000/11/6 S.Sano 認証技術・署名技術 47
© Copyright 2024 ExpyDoc