两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

密鑰存儲方法、數(shù)據(jù)加解密方法、電子簽名方法及其裝置與流程

文檔序號:11147424閱讀:1303來源:國知局
密鑰存儲方法、數(shù)據(jù)加解密方法、電子簽名方法及其裝置與制造工藝

本發(fā)明涉及安全技術領域,尤其涉及一種密鑰存儲方法及其裝置、一種數(shù)據(jù)加解密方法及其裝置以及一種電子簽名方法及其裝置。



背景技術:

密鑰一般泛指生產(chǎn)、生活所應用到的各種加密技術,能夠對個人資料、企業(yè)機密進行有效的監(jiān)管。密鑰管理是指對密鑰進行管理的行為,如加密、解密、破解等等,包括從密鑰的產(chǎn)生到密鑰銷毀的各個方面,廣泛應用于各個領域。

在使用密鑰進行加密解密的過程中,無論采用的是何種加解密方式,包括對稱加密、非對稱加密等加密方式,都需要對相應的密鑰(尤指私鑰)進行存儲。如,在使用Android系統(tǒng)的終端設備中,一般采用以下方式對密鑰進行存儲:1)直接硬編碼在代碼中;2)通過明文方式或通過固定密鑰加密方式對密鑰進行加密后存儲在終端設備中;3)使用keystore密鑰庫進行存儲等。

但是,由于終端設備的不安全性,傳統(tǒng)的密鑰管理技術不再能保證密鑰的安全性能。具體,對于以上描述的三種存儲方式來說,采用前兩種方式存儲的密鑰,不法分子可以直接通過反編譯的方式得到存儲的密鑰,可見,采用這兩種方式存儲的密鑰無意易遭到非法滲透和竊?。徊捎煤笠环N方式存儲的密鑰,不法分子可以通過字典式攻擊,如工具Android-keystore-password-recover進行破譯得到相應的密鑰,同樣不能實現(xiàn)密鑰的安全存儲。

對于終端設備應用程序爆棚式發(fā)展的今天來說,如何安全存儲密鑰成為一個棘手且亟需解決的技術問題。



技術實現(xiàn)要素:

針對上述問題,本發(fā)明提供了一種密鑰存儲方法及其裝置、一種數(shù)據(jù)加解密方法及其裝置以及一種電子簽名方法及其裝置,有效解決了終端設備中密鑰,尤指私鑰的安全存儲問題。

本發(fā)明提供的技術方案如下:

一種密鑰存儲方法,應用于終端設備,所述終端設備中的終端應用與認證服務器通信連接,所述密鑰存儲方法中包括:

S11接收認證服務器下發(fā)的安全插件并對其進行存儲,所述安全插件中包括與用戶唯一關聯(lián)的運算算法和應用信息;

S21根據(jù)應用信息隨機生成密鑰;

S31調用安全插件對密鑰進行加密并將加密后生成的保護密鑰連同應用信息一并存儲在安全插件中,所述安全插件將應用信息作為計算因子、使用運算算法對密鑰進行加密生成保護密鑰;

S41銷毀密鑰。

進一步優(yōu)選地,在步驟S21中具體包括:

根據(jù)應用信息生成密鑰對,所述密鑰對中包括私鑰和公鑰;

在步驟S31中具體包括:

調用安全插件對私鑰進行加密并將加密后生成的私鑰保護密鑰連同應用信息一并存儲在安全插件中,所述安全插件將應用信息作為計算因子、使用運算算法對私鑰進行加密生成私鑰保護密鑰;

在步驟41中具體包括:

銷毀私鑰。

本發(fā)明還提供了一種密鑰存儲方法,應用于終端設備,所述終端設備中的終端應用與認證服務器通信連接,所述密鑰存儲方法中包括:

S12接收認證服務器下發(fā)的安全插件并對其進行存儲,所述安全插件中包括與用戶唯一關聯(lián)的運算算法、應用信息及密鑰,所述密鑰由認證服務器根據(jù)應用信息生成;

S22調用安全插件對密鑰進行加密并將加密后生成的保護密鑰連同應用信息一并存儲在安全插件中,所述安全插件將應用信息作為計算因子、使用運算算法對密鑰進行加密生成保護密鑰;

S32銷毀密鑰。

進一步優(yōu)選地,在認證服務器中,生成的密鑰包括密鑰對,所述密鑰對中包括私鑰和公鑰;

則在步驟S22中具體包括:

調用安全插件對私鑰進行加密并將加密后生成的私鑰保護密鑰連同應用信息一并存儲在安全插件中,所述安全插件將應用信息作為計算因子、使用運算算法對私鑰進行加密生成私鑰保護密鑰;

在步驟S32中具體包括:

銷毀私鑰。

本發(fā)明還提供了一種數(shù)據(jù)加解密方法,所述數(shù)據(jù)加解密方法應用于上述密鑰存儲方法,所述數(shù)據(jù)加解密方法中包括:

S13獲取應用信息并調用安全插件對其進行驗證;

S23調用安全插件對內(nèi)部存儲的保護密鑰進行解密得到密鑰,所述安全插件將應用信息作為計算因子、使用運算算法對保護密鑰進行解密還原得到密鑰;

S33調用安全插件采用還原得到的密鑰和預設加密算法對待發(fā)送數(shù)據(jù)進行加密并將加密后的數(shù)據(jù)發(fā)送出去,或調用安全插件采用還原得到的密鑰和預設解密算法對接收到的加密數(shù)據(jù)進行解密得到解密后的數(shù)據(jù);

S43銷毀密鑰。

本發(fā)明還提供了一種數(shù)據(jù)解密方法,所述數(shù)據(jù)解密方法應用于上述密鑰存儲方法,所述數(shù)據(jù)解密方法中具體包括:

S14獲取應用信息并調用安全插件對其進行驗證;

S24調用安全插件對內(nèi)部存儲的私鑰保護密鑰進行解密得到私鑰,所述安全插件將應用信息作為計算因子、使用運算算法對私鑰保護密鑰進行解密還原得到私鑰;

S34調用安全插件采用還原得到的私鑰和預設解密算法對接收到的加密數(shù)據(jù)進行解密,以此得到解密后的數(shù)據(jù);

S44銷毀私鑰。

本發(fā)明還提供了一種電子簽名方法,所述電子簽名方法應用于上述密鑰存儲方法,所述電子簽名方法中包括:

S15獲取應用信息并調用安全插件對其進行驗證;

S25調用安全插件對內(nèi)部存儲的保護密鑰進行解密得到私鑰,所述安全插件將應用信息作為計算因子、使用運算算法對私鑰保護密鑰進行解密還原得到私鑰;

S35調用安全插件采用生成的私鑰和預設簽名算法對待簽名原文進行簽名;

S45銷毀私鑰。

本發(fā)明還提供了一種密鑰存儲裝置,應用于終端設備,所述終端設備中的終端應用與認證服務器通信連接,所述密鑰存儲裝置中包括:

存儲模塊,用于存儲與用戶唯一關聯(lián)的運算算法、應用信息以及對密鑰加密生成的保護密鑰,或用于存儲與用戶唯一關聯(lián)的運算算法、應用信息以及對私鑰加密生成的私鑰保護密鑰;

信息提取模塊,用于從存儲模塊中提取應用信息及從外部提取密鑰/私鑰;

第一運算模塊,用于將應用信息作為計算因子、使用運算算法對密鑰進行加密生成保護密鑰,或用于將應用信息作為計算因子、使用運算算法對私鑰進行加密生成私鑰保護密鑰;以及

第一密鑰銷毀模塊,在生成保護密鑰后銷毀密鑰,或在生成私鑰保護密鑰之后銷毀私鑰。

本發(fā)明還提供了一種數(shù)據(jù)加解密裝置,應用于終端設備,所述數(shù)據(jù)加解密裝置中包括上述密鑰存儲裝置,在所述密鑰存儲裝置中:

所述存儲模塊還存儲有對待發(fā)送數(shù)據(jù)進行加密的預設加密算法,和/或存儲有對接收到的加密數(shù)據(jù)進行解密的預設解密算法;

所述數(shù)據(jù)加解密裝置還包括:

第一應用信息驗證模塊,根據(jù)存儲模塊中存儲的應用信息對獲取的應用信息進行驗證;

第二運算模塊,用于采用密鑰和預設加密算法對待發(fā)送數(shù)據(jù)進行加密,或還用于采用私鑰和預設解密算法對接收到的加密數(shù)據(jù)進行解密;以及,

第二密鑰銷毀模塊,在對待發(fā)送數(shù)據(jù)進行加密后銷毀密鑰,或在對接收到的加密數(shù)據(jù)進行解密后銷毀密鑰。

本發(fā)明還提供了一種電子簽名裝置,應用于終端設備,所述電子簽名裝置中包括上述數(shù)據(jù)加解密裝置,在所述密鑰存儲裝置中:

所述存儲模塊還存儲有對待簽名原文進行簽名的預設簽名算法及對接收到的簽名進行解析的電子證書和預設解簽算法;

所述電子簽名裝置中還包括:

第二應用信息驗證模塊,根據(jù)存儲模塊中存儲的應用信息對獲取的應用信息進行驗證;

第三運算模塊,用于采用生成的私鑰和預設簽名算法對待簽名原文進行簽名,或采用公鑰、電子證書和預設解簽算法對接收到的簽名進行解析;

第三密鑰銷毀模塊,在對待簽名原文進行簽名之后銷毀私鑰。

與現(xiàn)有技術相比,本發(fā)明的有益效果在于:

在本發(fā)明提供的密鑰存儲方法及其裝置中,終端設備中的安全插件使用應用信息作為安全因子,使用與用戶唯一關聯(lián)的運算算法對密鑰/私鑰進行加密生成保護密鑰/私鑰保護密鑰并將其存儲在安全插件中,隨后將密鑰/私鑰進行銷毀,以此完成密鑰/私鑰在終端設備中的存儲。由每個終端設備中存儲的安全插件都是唯一的,使用該安全插件對密鑰/私鑰進行加密生成的保護密鑰/私鑰保護密鑰自然具備了唯一性,大大提高了密鑰/私鑰存儲的安全性能,不容易被破解,即使某一終端設備中安裝的安全插件被破解了,也不會影響其他用戶的安全性能。另外,密鑰/私鑰在調用的過程中,只在終端設備的內(nèi)存中存在非常短暫的時間,有效避免了泄露的風險。

在本發(fā)明提供的數(shù)據(jù)加解密方法及其裝置中,對存儲在安全插件中的保護密鑰/私鑰保護密鑰進行解密還原得到密鑰/私鑰之后,使用該密鑰對待發(fā)送數(shù)據(jù)進行加密/對接收的加密數(shù)據(jù)進行解密,完成對數(shù)據(jù)的加解密操作。在這一過程中,由密鑰/私鑰以保護密鑰/私鑰保護密鑰的形式存儲在安全插件中,大大提高了加解密的過程中的安全性能及數(shù)據(jù)在傳輸過程中的安全性能。另外,這一過程中,采用多因素(如通過設置的標識碼、設備指紋、手勢碼等)密鑰/私鑰授權機制對其的使用權限進行保護,有效地防止安全插件的非法拷貝使用,為數(shù)據(jù)的加解密提供了一個安全的運行環(huán)境。

在本發(fā)明提供的電子簽名方法及其裝置中,對存儲在安全插件中的私鑰保護密鑰進行解密還原得到私鑰之后,使用該私鑰對待簽名原文進行簽名,完成簽名操作。在這一過程中,由私鑰以私鑰保護密鑰的形式存儲在安全插件中,大大提高了簽名的安全性能。另外,這一過程中,采用多因素(如通過設置的標識碼、設備指紋、手勢碼等)私鑰授權機制對其的使用權限進行保護,為簽名操作提供了一個安全的運行環(huán)境。

附圖說明

圖1為本發(fā)明中密鑰存儲方法一種實施方式流程示意圖;圖2為本發(fā)明中密鑰存儲方法另一種實施方式流程示意圖;圖3為本發(fā)明中對待發(fā)送數(shù)據(jù)進行加密流程示意圖;圖4為本發(fā)明中對接收數(shù)據(jù)進行解密流程示意圖;圖5為本發(fā)明中電子簽名方法流程示意圖;圖6為本發(fā)明中電子證書的生成和存儲流程示意圖;圖7為本發(fā)明中密鑰存儲裝置結構示意圖;圖8為本發(fā)明中數(shù)據(jù)加解密裝置結構示意圖;圖9為本發(fā)明中電子簽名裝置結構示意圖。

附圖標號說明:100-密鑰存儲裝置,110-存儲模塊,120-信息提取模塊,130-第一運算模塊,140-第一密鑰銷毀模塊,200-數(shù)據(jù)加解密裝置,210-第一應用信息驗證模塊,220-第二運算模塊,230-第二密鑰銷毀模塊,300-電子簽名裝置,310-第二應用信息驗證模塊,S320-第三運算模塊,330-第三密鑰銷毀模塊。

具體實施方式

如圖1所示為本發(fā)明提供的密鑰存儲方法一種實施方式流程示意圖,具體該密鑰存儲方法應用于終端設備,如手機、平板電腦等,且終端設備中的終端應用與認證服務器通信連接。從圖中可以看出,在該密鑰存儲方法中包括:S11接收認證服務器下發(fā)的安全插件并對其進行存儲,安全插件中包括與用戶唯一關聯(lián)的運算算法和應用信息和應用信息;S21根據(jù)應用信息生成密鑰(具體該密鑰在終端設備中的終端應用中產(chǎn)生);S31調用安全插件對密鑰進行加密并將加密后生成的保護密鑰連同應用信息一并存儲在安全插件中,安全插件將應用信息作為計算因子、使用運算算法對密鑰進行加密生成保護密鑰;S41銷毀密鑰。

從以上描述可以看出,在本實施方式中,終端設備中根據(jù)應用信息生成了密鑰之后,隨即對其進行加密生成保護密鑰并存儲在認證服務器下發(fā)的安全插件中,與此同時將生成的密鑰進行銷毀。之后,在使用該密鑰進行加解密/簽名的過程中,首先對內(nèi)部存儲的保護密鑰進行解密得到相應的密鑰,之后再進行相應的操作,且在完成相應操作之后將解密得到的密鑰進行銷毀??梢钥闯觯傻拿荑€沒有直接存儲在終端設備中,在使用的過程中,也只是在終端設備的內(nèi)存中存在短暫的時間,用完即清空,大大提升了對密鑰的保護。

更具體來說,在步驟S11中包括認證服務器生成安全插件并將其下發(fā)至終端設備的步驟,具體:在使用安全插件對密鑰進行加密之前,用戶首先通過終端設備中的終端應用在認證服務器中進行注冊,以此認證服務器生成相應的安全插件并將其返回至終端應用中存儲。且認證服務器根據(jù)終端應用發(fā)送的應用信息運算得到運算算法并編譯成安全插件的步驟,具體包括:S011根據(jù)接收的應用信息生成隨機數(shù),并將隨機數(shù)設定為密鑰參數(shù);S012根據(jù)密鑰參數(shù)對預設簽名算法進行重構得到運算算法;S013將接收到的應用信息和生成的運算算法一并編譯得到安全插件并將其下發(fā)至支付應用。進一步來說,在步驟S012,對預設簽名算法進行重構得到運算算法的步驟中,具體包括:根據(jù)密鑰參數(shù)改變預設簽名算法的運算順序得到運算算法;和/或,根據(jù)密鑰參數(shù)改變預設簽名算法的分組數(shù)據(jù)塊的結構及對應分組數(shù)據(jù)塊的運算順序得到運算算法;和/或,根據(jù)密鑰參數(shù)改變預設簽名算法的固定參數(shù)得到運算算法。

以下結合具體實施例對認證服務器生成運算算法的過程作出詳細描述:

通過改變預設簽名算法的運算優(yōu)先級生成運算算法的一個具體實施例為:根據(jù)唯一標識應用信息隨機生成一8位隨機密鑰,則根據(jù)生成的隨機密鑰對預算算法各步驟的運算優(yōu)先級重新排列。此時,若預設簽名算法中包括了8個步驟,且生成的隨機密鑰為31245768,則生成的運算算法中,原本預設簽名算法中的第3個步驟優(yōu)先運算,接著依次是第1個步驟、第2個步驟、第4個步驟、第5個步驟、第7個步驟、第6個步驟以及第8個步驟進行運算,以此改變了原有的預設簽名算法的運算先后順序,生成全新的運算算法。當然,根據(jù)該隨機密鑰,改變預設簽名算法的規(guī)則可以根據(jù)實際情況進行相應的變化,如該隨機密鑰中的第1位3代表將原本預設簽名算法中8個步驟中的第1個步驟作為運算算法中的第3個步驟進行運算;隨機密鑰中第2位中的1代表將原本預設簽名算法中8個步驟中的第2個步驟作為運算算法中的第1個步驟進行運算,以此類推,得到根據(jù)該運算算法的全新運算算法。當然,以上我們只是簡單的介紹兩個改變運算優(yōu)先級的規(guī)則,可以根據(jù)實際情況重新進行設定,若預設簽名算法中只包括了6個步驟,則可以通過改變生成的隨機密鑰的位數(shù)來調整,也可以通過忽略生成的8位隨機密鑰中的兩位來適應性的調整。

通過改變預設簽名算法的分組結構和分組結構的運算優(yōu)先級來得到新的運算算法的一個具體實施例為:假若按照預設簽名算法的分組結構規(guī)則,將進行運算信息分成n個數(shù)據(jù)塊,且每個數(shù)據(jù)塊中包括8個小的分塊(a1、a2、a3、a4、a5、a6、a7以及a8),此時假若根據(jù)唯一標識應用信息隨機生成的隨機密鑰為73124568,且該8位隨機密鑰中的第1位代表運算順序,第2為代表相應的分塊。則在運算過程中,位于第2位的3表示分塊a3與分塊a1交換以此改變該分組結構,位于第1位的7表示分塊a7優(yōu)先運算,以此實現(xiàn)目的。以上我們只是示例性的給出了一種具體實施方式,在其他實施例中,對上述分組規(guī)則(每個數(shù)據(jù)的長度)、隨機秘鑰中每位數(shù)字對應的意義(如分塊交換)等都可以根據(jù)實際情況進行設定。

通過改變預設簽名算法的運算參數(shù)來得到新的運算算法的一個具體實施例為:假若預設簽名算法中包括先后兩個常數(shù),分別為1和2,還包括一個未知數(shù)項X。且根據(jù)唯一標識應用信息隨機得到的隨機密鑰為73124568,具體該隨機密鑰中的第3位表示該固定參數(shù),則該預設簽名算法中的X即為1,以此形成新的運算算法。當然,在另一具體實施例中,也可以根據(jù)第3位中的1改變預設簽名算法中已有常數(shù)項,如將已有的第二個常數(shù)2改為該第3位中的1,即生成的運算算法中兩個常數(shù)都是1。

作為一個完整實施例,假若生成的隨機密鑰中第1位代表運算優(yōu)先級,第2位代表分組結構,第3位代表常數(shù)項。此時,如若生成的隨機密鑰為35781246,則分組塊中的a5與a1進行調整改變分組結構,且a3優(yōu)先運算,同時將運算算法中某一常數(shù)變?yōu)?,以此生成與用戶唯一關聯(lián)的運算算法。

在步驟S21中具體包括:根據(jù)應用信息生成密鑰。該應用信息中包括用戶的個人標識碼(Personal Identification Number,簡稱PIN碼)和/或設備指紋(可以為標識終端設備的一切信息,如,IMEI(International Mobile Equipment Identity,國際移動設備標識),IMSI(International Mobile Subscriber Identification Number,國際移動用戶識別碼)、設備型號、設備品牌、生產(chǎn)商、CPU(Central Processing Unit,中央處理器)、MAC(Media Access Control,介質訪問控制)地址、IP(Internet Protocol,網(wǎng)絡之間互連的協(xié)議)地址等)和/或手勢碼。

在實際應用中,如在使用對稱算法對數(shù)據(jù)進行加解密的過程中,使用的密鑰是同一個,故在這一步驟中根據(jù)應用信息隨機生成一個隨機數(shù),并將其作為加解密的密鑰。之后,在對數(shù)據(jù)進行加密/解密的終端設備中使用本實施方式提供的方法對密鑰進行加密生成保護密鑰并將其存儲在安全插件中,提高了密鑰存儲的安全性能。在具體實施例中,在具體實施例中,上述安全插件為提供終端設備密碼體制服務的軟件包,內(nèi)置與用戶唯一關聯(lián)的運算算法。具體,若終端設備為android系統(tǒng),則以so庫的形式存在,將加密后的保護密鑰存儲在keystore中;若終端設備為ios系統(tǒng),則以zip壓縮包的形式存在,將加密后的保護密鑰存儲在keychain中?;诖耍谡{用安全插件之前,首先會對終端設備的運行環(huán)境進行檢測,包括檢測安全插件是否ROOT、檢測終端應用的完整性、檢測安全插件的完整性、檢測設備的硬件信息等,只有運行環(huán)境滿足條件,才進入后續(xù)的步驟,否則提示用戶對運行環(huán)境進行檢查。

最后,要說明的是,在調用安全插件對生成的密鑰進行加密生成保護密鑰之前,首先開啟代碼保護功能,之后根據(jù)安全插件中存儲的應用信息對應用信息進行驗證,如根據(jù)安全插件中內(nèi)部存儲的PIN碼對用戶輸入的PIN碼進行驗證;又如根據(jù)安全插件中存儲的設備指紋對提取到的設備指紋進行驗證等,只有應用信息驗證成功了才會進入后續(xù)的密鑰加密的步驟。由開啟了代碼保護功能,有效防止了動態(tài)調試、防止內(nèi)存dump(傾倒)式攻擊,為用戶提供了一個相對安全的運行環(huán)境。

基于上述實施方式,在另一實施方式中,在該密鑰存儲方法中包括:S11接收認證服務器下發(fā)的安全插件并對其進行存儲,安全插件中包括與用戶唯一關聯(lián)的運算算法和應用信息和應用信息;S21根據(jù)應用信息生成密鑰對,密鑰對中包括私鑰和公鑰;S31調用安全插件對私鑰進行加密并將加密后生成的私鑰保護密鑰連同應用信息一并存儲在安全插件中,安全插件將應用信息作為計算因子、使用運算算法對私鑰進行加密生成私鑰保護密鑰;S41銷毀私鑰。

在本實施方式中,終端設備中生成根據(jù)應用信息生成了密鑰對之后,隨即對私鑰進行加密生成私鑰保護密鑰并存儲在認證服務器下發(fā)的安全插件中,與此同時將生成的私鑰進行銷毀,即生成的私鑰不在終端設備中直接存儲。之后,在使用該密鑰進行解密/簽名的過程中,首先對內(nèi)部存儲的私鑰保護密鑰進行解密得到相應的私鑰,之后再進行相應的操作,且在完成相應操作之后將解密得到的私鑰進行銷毀。

與上述實施方式類似的,在步驟S11中同樣包括認證服務器生成安全插件并將其下發(fā)至終端設備的步驟,具體:在使用安全插件對密鑰進行加密之前,用戶首先通過終端設備中的終端應用在認證服務器中進行注冊,以此認證服務器生成相應的安全插件并將其返回至終端應用中存儲。認證服務器中生成運算算法的具體過程在上述實施方式中已做出詳細描述,在此不做贅述。

在實際應用中,如在使用非對稱算法對數(shù)據(jù)進行加解密的過程中,通常使用公鑰對數(shù)據(jù)進行加密,之后使用私鑰對加密數(shù)據(jù)進行解密,故在這一步驟中根據(jù)應用信息隨機生成的一包括公鑰和私鑰的密鑰對。之后,在對數(shù)據(jù)進行解密的終端設備中使用本實施方式提供的方法對私鑰進行加密生成私鑰保護密鑰并將其存儲在安全插件中,以此提高私鑰存儲的安全性能。基于此,在安全插件生成身份認證碼之前,首先對終端設備的運行環(huán)境進行檢測,包括檢測安全插件是否ROOT、檢測終端應用的完整性、檢測安全插件的完整性、檢測設備的硬件信息等,只有運行環(huán)境滿足條件,才進入后續(xù)的步驟,否則提示用戶對運行環(huán)境進行檢查。另外,應用信息中包括的內(nèi)容、安全插件的存儲方式、對終端設備的運行環(huán)境進行檢測、代碼功能的開啟以及對應用信息的檢測均與上述實施方式中相同,在此不做贅述。

如圖2所示為本發(fā)明提供的密鑰存儲方法另一種實施方式流程示意圖,從圖中可以看出,在該密鑰存儲方法中包括:S12接收認證服務器下發(fā)的安全插件并對其進行存儲,該安全插件中包括與用戶唯一關聯(lián)的運算算法、應用信息及密鑰,密鑰由認證服務器根據(jù)應用信息生成;S22調用安全插件對密鑰進行加密并將加密后生成的保護密鑰連同應用信息一并存儲在安全插件中,安全插件將應用信息作為計算因子、使用運算算法對密鑰進行加密生成保護密鑰;S32銷毀密鑰。

從以上描述可以看出,在本實施方式中,由終端設備接收認證服務器下發(fā)的安全插件中包括了在認證服務器中生成的密鑰,隨即對其進行加密生成保護密鑰并存儲在安全插件中,與此同時將安全插件中的密鑰進行銷毀。之后,在使用該密鑰進行加解密/簽名的過程中,首先對內(nèi)部存儲的保護密鑰進行解密得到相應的密鑰,之后再進行相應的操作,且在完成相應操作之后將解密得到的密鑰進行銷毀。

更具體來說,在步驟S11中包括認證服務器生成安全插件并將其下發(fā)至終端設備的步驟,具體:在使用安全插件對密鑰進行加密之前,用戶首先通過終端設備中的終端應用(Application,應用程序)在認證服務器中進行注冊,之后根據(jù)應用信息生成密鑰及生成運算算法,并編譯成安全插件返回至終端應用中存儲。認證服務器中生成運算算法的具體過程在上述實施方式中已做出詳細描述,在此不做贅述。

在具體實施例中,上述安全插件為提供終端設備密碼體制服務的軟件包,內(nèi)置與用戶唯一關聯(lián)的運算算法。具體,若終端設備為android系統(tǒng),則以so庫的形式存在;若終端設備為ios系統(tǒng),則以zip壓縮包的形式存在?;诖耍诎踩寮缮矸菡J證碼之前,首先對終端設備的運行環(huán)境進行檢測,包括檢測安全插件是否ROOT、檢測終端應用的完整性、檢測安全插件的完整性、檢測設備的硬件信息等,只有運行環(huán)境滿足條件,才進入后續(xù)的步驟,否則提示用戶對運行環(huán)境進行檢查。

在實際應用中,如在使用對稱算法對數(shù)據(jù)進行加解密的過程中,使用的密鑰是同一個,故在這一步驟中認證服務器根據(jù)應用信息隨機生成一個隨機數(shù),并將其作為加解密的密鑰。認證服務器在生成了運算算法之后,將生成的密鑰與運算算法一并進行編譯得到安全插件并下發(fā)至終端設備中。在對數(shù)據(jù)進行加密/解密的終端設備中使用本實施方式提供的方法對密鑰進行加密生成保護密鑰并將其存儲在安全插件中,提高了密鑰存儲的安全性能。具體該應用信息中包括的內(nèi)容、安全插件的存儲方式、對終端設備的運行環(huán)境進行檢測、代碼功能的開啟以及對應用信息的檢測均與上述實施方式中相同,在此不做贅述。

基于上述實施方式,在另一實施方式中,該密鑰存儲方法中包括:S12接收認證服務器下發(fā)的安全插件并對其進行存儲,安全插件中包括與用戶唯一關聯(lián)的運算算法、應用信息及密鑰對,密鑰對由認證服務器根據(jù)應用信息生成,包括私鑰和公鑰;S22調用安全插件對私鑰進行加密并將加密后生成的私鑰保護密鑰連同應用信息一并存儲在安全插件中,安全插件將應用信息作為計算因子、使用運算算法對私鑰進行加密生成私鑰保護密鑰;S32銷毀私鑰。

從以上描述可以看出,在本實施方式中,由終端設備接收認證服務器下發(fā)的安全插件中包括了在認證服務器中生成的密鑰對,隨即對其中包括的私鑰進行加密生成私鑰保護密鑰并存儲在安全插件中,與此同時將安全插件中的私鑰進行銷毀。之后,在使用該私鑰進行解密/簽名的過程中,首先對內(nèi)部存儲的私鑰保護密鑰進行解密得到相應的私鑰,之后再進行相應的操作,且在完成相應操作之后將解密得到的私鑰進行銷毀。

更具體來說,在步驟S11中包括認證服務器生成安全插件并將其下發(fā)至終端設備的步驟:在使用安全插件對密鑰進行加密之前,用戶首先通過終端設備中的終端應用在認證服務器中進行注冊,之后根據(jù)應用信息生成密鑰對及生成運算算法,并將密鑰編譯入安全插件返回至終端應用中存儲。認證服務器中生成運算算法的具體過程在上述實施方式中已做出詳細描述,在此不做贅述。

在實際應用中,如在使用非對稱算法對數(shù)據(jù)進行加解密的過程中,使用的公鑰和私鑰并不相同,故在這一步驟中認證服務器根據(jù)應用信息隨機生成包括公鑰和私鑰的密鑰對。之后,認證服務器在生成了運算算法之后,將生成的私鑰與運算算法一并進行編譯得到安全插件并下發(fā)至終端設備中。在對數(shù)據(jù)進行解密的終端設備中使用本實施方式提供的方法對私鑰進行加密生成保護密鑰并將其存儲在安全插件中,提高了密鑰存儲的安全性能。具體該應用信息中包括的內(nèi)容、安全插件的存儲方式、對終端設備的運行環(huán)境進行檢測、代碼功能的開啟以及對應用信息的檢測均與上述實施方式中相同,在此不做贅述。

根據(jù)上述密鑰存儲方法,本發(fā)明還提供了一種數(shù)據(jù)加解密方法。如圖3所示,在該數(shù)據(jù)加解密方法中包括:S13獲取應用信息并調用安全插件對其進行驗證;S23調用安全插件對內(nèi)部存儲的保護密鑰進行解密得到密鑰,安全插件將應用信息作為計算因子、使用運算算法對保護密鑰進行解密還原得到密鑰;S33調用安全插件采用還原得到的密鑰和預設加密算法對待發(fā)送數(shù)據(jù)進行加密并將加密后的數(shù)據(jù)發(fā)送出去,或調用安全插件采用還原得到的密鑰和預設解密算法對接收到的加密數(shù)據(jù)進行解密得到解密后的數(shù)據(jù);S43銷毀密鑰。由以上描述可知,在實際應用中,如在使用對稱算法,如DES算法對數(shù)據(jù)進行加解密的過程中,使用的密鑰是同一個,故生成的密鑰也只有一個。具體在使用該密鑰對待發(fā)送數(shù)據(jù)進行加解密的過程中,首先調用安全插件對內(nèi)部存儲的保護密鑰進行解密得到密鑰,之后再使用該密鑰對待發(fā)送數(shù)據(jù)進行加密及對接收到的加密數(shù)據(jù)進行解密。

在另一實施方式中,數(shù)據(jù)加解密方法中包括對接收數(shù)據(jù)進行解密的步驟,如圖4所示,在對接收數(shù)據(jù)進行解密的步驟中具體包括:S14獲取應用信息并調用安全插件對其進行驗證;S24調用安全插件對內(nèi)部存儲的私鑰保護密鑰進行解密得到私鑰,安全插件將應用信息作為計算因子、使用運算算法對私鑰保護密鑰進行解密還原得到私鑰;S34調用安全插件采用還原得到的私鑰和預設解密算法對接收到的加密數(shù)據(jù)進行解密,以此得到解密后的數(shù)據(jù);S44銷毀私鑰。由以上描述可知,在實際應用中,如在使用非對稱算法,如RSA算法對數(shù)據(jù)進行加解密的過程中,使用的密鑰不是同一個,通常由公鑰對數(shù)據(jù)進行加密,之后采用私鑰對加密數(shù)據(jù)進行解密。具體在使用該私鑰對待加密進行解密的過程中,首先調用安全插件對內(nèi)部存儲的私鑰保護密鑰進行解密得到私鑰,之后再使用該私鑰對加密數(shù)據(jù)進行加密。

如圖5所示,本發(fā)明還提供了一種電子簽名方法,應用于上述密鑰存儲方法,從圖中可以看出,在該電子簽名方法中包括:S15獲取應用信息并調用安全插件對其進行驗證;S25調用安全插件對內(nèi)部存儲的保護密鑰進行解密得到私鑰,安全插件將應用信息作為計算因子、使用運算算法對私鑰保護密鑰進行解密還原得到私鑰;S35調用安全插件采用生成的私鑰和預設簽名算法對待簽名原文進行簽名;S45銷毀私鑰。由以上描述可知,在實際應用中,如在使用非對稱算法(PKI算法),如DES算法對待簽名原文進行簽名的過程中,通常由私鑰對待簽名原文進行加密,之后采用公鑰對簽名進行解簽。具體在使用該私鑰對待簽名原文進行加密的過程中,首先調用安全插件對內(nèi)部存儲的私鑰保護密鑰進行解密得到私鑰,之后再使用該私鑰對待簽名原文進行加密,且在簽名完成后銷毀私鑰。

我們知道,在對簽名進行解簽的時候需要用到電子證書和公鑰,因而,在步驟S15之前還包括用于對接收到的簽名進行解析的電子證書的生成和存儲的步驟,在一種實施方式中,如圖6所示,該電子證書的生成和存儲步驟具體包括:S10終端應用生成電子證書請求(具體為pkcs(The Public-Key Cryptography Standards)格式)并將其發(fā)送至認證服務器,具體該電子證書請求中包括應用信息和公鑰;S20認證服務器將電子證書請求轉發(fā)至證書服務器;S30證書服務器將電子證書請求轉發(fā)至證書簽證機關(如CA(Certificate Authority,數(shù)字證書認證中心)請求生成電子證書;40證書簽證機關根據(jù)電子證書請求生成電子證書,并將生成的電子證書返回證書服務器;S50證書服務器將電子證書轉發(fā)至認證服務器;S60認證服務器將其轉發(fā)至終端應用并進行存儲。具體在該實施方式中,密鑰由終端應用根據(jù)應用信息隨機生成,在步驟S60之后還包括:S70終端應用將電子證書編譯入認證服務器返回的安全插件中。

在另一實施方式中,在該電子證書的生成和存儲步驟具體包括,S10終端應用生成電子證書請求并將其發(fā)送至認證服務器,具體該電子證書請求中包括應用信息和公鑰;S20認證服務器將電子證書請求轉發(fā)至證書服務器;S30證書服務器將電子證書請求轉發(fā)至證書簽證機關請求生成電子證書;40證書簽證機關根據(jù)電子證書請求生成電子證書,并將生成的電子證書返回證書服務器;S50將電子證書和私鑰編譯入安全插件,安全插件中包括與用戶唯一關聯(lián)的運算算法和應用信息;S60認證服務器將安全插件返回終端應用。具體在該實施方式中,包括私鑰和公鑰的密鑰對由認證服務器生成,因而在步驟S50中將證書服務器反饋的電子證書、生成的私鑰、生成的運算算法以及應用信息一并編譯入安全插件中,并將其返回終端應用中。

更進一步來說,在該電子簽名方法中還包括私鑰和電子證書更新的步驟,具體包括:S16終端應用根據(jù)應用信息生成新的密鑰對,新的密鑰對中包括新的私鑰和公鑰;S26終端應用生成新的電子證書請求并將其發(fā)送至認證服務器,新的電子證書請求中包括應用信息和新的公鑰;S36認證服務器將新的電子證書請求轉發(fā)至證書服務器;S46證書服務器將新的電子證書請求轉發(fā)至證書簽證機關請求生成電子證書;S56證書簽證機關根據(jù)接收到的電子證書請求對現(xiàn)有的電子證書進行驗證;S66驗證成功后,根據(jù)新的電子證書請求生成新的電子證書,并將生成的電子證書返回證書服務器;S76證書服務器將新的電子證書經(jīng)由認證服務器轉發(fā)至終端應用。這里,我們定期對私鑰或私鑰保護私鑰進行更新,以防止私鑰泄露出去,提高了終端設備中私鑰存儲的安全性能。具體在這一過程中,利用風險控制平臺,檢測異常狀態(tài),定期對安全插件和私鑰進行強制更新。

如圖7所示為本發(fā)明提供的密鑰存儲裝置結構示意圖,應用于終端設備和密鑰存儲方法,從圖中可以看出,在該密鑰存儲裝置100中包括:存儲模塊110、信息提取模塊120、第一運算模塊130以及第一密鑰銷毀模塊140。

在一種實施方式中,存儲模塊存儲有與用戶唯一關聯(lián)的運算算法、應用信息以及對密鑰加密生成的保護密鑰。在工作過程中,信息提取模塊用于從存儲模塊中提取應用信息及從外部提取密鑰(具體該密鑰可以由終端設備生成中根據(jù)應用信息生成,也可由認證服務器根據(jù)應用信息生成;若由認證服務器生成,則隨同安全插件一同下發(fā)至終端應用中);之后,第一運算模塊將應用信息作為計算因子、使用運算算法對密鑰進行加密生成保護密鑰并將其進行存儲;最后,第一密鑰銷毀模塊將密鑰銷毀??梢姡诿荑€由認證服務器生成的實施方式中,在安全插件由認證服務器向終端應用下發(fā)的過程中,密鑰短暫存儲于安全插件中,在終端應用中根據(jù)該密鑰生成了保護密鑰之后,將其銷毀。

在另一實施方式中,存儲模塊存儲有與用戶唯一關聯(lián)的運算算法、應用信息以及對私鑰加密生成的私鑰保護密鑰。在工作過程中,信息提取模塊用于從存儲模塊中提取應用信息及從外部提取私鑰;之后,第一運算模塊將應用信息作為計算因子、使用運算算法對私鑰進行加密生成私鑰保護密鑰;最后,第一密鑰銷毀模塊將私鑰銷毀。可見,在私鑰由認證服務器生成的實施方式中,在安全插件由認證服務器向終端應用下發(fā)的過程中,密鑰短暫存儲于安全插件中,在終端應用中根據(jù)該私鑰生成了密鑰保護密鑰之后,將其銷毀。

具體來說,在該密鑰存儲裝置中,應用信息中包括用戶的個人標識碼(Personal Identification Number,簡稱PIN碼)和/或設備指紋(可以為標識終端設備的一切信息,如,IMEI(International Mobile Equipment Identity,國際移動設備標識),IMSI(International Mobile Subscriber Identification Number,國際移動用戶識別碼)、設備型號、設備品牌、生產(chǎn)商、CPU(Central Processing Unit,中央處理器)、MAC(Media Access Control,介質訪問控制)地址、IP(Internet Protocol,網(wǎng)絡之間互連的協(xié)議)地址等)和/或手勢碼。在具體實施例中,若終端設備為android系統(tǒng),安全插件以so庫的形式存在,將加密后的保護密鑰存儲在keystore中;若終端設備為ios系統(tǒng),安全插件以zip壓縮包的形式存在,將加密后的保護密鑰存儲在keychain中。

進一步來說,在該密鑰存儲裝置中還包括環(huán)境檢測模塊,用于對終端設備的運行環(huán)境進行檢測,包括檢測安全插件是否ROOT、檢測終端應用的完整性、檢測安全插件的完整性、檢測設備的硬件信息等,只有運行環(huán)境滿足條件,才進入后續(xù)的第一運算模塊的運算步驟等,否則提示用戶對運行環(huán)境進行檢查。另外,還包括代碼保護模塊和驗證模塊,其中,代碼保護模塊,用于開啟代碼保護功能;在開啟可代碼保護功能之后,驗證模塊根據(jù)安全插件中存儲的應用信息對應用信息進行驗證,如根據(jù)安全插件中內(nèi)部存儲的PIN碼對用戶輸入的PIN碼進行驗證;又如根據(jù)安全插件中存儲的設備指紋對提取到的設備指紋進行驗證等,只有應用信息驗證成功了才會進入后續(xù)的密鑰加密的步驟。有效防止了動態(tài)調試、防止內(nèi)存dump(傾倒)式攻擊。

如圖8所述為本發(fā)明提供的數(shù)據(jù)加解密裝置,應用于終端設備,且在該數(shù)據(jù)加解密裝置中包括上述密鑰存儲裝置,具體該密鑰存儲裝置中的存儲模塊還存儲有對待發(fā)送數(shù)據(jù)進行加密的預設加密算法,和/或存儲有對接收到的加密數(shù)據(jù)進行解密的預設解密算法。再有,該數(shù)據(jù)加解密裝置200還包括:第一應用信息驗證模塊210、第二運算模塊220以及第二密鑰銷毀模塊230。

在一種實施方式中,使用該數(shù)據(jù)加解密裝置對數(shù)據(jù)進行加密的過程中,首先,第一應用信息驗證模塊210根據(jù)存儲模塊中存儲的應用信息對獲取的應用信息進行驗證;之后,第二運算模塊采用由保護密鑰解密得到的密鑰和預設加密算法對待發(fā)送數(shù)據(jù)進行加密或對加密數(shù)據(jù)進行解密;最后,第二密鑰銷毀模塊對密鑰進行銷毀。

在另一實施方式中,使用該數(shù)據(jù)加解密裝置對數(shù)據(jù)進行加密的過程中,首先,第一應用信息驗證模塊210根據(jù)存儲模塊中存儲的應用信息對獲取的應用信息進行驗證;之后,第二運算模塊采用由保護密鑰解密得到的私鑰和預設解密算法對接收到的加密數(shù)據(jù)進行解密;最后,第二密鑰銷毀模塊銷毀私鑰。

如圖9所示為本發(fā)明提供的電子簽名裝置,應用于終端設備,且在該電子簽名裝置包括上述數(shù)據(jù)加解密裝置,具體該密鑰存儲裝置的存儲模塊還存儲有對待簽名原文進行簽名的預設簽名算法以及對接收到的簽名進行解析的電子證書。再有,該電子簽名裝置中還包括310第二應用信息驗證模塊、S320第三運算模塊和330第三密鑰銷毀模塊。

在使用該電子簽名裝置對待簽名原文進行簽名的過程中,首先,第二應用信息驗證模塊根據(jù)存儲模塊中存儲的應用信息對獲取的應用信息進行驗證;之后,第三運算模塊采用由保護密鑰解密得到的私鑰和預設簽名算法對待簽名原文進行簽名或采用電子證書對接收到的簽名進行解析;最后,第三密鑰銷毀模塊在對待簽名原文進行簽名之后銷毀密鑰。

本發(fā)明還提供了一種電子證書生成系統(tǒng),具體包括:

移動端,包括上述電子簽名裝置,用于根據(jù)應用信息和公鑰生成電子證書請求并將其發(fā)送至認證服務器,及用于接收認證服務器端返回的電子證書;或用于根據(jù)應用信息和公鑰生成電子證書請求并將其發(fā)送至認證服務器,及用于接收認證服務器端返回的安全插件,安全插件中包括證書簽證機關簽發(fā)的電子證書。具體,這里的移動端包括手機、平板電腦等。且該移動端通過VPN(Virtual Private Network,虛擬專用網(wǎng)絡)網(wǎng)關與認證服務器連接。

認證服務器端,用于將電子證書請求轉發(fā)至證書服務器;或用于將證書簽證機關簽發(fā)的電子證書和私鑰編譯入安全插件,并將安全插件返回移動端;

證書服務器端,用于將電子證書請求轉發(fā)至證書簽證機關請求生成電子證書,及用于將證書簽證機關簽發(fā)的電子證書返回認證服務器端;以及

證書簽證機關,根據(jù)電子證書請求生成電子證書。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
汶上县| 咸宁市| 弋阳县| 正定县| 胶南市| 湘潭县| 周宁县| 景东| 永宁县| 湖州市| 桂平市| 太谷县| 垦利县| 博兴县| 高阳县| 宣武区| 宜春市| 密山市| 浮梁县| 沂南县| 冀州市| 金寨县| 黄平县| 新竹市| 乐业县| 曲松县| 静海县| 乌恰县| 湘西| 莒南县| 六枝特区| 东宁县| 绥中县| 石台县| 新密市| 靖州| 略阳县| 南通市| 南漳县| 澳门| 兰西县|