Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
安全性を証明するために
知っておくべき4つのこと
東京理科大学大学院 理工学研究科 情報科学専攻
柴田 崇夫 (@shibataka000)
はじめに


暗号系の安全性ってどうやって証明するの?

うわっ…私の安全性,
低すぎ…?
アジェンダ


どう安全なのか?



どんな攻撃に対して安全なのか?



どの程度安全なのか?



どうやって安全性を示すのか?
安全性の種類
どう安全なのか
どんな攻撃に対して安全なのか
どの程度安全なのか
どうやって安全性を示すのか
安全性の種類


計算量的安全性





金と時間をかければ解ける
RSAなど

情報理論的安全性




絶対に解けないことが保証される
|平文|≦|鍵| を満たす必要があり,非効率的
One Time Padなど
攻撃モデル
どう安全なのか
どんな攻撃に対して安全なのか
どの程度安全なのか
どうやって安全性を示すのか
攻撃モデル


暗号文単独攻撃(COA)



既知平文攻撃(KPA)



選択平文攻撃(CPA)



選択暗号文攻撃(CCA1)



適応型選択暗号文攻撃(CCA2)
攻撃モデル(1/3)


暗号文単独攻撃(COA)





暗号文のみから鍵や平文を求める
全探索や頻度分析など

既知平文攻撃(KPA)



既知の平文・暗号文ペアから鍵を求める
線形解読法など
攻撃モデル(2/3)


選択平文攻撃(CPA)



任意の平文に対する暗号文が得られるモデル
公開鍵暗号はCPAに対する安全性を示す必要あり
攻撃モデル(3/3)


選択暗号文攻撃(CCA1)




任意の暗号文に対する平文が得られるモデル

適応型選択暗号文攻撃(CCA2)



任意の暗号文に対する平文が得られるモデル
得た平文を見てから,次に得る平文を決定できる
攻撃モデル


暗号文単独攻撃(COA)



既知平文攻撃(KPA)



選択平文攻撃(CPA)



選択暗号文攻撃(CCA1)



適応型選択暗号文攻撃(CCA2)

弱い

強い
安全性の達成度
どう安全なのか
どんな攻撃に対して安全なのか
どの程度安全なのか
どうやって安全性を示すのか
安全性の達成度


識別不可能性(IND)



KDM安全性



強秘匿性



頑強性(NM)
安全性の達成度(1/2)


識別不可能性(IND)





m1の暗号文とm2の暗号文の識別できない
一般的に“安全“といえばコレ?

KDM安全性



秘密鍵の多項式表現を平文とした場合の
識別不可能性
つまり Encpk(...
安全性の達成度(2/2)


強秘匿性





暗号文から平文に関する一切の情報を得られない
文献によってはこれを識別不可能性と呼ぶ

頑強性(NM)


c=Encpk(m)が与えられた時,ある関係R(m,m’)を
満たすc’=E...
安全性の達成度


識別不可能性(IND)



KDM安全性



強秘匿性



頑強性(NM)

低い

高い
攻撃モデルと安全性の組み合わせ
識別不可能性
(IND)
選択平文攻撃
(CPA)
選択暗号文攻撃
(CCA1)
適応型
選択暗号文攻撃
(CCA2)

頑強性
(NM)

IND-CPA

NM-CPA

IND-CCA1

NM-CCA1
...
安全性定義のアプローチ
どう安全なのか
どんな攻撃に対して安全なのか
どの程度安全なのか
どうやって安全性を示すのか
安全性定義のアプローチ


ゲームベース定義



シミュレーション定義
ゲームベース定義(識別不可能性)
攻撃者

実験者

公開鍵 pk
平文 m0 , m1

b  {0,1}
c  Enc ( pk , m b )

暗号文 c
output b'

Pr[ b  b ' ] 

1
2


ゲームベース定義(識別不可能性)
攻撃者

実験者
公開鍵 pk
暗号文を見分ける確率がランダムより
どれだけ高いかを意味する
平文 m0 , m1
εを攻撃者のアドバンテージという
b  {0,1}

εがnegligible(漸近的に0に...
シミュレーション定義
プロトコル


Eve

Bob
IDEAL

REAL
Eve
機能
TPP(Trusted Third Party)→ F

Bob
シミュレーション定義
プロトコル


Eve
REAL

Bob

_人人人 人人_
> 完全に一致 <
Eve
 ̄Y^Y^Y^Y^Y ̄

IDEAL
Bob

機能
TPP(Trusted Third Party)→ F
※厳密には“実質...
シミュレーション定義


結合定理


安全性が証明されたプロトコルを直列に
組み合わせたとき,そのプロトコルは安全である.
プロトコル中に
他のことをしない

Alice

Eve
シミュレーション定義


汎用的結合可能性(UC)



並列に結合されたプロトコルの安全性定義
何らかの神を設定しないと安全性は保証できない
プロトコル中に
他のことをする

Alice

Eve
神託機械


ランダムオラクル




真に一様分布のランダムな値を出力する
入力が同じなら,出力は同じになる
神託機械の一種(現実には存在しない)
おわりに
まとめ


どう安全なのか?



どんな攻撃に対して安全なのか?



どの程度安全なのか?



どうやって安全性を示すのか?
参考文献
公開鍵暗号の歴史とその発展
(pdf資料)
 暗号プロトコルの安全性定義と結合定理
(pdf資料)
 KDM安全性 - 秘密鍵に依存した文章を暗号
化した時の安全性について
(IEICE解説論文)

Prochain SlideShare
Chargement dans…5
×

安全性を証明するために知っておくべき4つのこと

4 716 vues

Publié le

  • Soyez le premier à commenter

安全性を証明するために知っておくべき4つのこと

  1. 1. 安全性を証明するために 知っておくべき4つのこと 東京理科大学大学院 理工学研究科 情報科学専攻 柴田 崇夫 (@shibataka000)
  2. 2. はじめに  暗号系の安全性ってどうやって証明するの? うわっ…私の安全性, 低すぎ…?
  3. 3. アジェンダ  どう安全なのか?  どんな攻撃に対して安全なのか?  どの程度安全なのか?  どうやって安全性を示すのか?
  4. 4. 安全性の種類 どう安全なのか どんな攻撃に対して安全なのか どの程度安全なのか どうやって安全性を示すのか
  5. 5. 安全性の種類  計算量的安全性    金と時間をかければ解ける RSAなど 情報理論的安全性    絶対に解けないことが保証される |平文|≦|鍵| を満たす必要があり,非効率的 One Time Padなど
  6. 6. 攻撃モデル どう安全なのか どんな攻撃に対して安全なのか どの程度安全なのか どうやって安全性を示すのか
  7. 7. 攻撃モデル  暗号文単独攻撃(COA)  既知平文攻撃(KPA)  選択平文攻撃(CPA)  選択暗号文攻撃(CCA1)  適応型選択暗号文攻撃(CCA2)
  8. 8. 攻撃モデル(1/3)  暗号文単独攻撃(COA)    暗号文のみから鍵や平文を求める 全探索や頻度分析など 既知平文攻撃(KPA)   既知の平文・暗号文ペアから鍵を求める 線形解読法など
  9. 9. 攻撃モデル(2/3)  選択平文攻撃(CPA)   任意の平文に対する暗号文が得られるモデル 公開鍵暗号はCPAに対する安全性を示す必要あり
  10. 10. 攻撃モデル(3/3)  選択暗号文攻撃(CCA1)   任意の暗号文に対する平文が得られるモデル 適応型選択暗号文攻撃(CCA2)   任意の暗号文に対する平文が得られるモデル 得た平文を見てから,次に得る平文を決定できる
  11. 11. 攻撃モデル  暗号文単独攻撃(COA)  既知平文攻撃(KPA)  選択平文攻撃(CPA)  選択暗号文攻撃(CCA1)  適応型選択暗号文攻撃(CCA2) 弱い 強い
  12. 12. 安全性の達成度 どう安全なのか どんな攻撃に対して安全なのか どの程度安全なのか どうやって安全性を示すのか
  13. 13. 安全性の達成度  識別不可能性(IND)  KDM安全性  強秘匿性  頑強性(NM)
  14. 14. 安全性の達成度(1/2)  識別不可能性(IND)    m1の暗号文とm2の暗号文の識別できない 一般的に“安全“といえばコレ? KDM安全性   秘密鍵の多項式表現を平文とした場合の 識別不可能性 つまり Encpk(sk) の安全性
  15. 15. 安全性の達成度(2/2)  強秘匿性    暗号文から平文に関する一切の情報を得られない 文献によってはこれを識別不可能性と呼ぶ 頑強性(NM)  c=Encpk(m)が与えられた時,ある関係R(m,m’)を 満たすc’=Encpk(m’)を生成することは不可能
  16. 16. 安全性の達成度  識別不可能性(IND)  KDM安全性  強秘匿性  頑強性(NM) 低い 高い
  17. 17. 攻撃モデルと安全性の組み合わせ 識別不可能性 (IND) 選択平文攻撃 (CPA) 選択暗号文攻撃 (CCA1) 適応型 選択暗号文攻撃 (CCA2) 頑強性 (NM) IND-CPA NM-CPA IND-CCA1 NM-CCA1 IND-CCA2 NM-CCA2
  18. 18. 安全性定義のアプローチ どう安全なのか どんな攻撃に対して安全なのか どの程度安全なのか どうやって安全性を示すのか
  19. 19. 安全性定義のアプローチ  ゲームベース定義  シミュレーション定義
  20. 20. ゲームベース定義(識別不可能性) 攻撃者 実験者 公開鍵 pk 平文 m0 , m1 b  {0,1} c  Enc ( pk , m b ) 暗号文 c output b' Pr[ b  b ' ]  1 2 
  21. 21. ゲームベース定義(識別不可能性) 攻撃者 実験者 公開鍵 pk 暗号文を見分ける確率がランダムより どれだけ高いかを意味する 平文 m0 , m1 εを攻撃者のアドバンテージという b  {0,1} εがnegligible(漸近的に0に等しい)なとき c  Enc ( pk , m b ) 暗号文 c この暗号方式は識別不可能性を有する output b' Pr[ b  b ' ]  1 2 
  22. 22. シミュレーション定義 プロトコル  Eve Bob IDEAL REAL Eve 機能 TPP(Trusted Third Party)→ F Bob
  23. 23. シミュレーション定義 プロトコル  Eve REAL Bob _人人人 人人_ > 完全に一致 < Eve  ̄Y^Y^Y^Y^Y ̄ IDEAL Bob 機能 TPP(Trusted Third Party)→ F ※厳密には“実質的に区別できない”場合に成功
  24. 24. シミュレーション定義  結合定理  安全性が証明されたプロトコルを直列に 組み合わせたとき,そのプロトコルは安全である. プロトコル中に 他のことをしない Alice Eve
  25. 25. シミュレーション定義  汎用的結合可能性(UC)   並列に結合されたプロトコルの安全性定義 何らかの神を設定しないと安全性は保証できない プロトコル中に 他のことをする Alice Eve
  26. 26. 神託機械  ランダムオラクル    真に一様分布のランダムな値を出力する 入力が同じなら,出力は同じになる 神託機械の一種(現実には存在しない)
  27. 27. おわりに
  28. 28. まとめ  どう安全なのか?  どんな攻撃に対して安全なのか?  どの程度安全なのか?  どうやって安全性を示すのか?
  29. 29. 参考文献 公開鍵暗号の歴史とその発展 (pdf資料)  暗号プロトコルの安全性定義と結合定理 (pdf資料)  KDM安全性 - 秘密鍵に依存した文章を暗号 化した時の安全性について (IEICE解説論文) 

×