錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務(wù)項(xiàng)目 服務(wù)報(bào)價(jià) 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù)技術(shù)文章
如何利用密碼學(xué)以及數(shù)論基礎(chǔ)攻擊一個(gè)“宣稱安全”的密碼系統(tǒng)

作者: 佚名  日期:2017-07-20 16:33:07   來源: 本站整理

 最近在對(duì)基于區(qū)塊鏈構(gòu)建的信任社會(huì)(未來社會(huì)形態(tài))非常感興趣,區(qū)塊技術(shù)去中心化的特性,讓沒有金融機(jī)構(gòu)成為了可能(包括央行,以及各種商業(yè)銀行)。
除了在數(shù)字貨幣領(lǐng)域大放異彩外,在包括供應(yīng)鏈,網(wǎng)絡(luò)購物,公平合約等方面的應(yīng)用也非常廣泛。其中智能合約的特性十分的吸引我。
不過我今天并不想討論區(qū)塊技術(shù),因?yàn)閰^(qū)塊技術(shù)建立在密碼學(xué)的技術(shù)之上,今天我們討論如何利用密碼學(xué)以及數(shù)論基礎(chǔ)攻擊一個(gè)宣稱安全的密碼系統(tǒng)。

在密碼學(xué)中,算法,秘鑰以及協(xié)議構(gòu)成了一個(gè)完整的密碼系統(tǒng)。
算法是密碼系統(tǒng)的基礎(chǔ),它是將一組或多組輸入信息轉(zhuǎn)化成一組或多組輸出信息的數(shù)學(xué)方法,算法的輸出會(huì)被秘鑰影響,秘鑰不同,輸出也不同。因此,加密同樣的信息,A用秘鑰Ka加密與B用秘鑰Kb加密輸出的信息是完全不同的。

秘鑰是密碼系統(tǒng)的核心,奧秘在于算法存在一個(gè)最優(yōu)解(最優(yōu)解有很多種解釋,例如超遞增序列,因式分解兩素?cái)?shù)之和等),這個(gè)秘密就是秘鑰。如果一個(gè)人想要解密別人的密文,在不知道秘鑰的情況下,他只能嘗試解數(shù)學(xué)難題,這對(duì)于普通人擁有的資源來說,直到宇宙毀滅也無法得出答案。
有了算法和秘鑰,沒有協(xié)議就不是一個(gè)密碼系統(tǒng)。協(xié)議是指由多方參與的,確定要去完成一些事情。如果沒有多方參與,或者沒有去完成一些目標(biāo)就不叫協(xié)議。協(xié)議有很多種,最明顯比如秘鑰交換協(xié)議(例如A和B要在一個(gè)加密的通道中傳遞信息,在這之前A和B要協(xié)商一個(gè)秘鑰并交換,使得A可以加密消息發(fā)送給B并確保B可以解密信息)。

密鑰交換協(xié)議
在一個(gè)安全的密碼系統(tǒng)中,必須是算法,秘鑰,協(xié)議都安全,如果其中一個(gè)是不安全的,那么整個(gè)系統(tǒng)就是不安全的。
大多數(shù)流行的公開算法,已經(jīng)被廣泛的證明是安全的,它們經(jīng)歷過很多理論數(shù)學(xué)家的分析。秘鑰的安全性由秘鑰長度,以及你是否妥當(dāng)?shù)谋9苣愕拿罔來決定。如果你做的不錯(cuò),那么秘鑰也是安全的。
協(xié)議卻不是如此了,協(xié)議很脆弱。舉個(gè)例子,A將重要的信息加密發(fā)送給B,只有B有秘鑰可以解密這些信息,C在網(wǎng)路上監(jiān)聽到了A發(fā)送給B的秘密,但是C沒有秘鑰無法解密信息,怎么辦。上面說過,秘鑰是這個(gè)數(shù)學(xué)難題的最優(yōu)解,如果沒有秘鑰,C就只能嘗試解數(shù)學(xué)難題,恐怕C這一生都無法解開,但是C的老板要求他必須在72小時(shí)內(nèi)解密信息,不然C所在的公司就要遭受重大損失。于是C決定鋌而走險(xiǎn),他綁架了B,并對(duì)B進(jìn)行嚴(yán)刑拷打,B扛不住,交出了他的秘鑰,C拿著B的秘鑰解密了秘密,并干掉了B。
上面的例子說明了協(xié)議在整個(gè)密碼系統(tǒng)中是一個(gè)易攻擊的薄弱環(huán)節(jié),這樣的攻擊類型很多(賄賂,美色誘惑,威脅等)。
我們來嘗試把這種攻擊帶入到軟件破解上來,同樣的結(jié)論也是攻擊協(xié)議,而非攻擊算法和秘鑰。同樣來舉個(gè)例子,軟件D采用RSA公開秘鑰算法來對(duì)用戶的信息以及軟件產(chǎn)品序列號(hào)摘要進(jìn)行加密,并發(fā)送給軟件D公司的注冊(cè)服務(wù)器,軟件公司D的計(jì)算機(jī)收到用戶A發(fā)送給它的加密信息,用自己的私鑰解密并把用戶信息與數(shù)據(jù)庫中的信息進(jìn)行對(duì)比,如果序列號(hào)不在D公司的數(shù)據(jù)庫中說明這個(gè)產(chǎn)品的不是D公司銷售的產(chǎn)品,如果序列號(hào)在D公司的數(shù)據(jù)庫中,并且A用戶信息不在數(shù)據(jù)庫中,那么A是第一次注冊(cè),將A的信息與序列號(hào)綁定在一起保存在數(shù)據(jù)庫中,此序列號(hào)將不能再給其他人使用。如果序列號(hào)和A都在數(shù)據(jù)庫中,并且序列號(hào)與A綁定,那么D公司用私鑰加密一段許可信息發(fā)送給A,A每次使用D軟件的時(shí)候驗(yàn)證這段信息,如果是D公司發(fā)送的許可信息允許使用,如果不是不允許登陸。

看起來很不錯(cuò),RSA是安全的公開密鑰算法,并且秘鑰被D公司保存起來,除非你能賄賂D公司的員工獲得秘鑰,或者攻破D公司的網(wǎng)路,否則秘鑰也是安全的。因此攻擊算法和秘鑰是不現(xiàn)實(shí)的。那么,我們可以從協(xié)議的角度入手,看看有沒有弱點(diǎn)。
先簡單說一下RSA算法:
選擇兩個(gè)大素?cái)?shù) p 和 q,假設(shè) p=3,q=11
計(jì)算 n = p × q = 3 × 11 = 33
計(jì)算 ∅(n) = (p – 1) × (q – 1) = 2 × 10 = 20
選擇 e 且 1 
計(jì)算 d,使 (d × e) % ∅(n) = 1. 假設(shè) d = 3,且 d = (3 × 7) % 20 = 1,滿足條件
公開 e, n => (7, 33)
保密 d => 3
加密公式 C = Me % n
解密公式 M = Cd % n

用上面的公式加密,假如消息是2,C = 27 % 33 = 29,密文就是29。解密的話就是M = 293 % 33 = 2。
回到剛才的軟件破解問題上,軟件產(chǎn)品中有e和n,如果能夠分解n我們就能夠構(gòu)造d,也就知道了D公司的秘鑰,由于分解n是一個(gè)數(shù)學(xué)難題,我們不知道最優(yōu)解很難解出答案。我們采用另一種方法,破壞協(xié)議,首先我們自己選擇2個(gè)大素?cái)?shù),構(gòu)造另一個(gè)n,并分別求出對(duì)應(yīng)的e和d。然后我們架設(shè)一個(gè)服務(wù)器,用來模仿D公司的驗(yàn)證服務(wù)器。
我們侵入D公司的軟件,用我們自己的n和e替換D公司的n和e,這時(shí)軟件D會(huì)用我們的公開秘鑰加密用戶信息以及序列號(hào),這段信息是無法送給D公司驗(yàn)證的,因?yàn)镈公司沒有我們的保密秘鑰,無法解密信息,因此這樣還無法完成軟件的驗(yàn)證。
下一步,我們使軟件D將加密好的信息發(fā)送給我們剛才架設(shè)的模仿D公司的服務(wù)器,這臺(tái)機(jī)器擁有我們的保密秘鑰,它成功的解密信息,并直接構(gòu)造一個(gè)驗(yàn)證通過的數(shù)據(jù)塊,并用保密秘鑰加密發(fā)送給D軟件。D軟件用我們的公開秘鑰解密信息,驗(yàn)證一切正常,并將這段信息保存到計(jì)算機(jī)中。每次D軟件啟動(dòng)時(shí),重新檢查是否存在驗(yàn)證通過信息塊,并用我們?cè)O(shè)給它的公開秘鑰解密,解密成功后通過驗(yàn)證,啟動(dòng)D軟件。只要通過一次驗(yàn)證,D軟件就無需再次與D公司服務(wù)器進(jìn)行交互,因此完成了破解。
再次說明,算法,秘鑰,協(xié)議是一個(gè)密碼系統(tǒng)的組成部分,任何一個(gè)方面不安全,整個(gè)系統(tǒng)就是不安全的。當(dāng)下,很多廠商對(duì)算法和秘鑰很關(guān)注,在算法的選擇與秘鑰的長度上下足了功夫。但他們的系統(tǒng)并不像他們想象的那么安全,因?yàn)樗麄兒鲆暳藚f(xié)議。
PS. 本文僅僅是基于理論方面的討論,真正的軟件破解過程比本文描述的要復(fù)雜的多,在real world中嘗試發(fā)現(xiàn)n和e可能要困難的多。至于Patch程序代碼,改變程序運(yùn)行流程來達(dá)到破解目的與本文討論的主題無關(guān)。
 



熱門文章
  • 機(jī)械革命S1 PRO-02 開機(jī)不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點(diǎn)不...
  • 三星一體激光打印機(jī)SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡(luò)請(qǐng)求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對(duì)講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機(jī)始終停留在開機(jī)界面...
  • 常見打印機(jī)清零步驟
  • 安裝驅(qū)動(dòng)時(shí)提示不包含數(shù)字簽名的解...
  • 共享打印機(jī)需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機(jī)的...
  • 錦州廣廈電腦上門維修

    報(bào)修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號(hào):遼ICP備2023002984號(hào)-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護(hù),上門維修電腦,黑屏藍(lán)屏死機(jī)故障排除,無線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 精品亚洲A∨无码一区二区三区 | 亚洲AV无码国产丝袜在线观看| 噜噜综合亚洲AV中文无码| 亚洲av永久中文无码精品综合| 亚洲Av永久无码精品黑人| 国产一区二区三区无码免费| 无码性午夜视频在线观看| 国产成人无码A区在线观看导航| 人妻丰满AV无码久久不卡| 亚洲午夜无码AV毛片久久| 成人免费无码视频在线网站| 亚洲AV人无码激艳猛片| 一本色道无码不卡在线观看| 日韩毛片无码永久免费看| 亚洲av日韩av无码av| 亚洲av无码不卡一区二区三区| 国产强被迫伦姧在线观看无码 | 精品多人p群无码| 国产精品无码A∨精品影院 | 精品成在人线AV无码免费看| 中文无码熟妇人妻AV在线| 国产成人无码精品久久久露脸 | 久久久久亚洲av无码专区蜜芽 | 少妇久久久久久人妻无码| 无码丰满少妇2在线观看| 中文无码人妻有码人妻中文字幕| 免费a级毛片无码a∨性按摩| 老司机无码精品A| 无码日本电影一区二区网站| 亚洲另类无码一区二区三区| 日韩精品无码一区二区三区不卡 | 无码人妻丰满熟妇区96| 毛片无码免费无码播放| 亚洲日韩乱码中文无码蜜桃| 久久久久久无码Av成人影院| 6080YYY午夜理论片中无码| 日韩精品无码专区免费播放| 97人妻无码一区二区精品免费| 精品无码人妻一区二区三区品 | 免费一区二区无码东京热| 台湾无码AV一区二区三区|