可證明安全

語義安全

語義安全表示爲攻擊者即使已知某個消息的密文,也得不出該消息的任何部分信息,即使是1比特的信息

​ 在完美保密性中,對於等長的消息m,m屬於可被該加密算法加密的消息空間,當m用密鑰k加密後,加密結果無法得到m的任何信息。形式化的定義爲如下:
在這裏插入圖片描述
​ 目前能夠到達這個安全條件的加密算法只有一次一密(One-time Pad),由於加密使用的密鑰長度至少需要同消息長度相同,因此一次一密在實踐中沒有應用價值。

​ 在實際的加密算法中,只需要保證實際保密性就行。目前按照圖靈機的定義,計算機最多能計算多項式時間(Polynomial Time)內能解決的問題,最多有多項式大的存儲空間(Polynomial Storage)。實際保密性就是計算機無法從加密結果中得到有關明文的任何信息。形式化定義如下:

在這裏插入圖片描述

不可區分性遊戲

加密方案語義安全的概念由不可區分性(Indistinguishability) 遊戲,簡稱IND遊戲來刻畫,這種遊戲是一種思維實驗。其中有2個參與者,一個稱爲挑戰者(challenger),另一個是攻擊者(attacker)。挑戰者建立系統,攻擊者對系統發起挑戰,挑戰者接受攻擊者的挑戰。

公鑰加密方案在選擇明文攻擊下的不可區分性(IND-CPA)

  1. 初始化:挑戰者產生系統E,攻擊者獲得系統的公開鑰
  2. 挑戰:攻擊者輸出兩個長度相同的消息m0和m1。挑戰者隨機選擇b\in{ 0,1},將m1加密,並將密文給攻擊者
  3. 猜測:攻擊者輸出b’,如果b’ = b, 則攻擊者攻擊成功

攻擊者的優勢可定義爲參數k的函數:
Adve,ACPA(k)=Pr[b=b]12 Adv_{e,A}^{CPA}(k) = |Pr[b = b'] - \frac{1}{2}|
​ 其中k是安全參數,用來確定加密方案密鑰的長度。因爲任一個不作爲的攻擊者A,都能通過對b做隨機猜測,而以1/2的概率贏得IND-CPA遊戲。而Pr[b=b]12|Pr[b = b'] - \frac{1}{2}|是攻擊者通過努力得到的,故稱爲攻擊者的優勢。如果攻擊者A式多項式時間,而它的優勢可忽略不計,即Adve,ACPA(k)negl(k)Adv_{e,A}^{CPA}(k)\leq negl(k),negl(k)是一個可忽略函數。此時這個加密算法在選擇明文攻擊下具有不可區分性(IND-CPA安全)

公鑰加密方案在選擇密文攻擊下的不可區分性(IND-CCA)

IND-CPA安全僅僅保證攻擊者是完全被動情況時(即僅做監聽)的安全,不能保證攻擊者是主動情況時(例如向網絡中注入消息)的安全。非適應性選擇密文攻擊(Chosen Ciphertext Attack,CCA)描述了攻擊者的主動攻擊。攻擊者在獲得目標密文以前,可以訪問解密諭言機(Oracle)。諭言機獲得目標密文後,希望獲得目標密文對應的明文的部分信息。

  1. 初始化:挑戰者產生系統E,攻擊者A獲得系統的公開鑰
  2. 訓練:攻擊者向挑戰者(或解密諭言機)做解密詢問(可多次),即取密文c給挑戰者,挑戰者解密後,將明文給攻擊者
  3. 挑戰:攻擊者輸出兩個長度相同的消息m0和m1,再從挑戰者接收mb的密文,其中隨機值b\in{ 0,1}
  4. 猜測:攻擊者輸出b’,如果b’ = b, 則攻擊者攻擊成功

公鑰加密方案在適應性選擇密文攻擊下的不可區分性(IND-CCA2)

適應性選擇密文攻擊 (Adaptive Chosen Ciphertext Attack,CCA2):攻擊者獲得目標密文後,可以向網絡中注入消息(可以和目標密文相關),然後通過和網絡中的用戶交互,獲得與目標密文相應的明文的部分信息

  1. 初始化:挑戰者產生系統E,攻擊者A獲得系統的公開鑰
  2. 訓練階段1:攻擊者向挑戰者(或解密諭言機)做解密詢問(可多次),即取密文c給挑戰者,挑戰者解密後,將明文給攻擊者
  3. 挑戰:攻擊者輸出兩個長度相同的消息m0和m1,再從挑戰者接收mb的密文cb,其中隨機值b\in{ 0,1}
  4. 訓練階段2:攻擊者繼續向挑戰者(或解密諭言機)做解密詢問(可多次),即取密文c(ccbc\not=c_b)給挑戰者,挑戰者解密後將明文給敵手
  5. 猜測:攻擊者輸出b’,如果b’ = b, 則攻擊者攻擊成功

​ 在設計抗擊主動敵手的密碼協議時(如數字簽名、認證、密鑰交換、多方計算等), IND-CCA2安全的密碼系統是有力的密碼原語

原語是指由若干條指令組成的,用於完成 一定功能的一個過程

簽名體制的語義安全性(EUF-CMA)

對於數字簽名體制,存在以下幾種僞造類型

  1. 完全攻破:攻擊者能夠產生與私鑰持有者相同的簽名,這相當於恢復出了私鑰
  2. 選擇性僞造:攻擊者能夠僞造一個他選擇的消息簽名
  3. 存在性僞造:攻擊者能夠僞造一個消息的簽名,這個消息可能僅僅是一個隨機比特串

簽名體制的語義安全性,由不可僞造(Existential Unforgeability)遊戲(簡稱EUF遊戲)來刻畫

  1. 初始階段:挑戰者產生系統E的密鑰對(pk,sk) ,攻擊者A獲得系統的公開鑰
  2. 階段1(簽名詢問):A執行以下的多項式有界次適應性詢問:A提交mi ,挑戰者計算σi=Sign(mi,sk)\sigma_i=Sign(m_i,sk)並返回給A
  3. 輸出:A輸出(m,σ)(m,\sigma),如果m不出現在階段1且Ver(,m,pk)=TVer(,m,pk)=T,則A攻擊成功

簽名體制Π=(KeyGen,Sign,Ver)\Pi=(KeyGen,Sign,Ver)稱爲在適應性選擇消息攻擊下具有存在性不可僞造性(Existential Unforgeability Against Adaptive Chosen Messages Attacks,EUF-CMA),簡稱爲EUF-CMA安全,如果對任何多項式有界時間的敵手,存在 一個可忽略的函數negl(k),使得
AdvSigϵ,ACMA(k)negl(k) AdvSig_{\epsilon,A}^{CMA}(k) \leq negl(k)

參考文獻

[1]劉巍然.如何理解"語義安全(semantic security)"[EB/OL].https://www.zhihu.com/question/37203836/answer/70932036, 2015-11-05.

[2]楊波.密碼學中的可證明安全性[M].清華大學出版社,2017年5月.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章