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

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

 最近在對基于區塊鏈構建的信任社會(未來社會形態)非常感興趣,區塊技術去中心化的特性,讓沒有金融機構成為了可能(包括央行,以及各種商業銀行)。
除了在數字貨幣領域大放異彩外,在包括供應鏈,網絡購物,公平合約等方面的應用也非常廣泛。其中智能合約的特性十分的吸引我。
不過我今天并不想討論區塊技術,因為區塊技術建立在密碼學的技術之上,今天我們討論如何利用密碼學以及數論基礎攻擊一個宣稱安全的密碼系統。

在密碼學中,算法,秘鑰以及協議構成了一個完整的密碼系統。
算法是密碼系統的基礎,它是將一組或多組輸入信息轉化成一組或多組輸出信息的數學方法,算法的輸出會被秘鑰影響,秘鑰不同,輸出也不同。因此,加密同樣的信息,A用秘鑰Ka加密與B用秘鑰Kb加密輸出的信息是完全不同的。

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

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

看起來很不錯,RSA是安全的公開密鑰算法,并且秘鑰被D公司保存起來,除非你能賄賂D公司的員工獲得秘鑰,或者攻破D公司的網路,否則秘鑰也是安全的。因此攻擊算法和秘鑰是不現實的。那么,我們可以從協議的角度入手,看看有沒有弱點。
先簡單說一下RSA算法:
選擇兩個大素數 p 和 q,假設 p=3,q=11
計算 n = p × q = 3 × 11 = 33
計算 ∅(n) = (p – 1) × (q – 1) = 2 × 10 = 20
選擇 e 且 1 
計算 d,使 (d × e) % ∅(n) = 1. 假設 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。
回到剛才的軟件破解問題上,軟件產品中有e和n,如果能夠分解n我們就能夠構造d,也就知道了D公司的秘鑰,由于分解n是一個數學難題,我們不知道最優解很難解出答案。我們采用另一種方法,破壞協議,首先我們自己選擇2個大素數,構造另一個n,并分別求出對應的e和d。然后我們架設一個服務器,用來模仿D公司的驗證服務器。
我們侵入D公司的軟件,用我們自己的n和e替換D公司的n和e,這時軟件D會用我們的公開秘鑰加密用戶信息以及序列號,這段信息是無法送給D公司驗證的,因為D公司沒有我們的保密秘鑰,無法解密信息,因此這樣還無法完成軟件的驗證。
下一步,我們使軟件D將加密好的信息發送給我們剛才架設的模仿D公司的服務器,這臺機器擁有我們的保密秘鑰,它成功的解密信息,并直接構造一個驗證通過的數據塊,并用保密秘鑰加密發送給D軟件。D軟件用我們的公開秘鑰解密信息,驗證一切正常,并將這段信息保存到計算機中。每次D軟件啟動時,重新檢查是否存在驗證通過信息塊,并用我們設給它的公開秘鑰解密,解密成功后通過驗證,啟動D軟件。只要通過一次驗證,D軟件就無需再次與D公司服務器進行交互,因此完成了破解。
再次說明,算法,秘鑰,協議是一個密碼系統的組成部分,任何一個方面不安全,整個系統就是不安全的。當下,很多廠商對算法和秘鑰很關注,在算法的選擇與秘鑰的長度上下足了功夫。但他們的系統并不像他們想象的那么安全,因為他們忽視了協議。
PS. 本文僅僅是基于理論方面的討論,真正的軟件破解過程比本文描述的要復雜的多,在real world中嘗試發現n和e可能要困難的多。至于Patch程序代碼,改變程序運行流程來達到破解目的與本文討論的主題無關。
 



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

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

    技術支持:微軟等
    主站蜘蛛池模板: 亚洲AV无码一区二区三区牲色| 精品欧洲AV无码一区二区男男| 色窝窝无码一区二区三区色欲| 惠民福利中文字幕人妻无码乱精品 | 免费无码成人AV在线播放不卡 | 乱色精品无码一区二区国产盗| 中文字幕av无码一二三区电影| 亚洲精品无码专区久久久| 加勒比无码一区二区三区| 久久精品aⅴ无码中文字字幕重口 久久精品国产亚洲AV无码娇色 | 亚洲日韩一区二区一无码| 无码欧精品亚洲日韩一区| 成人无码区免费视频观看| 亚洲av成本人无码网站| 亚洲精品中文字幕无码蜜桃| 日韩精品无码永久免费网站| 曰韩无码二三区中文字幕| 无码丰满熟妇一区二区| 日韩免费无码一区二区三区| 国产成人无码一区二区在线观看 | 无码精品不卡一区二区三区 | 亚洲美免无码中文字幕在线| 亚洲成?Ⅴ人在线观看无码| 亚洲中文字幕伊人久久无码| 无码国内精品久久综合88| 无码无遮挡又大又爽又黄的视频| 亚洲AV无码精品色午夜在线观看| 18禁成年无码免费网站无遮挡| 在人线av无码免费高潮喷水| 色爱无码AV综合区| 国产精品视频一区二区三区无码 | 亚洲成a人在线看天堂无码| 国产精品无码一区二区三区毛片 | 亚洲精品av无码喷奶水糖心| 色综合久久无码中文字幕| 久久精品无码专区免费东京热 | 成人无码区免费A∨直播| av无码东京热亚洲男人的天堂 | WWW久久无码天堂MV| 无码AV大香线蕉| 无码人妻精品一二三区免费|