Upgrade to Pro — share decks privately, control downloads, hide ads and more …

エンドツーエンド暗号化SFrameの安全性評価

Ryoma Ito
October 27, 2021

 エンドツーエンド暗号化SFrameの安全性評価

研究発表 @ CSS 2021

Ryoma Ito

October 27, 2021
Tweet

More Decks by Ryoma Ito

Other Decks in Research

Transcript

  1. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 エンドツーエンド暗号化(E2EE)

    エンドツーエンド暗号化(上)とクライアント・サーバ間の暗号化(下)の違い 通信するエンドユーザのみが暗号化・復号可能な⽅式 n 通信システムの提供者であってもメッセージの盗聴・改ざん不可 n スノーデン⽒の暴露事件により,国家規模の監視・盗聴に対するE2EEの必 要性が⼤ サービスプロバイダ 安全な通信路 サービスプロバイダ 安全な通信路 安全な通信路 ? 2 はじめに
  2. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 エンドツーエンド暗号化(E2EE)

    通信するエンドユーザのみが暗号化・復号可能な⽅式 n 通信システムの提供者であってもメッセージの盗聴・改ざん不可 n スノーデン⽒の暴露事件により,国家規模の監視・盗聴に対するE2EEの必 要性が⼤ 3 多くのメッセージアプリケーションやビデオ会議システムで採⽤ n Signal Protocol [CCD+17] を採⽤ u WhatsApp, Facebook Messenger, Signal n Secure Frame (SFrame) [OUGM21] を採⽤予定 u Google Duo, Cisco Webex, Jitsi Meet n 独⾃のプロトコルを採⽤ u iMessage (Apple), LINE, Zoom [CCD+17] K. Cohn-Gordon et al. A Formal Security Analysis of the Signal Messaging Protocol. In EuroS&P 2017 [OUGM21] E. Omara et al. Secure Frame (SFrame). https://tools.ietf.org/ html/draft-omara-sframe-03 (October 2021). はじめに
  3. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 SFrame

    4 [OUGM21] E. Omara et al. Secure Frame (SFrame). https://tools.ietf.org/ html/draft-omara-sframe-03 (October 2021). リアルタイム通信⽤のE2EE技術 n 設計者:GoogleとCoSMo softwareのグループ n 仕様書:インターネットドラフト [OUGM21] u 暗号プロトコル:認証暗号,ハッシュ関数,署名アルゴリズム u 鍵交換プロトコル:Signal,Olm,MLSなどを利⽤ n 評価対象: draft-omara-sframe-01* SFrame
  4. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 暗号プロトコル(draft-omara-sframe-01)

    5 No. 名称 鍵⻑ ナンス⻑ タグ⻑ 1 AES_CM_128_HMAC_SHA256_8 16バイト 12バイト 8バイト 2 AES_CM_128_HMAC_SHA256_4 16バイト 12バイト 4バイト 3 AES_GCM_128_SHA256 16バイト 12バイト N/A 4 AES_GCM_256_SHA512 32バイト 12バイト N/A *CM: カウンタモード n 認証暗号 u AES-GCM,AES-CM-HMAC (AES-CTRとHMACの⼀般的構成) n ハッシュ関数 u SHA256,SHA512 n 署名アルゴリズム u EdDSA over Ed25519,ECDSA over P-521 u タグ(のリスト)に対して署名を計算 SFrame 暗号スイート
  5. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 暗号プロトコル(draft-omara-sframe-01)

    6 No. 名称 鍵⻑ ナンス⻑ タグ⻑ 1 AES_CM_128_HMAC_SHA256_8 16バイト 12バイト 8バイト 2 AES_CM_128_HMAC_SHA256_4 16バイト 12バイト 4バイト 3 AES_GCM_128_SHA256 16バイト 12バイト N/A 4 AES_GCM_256_SHA512 32バイト 12バイト N/A *CM: カウンタモード n 認証暗号 u AES-GCM,AES-CM-HMAC (AES-CTRとHMACの⼀般的構成) n ハッシュ関数 u SHA256,SHA512 n 署名アルゴリズム u EdDSA over Ed25519,ECDSA over P-521 u タグ(のリスト)に対して署名を計算 SFrame 暗号スイート Sig = Sign(𝐾!"# , 𝑻𝒊 ∥ 𝑻𝒊%𝟏 ∥ ⋯ ∥ 𝑻𝒊%𝒙)
  6. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 本研究の貢献

    7 No. 対象 タグ⻑*1 攻撃種別 攻撃者*2 備考 1 認証暗号 任意 - - 問題点*3を議論 2 AES-CM-HMAC 短 偽造攻撃 MGM - 3 AES-CM-HMAC ⻑ - - 安全性証明済 4 AES-GCM 任意 偽造攻撃 MGM - 5 AES-GCM 短 認証鍵回復攻撃 MU - *1 8バイト以下が短いタグ⻑,それ以上が⻑いタグ⻑と仮定(攻撃者の能⼒に依存) *2 MGM (Malicious Group Member):悪意のあるグループメンバー,グループ鍵を所有 *2 MU (Malicious User):悪意のあるユーザ,グループ鍵を⾮所有 *3 SFrameでは安全であるものの,⼀般的構成を考えた場合に安全性が損なわれる問題 具体的な攻撃⽅法,その実⾏可能性,攻撃に対する効果的な対策⼿法を提案 認証暗号と署名アルゴリズムの使⽤に関する重⼤な⽋陥を発⾒ 2021年3⽉:SFrameの設計者に報告済,ドラフト更新(01 → 02) n 問題点*3の改善,仕様から署名アルゴリズムを削除 はじめに
  7. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 本研究の貢献

    8 No. 対象 タグ⻑*1 攻撃種別 攻撃者*2 備考 1 認証暗号 任意 - - 問題点*3を議論 2 AES-CM-HMAC 短 偽造攻撃 MGM - 3 AES-CM-HMAC ⻑ - - 安全性証明済 4 AES-GCM 任意 偽造攻撃 MGM - 5 AES-GCM 短 認証鍵回復攻撃 MU - *1 8バイト以下が短いタグ⻑,それ以上が⻑いタグ⻑と仮定(攻撃者の能⼒に依存) *2 MGM (Malicious Group Member):悪意のあるグループメンバー,グループ鍵を所有 *2 MU (Malicious User):悪意のあるユーザ,グループ鍵を⾮所有 *3 SFrameでは安全であるものの,⼀般的構成を考えた場合に安全性が損なわれる問題 具体的な攻撃⽅法,その実⾏可能性,攻撃に対する効果的な対策⼿法を提案 認証暗号と署名アルゴリズムの使⽤に関する重⼤な⽋陥を発⾒ 2021年3⽉:SFrameの設計者に報告済,ドラフト更新(01 → 02) n 問題点*3の改善,仕様から署名アルゴリズムを削除 はじめに
  8. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 本研究の貢献

    9 No. 対象 タグ⻑*1 攻撃種別 攻撃者*2 備考 1 認証暗号 任意 - - 問題点*3を議論 2 AES-CM-HMAC 短 偽造攻撃 MGM - 3 AES-CM-HMAC ⻑ - - 安全性証明済 4 AES-GCM 任意 偽造攻撃 MGM - 5 AES-GCM 短 認証鍵回復攻撃 MU - *1 8バイト以下が短いタグ⻑,それ以上が⻑いタグ⻑と仮定(攻撃者の能⼒に依存) *2 MGM (Malicious Group Member):悪意のあるグループメンバー,グループ鍵を所有 *2 MU (Malicious User):悪意のあるユーザ,グループ鍵を⾮所有 *3 SFrameでは安全であるものの,⼀般的構成を考えた場合に安全性が損なわれる問題 具体的な攻撃⽅法,その実⾏可能性,攻撃に対する効果的な対策⼿法を提案 認証暗号と署名アルゴリズムの使⽤に関する重⼤な⽋陥を発⾒ 2021年3⽉:SFrameの設計者に報告済,ドラフト更新(01 → 02) n 問題点*3の改善,仕様から署名アルゴリズムを削除 安全性評価
  9. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果1:SFrameで使⽤する認証暗号の安全性

    10 以下で⽰す⼀般的な仮定の下で安全 n AES:擬似ランダム置換 n HMAC:擬似ランダム関数 安全性評価 Algorithm 2 AES-CM-HMACによる暗号化とタグ生成 Input: 𝑀, aad, 𝐾! "#$, 𝐾% "#$, 𝑁 Output: 𝐶, 𝑇 1: procedure AEAD.Encryption(𝐾! "#$, 𝐾% "#$, 𝑁, aad, 𝑀) 2: 𝐶 = AES-CTR.Encryption(𝐾! "#$, 𝑁, 𝑀) 3: 𝑇 = Tag.Generation(𝐾% "#$, aad, 𝐶) Tag.Generation(𝑲𝒂 𝑲𝑰𝑫, 𝑵, 𝐚𝐚𝐝, 𝑪) 4: end procedure 問題点の議論:AES-CM-HMACの⼀般的構成に対する安全性 n タグ⽣成において𝑵が⽋如 u aadに𝑁として機能するCTRが含まれているためSFrameでは問題なし u aadと𝑁が独⽴の場合,⼀般的構成に対して安全性が損なわれる
  10. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果1:SFrameで使⽤する認証暗号の安全性

    11 以下で⽰す⼀般的な仮定の下で安全 n AES:擬似ランダム置換 n HMAC:擬似ランダム関数 問題点の議論:AES-CM-HMACの⼀般的構成に対する安全性 n タグ⽣成において𝑵が⽋如 u aadに𝑁として機能するCTRが含まれているためSFrameでは問題なし u aadと𝑁が独⽴の場合,⼀般的構成に対して安全性が損なわれる 安全性評価 Algorithm 2 AES-CM-HMACによる暗号化とタグ生成 Input: 𝑀, aad, 𝐾! "#$, 𝐾% "#$, 𝑁 Output: 𝐶, 𝑇 1: procedure AEAD.Encryption(𝐾! "#$, 𝐾% "#$, 𝑁, aad, 𝑀) 2: 𝐶 = AES-CTR.Encryption(𝐾! "#$, 𝑁, 𝑀) 3: 𝑇 = Tag.Generation(𝑲𝒂 𝑲𝑰𝑫, 𝐚𝐚𝐝, 𝑪) Tag.Generation(𝑲𝒂 𝑲𝑰𝑫, 𝑵, 𝐚𝐚𝐝, 𝑪) 4: end procedure
  11. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果1:SFrameで使⽤する認証暗号の安全性

    12 Algorithm 2 AES-CM-HMACによる暗号化とタグ生成 Input: 𝑀, aad, 𝐾! "#$, 𝐾% "#$, 𝑁 Output: 𝐶, 𝑇 1: procedure AEAD.Encryption(𝐾! "#$, 𝐾% "#$, 𝑁, aad, 𝑀) 2: 𝐶 = AES-CTR.Encryption(𝐾! "#$, 𝑁, 𝑀) 3: 𝑇 = Tag.Generation(𝐾% "#$, aad, 𝐶) Tag.Generation(𝑲𝒂 𝑲𝑰𝑫, 𝑵, 𝐚𝐚𝐝, 𝑪) 4: end procedure 以下で⽰す⼀般的な仮定の下で安全 n AES:擬似ランダム置換 n HMAC:擬似ランダム関数 安全性評価 問題点の議論:AES-CM-HMACの⼀般的構成に対する安全性 n タグ⽣成において𝑵が⽋如 u aadに𝑁として機能するCTRが含まれているためSFrameでは問題なし u aadと𝑁が独⽴の場合,⼀般的構成に対して安全性が損なわれる
  12. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    13 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オフラインフェーズ 1. 認証暗号への⼊⼒ 𝑁, aad, 𝑀 を選択 2. 選択した 𝑁, aad, 𝑀 に対応する暗号⽂ 𝐶 と 𝜏 ビットタグ 𝑇 を計算 3. 𝐶, 𝑇 ペアを事前計算テーブルに保存 4. ステップ 1-3 を異なるメッセージ 𝑀 で 2* 回繰り返し実⾏ ターゲット メンバー 攻撃者 (メンバー) 安全性評価
  13. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    14 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オフラインフェーズ 1. 認証暗号への⼊⼒ 𝑵, 𝐚𝐚𝐝, 𝑴 を選択 2. 選択した 𝑁, aad, 𝑀 に対応する暗号⽂ 𝐶 と 𝜏 ビットタグ 𝑇 を計算 3. 𝐶, 𝑇 ペアを事前計算テーブルに保存 4. ステップ 1-3 を異なるメッセージ 𝑀 で 2* 回繰り返し実⾏ ターゲット メンバー 攻撃者 (メンバー) 安全性評価
  14. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    15 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オフラインフェーズ 1. 認証暗号への⼊⼒ 𝑁, aad, 𝑀 を選択 2. 選択した 𝑵, 𝐚𝐚𝐝, 𝑴 に対応する暗号⽂ 𝑪 と 𝝉 ビットタグ 𝑻 を計算 3. 𝐶, 𝑇 ペアを事前計算テーブルに保存 4. ステップ 1-3 を異なるメッセージ 𝑀 で 2* 回繰り返し実⾏ ターゲット メンバー 攻撃者 (メンバー) 安全性評価
  15. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    16 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オフラインフェーズ 1. 認証暗号への⼊⼒ 𝑁, aad, 𝑀 を選択 2. 選択した 𝑁, aad, 𝑀 に対応する暗号⽂ 𝐶 と 𝜏 ビットタグ 𝑇 を計算 3. 𝑪, 𝑻 ペアを事前計算テーブルに保存 4. ステップ 1-3 を異なるメッセージ 𝑀 で 2* 回繰り返し実⾏ ターゲット メンバー 攻撃者 (メンバー) 安全性評価 𝐶 𝑇 ⋮ ⋮ 𝐶∗ 𝑇∗ ⋮ ⋮
  16. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    17 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オフラインフェーズ 1. 認証暗号への⼊⼒ 𝑁, aad, 𝑀 を選択 2. 選択した 𝑁, aad, 𝑀 に対応する暗号⽂ 𝐶 と 𝜏 ビットタグ 𝑇 を計算 3. 𝐶, 𝑇 ペアを事前計算テーブルに保存 4. ステップ 1-3 を異なるメッセージ 𝑴 で 𝟐𝒕 回繰り返し実⾏ ターゲット メンバー 攻撃者 (メンバー) 安全性評価 𝐶 𝑇 ⋮ ⋮ 𝐶∗ 𝑇∗ ⋮ ⋮
  17. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    18 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オンラインフェーズ 1. ターゲットメンバーから送信されたフレーム 𝑵, 𝐚𝐚𝐝, 𝑪,, 𝑻,, 𝐒𝐢𝐠 を傍受 2. 事前計算テーブルから 𝑇∗ = 𝑇, かつ 𝐶∗ ≠ 𝐶, となる 𝐶∗, 𝑇∗ ペアを探索 3. 該当するペアが存在する場合,フレーム内の 𝐶, を 𝐶∗ に差し替えたフレー ム 𝑁, aad, 𝐶∗, 𝑇′, Sig を他のグループメンバーに送信 ターゲット メンバー 攻撃者 (メンバー) 安全性評価 𝐶 𝑇 ⋮ ⋮ 𝐶∗ 𝑇∗ ⋮ ⋮ 𝑁, aad, 𝑪(, 𝑻(, Sig
  18. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    19 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オンラインフェーズ 1. ターゲットメンバーから送信されたフレーム 𝑁, aad, 𝐶,, 𝑇,, Sig を傍受 2. 事前計算テーブルから 𝑻∗ = 𝑻, かつ 𝑪∗ ≠ 𝑪, となる 𝑪∗, 𝑻∗ ペアを探索 3. 該当するペアが存在する場合,フレーム内の 𝐶, を 𝐶∗ に差し替えたフレー ム 𝑁, aad, 𝐶∗, 𝑇′, Sig を他のグループメンバーに送信 ターゲット メンバー 攻撃者 (メンバー) 安全性評価 𝑁, aad, 𝑪(, 𝑻(, Sig 𝐶 𝑇 ⋮ ⋮ 𝑪∗ 𝑻∗ ⋮ ⋮ = 𝑻′
  19. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    20 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オンラインフェーズ 1. ターゲットメンバーから送信されたフレーム 𝑁, aad, 𝐶,, 𝑇,, Sig を傍受 2. 事前計算テーブルから 𝑇∗ = 𝑇, かつ 𝐶∗ ≠ 𝐶, となる 𝐶∗, 𝑇∗ ペアを探索 3. 該当するペアが存在する場合,フレーム内の 𝑪, を 𝑪∗ に差し替えたフレー ム 𝑵, 𝐚𝐚𝐝, 𝑪∗, 𝑻′, 𝐒𝐢𝐠 を他のグループメンバーに送信 ターゲット メンバー 攻撃者 (メンバー) 安全性評価 𝑁, aad, 𝑪(, 𝑻(, Sig 𝐶 𝑇 ⋮ ⋮ 𝑪∗ 𝑻∗ ⋮ ⋮ = 𝑻′ 𝑁, aad, 𝑪∗, 𝑻′, Sig
  20. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果2:短いタグを出⼒するAES-CM-HMACの安全性

    21 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:4/8バイトの短いタグを出⼒ u タグ(のリスト)に対して署名Sigを計算 オンラインフェーズ 1. ターゲットメンバーから送信されたフレーム 𝑁, aad, 𝐶,, 𝑇,, Sig を傍受 2. 事前計算テーブルから 𝑇∗ = 𝑇, かつ 𝐶∗ ≠ 𝐶, となる 𝐶∗, 𝑇∗ ペアを探索 3. 該当するペアが存在する場合,フレーム内の 𝐶, を 𝐶∗ に差し替えたフレー ム 𝑁, 𝑎𝑎𝑑, 𝐶∗, 𝑇′, Sig を他のグループメンバーに送信 ターゲット メンバー 攻撃者 (メンバー) 安全性評価 𝑁, aad, 𝑪(, 𝑻(, Sig 𝐶 𝑇 ⋮ ⋮ 𝑪∗ 𝑻∗ ⋮ ⋮ = 𝑻′ 𝑁, aad, 𝑪∗, 𝑻′, Sig タグ長が4バイトの場合: n 232 通りの 𝑪∗, 𝑻∗ ペアを 事前計算テーブルに保存 n 攻撃成功確率:1
  21. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果3:⻑いタグを出⼒するAES-CM-HMACの安全性

    22 定理1.𝒜 を AES-CM-HMAC に対する SCU 攻撃者とする.この時,AES-CM- HMAC に対する 𝒜 の SCU advantage は,𝐻 に対していかなる eSec 攻撃者 𝒜, が存在する場合においても,以下の不等式が成⽴する. 𝐀𝐝𝐯𝐀𝐄𝐒1𝐂𝐌1𝐇𝐌𝐀𝐂 𝐒𝐂𝐔 𝓐 < 𝟐𝐀𝐝𝐯 𝑯 𝐞𝐒𝐞𝐜 9 ℓ" 𝓐, ここで, ℓ, はハッシュ関数への⼊⼒ビット⻑ ℓ に1ブロック分のビット⻑を 追加した値を表す.ハッシュ関数が SHA256 の場合は ℓ, = ℓ+512 である. SCU 安全性 [DGRW18] n 攻撃者に秘密鍵が与えられた状況でメッセージの偽造困難性を保証 Second-ciphertext Unforgeability (SCU) 安全な認証暗号 [DGRW18] Y. Dodis et al. Fast Message Franking: From Invisible salamanders to encryptment. In CRYPTO 2018. [RS04] P. Rogaway and T. Shrimpton. Cryptographic Hash Function Basics. In FSE 2004. Everywhere Second-Preimage (eSec) 耐性 [RS04] n ⼀般的な第2原像計算困難性よりも強⼒な安全性要件 u SHA256, SHA512 安全性評価
  22. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果4:任意⻑のタグを出⼒するAES-GCMの安全性

    23 GHASH演算の具体例: n 2ブロックのメッセージ M = (M1 , M2 ) と 1ブロックの関連データ aad = aad1 𝑻 = GHASH 𝐿, aad ∥ 𝐶 ∥ Len aad, 𝐶 ⊕ 𝐸" 𝑁 ∥ 1 = 𝐚𝐚𝐝𝟏 Q 𝑳𝟒 ⊕ 𝑪𝟏 Q 𝑳𝟑 ⊕ 𝑪𝟐 Q 𝑳𝟐 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏, 𝑪 Q 𝑳 ⊕ 𝑬𝑲 𝑵 ∥ 𝟏 𝐶? = 𝐸" 𝑁 ∥ 𝑖 + 1 ⊕ 𝑀? *認証鍵:𝐿 = 𝐸" 0@AB 𝑪𝟐 , Q 𝑳𝟐 = 𝑻 ⊕ 𝐚𝐚𝐝𝟏 , Q 𝑳𝟒 ⊕ 𝑪𝟏 , Q 𝑳𝟑 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏 , , 𝑪, Q 𝑳 ⊕ 𝑬𝑲 𝑵, ∥ 𝟏 攻撃⼿順 1. 任意の 𝑴𝟏 , , 𝑵,, 𝐚𝐚𝐝𝟏 , を選択し,𝑪𝟏 , を計算 2. 以下の等式が成り⽴つように 𝑪𝟐 , を決定 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:GHASH関数の線形性(鍵が与えられた状況で容易に偽造可能) u タグ(のリスト)に対して署名Sigを計算 安全性評価
  23. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果4:任意⻑のタグを出⼒するAES-GCMの安全性

    24 GHASH演算の具体例: n 2ブロックのメッセージ M = (M1 , M2 ) と 1ブロックの関連データ aad = aad1 𝑻 = GHASH 𝐿, aad ∥ 𝐶 ∥ Len aad, 𝐶 ⊕ 𝐸" 𝑁 ∥ 1 = 𝐚𝐚𝐝𝟏 Q 𝑳𝟒 ⊕ 𝑪𝟏 Q 𝑳𝟑 ⊕ 𝑪𝟐 Q 𝑳𝟐 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏, 𝑪 Q 𝑳 ⊕ 𝑬𝑲 𝑵 ∥ 𝟏 𝐶? = 𝐸" 𝑁 ∥ 𝑖 + 1 ⊕ 𝑀? *認証鍵:𝐿 = 𝐸" 0@AB 𝑪𝟐 , Q 𝑳𝟐 = 𝑻 ⊕ 𝐚𝐚𝐝𝟏 , Q 𝑳𝟒 ⊕ 𝑪𝟏 , Q 𝑳𝟑 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏 , , 𝑪, Q 𝑳 ⊕ 𝑬𝑲 𝑵, ∥ 𝟏 攻撃⼿順 1. 任意の 𝑴𝟏 , , 𝑵,, 𝐚𝐚𝐝𝟏 , を選択し,𝑪𝟏 , を計算 2. 以下の等式が成り⽴つように 𝑪𝟐 , を決定 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:GHASH関数の線形性(鍵が与えられた状況で容易に偽造可能) u タグ(のリスト)に対して署名Sigを計算 安全性評価
  24. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果4:任意⻑のタグを出⼒するAES-GCMの安全性

    25 GHASH演算の具体例: n 2ブロックのメッセージ M = (M1 , M2 ) と 1ブロックの関連データ aad = aad1 𝑻 = GHASH 𝐿, aad ∥ 𝐶 ∥ Len aad, 𝐶 ⊕ 𝐸" 𝑁 ∥ 1 = 𝐚𝐚𝐝𝟏 Q 𝑳𝟒 ⊕ 𝑪𝟏 Q 𝑳𝟑 ⊕ 𝑪𝟐 Q 𝑳𝟐 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏, 𝑪 Q 𝑳 ⊕ 𝑬𝑲 𝑵 ∥ 𝟏 𝐶? = 𝐸" 𝑁 ∥ 𝑖 + 1 ⊕ 𝑀? *認証鍵:𝐿 = 𝐸" 0@AB 𝑪𝟐 , Q 𝑳𝟐 = 𝑻 ⊕ 𝐚𝐚𝐝𝟏 , Q 𝑳𝟒 ⊕ 𝑪𝟏 , Q 𝑳𝟑 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏 , , 𝑪, Q 𝑳 ⊕ 𝑬𝑲 𝑵, ∥ 𝟏 攻撃⼿順 1. 任意の 𝑴𝟏 , , 𝑵,, 𝐚𝐚𝐝𝟏 , を選択し,𝑪𝟏 , を計算 2. 以下の等式が成り⽴つように 𝑪𝟐 , を決定 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:GHASH関数の線形性(鍵が与えられた状況で容易に偽造可能) u タグ(のリスト)に対して署名Sigを計算 安全性評価
  25. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果4:任意⻑のタグを出⼒するAES-GCMの安全性

    26 GHASH演算の具体例: n 2ブロックのメッセージ M = (M1 , M2 ) と 1ブロックの関連データ aad = aad1 𝑻 = GHASH 𝐿, aad ∥ 𝐶 ∥ Len aad, 𝐶 ⊕ 𝐸" 𝑁 ∥ 1 = 𝐚𝐚𝐝𝟏 Q 𝑳𝟒 ⊕ 𝑪𝟏 Q 𝑳𝟑 ⊕ 𝑪𝟐 Q 𝑳𝟐 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏, 𝑪 Q 𝑳 ⊕ 𝑬𝑲 𝑵 ∥ 𝟏 𝐶? = 𝐸" 𝑁 ∥ 𝑖 + 1 ⊕ 𝑀? *認証鍵:𝐿 = 𝐸" 0@AB 𝑪𝟐 , Q 𝑳𝟐 = 𝑻 ⊕ 𝐚𝐚𝐝𝟏 , Q 𝑳𝟒 ⊕ 𝑪𝟏 , Q 𝑳𝟑 ⊕ 𝐋𝐞𝐧 𝐚𝐚𝐝𝟏 , , 𝑪, Q 𝑳 ⊕ 𝑬𝑲 𝑵, ∥ 𝟏 攻撃⼿順 1. 任意の 𝑴𝟏 , , 𝑵,, 𝐚𝐚𝐝𝟏 , を選択し,𝑪𝟏 , を計算 2. 以下の等式が成り⽴つように 𝑪𝟐 , を決定 悪意のあるグループメンバーによって偽造攻撃が可能 n 問題点:GHASH関数の線形性(鍵が与えられた状況で容易に偽造可能) u タグ(のリスト)に対して署名Sigを計算 安全性評価
  26. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果5:短いタグを出⼒するAES-GCMの安全性

    27 t 32 64 L q 21 222 22 220 23 218 24 215 25 213 26 211 211 232 213 229 215 226 217 223 219 220 221 217 c 262 262 261 265 266 267 275 274 273 272 271 270 [MW16] J. Mattson et al. Authentication key recovery on galois/counter mode (GCM). In AFRICACRYPT 2016. l t:タグ⻑(ビット) l L:暗号⽂と関連データを組み合わせたバイト⻑の最⼤値 l q:GHASH関数の最⼤呼び出し回数 l c:制約事項 (L, q) を厳守する場合の認証鍵回復攻撃にかかるデータ量 悪意のあるユーザによって認証鍵回復攻撃が可能 n 問題点:短いタグを出⼒するAES-GCM使⽤時の制約事項が未記載 NISTが定める制約事項 (L, q) [MW16] 制約事項 (L, q) を厳守しない場合: n 認証鍵を 2* のデータ量で復元可能(4バイトタグの場合:2CA )[MW16] 安全性評価
  27. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果5:短いタグを出⼒するAES-GCMの安全性

    28 t 32 64 L q 21 222 22 220 23 218 24 215 25 213 26 211 211 232 213 229 215 226 217 223 219 220 221 217 c 262 262 261 265 266 267 275 274 273 272 271 270 [MW16] J. Mattson et al. Authentication key recovery on galois/counter mode (GCM). In AFRICACRYPT 2016. l t:タグ⻑(ビット) l L:暗号⽂と関連データを組み合わせたバイト⻑の最⼤値 l q:GHASH関数の最⼤呼び出し回数 l c:制約事項 (L, q) を厳守する場合の認証鍵回復攻撃にかかるデータ量 悪意のあるユーザによって認証鍵回復攻撃が可能 n 問題点:短いタグを出⼒するAES-GCM使⽤時の制約事項が未記載 NISTが定める制約事項 (L, q) [MW16] 制約事項 (L, q) を厳守しない場合: n 認証鍵を 2* のデータ量で復元可能(4バイトタグの場合:2CA )[MW16] 安全性評価
  28. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 結果5:短いタグを出⼒するAES-GCMの安全性

    29 t 32 64 L q 21 222 22 220 23 218 24 215 25 213 26 211 211 232 213 229 215 226 217 223 219 220 221 217 c 262 262 261 265 266 267 275 274 273 272 271 270 [MW16] J. Mattson et al. Authentication key recovery on galois/counter mode (GCM). In AFRICACRYPT 2016. l t:タグ⻑(ビット) l L:暗号⽂と関連データを組み合わせたバイト⻑の最⼤値 l q:GHASH関数の最⼤呼び出し回数 l c:制約事項 (L, q) を厳守する場合の認証鍵回復攻撃にかかるデータ量 悪意のあるユーザによって認証鍵回復攻撃が可能 n 問題点:短いタグを出⼒するAES-GCM使⽤時の制約事項が未記載 NISTが定める制約事項 (L, q) [MW16] 制約事項 (L, q) を厳守しない場合: n 認証鍵を 𝟐𝒕 のデータ量で復元可能(4バイトタグの場合:2CA )[MW16] 安全性評価
  29. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 対策

    30 [DGRW18] Dodis et al. Fast message franking: From invisible salamanders to encryptment. In CRYPTO 2018 安全性評価 短いタグを出⼒するAES-CM-HMACへの偽造攻撃 n 短いタグ⻑,特に4バイトのタグを出⼒するAES-CM-HMACを使⽤しない 任意⻑のタグを出⼒するAES-GCMへの偽造攻撃 n タグ(のリスト)だけでなくフレーム全体に対して署名を計算 短いタグを出⼒するAES-GCMへの認証鍵回復攻撃 n 短いタグを出⼒するAES-GCMを使⽤しない n NISTが⽰す制約事項を仕様に明記 その他 n HFC [DGRW18] のような安全なEncryptment⽅式を採⽤
  30. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 まとめ

    31 No. 対象 タグ⻑*1 攻撃種別 攻撃者*2 備考 1 認証暗号 任意 - - 問題点*3を議論 2 AES-CM-HMAC 短 偽造攻撃 MGM - 3 AES-CM-HMAC ⻑ - - 安全性証明済 4 AES-GCM 任意 偽造攻撃 MGM - 5 AES-GCM 短 認証鍵回復攻撃 MU - *1 8バイト以下が短いタグ⻑,それ以上が⻑いタグ⻑と仮定(攻撃者の能⼒に依存) *2 MGM (Malicious Group Member):悪意のあるグループメンバー,グループ鍵を所有 *2 MU (Malicious User):悪意のあるユーザ,グループ鍵を⾮所有 *3 SFrameでは安全であるものの,⼀般的構成を考えた場合に安全性が損なわれる問題 具体的な攻撃⽅法,その実⾏可能性,攻撃に対する効果的な対策⼿法を提案 認証暗号と署名アルゴリズムの使⽤に関する重⼤な⽋陥を発⾒ 2021年3⽉:SFrameの設計者に報告済,ドラフト更新(01 → 02) n 問題点*3の改善,仕様から署名アルゴリズムを削除
  31. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 暗号プロトコル(draft-omara-sframe-01)

    33 frame_metadata frame 𝑀 S header KID CTR aad 𝐾! "#$, 𝐾% "#$ 𝑁 𝑠𝑎𝑙𝑡"#$ AEAD.Encryption encrypted frame 𝐶 + tag 𝑇& RTP packetization header Payload 𝐶' (1/𝑁) Payload 𝐶( (2/𝑁) ⋯ Payload 𝐶) (𝑁/𝑁) 𝑇& , ⋯ , 𝑇&*+ Sig Sig = Sign(𝐾,-. , 𝑇& ∥ 𝑇&*' ∥ ⋯ ∥ 𝑇&*+) if S = 1. 1. aad (additional associated data) ⽣成 l header + frame_metadata 2. 暗号化鍵 𝐾* +,- ,認証鍵*1 𝐾. +,- ⽣成 l KeyStore[KID]: グループ鍵の保管庫*2 l HKDF: グループ鍵から鍵導出 3. ナンス 𝑁 ⽣成 l 𝑠𝑎𝑙𝑡#$%: KeyStore[KID], HKDF l 𝑁 = 𝑠𝑎𝑙𝑡#$% ⊕ CTR 4. AEAD.Encryption l ⼊⼒:𝐾& #$%, 𝐾' #$%, 𝑁, aad, 𝑀 l 出⼒:𝐶, 𝑇( 5. 署名 Sig ⽣成 (S = 1の場合) l Sign(𝐾)*+ , 𝑇( ∥ 𝑇(,- ∥ ⋯ ∥ 𝑇(,.) 6. RTPパケット化 l header + payload + tag + Sig *1暗号スイートによって⽣成の有無が異なる *2事前に鍵共有が完了していることを前提 付録
  32. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 34

    frame_metadata frame 𝑀 S header KID CTR aad 𝐾! "#$, 𝐾% "#$ 𝑁 𝑠𝑎𝑙𝑡"#$ AEAD.Encryption encrypted frame 𝐶 + tag 𝑇& RTP packetization header Payload 𝐶' (1/𝑁) Payload 𝐶( (2/𝑁) ⋯ Payload 𝐶) (𝑁/𝑁) 𝑇& , ⋯ , 𝑇&*+ Sig Sig = Sign(𝐾,-. , 𝑇& ∥ 𝑇&*' ∥ ⋯ ∥ 𝑇&*+) if S = 1. 1. aad (additional associated data) ⽣成 l header + frame_metadata 2. 暗号化鍵 𝐾* +,- ,認証鍵*1 𝐾. +,- ⽣成 l KeyStore[KID]: グループ鍵の保管庫*2 l HKDF: グループ鍵から鍵導出 3. ナンス 𝑁 ⽣成 l 𝑠𝑎𝑙𝑡#$%: KeyStore[KID], HKDF l 𝑁 = 𝑠𝑎𝑙𝑡#$% ⊕ CTR 4. AEAD.Encryption l ⼊⼒:𝐾& #$%, 𝐾' #$%, 𝑁, aad, 𝑀 l 出⼒:𝐶, 𝑇( 5. 署名 Sig ⽣成 (S = 1の場合) l Sign(𝐾)*+ , 𝑇( ∥ 𝑇(,- ∥ ⋯ ∥ 𝑇(,.) 6. RTPパケット化 l header + payload + tag + Sig *1暗号スイートによって⽣成の有無が異なる *2事前に鍵共有が完了していることを前提 暗号プロトコル(draft-omara-sframe-01) 付録
  33. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 35

    frame_metadata frame 𝑀 S header KID CTR aad 𝐾! "#$, 𝐾% "#$ 𝑁 𝑠𝑎𝑙𝑡"#$ AEAD.Encryption encrypted frame 𝐶 + tag 𝑇& RTP packetization header Payload 𝐶' (1/𝑁) Payload 𝐶( (2/𝑁) ⋯ Payload 𝐶) (𝑁/𝑁) 𝑇& , ⋯ , 𝑇&*+ Sig Sig = Sign(𝐾,-. , 𝑇& ∥ 𝑇&*' ∥ ⋯ ∥ 𝑇&*+) if S = 1. 1. aad (additional associated data) ⽣成 l header + frame_metadata 2. 暗号化鍵 𝑲𝒆 𝑲𝑰𝑫 ,認証鍵*1 𝑲𝒂 𝑲𝑰𝑫 ⽣成 l KeyStore[KID]: グループ鍵の保管庫*2 l HKDF: グループ鍵から鍵導出 3. ナンス 𝑵 ⽣成 l 𝒔𝒂𝒍𝒕𝑲𝑰𝑫: KeyStore[KID], HKDF l 𝑵 = 𝒔𝒂𝒍𝒕𝑲𝑰𝑫 ⊕ 𝐂𝐓𝐑 4. AEAD.Encryption l ⼊⼒:𝐾& #$%, 𝐾' #$%, 𝑁, aad, 𝑀 l 出⼒:𝐶, 𝑇( 5. 署名 Sig ⽣成 (S = 1の場合) l Sign(𝐾)*+ , 𝑇( ∥ 𝑇(,- ∥ ⋯ ∥ 𝑇(,.) 6. RTPパケット化 l header + payload + tag + Sig *1暗号スイートによって⽣成の有無が異なる *2事前に鍵共有が完了していることを前提 暗号プロトコル(draft-omara-sframe-01) 付録
  34. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 36

    frame_metadata frame 𝑀 S header KID CTR aad 𝐾! "#$, 𝐾% "#$ 𝑁 𝑠𝑎𝑙𝑡"#$ AEAD.Encryption encrypted frame 𝐶 + tag 𝑇& RTP packetization header Payload 𝐶' (1/𝑁) Payload 𝐶( (2/𝑁) ⋯ Payload 𝐶) (𝑁/𝑁) 𝑇& , ⋯ , 𝑇&*+ Sig Sig = Sign(𝐾,-. , 𝑇& ∥ 𝑇&*' ∥ ⋯ ∥ 𝑇&*+) if S = 1. 1. aad (additional associated data) ⽣成 l header + frame_metadata 2. 暗号化鍵 𝐾* +,- ,認証鍵*1 𝐾. +,- ⽣成 l KeyStore[KID]: グループ鍵の保管庫*2 l HKDF: グループ鍵から鍵導出 3. ナンス 𝑁 ⽣成 l 𝑠𝑎𝑙𝑡#$%: KeyStore[KID], HKDF l 𝑁 = 𝑠𝑎𝑙𝑡#$% ⊕ CTR 4. AEAD.Encryption l ⼊⼒:𝑲𝒆 𝐊𝐈𝐃, 𝑲𝒂 𝐊𝐈𝐃, 𝑵, 𝐚𝐚𝐝, 𝑴 l 出⼒:𝑪, 𝑻𝒊 5. 署名 Sig ⽣成 (S = 1の場合) l Sign(𝐾)*+ , 𝑇( ∥ 𝑇(,- ∥ ⋯ ∥ 𝑇(,.) 6. RTPパケット化 l header + payload + tag + Sig *1暗号スイートによって⽣成の有無が異なる *2事前に鍵共有が完了していることを前提 暗号プロトコル(draft-omara-sframe-01) 付録
  35. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 37

    frame_metadata frame 𝑀 S header KID CTR aad 𝐾! "#$, 𝐾% "#$ 𝑁 𝑠𝑎𝑙𝑡"#$ AEAD.Encryption encrypted frame 𝐶 + tag 𝑇& RTP packetization header Payload 𝐶' (1/𝑁) Payload 𝐶( (2/𝑁) ⋯ Payload 𝐶) (𝑁/𝑁) 𝑇& , ⋯ , 𝑇&*+ Sig Sig = Sign(𝐾,-. , 𝑇& ∥ 𝑇&*' ∥ ⋯ ∥ 𝑇&*+) if S = 1. 1. aad (additional associated data) ⽣成 l header + frame_metadata 2. 暗号化鍵 𝐾* +,- ,認証鍵*1 𝐾. +,- ⽣成 l KeyStore[KID]: グループ鍵の保管庫*2 l HKDF: グループ鍵から鍵導出 3. ナンス 𝑁 ⽣成 l 𝑠𝑎𝑙𝑡#$%: KeyStore[KID], HKDF l 𝑁 = 𝑠𝑎𝑙𝑡#$% ⊕ CTR 4. AEAD.Encryption l ⼊⼒:𝐾& #$%, 𝐾' #$%, 𝑁, aad, 𝑀 l 出⼒:𝐶, 𝑇( 5. 署名 Sig ⽣成 (S = 1の場合) l Sign(𝑲𝐬𝐢𝐠 , 𝑻𝒊 ∥ 𝑻𝒊,𝟏 ∥ ⋯ ∥ 𝑻𝒊,𝒙) 6. RTPパケット化 l header + payload + tag + Sig *1暗号スイートによって⽣成の有無が異なる *2事前に鍵共有が完了していることを前提 暗号プロトコル(draft-omara-sframe-01) 付録
  36. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 38

    frame_metadata frame 𝑀 S header KID CTR aad 𝐾! "#$, 𝐾% "#$ 𝑁 𝑠𝑎𝑙𝑡"#$ AEAD.Encryption encrypted frame 𝐶 + tag 𝑇& RTP packetization header Payload 𝐶' (1/𝑁) Payload 𝐶( (2/𝑁) ⋯ Payload 𝐶) (𝑁/𝑁) 𝑇& , ⋯ , 𝑇&*+ Sig Sig = Sign(𝐾,-. , 𝑇& ∥ 𝑇&*' ∥ ⋯ ∥ 𝑇&*+) if S = 1. 1. aad (additional associated data) ⽣成 l header + frame_metadata 2. 暗号化鍵 𝐾* +,- ,認証鍵*1 𝐾. +,- ⽣成 l KeyStore[KID]: グループ鍵の保管庫*2 l HKDF: グループ鍵から鍵導出 3. ナンス 𝑁 ⽣成 l 𝑠𝑎𝑙𝑡#$%: KeyStore[KID], HKDF l 𝑁 = 𝑠𝑎𝑙𝑡#$% ⊕ CTR 4. AEAD.Encryption l ⼊⼒:𝐾& #$%, 𝐾' #$%, 𝑁, aad, 𝑀 l 出⼒:𝐶, 𝑇( 5. 署名 Sig ⽣成 (S = 1の場合) l Sign(𝐾)*+ , 𝑇( ∥ 𝑇(,- ∥ ⋯ ∥ 𝑇(,.) 6. RTPパケット化 l header + payload + tag + Sig *1暗号スイートによって⽣成の有無が異なる *2事前に鍵共有が完了していることを前提 暗号プロトコル(draft-omara-sframe-01) 付録
  37. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 HFC

    [DGRW18] 39 付録 [DGRW18] Dodis et al. Fast message franking: From invisible salamanders to encryptment. In CRYPTO 2018 𝑓 𝑓 𝑓 ⋯ 𝐾 IV 𝐻- 𝑀- 𝑇 𝑓 𝑀= 𝐾 𝐾 𝑀- 𝐾 𝑀= 𝐶- 𝐶=
  38. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 定理1

    40 定理1.𝒜 を AES-CM-HMAC に対する SCU 攻撃者とする.この時,AES-CM- HMAC に対する 𝒜 の SCU advantage は,𝐻 に対していかなる eSec 攻撃者 𝒜, が存在する場合においても,以下の不等式が成⽴する. 𝐀𝐝𝐯𝐀𝐄𝐒1𝐂𝐌1𝐇𝐌𝐀𝐂 𝐒𝐂𝐔 𝓐 < 𝟐𝐀𝐝𝐯 𝑯 𝐞𝐒𝐞𝐜 9 ℓ" 𝓐, ここで, ℓ, はハッシュ関数への⼊⼒ビット⻑ ℓ に1ブロック分のビット⻑を 追加した値を表す.ハッシュ関数が SHA256 の場合は ℓ, = ℓ+512 である. SCU 安全性 [DGRW18] n 攻撃者に秘密鍵が与えられた状況でメッセージの偽造困難性を保証 Second-ciphertext Unforgeability (SCU) 安全な認証暗号 [DGRW18] Y. Dodis et al. Fast Message Franking: From Invisible salamanders to encryptment. In CRYPTO 2018. [RS04] P. Rogaway and T. Shrimpton. Cryptographic Hash Function Basics. In FSE 2004. Everywhere Second-Preimage (eSec) 耐性 [RS04] n ⼀般的な第2原像計算困難性よりも強⼒な安全性要件 u SHA256, SHA512 付録
  39. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 定理1の証明

    41 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 𝑫𝒍,𝟏 𝑻 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 ∗ 𝑫𝒍,𝟏 ∗ 𝑻∗ 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺∗ 𝐷 = aad𝐿𝑒𝑛 ∥ aad ∥ 𝐶 𝐷∗ = aad𝐿𝑒𝑛 ∥ aad ∥ 𝐶∗ 付録
  40. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 定理1の証明

    42 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 𝑫𝒍,𝟏 𝑻 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 ∗ 𝑫𝒍,𝟏 ∗ 𝑻∗ 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺∗ 𝑺 = 𝑺∗ ? Case 1: 𝒜 finds 𝑆 = 𝑆∗ 付録
  41. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 定理1の証明

    43 𝑻 = 𝑻∗ ? 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 𝑫𝒍,𝟏 𝑻 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 ∗ 𝑫𝒍,𝟏 ∗ 𝑻∗ 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺∗ 𝑺 ≠ 𝑺∗ Case 2: 𝒜 finds 𝑆 ≠ 𝑆∗ and 𝑇 = 𝑇∗ 付録
  42. 五⼗部孝典,伊藤⻯⾺,峯松⼀彦 2021年10⽉27⽇ CSS 2021 @ オンライン エンドツーエンド暗号化 SFrame に対する安全性評価 定理1の証明

    44 𝑻 = 𝑻∗ ? 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 𝑫𝒍,𝟏 𝑻 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺 𝑓 𝑓 𝑓 ⋯ 𝐾 ⊕ 𝑖𝑝𝑎𝑑 IV 𝑫𝟎 ∗ 𝑫𝒍,𝟏 ∗ 𝑻∗ 𝑓 𝑓 𝐾 ⊕ 𝑜𝑝𝑎𝑑 IV 𝑺∗ 𝑺 = 𝑺∗ ? Case 1: 𝒜 finds 𝑆 = 𝑆∗ Case 2: 𝒜 finds 𝑆 ≠ 𝑆∗ and 𝑇 = 𝑇∗ 𝐀𝐝𝐯𝐀𝐄𝐒,𝐂𝐌,𝐇𝐌𝐀𝐂 𝐒𝐂𝐔 𝓐 ≤ 𝐀𝐝𝐯 𝑯 𝐞𝐒𝐞𝐜 J ℓ/ 𝓐L + 𝐀𝐝𝐯𝑯 𝐞𝐒𝐞𝐜 J𝟏𝟎𝟐𝟒 𝓐L 𝐀𝐝𝐯𝐀𝐄𝐒,𝐂𝐌,𝐇𝐌𝐀𝐂 𝐒𝐂𝐔 𝓐 < 𝟐𝐀𝐝𝐯 𝑯 𝐞𝐒𝐞𝐜 J ℓ/ 𝓐L ① ② 付録