[發(fā)明專利]針對SM2簽名算法的攻擊驗證、防護方法及裝置有效
| 申請?zhí)枺?/td> | 201811484013.5 | 申請日: | 2018-12-05 |
| 公開(公告)號: | CN109600232B | 公開(公告)日: | 2021-08-06 |
| 發(fā)明(設計)人: | 李增局;王彭彭;趙鵬輝;董曉婕;劉志剛;李文寶;史汝輝;尚現(xiàn)峰;李士通;王曉磊 | 申請(專利權)人: | 北京智慧云測科技有限公司;山東智慧云測信息科技有限公司 |
| 主分類號: | H04L9/32 | 分類號: | H04L9/32;H04L9/08;H04L9/00;H04L29/06 |
| 代理公司: | 北京惠智天成知識產(chǎn)權代理事務所(特殊普通合伙) 11681 | 代理人: | 袁瑞紅 |
| 地址: | 102300 北京市門頭*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 針對 sm2 簽名 算法 攻擊 驗證 防護 方法 裝置 | ||
本發(fā)明公開針對SM2簽名算法的攻擊驗證、防護方法及裝置。該攻擊驗證方法在SM2簽名算法的加法位置進行錯誤注入攻擊,該防護方法對隨機數(shù)k參與的加減法過程進行防護。針對SM2簽名算法的攻擊驗證裝置包括攻擊模塊,針對SM2簽名算法的防護裝置包括防護模塊。本發(fā)明發(fā)現(xiàn)現(xiàn)有技術中的防護措施忽略了在計算s時對隨機數(shù)k的保護,無論是原始的公式k?r*dA,還是變形后的公式r+k,都存在一個有隨機數(shù)k參與的加減法,而現(xiàn)有的防護技術都沒有對這個地方進行保護,因而使得目前的SM2加密算法存在一定的風險漏洞,本發(fā)明提出的防護方法可有效對抗相應的攻擊手段,防止信息泄露。
技術領域
本發(fā)明涉及計算機加密技術領域,具體涉及一種針對SM2簽名算法的攻擊驗證、防護方法及裝置。
背景技術
1985年,Neal Koblitz和Victor Miller分別獨立地提出了利用橢圓曲線設計公鑰密碼體制的問題。1990年以后,橢圓曲線密碼(Elliptic Curve Cryptography簡稱ECC)開始得到商業(yè)界的認可,公認的標準化組織制定了橢圓曲線密碼協(xié)議。ECC和RSA都是依賴于離散對數(shù)的計算困難性(簡稱DLP問題),設G為一個有限ABEL加法群,假定g為G的某個元,a為任意的整數(shù),如果已知g及ag,如何求出整數(shù)a來的問題在數(shù)學上稱為離散對數(shù)問題。離散對數(shù)問題又可細分為兩類,一類為某個有限域上的離散對數(shù)問題(RSA算法);一類為橢圓曲線上的離散對數(shù)問題(ECC算法)。兩者比較,后一類問題求解更為困難些。
國密SM2橢圓曲線公鑰密碼算法是非對稱密碼算法,是基于ECC算法的非對稱算法。由國家密碼管理局于2010年12月17日發(fā)布。目前,各行各業(yè)都在大力推廣商用國密算法的使用,尤其是在金融、社保等關系國計民生的行業(yè),因此SM2算法是否存在可攻擊的漏洞以及如何進行安全防護,是本領域技術人員研究的重點。
目前,主要的攻擊方法包括能量分析攻擊、故障注入攻擊和針對分組密碼故障攻擊等。其中能量分析攻擊的基本思想是通過分析密碼設備的能量消耗獲得其密鑰。本質上,這種攻擊利用了兩類能量消耗依賴性:數(shù)據(jù)依賴性和操作依賴性,即密碼設備的瞬時能量消耗依賴于設備所處理的數(shù)據(jù)以及設備所進行的操作。能量分析攻擊分為簡單能量分析(SPA)和差分能量分析(DPA)。SPA是一種能夠對密碼算法執(zhí)行過程中所采集到的能量消耗信息進行直接分析的技術,密碼設備中的每一個算法都有一定的執(zhí)行順序。算法定義的操作被翻譯成設備所支持的指令。若是攻擊者對被攻擊設備中密碼算法的具體實現(xiàn)有詳細的認識,那么從能量跡上可以區(qū)分出每一個操作指令對應的功耗曲線。即SPA攻擊主要沿時間軸來分析設備的能量消耗。攻擊者試圖在單條能量跡中找到某種模式或與模板進行匹配。如果僅當密鑰的某一比特為1時執(zhí)行某一個特定的指令,同時僅當密鑰的某一比特為0時執(zhí)行另外一個指令,那么通過查看能量跡中所體現(xiàn)的指令序列,就可以推斷出密鑰。
故障注入攻擊是在合適的時間改變密碼芯片的一些工作條件使得芯片運行的中間狀態(tài)發(fā)生變化,進而導致輸出錯誤或者旁路泄露,攻擊者利用這些信息實施分析進而攻擊出密鑰。針對分組密碼故障攻擊主要分為差分故障分析DFA、安全錯誤分析SEA和碰撞故障分析CFA及其延伸的無效故障分析IFA。
在目前的SM2簽名算法中,s的計算過程為:s=((1+dA)-1·(k-r·dA))modn;實現(xiàn)計算s的偽代碼如下:
temp1=r*dA;
temp1=k-temp1;
temp2=(1+dA)-1;
s=temp1*temp2.
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京智慧云測科技有限公司;山東智慧云測信息科技有限公司,未經(jīng)北京智慧云測科技有限公司;山東智慧云測信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811484013.5/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





