• 您當前所在位置:主頁 > 新聞中心 > 行業動態 >
    新聞中心 / News
    聯系智融 / CONTACT US

    技術經理:13871093995

    郵箱:gongch@zronggsoft.com

    QQ: 點擊這里給我發消息 點擊這里給我發消息
    行業動態

    多密鑰加密方法的實現

    發布時間:2015-06-15 14:25
      為評價多密鑰加密方法,本文在Linux/IA32平臺上利用二進制代碼翻譯工具PIN開發了原型系統,實現了多密鑰加密防御方法。
      
      1.原型系統PIN不需要源碼、調試信息等附件的信息,并且在處理器運行指令前,能實時檢測即將運行的指令,在被插樁指令運行前可執行新生成的代碼,并在代碼運行完后執行被插樁的指令。利用PIN所開發的原型系統的框架.
      
      分析程序錯插樁程序高技術通訊2014年4月第24卷第4期原型系統主要由PIN和利用PIN所提供的應用程序編輯接口,API)函數開發的Pintool組成。其中Pintool中的分析程序(analysis routines)用于判斷即將運行的指令是caU指令或ret指令,插樁程序則用模擬的call操作和模擬的ret操作替代原cau指令和ret指令。模擬的call操作可以將即將壓人棧中的返回值與與通過哈希運算得到的指定密鑰(來自密鑰集R)異或后再壓人棧中,實施加密操作。模擬的ret操作則是將棧中的返回值取出后,并與匹配的密鑰異或后再放人指令寄存器企業信息門戶(ente印rise,EIP)中實施解密操作。同時為保證多密鑰方法的隨機性,在每一次程序運行前隨機生成密鑰集尺和隨機值r,并隨機設置密鑰指定位n。
      
      2.設置誘餌密鑰由于在開發原型系統過程中借助PIN,因此PIN也需要作為可信計算基(tmrted computing base,TCB)的一部分,假設其不受攻擊的影響。然而作為軟件,不能保證PIN本身不存在漏洞。若攻擊者利用PIN或者其他類似的動態二進制翻譯工具的漏洞直接獲得密鑰集中的全部密鑰和隨機值r,則密鑰指定位n的大小和位置也能被猜到。相對于通過泄露的加密地址值間接得到密鑰的方法,攻擊者可以更方便地通過對二進制翻譯工具的攻擊直接獲取密鑰。
      
      為應對針對二進制翻譯工具的攻擊,縮小可信計算基的范圍,一種有效的防御方法是在密鑰集中增加誘餌密鑰。誘餌密鑰在程序啟動時與其他真正用于加解密過程的密鑰同時生成,但誘餌密鑰并不會真正用于加解密中。誘餌密鑰的存在是為了提高攻擊者在獲得真正密鑰后猜測指定位n的難度,如圖5所示,在連續2‘個密鑰前后均設有誘餌密鑰。
      
      由于存在誘餌密鑰,攻擊者需要多次獲取加密后返回地址值,然后通過異或運算判定真密鑰,這種窮舉方法對于攻擊者來說難度較大。本文第3節將詳細分析誘餌密鑰的有效性。
      
      值得一提的是,既然攻擊者可以通過對原型系統的攻擊直接獲取密鑰,攻擊者也能篡改在原型系統上保存的密鑰值。因此為了避免關鍵數值被直接篡改,需在系統產生密鑰集R和隨機值r后,將其設置為可讀,任何改變R和r值的寫操作都被視為攻擊,從而避免攻擊者直接攻擊原型系統后篡改關鍵數值。
      
      密鑰指定位-密鑰集R:誘餌密鑰誘餌密鑰3.異常情況的處理程序在正常執行時,進入被調用函數前都會執行call指令,而從被調用函數返回時執行ret指令。
      
      但仍然會出現特殊情況,導致程序執行時call類指令和ret指令不會成對出現。其中一類情況是Unix信號處理,當控制流轉移到信號處理函數時,返回地址值在不執行call指令的情況下仍被壓入棧中,此時棧中的返回地址值未被加密。在執行ret操作后會出現錯誤,控制流將被轉移到未知地址處,引起程序異常。為了避免此類異常情況,可以在實現時加入對信號的檢測,當接收到信號并執行信號處理程序時,將棧中返回地址值加密。
      
      另一類情況是延遲綁定,如在ubuntu系統中,實現延遲綁定的函數之一-dLnld—di—serinf0在獲取被調用函數地址后,控制流通過跳轉指令而非cau指令轉移到一dl—make—stackexecutable函數中,而該函數將通過ret指令返回。由于一dl—Itld—di—seri山函數執行后所獲得被調用函數的地址存儲在寄存器%eax中,因此為避免此類引發加解密異常的情況,可在一dl-nld—di—sednfo函數執行后,即執行跳轉到一dl—make—stackexecutable函數的語句前,對寄存器%ea】【的值加密。

    上一篇:多密鑰加密方法

    下一篇:無紙化辦公閱讀答案

     
     
    點擊這里給我發消息

    經理電話:13871093995

    -->

    報價申請
    加密軟件價格申請
    技術咨詢
    加密軟件技術咨詢
    關注我們

    智融科技

    久久久久久久久久久精品