密碼學知識領域 (3) 密碼學安全模型

發布時間:2024-05-06 閱讀:3395

網路安全知識體系

密碼學 (3).

加密安全模型現代密碼學採用了一種“可證明安全”的方法來消除加密結構的安全性。 基本的設計過程是解密加密方案的語法。 這給出了構成方案的演算法的輸入和輸出行為,以及定義的正確性。 然後,為安全模型提供給定方案中模型的預期安全目標。 然後,給定乙個符合給定語法的特定例項化,相對於一些已知的謎題,給出例項化安全性的正式證明。

安全證明不是絕對的安全保證。 這證明,如果正確實現,給定的例項化滿足給定的安全模型,並假設一些困難的問題確實很困難。 因此,如果攻擊者可以在模型之外執行操作,或者設法打破潛在的難題,那麼證據就毫無價值。 然而,對於經過充分研究的模型和謎題,安全性證明可以提供強有力的保證,即給定的結構沒有根本弱點。

在以下小節中,我們將更詳細地介紹這些想法,然後給出一些安全宣告的例子; 有關語法和安全性的更多詳細資訊。 在較高層次上,這些定義的原因是加密結構是安全的直觀概念是不夠的。 例如,加密安全性的自然原因是攻擊者不應能夠恢復解密金鑰,或者攻擊者不應能夠恢復訊息。 在乙個密文下加密。 雖然這些想法對於任何安全方案都是必要的,但它們還不夠。 當攻擊者能夠對合法使用者進行選擇性明文和選擇性密文攻擊時,我們需要防止攻擊者尋求有關加密訊息的一些資訊。

2.1. 基本方案的語法

加密方案的語法由向上執行該方案的演算法以及正確性的定義定義。 這種正確性定義了當存在非敵對行為時可以預期的行為。 例如,對稱加密方案由三種演算法(Keygen、Enke、Dec)定義。凱基演算法是一種概率演算法,它輸出乙個對稱金鑰 k 凱基 (); Enke 是一種概率演算法,它接受一條訊息 m、一些隨機性 r 和乙個鍵並返回 c enke (m, k; r);另一方面,December (通常)是一種確定性演算法,它採用密文和金鑰並返回底層明文。 正確性定義為:

k←keygen(),r←r,m←m,dec(enc(m,k;r),k)=m.

對於公鑰加密方案,定義類似,但現在 keygen() 輸出金鑰對,正確性定義變為:

pk,sk)←keygen(),r←r,m←m,dec(enc(m,pk;r),sk)=m.

身份驗證機制的等效構造是對稱金鑰設定中的訊息身份驗證(或 MAC)和公鑰設定中的數字簽名方案。 MAC方案由三重演算法(KeyGen,Mac,Verify)給出,其中MAC函式輸出給定訊息和金鑰的標籤(可能還有一些隨機硬幣),驗證功能檢查訊息,標籤和金鑰是否一致。 簽名方案由類似的三元組(keygen、sign、verify)給出,生成的標籤現在稱為“簽名”。

因此,這些結構的正確性定義如下。

k←keygen(),r←r,m←m,verify(m,mac(m,k;r),k)=true.

and(pk,sk)←keygen(),r←r,m←m,verify(m,sign(m,sk;r),pk)=true.

請注意,對於確定性 MACS,驗證演算法通常只是重新計算 MAC 標記 MAC(M,K),然後檢查它是否是收到的內容。

2.2基本安全定義

安全定義通常是在攻擊者的安全目標上下文中給出的,然後是他們的能力。 因此,例如,加密的乙個樸素的安全目標可能是恢復底層明文,即所謂的單向(或OW)安全性。 攻擊者試圖獲取特定目標的過程稱為安全博弈,如果攻擊者能夠以比隨機猜測更大的概率破壞該安全目標,則攻擊者將贏得遊戲。 這種相對於隨機猜測的概率優勢稱為對手優勢。 這些能力以我們讓對手訪問的預言機或功能來表示。 因此,例如,在乙個幼稚的加密安全遊戲中,我們可能根本不會給對手任何預言機,從而產生所謂的被動攻擊(或傳球)能力。

攻擊者被建模為任意演算法或圖靈機,如果我們讓對手訪問預言機,那麼我們將其寫為下標 ao。 在我們令人討厭的安全遊戲中,稱為ow-pass,對手沒有預言機,其目標只是恢復給定密文背後的訊息。 確切的定義如圖 1 所示,其中 ADVOW pass(a,t) 表示給定對手相對於隨機猜測的優勢。 執行時間t之後。 我們說,如果上述優勢對於所有概率多項式時間對手 a 都可以忽略不計,那麼給定的結構在給定模型中是安全的(我們的樸素示例將被命名為 ow-pass)。 在這裡,可忽略不計的時間和多項式時間是根據安全引數來衡量的,可以將其視為金鑰大小。 請注意,對於 ow-pass,這假定訊息空間不大於所有可能鍵的空間。 另請注意,這是乙個漸近定義,在具有固定金鑰大小的方案的上下文中沒有意義。 在這種情況下,我們要求 (t adv) 大於某些給定的特定邊界,例如 2128,因為人們認為,即使對於民族國家的對手來說,執行需要 2128 步的演算法也是不可行的。

在密碼學(對稱和公鑰)的背景下,上述樸素的安全目標被認為不適合實際應用。 相反,安全目標通常與無法區分的加密(或 IND)一起使用。 這要求攻擊者首先提出兩個長度相等的明文,然後挑戰者(或環境)對其中乙個進行加密,並將由此產生的挑戰交給攻擊者。 然後,攻擊者的目標是確定哪個明文是加密的。 在被動攻擊的背景下,這給出了優勢的陳述,如圖 1 的第二部分所示,其中對手的兩個階段由 A1 和 A2 給出。

在加密方面,上述被動攻擊幾乎總是不足以捕獲現實世界的對抗能力,因為真實系統幾乎總是為攻擊者提供額外的攻擊媒介。 因此,通常會考慮其他兩種(越來越強)的攻擊能力。 這些是選擇性明文攻擊(或 CPA 功能),攻擊者可以訪問加密預言機來加密他選擇的任意訊息,以及選擇性密文攻擊(或 CCA 功能),攻擊者擁有加密和解密預言機。 在公鑰方案的情況下,攻擊者始終可以訪問加密預言機,因為它可以使用公鑰為自己加密明文,因此在這種情況下,PASS 和 CPA 是等效的。 在 CCA 功能的情況下,我們限制解密預言機,以便對手可能不會要求它挑戰密文 C; 否則,它可以輕鬆贏得安全遊戲。 因此,IND-CCA 對手相對於公鑰加密方案的優勢將被定義為圖 1 中的第三個定義。 其他安全定義可用於加密(例如真實或隨機),但以上是主要的。

圖 1:技術安全定義

在MAC(或數字簽名方案)的情況下,標準的安全目標是提出乙個訊息標記(或訊息簽名)對,該對通過演算法進行驗證,即所謂的通用偽造(或UF)攻擊。 我們並不認為該訊息沒有任何意義,事實上,如果攻擊者能夠在任何位字串上建立簽名,那麼他就贏了。 如果對手沒有得到神諭,那麼他就被認為發動了被動攻擊,如果對手被賦予了標籤 spawn(或簽署神諭)。 據說他正在執行選擇訊息攻擊 (CMA)。 在後一種情況下,偽造不能是給定預言機的輸出之一。 在MAC安全的情況下,還可以讓對手訪問標記驗證預言機。 但是,對於確定性 Mac,CMA 功能暗示了這一點,因此通常會將其刪除,因為驗證僅涉及重新計算 MAC。

同樣,我們定義了乙個優勢,並要求它在安全引數中可以忽略不計。 對於數字簽名,UF-CMA 博弈的優勢由圖 1 中的第四個方程給出。

2.3 謎題

如上所述,安全證明總是與拼圖的某些部分有關。 這些謎題通常被稱為加密基元,因為它們是可以構建加密方案和協議的最小原子物件。 這種加密原語有兩種型別:函式鍵控複雜性的理論定義,或數學難題。

在前一種情況下,可以考慮乙個函式。 fk():對沖器從函式族中選擇 fk,並通過某個索引(被認為是不同長度的鍵)對 k 進行索引。 然後,可以詢問所選函式是否無法與從 d 到 c 的統一隨機函式區分開來(通過概率多項式、時間演算法,該演算法具有對函式的預言機訪問許可權)如果這樣的假設成立,那麼我們說這個函式族定義了乙個(鍵控的)偽隨機函式(HHX)。在這個框中,當這個域 d 相等時,因為這個公共域 c 我們可以問這個函式是否是為了區分隨機選擇的排列,我們說這個家族定義了乙個(鍵控的)偽隨機排列(高意識)。

在這個分組密碼框中,例如 HHX(見下文),*1 的 C=D=0,1128,這是乙個基本假設,即 HHX 函式系列(由金鑰 k 索引)是偽隨機排列。

在這個數學難題的盒子裡,我們有乙個類似的公式,但這個定義通常更直觀。 例如,可以問乙個問題,即 automitx 的模組 n=pq 是否可以考慮其主要成分 p 和 q,這稱為因式分解問題。 HN 定義了有限交換群的未知階數(建立者 n 知道),找到這個群等價於因式分解 n這個 HHX 函式 XXE(模組 n)被認為難以反轉,導致所謂的 HX 反演問題,鑑於 y(z nz),fi 主軸程式碼 x,因此 xe=y(模組 n)眾所周知,如果可以考慮這個模數 n,這個函式可以很容易地反轉,但不知道如果反轉這個函式意味著可以考慮 n。 因此,我們有乙個情況**,乙個問題(因式分解)似乎比另乙個問題(HHX問題)更難解決。 然而,在實踐中,我們假設在正確選擇引數的情況下,雙重問題是困難的。 具體來說,這是從大數因子中篩選出的最佳方法,大數稱為可以在 [8] 中篩選的多個字段。

在已知有序的有限阿貝爾群中,通常被認為是素數,可以定義其他問題。 函式反演問題XGX,稱為離散對數公文(HHX)。這個 PR O'Brien 訴英語 gx 和 gy,確定 gx·y 被稱為這個 Diffie Herman 問題 (HH)。這種形式的三元組 (gx, gy, gz) 和 (gx, gy, gx·y) 之間的識別問題被稱為 這決定了 Diffie-Herman (HHM) pr um。 當在橢圓曲線群中寫加法時,haptarc 三元組具有這種形式 ([x]·p,[y]·p,[z]·p)。

通常,數學謎題用於建立公鑰原語的安全性。 乙個主要問題是,上述問題(因式分解、RSA問題、DLP、DHP、DDH)是我們所有現有主要公鑰演算法的基礎,並且很容易被大規模量子計算機解決。 這導致設計人員試圖在數學原語之上構建加密方案,而量子計算機似乎不可能破解這些原語。 此類問題的例子是確定高維晶格中最短向量的問題,即所謂的最短向量問題(SVP),以及確定最接近非晶格向量的晶格向量的問題,即所謂的最近向量問題(CVP)。 解決這些問題的最佳演算法是晶格約簡演算法,在文獻[9]中可以很好地研究這些演算法和應用。 SVP 和 CVP 問題以及其他問題催生了乙個全新的領域,稱為後量子密碼學 (PQC)。

示例:將上述想法放在一起,您可能會遇到這樣的陳述:假設 RSA 問題很困難,並且 AES 是 PRP,那麼公鑰加密 XYZ 是 IND-CCA 安全的。 這句話告訴我們,對 XYZ 方案的任何攻擊都必須針對實現中的某個弱點,或者它必須來自一些未被 IND-CCA 模型捕獲的攻擊,或者它必須來自解決 RSA 問題,或者它必須來自證明 AES 不是 PRP。

2.4 設定假設

某些加密協議需要一些設定假設。 這些是關於環境或某些資料的假設,在協議被認為是安全的之前,需要滿足這些假設。 這些假設有多種形式。 例如,乙個常見的假設是存在所謂的公鑰基礎設施 (PKI),這意味著我們擁有實體的公鑰及其身份。

另一種設定假定存在可供所有參與方使用的字串(稱為公共引用字串或 CRS),並且該字串已以受信任的方式設定,即沒有參與方可以控制此字串。

其他設定假設可能是物理的,例如,演算法可以很好地訪問隨機數,或者它們的內部工作不容易受到入侵者的攻擊,即它們不受側通道攻擊的影響。

2.5** 和 UC 安全

上述安全定義廣泛使用了兩次執行之間不可區分的概念。 事實上,安全證明中使用的許多校對技術都構建了加密操作的模擬。 模擬是一種與實際執行沒有區別的執行,但(通常)不涉及使用任何關鍵材料。 生成安全模型的另一種方法是所謂的模擬正規化,我們要求對手無法區分模擬和實際執行(除非他們能夠解決一些難題)。 此範例通常用於為更複雜的加密協議建立安全結果。

先前基於博弈優勢和模擬定義定義的問題之一是它們僅適用於獨立執行,即在乙個環境中。 為了應對任意複雜的執行和加密協議的組成,**正規化有乙個擴充套件,稱為通用可組合性(UC)框架。

你如何學習今天的知識?

在資訊時代,我們如何才能更好地學習新知識和新技能?在阿里巴巴湖畔學院的一次講座中,知乎大神 分享了自己的一些學習經歷,聽起來很鼓舞人心。銅礦開採將今天的知識分為兩個 層次 一階知識是指我們在自己的專業或某個行業中需要積累的知識。例如,對於那些學習物理的人來說,物理知識是一階知識,這些知識可以立即使用...

關於手繪插畫,你需要學習什麼?手繪插畫教程一步一步

關於手繪插畫,你需要學習什麼?手繪插畫教程一步一步總結一些關於插畫手繪的知識!.學習插畫手繪要了解透視,透視是插畫手繪最基礎的,透視在插畫手繪中的應用隨處可見,所以要學習插畫手繪,首先要了解透視,了解透視在插畫手繪中的應用。插畫和手繪的基礎知識是什麼?.學習插畫手繪要了解人體,學插畫手繪難免會畫出人...

學習航空知識,點燃藍天之夢

年月日,浙江省湖州市德清縣雷電小學組織學生走進通用航空智慧型製造小鎮通用航空科學體驗館開展航空科學教育活動,通過學習中國航天發展史和飛行模擬經驗,激發學生對航天的興趣和創新。圖為學生在工作人員的講解下學習航空航天知識。攝影 王樹成 Bright 年月日,浙江省湖州市德清縣雷電小學組織學生走進通用航空...

會計學位論文題目行業知識

會計主題 會計職稱是指會計職稱。會計畢業 是學生在學習期間撰寫的學術作業。它要求學生在掌握一定基本理論的基礎上,對某個主題進行研究和分析,從而得出結論或提出見解。.會計範圍 選題 從理論上講,會計課題可以涉及經濟學領域的所有問題 但是,就其實際而言,有必要將企業作為研究物件。因為只有這樣,它才能具有...

結核病專業影像學基礎

在事業單位的筆試中,經常要檢查各級肺結核的分級和影像學表現,因此要注意能夠區分各級結核病和各級結核病的典型體徵。為了幫助大家更好地掌握,我為大家整理了這部分的重要內容,希望對大家有所幫助。首先,結核病有五種型別 型別 原發性結核病 由原發性結核感染引起。型別 血源性播散性結核 分為急性粟粒性結核和亞...