暗号プロトコル評価結果 独立行政法人情報通信研究機構 1. プロトコル名 :PKMv2 2. 関連する標準 IEEE Std e 使用したツール

Similar documents
cpvp_PKMv2_ProVerif

cpvp_PKM_ProVerif

reduc forall k: key, x: bitstring; HMAC_SHA1(k, x) = hmac(k, x). reduc forall k: key, r: nonce; f1(k, r) = hmac(k, nonce_to_bitstring(r)). reduc foral

fun sign(bitstring, skey): bitstring. reduc forall m: bitstring, k: skey; getmess(sign(m, k)) = m. reduc forall m: bitstring, k: skey; checksign(sign(

2

IPsec徹底入門

スライド 1

untitled

Microsoft PowerPoint - IPsec徹底入門.ppt

<348C8E8D862E696E6464>

<4D F736F F D20838A B F955C8E8682A982E796DA8E9F914F5F A815B FD B A5F E646F63>

サーモモジュール_出力

C02.pdf

人間石川馨と品質管理



橡sirahasi.PDF

IPSEC(Si-RG)

第1回渋谷区基本構想等審議会 議事概要



 

保育の必要性の認定について

2 key. 3


2

<4D F736F F D F81798E518D6C8E9197BF33817A88C38D868B5A8F70834B D31292E646F63>

<4D F736F F F696E74202D204E FEE95F192CA904D835A834C A C F8FBC94F65F88F38DFC94C5>

DTD Reference Guide

AirStationPro初期設定

目次 1. はじめに 用語説明 対象アダプタ P HBA/2P HBAで異なる性能 付録 ( 性能測定環境 ) P HBAでの性能測定環境 P HBAでの性能測定環境 本書の

ICカード利用システムにおいて新たに顕現化したPre-play attackとその対策

2ACL DC NTMobile ID ACL(Access Control List) DC Direction Request DC ID Access Check Request DC ACL Access Check Access Check Access Check Response DC

1.4操作マニュアル+ユニット解説

0.3% 10% 4% 0.8% 5% 5% 23% 53%


1

IPSEC(Si-RGX)

rndc BIND

IPCOMとWindows AzureのIPsec接続について

インターネットVPN_IPoE_IPv6_fqdn

FIDO技術のさらなる広がり

目次 1 本マニュアルについて 概要 サービスご利用前の注意点 基本概念 基本構成図 設定手順 マネージメントツールへのアクセス Smart Device VPN のユーザ管理... 7

ProVerifによる暗号プロトコルの形式的検証

DNSSECの基礎概要

SGX808 IPsec機能

Si-R/Si-R brin シリーズ設定例

資料 5-2 Government 公的個人認証サービスのスマートフォンでの利活用の実現に向けた実証 について iphone に於ける利用者証明書ダウンロードの検証 2016 年 10 月 25 日日本アイ ビー エム株式会社 2016 IBM Corporation

Windows PowerShell 用スクリプト形式編 改版履歴 版数 日付 内容 担当 V /4/1 初版 NII V /2/26 動作環境の変更に伴う修正 NII V /8/21 タイムスタンプ利用手順の追加 NII 目次 1. コード署名用証明

memcached 方式 (No Replication) 認証情報は ログインした tomcat と設定された各 memcached サーバーに認証情報を分割し振り分けて保管する memcached の方系がダウンした場合は ログインしたことのあるサーバーへのアクセスでは tomcat に認証情報

1. PKI (EDB/PKI) (Single Sign On; SSO) (PKI) ( ) Private PKI, Free Software ITRC 20th Meeting (Oct. 5, 2006) T. The University of Tokush

SFTPサーバー作成ガイド

スライド 1

クラウド接続 「Windows Azure」との接続

レポート-hyo1-4.ai

利用のためのPC環境設定

IPSEC-VPN IPsec(Security Architecture for Internet Protocol) IP SA(Security Association, ) SA IKE IKE 1 1 ISAKMP SA( ) IKE 2 2 IPSec SA( 1 ) IPs

マイナンバーカードによる認証と署名

<4D F736F F D D836A B ED28CFC82AF814593FA967B8CEA816A817A2E646F63>

完成卒論.PDF

Cisco Unity と Unity Connection Server の設定

MPX8005c SSL/TLS アプライアンス製品の暗号設定方法等の調査報告書

J J J J

Transcription:

暗号プロトコル評価結果 独立行政法人情報通信研究機構 1. プロトコル名 :PKMv2 2. 関連する標準 IEEE Std 802.16e-2005 http://standards.ieee.org/getieee802/download/802.16e-2005.pdf 3. 使用したツール :Scyther 4. 評価の概要 :Scyther による評価では weak agreement への攻撃の可能性が指摘されているが ペイロードの改ざんがされるわけではないので 攻撃としての意味はない 5.Scyther による評価 5.1. シーケンス記述 usertype String; usertype Number; hashfunction hmac; //---- message 2: SS->BS macro Cert-SS = pk(ss); macro AuthRequest-payload = (Cert-SS, Ns); macro AuthRequest = (AuthRequest-payload, {AuthRequest-payload}sk(SS)); //---- message3: BS->SS macro AuthReply-payload = (Ns, Nb, {prepak}pk(ss), pk(bs)); macro AuthReply = (AuthReply-payload, {AuthReply-payload}sk(SS)); //---- message 4: SS->BS macro AuthComp = (Nb, {Nb}sk(SS)); //---- key derivation hashfunction Dot16KDF; hashfunction SHA; macro AK = Dot16KDF(prePAK, SS); macro KEK = SHA(AK); //---- message 5: BS->SS macro TekChallenge-payload = (BSrandom, sqn);

macro TekChallenge = (TekChallenge-payload, hmac(tekchallenge-payload, AK)); //---- message 6: SS->BS macro KeyRequest-payload = (SSrandom, BSrandom, sqn); macro KeyRequest = (KeyRequest-payload, hmac(keyrequest-payload, AK)); //---- message 7: BS->SS macro KeyReply-payload = (SSrandom, BSrandom, sqn, {TEK}KEK); macro KeyReply = (KeyReply-payload, hmac(keyreply-payload, AK)); //////////////////////////////////////////////////////// protocol PKMv2(SS, BS) { /****************************************************/ role SS //peer { // variables // AK exchange fresh Ns: Nonce; var Nb: Nonce; var prepak: Nonce; // TEK exchange var sqn: Number; //key sequence number var BSrandom: Nonce; fresh SSrandom: Nonce; var TEK: Nonce; //traffic encryption key // sequence //---- 7.2.1: SS authorization and AK exchange ---- // send_1(ss,bs, AuthInfo); send_2(ss,bs, AuthRequest);

recv_3(bs,ss, AuthReply); send_4(ss,bs, AuthComp); //---- 7.2.2: TEK exchange recv_5(bs,ss, TekChallenge); claim(ss, Running, BS, AK); send_6(ss,bs, KeyRequest); recv_7(bs,ss, KeyReply); claim(ss, Running, BS, TEK); // security properties } /****************************************************/ role BS //server { // variables // AK exchange var Ns: Nonce; fresh Nb: Nonce; fresh prepak: Nonce; // TEK exchange fresh sqn: Number; //key sequence number fresh BSrandom: Nonce; var SSrandom: Nonce; fresh TEK: Nonce; //traffic encryption key // sequence //---- 7.2.1: SS authorization and AK exchange ----

// recv_1(ss,bs, AuthInfo); recv_2(ss,bs, AuthRequest); send_3(bs,ss, AuthReply); recv_4(ss,bs, AuthComp); //---- 7.2.2: TEK exchange send_5(bs,ss, TekChallenge); recv_6(ss,bs, KeyRequest); claim(bs, Running, SS, AK); claim(bs, Running, SS, TEK); send_7(bs,ss, KeyReply); // security properties } } 5.2. 攻撃者モデル Scyther はデフォルトで Dolev-Yao モデルの通信路を想定しているため Scyther を利用し た評価で攻撃者モデルについて記載すべき項目はない 5.3. セキュリティプロパティの記述 // ロール SS のセキュリティプロパティ claim(ss, SKR, AK); claim(ss, SKR, TEK); claim(ss, Alive); claim(ss, Weakagree); claim(ss, Commit, BS, AK); claim(ss, Commit, BS, TEK); // ロール BS のセキュリティプロパティ claim(bs, SKR, AK); claim(bs, SKR, TEK); claim(bs, Alive);

claim(bs, Weakagree); claim(bs, Commit, SS, AK); claim(bs, Commit, SS, TEK); 5.4. 検証結果 評価ツールの出力 claim PKMv2,SS SKR_SS3 Dot16KDF(prePAK,SS) Ok [no attack within bounds] claim PKMv2,SS SKR_SS4 TEK Ok [no attack within bounds] claim PKMv2,SS Alive_SS5 - Ok [no attack within bounds] claim PKMv2,SS Weakagree_SS6 - Ok [no attack within bounds] claim PKMv2,SS Commit_SS7 (BS,Dot16KDF(prePAK,SS)) Ok [no attack within bounds] claim PKMv2,SS Commit_SS8 (BS,TEK) Ok [no attack within bounds] claim PKMv2,BS SKR_BS3 Dot16KDF(prePAK,SS) Ok [no attack within bounds] claim PKMv2,BS SKR_BS4 TEK Ok [no attack within bounds] claim PKMv2,BS Alive_BS5 - Ok [proof of correctness] claim PKMv2,BS Weakagree_BS6 - Ok [no attack within bounds] claim PKMv2,BS Commit_BS7 (SS,Dot16KDF(prePAK,SS)) Ok [no attack within bounds] claim PKMv2,BS Commit_BS8 (SS,TEK) Fail [at least 3 attacks] すなわち PKMv2 の認証 (+ 鍵 TEK の共有 ) は ロール BS の鍵 TEK に関する agreement を満 たさない

攻撃に関する解説次ページの図は PKMv2 がロール BS について weak agreement を満たさない例である 攻撃者 通信路上を流れたメッセージの一部を用いて 以降のメッセージの改ざんを行っている しかし ペイロードの値が変わるわけではないので この攻撃は本質的なものではないと考えられる 実際 すべてのデータに関する agreement を調べる claim(niagree) で評価を行ったところ 攻撃は見つからなかった

図.1 攻撃に関する解説 5.5. モデル化 モデル化プロセス AuthInfo メッセージはロール BS が知らない認証局が作成している可能性がある証明書を送付しており 暗号プロトコルとしては無意味であるため省略した PKM では 1 回の鍵交換で 2 つの鍵 TEK を交換する ( うち 1 つは前回交換したもの ) 評価時間が大幅に増加する上 1 回の鍵交換処理では妥当なモデル化が難しいため 1 つの鍵

TEK を交換するモデルとした SAID, Capabilities, KeyLifetime は省略した 5.6. モデル化の妥当性 交換するセッション鍵を 1 つとしたため 複数のセッションをまたがる場合の暗号プロト コルの安全性については妥当な評価となっていない可能性がある 5.7. 評価ツールとの相性 暗号プロトコルの記述可能性 Scyther は BS が知らない ( 可能性がある ) 認証局をモデル化することができない しかし これが評価結果に影響を与える可能性は小さいと考える セキュリティプロパティの記述可能性 特になし 5.8 評価ツールの性能 CPU:Intel Xeon E5502 1.87GHz メモリ:48GB OS:Ubuntu Linux 9 64-bit 版 評価に要した時間: 約 4 時間 30 分 5.9. 備考 本文書は 総務省 暗号 認証技術等を用いた安全な通信環境推進事業に関する実証実験 の請負成果報告書 からの引用である