一種基于環(huán)境認證的文件安全存儲方法與系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于環(huán)境認證的文件安全存儲方法與系統(tǒng),涉及文件安全存儲領域。該方法包括:建立用戶個人計算機程序可視化界面,獲取該用戶個人計算機的環(huán)境特征信息,結合用戶自定義腳本,再輔以隨機序列,得到唯一的環(huán)境綁定密鑰,根據(jù)該用戶個人計算機的該環(huán)境特征信息,通過高級加密標準的電碼本模式進行加密并生成密鑰,如果參與解密的新的用戶個人計算機的環(huán)境特征信息與加密時該用戶個人計算機的該環(huán)境特征信息相同,則直接進行解密,若與加密時該用戶個人計算機的該環(huán)境特征信息不相同,則根據(jù)該密鑰進行解密。本發(fā)明的方法及系統(tǒng)能夠有效的擺脫繁瑣或安全性弱的用戶口令并且綁定用戶環(huán)境防止被非此環(huán)境人員對相關文件進行操作。
【專利說明】—種基于環(huán)境認證的文件安全存儲方法與系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及文件安全存儲領域,尤其涉及文件安全存儲服務中基于環(huán)境認證的安全存儲技術。
【背景技術】
[0002]文件安全存儲的重要性越來越受到重視,用戶本機文件的私密性、完整性受到來自網(wǎng)絡等多方面的威脅,商業(yè)間諜從未中止過對目標公司機密信息的覬覦,基本的日常用戶口令已不再成功保護被日益成熟隱秘的社會工程學不斷試探的私密文件,同時飛速進步與發(fā)達的駭客技術與加密破解算法已成為了懸在當今文件安全上的達摩克利斯之劍。因此,一款脫于用戶口令并基于自定義環(huán)境認證的文件安全存儲系統(tǒng)便顯得尤為重要。本發(fā)明特點在于與用戶定義的環(huán)境強結合,通過獲取本機硬件指紋信息或指定本網(wǎng)絡特征環(huán)境信息,或自定義腳本來獲取計算機系統(tǒng)軟環(huán)境的特征進行對用戶私密工作環(huán)境的綁定,來擺脫繁瑣或安全性弱的用戶口令并且綁定用戶環(huán)境防止被非此環(huán)境人員對相關文件進行操作以實現(xiàn)文件的安全存儲。
[0003]基本上,目前關于本地特征信息獲取的方法多見于獲取硬件指紋信息的方式,對于用戶所處的網(wǎng)絡環(huán)境似乎未得以物盡其用,而且隨著日益成熟的計算機技術與日漸強大的駭客手段,傳統(tǒng)的死板的硬件特征指紋獲取的方法已不能滿足用戶各種獨特的個性需求與嚴格的安全標準。
[0004]發(fā)明專利“一種基于網(wǎng)絡多節(jié)點的文件安全存儲方法”公開了,包括獲取已具備的相互獨立的存儲節(jié)點數(shù)N,所述相互獨立為任一節(jié)點失密或損壞不會導致其余節(jié)點失密或損壞;將原始文件加密;根據(jù)存儲節(jié)點數(shù)量N,將加密文件切割成N (N-1)/2片文件片,每片大小任意,并對每個文件片進行編號;將文件片存儲在N個節(jié)點中,每節(jié)點存儲N-1片,并使得任意兩節(jié)點之間均有一個文件片相同,而每個文件片在全部節(jié)點中共出現(xiàn)兩次,即各節(jié)點總的存儲量為原始文件大小的兩倍,任意兩節(jié)點中所存儲文件編號的碼距為I。從而解決了現(xiàn)有網(wǎng)絡文件存儲中安全性不足或者冗余度過大的問題,在保證最小冗余度的情況下,給出了最大安全度的文件分割存儲算法。但是,該專利只涉及到網(wǎng)絡多節(jié)點的文件安全存儲方法,未涉及到基于當前環(huán)境認證的文件安全存儲。
[0005]發(fā)明專利“實現(xiàn)文件安全存儲的方法、裝置和文件讀取裝置”公開了一種實現(xiàn)文件安全存儲的方法,包括:獲取待寫入存儲介質的文件的身份信息及與所述存儲介質空閑扇區(qū)的數(shù)量相關的第一信息,通過所述身份信息用于將所述文件和其它文件區(qū)分開;通過變換所述身份信息獲得與所述文件對應的變換值;處理所述第一信息及所述變換值,從所述存儲介質空閑扇區(qū)中選擇至少一部分扇區(qū)作為所述文件的實際存儲位置;將所述文件寫入所述實際存儲位置。該專利還公開了一種實現(xiàn)文件安全存儲的裝置以及一種文件讀取裝置。應用該專利用戶可以方便地對需要保密的文件進行保存和讀取,而無需使用其它口令或者硬件支持,就可以提高文件的保護強度,保證不需要與他人共享的個人隱私數(shù)據(jù)的安全性。但是,該專利只涉及到對于文件的安全存儲,并未涉及到基于環(huán)境認證對文件進行加密存儲以保證其安全存儲。
[0006]發(fā)明專利“具有消息恢復的數(shù)字簽名的認證加密”公開了一種用于具有消息恢復的數(shù)字簽名的認證加密的框架,由此實現(xiàn)認證而無冗余要求。通過使用認證加密來修改橢圓曲線Pintsov-Vanstone簽名方案,從而使用消息認證碼(1028)來實現(xiàn)認證。認證加密可以在單一函數(shù)中執(zhí)行,或者作為兩個分離的函數(shù)執(zhí)行。還可以將認證加密應用于要簽名的消息(104)中的關聯(lián)數(shù)據(jù)。但是,該專利只涉及到使用認證加密來修改橢圓曲線Pintsov-Vanstone簽名方案,從而使用消息認證碼(1028)來實現(xiàn)認證。并未涉及到基于環(huán)境認證對文件進行加密存儲以保證其安全存儲。此外,該專利的安全存儲方法也與本方案有區(qū)別。
【發(fā)明內容】
[0007]為了解決上述問題,本發(fā)明的目的在于提供基于環(huán)境認證的文件安全存儲方法與系統(tǒng),能進行高效的對重要的明文文件使用多樣化的環(huán)境特征對其加密,能夠有效的擺脫繁瑣或安全性弱的用戶口令并且綁定用戶環(huán)境防止被非此環(huán)境人員對相關文件進行操作以實現(xiàn)文件的安全存儲。
[0008]具體地來講,本發(fā)明公開了一種基于環(huán)境認證的文件安全存儲方法,包括下列步驟:
[0009]步驟1,建立用戶個人計算機程序可視化界面,為用戶提供友好的操作界面;
[0010]步驟2,獲取該用戶個人計算機的環(huán)境特征信息,結合用戶自定義腳本,再輔以隨機序列,得到唯一的環(huán)境綁定密鑰;
[0011 ] 步驟3,根據(jù)該用戶個人計算機的該環(huán)境特征信息,通過高級加密標準的電碼本模式進行加密并生成密鑰;
[0012]步驟4,如果參與解密的新的用戶個人計算機的環(huán)境特征信息與加密時該用戶個人計算機的該環(huán)境特征信息相同,則通過高級加密標準的電碼本模式直接進行解密,若與加密時該用戶個人計算機的該環(huán)境特征信息不相同,則根據(jù)該密鑰進行解密。
[0013]所述的基于環(huán)境認證的文件安全存儲方法,步驟2的具體步驟如下:
[0014]步驟21,獲取硬件指紋信息,用于標識用戶個人計算機硬件資源的唯一硬件特征信息;
[0015]步驟22,獲取網(wǎng)絡環(huán)境信息,通過獲取用戶個人計算機直連網(wǎng)絡的網(wǎng)絡設備的特征信息組合,用于標識用戶個人計算機網(wǎng)絡的唯一網(wǎng)絡特征信息;
[0016]步驟23,獲取用戶自定義腳本信息,通過執(zhí)行用戶自定義腳本獲取用戶個人計算機的信息,用于標識用戶個人計算機的唯一腳本特征信息。
[0017]所述的基于環(huán)境認證的文件安全存儲方法,步驟3還包括加密文件的結構:密文、生成密鑰的硬件設備位圖、團體名、用戶自定義腳本、隨機序列、明文的hash值,其中生成密鑰的硬件設備位圖,用于每一個二進制位對應于一個硬件類別,根據(jù)位圖獲取生成密鑰的硬件組合;團體名,用于網(wǎng)絡環(huán)境認證;用戶自定義腳本,用于自定義基于環(huán)境認證的加密規(guī)則;隨機序列,加密文件時隨機生成;明文的hash值:用于密文解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
[0018]所述的基于環(huán)境認證的文件安全存儲方法,步驟3中生成該密鑰的具體步驟包括:
[0019]步驟31,根據(jù)硬件指紋信息,獲取硬件指紋信息字符串;
[0020]步驟32,根據(jù)團體名獲取的網(wǎng)絡環(huán)境信息,獲取網(wǎng)絡環(huán)境信息字符串;
[0021]步驟33,根據(jù)獲取的該硬件指紋信息字符串和該網(wǎng)絡環(huán)境信息字符串,通過hash運算,得到臨時密鑰;
[0022]步驟34,根據(jù)用戶自定義腳本信息,獲取用戶自定義腳本信息字符串;
[0023]步驟35,根據(jù)該臨時密鑰、用戶自定義腳本信息字符串、隨機序列,通過hash運算,得到最終密鑰。
[0024]所述的基于環(huán)境認證的文件安全存儲方法,步驟4還包括:
[0025]根據(jù)明文的hash值,通過解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
[0026]本發(fā)明還公開了一種基于環(huán)境認證的文件安全存儲系統(tǒng),包括:
[0027]模塊I為UI模塊,用于用戶個人計算機程序可視化界面,為用戶提供友好的操作界面;
[0028]模塊4為環(huán)境特征信息提取模塊,獲取該用戶個人計算機的環(huán)境特征信息,結合用戶自定義腳本,再輔以隨機序列,得到唯一的環(huán)境綁定密鑰;
[0029]模塊2為加密模塊,根據(jù)該用戶個人計算機的該環(huán)境特征信息,通過高級加密標準的電碼本模式進行加密并生成密鑰;
[0030]模塊3為解密模塊,如果參與解密的新的用戶個人計算機的環(huán)境特征信息與加密時該用戶個人計算機的該環(huán)境特征信息相同,則通過高級加密標準的電碼本模式直接進行解密,若與加密時該用戶個人計算機的該環(huán)境特征信息不相同,則根據(jù)該密鑰進行解密。
[0031]所述的基于環(huán)境認證的文件安全存儲系統(tǒng),該環(huán)境特征信息提取模塊包括:
[0032]模塊41為硬件信息獲取模塊用于獲取硬件指紋信息,用于標識用戶個人計算機硬件資源的唯一硬件特征信息;
[0033]模塊42為獲取網(wǎng)絡特征模塊用于獲取網(wǎng)絡環(huán)境信息,通過獲取用戶個人計算機直連網(wǎng)絡的網(wǎng)絡設備的特征信息組合,用于標識用戶個人計算機網(wǎng)絡的唯一網(wǎng)絡特征信息;
[0034]模塊43獲取腳本信息模塊用于獲取用戶自定義腳本信息,通過執(zhí)行用戶自定義腳本獲取用戶個人計算機的信息,用于標識用戶個人計算機的唯一腳本特征信息。
[0035]所述的基于環(huán)境認證的文件安全存儲系統(tǒng),該加密模塊的加密文件結構包括:密文、生成密鑰的硬件設備位圖、團體名、用戶自定義腳本、隨機序列、明文的hash值,其中生成密鑰的硬件設備位圖,用于每一個二進制位對應于一個硬件類別,根據(jù)位圖獲取生成密鑰的硬件組合;團體名,用于網(wǎng)絡環(huán)境認證;用戶自定義腳本,用于自定義基于環(huán)境認證的加密規(guī)則;隨機序列,加密文件時隨機生成;明文的hash值:用于密文解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
[0036]所述的基于環(huán)境認證的文件安全存儲系統(tǒng),加密模塊中生成該密鑰的具體步驟如下:
[0037]通過模塊41,硬件信息獲取模塊,通過步驟S92,根據(jù)硬件指紋信息,通過步驟S921,獲取硬件指紋信息字符串;[0038]通過模塊42,獲取網(wǎng)絡特征模塊,通過步驟S93根據(jù)團體名獲取的網(wǎng)絡環(huán)境信息,通過步驟S931獲取網(wǎng)絡環(huán)境信息字符串;
[0039]通過獲取的該硬件指紋信息字符串和該網(wǎng)絡環(huán)境信息字符串,通過步驟S95,hash運算,經(jīng)過步驟S951,獲取臨時密鑰;
[0040]通過模塊43,獲取腳本信息模塊,通過步驟S94,根據(jù)用戶自定義腳本信息,通過步驟S941,獲取用戶自定義腳本信息字符串;
[0041]根據(jù)該獲取的臨時密鑰、用戶自定義腳本信息字符串、隨機數(shù),通過步驟S952,hash運算,獲取最終密鑰。
[0042]所述的基于環(huán)境認證的文件安全存儲系統(tǒng),該解密模塊還包括:
[0043]根據(jù)明文的hash值,通過解密模塊解密后hash運算的值與該明文的hash值對t匕,檢驗是否解密正確。
[0044]本發(fā)明的技術效果為:
[0045]在搜集環(huán)境特征信息時,不僅對本地硬件,如CPU、硬盤、USB、光盤等進行獲取,而且對于用戶所在的網(wǎng)絡環(huán)境特征信息也加以關注。方法上,用戶通過SNMP協(xié)議獲取主機直連的網(wǎng)關設備的各類信息,結合用戶自定義的腳本信息獲取網(wǎng)絡特征環(huán)境信息,以達到本地與網(wǎng)絡環(huán)境雙重認證的效果,以實現(xiàn)用戶文件的安全保密存儲。
[0046]本發(fā)明較之同類創(chuàng)新之處在于提供了用戶自定義腳本自主設計環(huán)境認證規(guī)則的功能,通過自定義腳本,用戶能夠靈活的設定各種與環(huán)境相關的加解密條件,如“第二個盤符第三個文件的文件名必須為aa”、“當前日期必須為12月26日”等,這種用戶自定義加密條件規(guī)則的方法不僅極大地擴展了普通的結合本地特征信息的方式,而且靈活的條件設置讓文件存儲的安全得到進一步的保障。
[0047]腳本的功能十分強大,通過用戶的自主定義,攻擊者很難破解腳本產(chǎn)生的結果,同時腳本的運行結果與用戶當前“唯一”的計算機系統(tǒng)“軟環(huán)境”緊密結合,擁有不確定性、唯一性、難破解性等諸多優(yōu)點。
[0048]經(jīng)測試,本系統(tǒng)能進行高效的對重要的明文文件使用多樣化的環(huán)境特征對其加密,實現(xiàn)了文件的保密性存儲。即使該密文文件被非授權地復制到其他PC環(huán)境中,由于多種混合環(huán)境特征的難復制性,密文文件不能被解密成明文文件,文件仍具有保密性。對于合法用戶在授權的PC上,不需要輸入任何口令密碼,即可透明地解密明文,得到明文文件,十分高效安全。
【專利附圖】
【附圖說明】
[0049]圖1系統(tǒng)結構圖;
[0050]圖2系統(tǒng)基本操作流程圖;
[0051]圖3模塊間交互圖;
[0052]圖4獲取環(huán)境特征信息流程圖;
[0053]圖5硬件信息獲取邏輯流程圖;
[0054]圖6用戶獲取網(wǎng)絡特征信息示意圖;
[0055]圖7自定義腳本信息獲取流程邏輯圖;
[0056]圖8算法生成流程圖;[0057]圖9軟件加解密流程圖;
[0058]圖10文件加密模塊邏輯流程圖;
[0059]圖11解密模塊邏輯流程圖。
[0060]其中,附圖標記
[0061]I UI 模塊;
[0062]2 加密模塊;
[0063]3 解密模塊;
[0064]4 環(huán)境特征信息提取模塊;
[0065]41 硬件信息獲取模塊;
[0066]42 獲取網(wǎng)絡特征模塊;
[0067]43 獲取腳本信息模塊;
[0068]SI 加密步驟:
[0069]步驟S11/S12/S13/S14/S15/S16/S17。
[0070]S2 解密步驟:
[0071]步驟S21/S22/S23。
[0072]S3 密鑰解密步驟:
[0073]步驟S31/S32/S33/S34。
[0074]S4 程序退出。
[0075]步驟S41/S42/S43/S44/S45/S46 為加密模塊步驟。
[0076]步驟S51/S52/S53/S54/S55為解密模塊步驟。
[0077]步驟S61/S62/S63為硬件信息獲取模塊步驟。
[0078]步驟S71/S72/S73為獲取網(wǎng)絡特征模塊步驟。
[0079]步驟S81/S82/S83/S84為獲取腳本信息模塊步驟。
[0080]S9 字符串映射到密鑰的算法。
[0081]步驟S91/S911/S92/S921/S93/S931/S94/S941/S95/S951/S952/S953 為生成密鑰的步驟。
【具體實施方式】
[0082]安全存儲系統(tǒng)大致可分類為安全網(wǎng)絡文件系統(tǒng)、加密文件系統(tǒng)、可生存存儲系統(tǒng)基于存儲的入侵檢測系統(tǒng)。它們分別從四個不同的層次提供存儲系統(tǒng)的機密性、完整性和可用性。本發(fā)明關注個人信息文件的機密性。所以選用加密隔離的方式確保用戶個人信息不被非授權的攻擊者獲取。
[0083]以下是本發(fā)明的具體描述:
[0084]本發(fā)明通過加密部分對文件進行加密,實現(xiàn)文件保密性,防止非授權用戶的非法獲取以及獲知用戶私密信息內容。
[0085]密文文件的解密以及文件所在磁盤位置的定位都必須通過提供正確的計算機軟硬件環(huán)境才能正確實施。
[0086]本發(fā)明主要由7個模塊組成,如圖1所示,分別是Π模塊1、加密模塊2、解密模塊
3、環(huán)境特征提取模塊4,其中環(huán)境特征提取模塊4包括硬件信息獲取模塊、獲取網(wǎng)絡特征模塊、獲取腳本信息模塊。
[0087]每個模塊的具體作用為:
[0088]UI模塊實現(xiàn)程序界面可視化,為用戶提供友好的操作界面。
[0089]加密模塊實現(xiàn)對文件的加解密操作,以加密的方式實現(xiàn)用戶個人文件信息的安全存儲,加密算法選用的是高級加密標準AES(Advanced Encryption Standard),加密模式是ECB模式。
[0090]解密模塊:對密文文件進行解密,將明文文件返回給用戶。
[0091]環(huán)境特征提取模塊實現(xiàn)獲取用戶個人PC的環(huán)境特征獲取。該模塊包含了:
[0092]硬件信息獲取模塊,主要包含了 CPU、硬盤、USB設備等硬件設備的序列號等特征信息。
[0093]獲取網(wǎng)絡特征模塊,是通過獲取計算機所在子網(wǎng)的網(wǎng)關設備的多種信息作為標識該網(wǎng)絡的唯一網(wǎng)絡特征信息。
[0094]獲取腳本信息模塊,用戶可以自定義腳本,通過執(zhí)行多元化的腳本獲取計算機的各類信息,將這些高度離散的信息組成識別該計算機的唯一腳本特征信息。
[0095]本發(fā)明安全存儲文件結構如下:
[0096]為了實現(xiàn)文件在本機上的安全存儲,用戶可以使用本程序的加密功能將機密文件的明文文本加密成密文文件,防止非授權用戶非法獲取文件內容,即使攻擊者獲取到密文文件,也不能理解文件內容。
[0097]加密的文件通過構造新的文件結構存儲在用戶磁盤介質上,通過文件結構,可以把硬件指紋、網(wǎng)絡特征信息以及自定義腳本信息結合起來,為文件提供安全的環(huán)境綁定。
[0098]加密的文件結構包括:密文、生成密鑰的硬件設備位圖、團體名、用戶自定義腳本、隨機序列、明文的hash值,其中生成密鑰的硬件設備位圖,用于每一個二進制位對應于一個硬件類別,根據(jù)位圖獲取生成密鑰的硬件組合;團體名,用于網(wǎng)絡環(huán)境認證;用戶自定義腳本,用于自定義基于環(huán)境認證的加密規(guī)則;隨機序列,加密文件時隨機生成;明文的hash值:用于密文解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
[0099]本發(fā)明基本操作流程如下:
[0100]如圖2所示,程序開始,步驟S1,如果要加密文件,選擇需要加密的文件或文件夾,步驟S11,點擊加密按鈕,步驟S12,提取硬件指紋信息,步驟S13,提取網(wǎng)絡信息,步驟S14提取自定義腳本信息,步驟S15,導出加密密鑰,步驟S16,選擇解密文件存放的目標路徑,步驟S17,加密成功,步驟S4,退出程序;
[0101]步驟S2,如果要解密文件,選擇需要解密的文件或文件夾,步驟S21,點擊解密按鈕,步驟S22,選擇解密文件存放的目標路徑,步驟S23,解密成功,步驟S4,退出程序;
[0102]步驟S3,如果要用密鑰解密(用于不在認證環(huán)境下的解密),選擇需要解密的文件或文件夾,步驟S31,點擊密鑰解密按鈕,步驟S32,選擇加密時導出的密鑰,步驟S33,選擇解密文件存放的目標路徑,步驟S34,解密成功,步驟S4,退出程序。
[0103]本發(fā)明基本功能大致分為加密、解密、密鑰解密(用于不在認證環(huán)境下的解密)。整個用戶操作流程方便簡單、清楚快捷,人性化的操作提示使用戶不會迷失在加解密流程的迷宮里,清晰的使用流程讓用戶得以迅速上手保障個人存儲安全。
[0104]以下為本發(fā)明模塊間交互流程,交互流程如圖3所示:[0105]首先根據(jù)模塊1,UI模塊開始程序,通過模塊2,加密模塊的步驟S43,提取環(huán)境特征信息和模塊3,解密模塊的步驟S53,提取環(huán)境特征信息到模塊4,環(huán)境特征信息提取模塊,通過模塊4,得到特征信息字符串集,經(jīng)過步驟S9,字符串映射到密鑰的算法得到密鑰,最終創(chuàng)建加密正文或創(chuàng)建明文文件。
[0106]模塊4,環(huán)境特征信息提取模塊,由模塊41,硬件信息獲取模塊、模塊42,模塊獲取網(wǎng)絡特征模塊和模塊43,獲取腳本信息模塊組成。
[0107]其中模塊41,硬件信息獲取模塊的具體工作流程如圖5所示:步驟S61,獲取硬件設備特征信息,然后通過步驟S62與其他特征信息結合,步驟S63特征信息向密鑰映射。
[0108]硬件指紋信息指的是計算機系統(tǒng)硬件資源的唯一標識,常見的硬件指紋信息一般硬件的序列號等,本發(fā)明通過獲取這些序列號信息來標識該計算機系統(tǒng)的硬件環(huán)境。
[0109]模塊42,獲取網(wǎng)絡特征模塊的具體工作流程如圖6所示:
[0110]步驟S71,選擇網(wǎng)絡環(huán)境信息提取選項,步驟S72,向網(wǎng)關設備發(fā)送GET請求,步驟S73,網(wǎng)關返回特征信息
[0111]網(wǎng)絡環(huán)境的獲取是通過獲取主機直連網(wǎng)絡的網(wǎng)絡設備的特征信息組合,本發(fā)明中,通過SNMPV2獲取主機所在網(wǎng)絡的網(wǎng)關設備的mib信息,比如:該設備的描述信息,端口的描述,子網(wǎng)的網(wǎng)絡地址以及掩碼等。
[0112]通過多種網(wǎng)絡特征信息的組合可以標識該網(wǎng)絡的唯一性,達到網(wǎng)絡環(huán)境的認證。
[0113]模塊43,獲取腳本信息模塊,的具體工作流程如圖7所示:
[0114]步驟S81,根據(jù)用戶自定義腳本,步驟S82,運行腳本獲取字符串信息,然后根據(jù)步驟S83,與其他特征信息結合,最后根據(jù)步驟S84,特征信息向密鑰映射。
[0115]腳本信息的加入大大增加了用戶的自定義度。腳本的功能十分強大,腳本語言都能夠隨時部署,而不需要耗時的編譯/打包過程。在本發(fā)明中選用了 Python3.1,Python可以被應用到網(wǎng)絡開發(fā)、GUI開發(fā)、圖形開發(fā)、Web開發(fā)、游戲開發(fā)、手機開發(fā)、數(shù)據(jù)庫開發(fā)等眾多領域。
[0116]本發(fā)明加入Python腳本的目的是,用戶可以自定義一段Python (—種解釋型、面向對象、動態(tài)數(shù)據(jù)類型的高級程序設計語言)來執(zhí)行任意的操作,只需要在這段代碼中輸出一段任意長度、任意內容的字符串信息,用作安全存儲系統(tǒng)加密密鑰生成。
[0117]使用腳本可以獲取很多操作系統(tǒng)“軟環(huán)境”的信息(比如系統(tǒng)用戶名,特定文件的內容等等),這些特征信息的有序組合可以區(qū)別不同的系統(tǒng)環(huán)境以達到環(huán)境認證的目的。
[0118]環(huán)境信息獲取模塊,用于獲取基于用戶環(huán)境的特征信息,實現(xiàn)密鑰與密文物理上分離且密鑰的不可復制性。
[0119]提取環(huán)境特征信息的流程,如圖4所示,首先獲取本地環(huán)境或者網(wǎng)絡環(huán)境的特征信息,然后結合用戶自定義腳本實現(xiàn)個人環(huán)境認證的強大擴展,再輔以隨機序列,旨在生成獨一無二的環(huán)境綁定密鑰,為最后生成的明文以及密文提供更安全的存儲保護。
[0120]以下是本發(fā)明密鑰生成算法的具體流程:
[0121]根據(jù)收集到的各類特征信息,生成唯一的、與用戶環(huán)境綁定的密鑰。
[0122]生成流程如圖8所示,步驟如下:根據(jù)步驟S92,獲取相應硬件的硬件指紋,根據(jù)步驟S921獲取硬件指紋信息字符串;根據(jù)步驟S93,根據(jù)團體名獲取的網(wǎng)絡環(huán)境信息,根據(jù)步驟S931獲取網(wǎng)絡環(huán)境信息字符串;根據(jù)獲取的硬件指紋信息字符串和網(wǎng)絡環(huán)境信息字符串,根據(jù)步驟S95,進行hash運算,根據(jù)步驟S951,得到臨時密鑰;根據(jù)步驟S94運行用戶自定義腳本信息,獲取用戶自定義腳本信息字符串;根據(jù)該臨時密鑰、用戶自定義腳本信息字符串、隨機序列,根據(jù)步驟S952,hash運算,得到最終密鑰。
[0123]以下為本發(fā)明加解密具體流程:
[0124]如圖9所示:在上層,用戶選擇加密或者解密,接著,選擇加密方式(例如自定義腳本信息,根據(jù)文件結構提取硬件指紋,提取網(wǎng)絡環(huán)境信息)或者使用密鑰進行解密,點擊確定后,軟件自動生成用戶定制的密鑰信息,幾步方便快捷的操作后,便可通過自定義的環(huán)境認證信息進行個人文件的安全存儲了。
[0125]以下為文件加密具體流程:
[0126]如圖10所示:首先根據(jù)步驟S41,傳入待加密的文件地址,然后根據(jù)步驟S42,選擇特征信息的提取,步驟S43,提取環(huán)境特征信息,步驟S44,創(chuàng)建密文文件,然后根據(jù)步驟S45,寫入文件頭信息,最后根據(jù)S46,加密正文。
[0127]文件加密實現(xiàn)功能:對目標文件進行加密,以定義的密文文件結構存儲。
[0128]加密算法:采用AES算法的ECB模式。加密算法的塊大小為128位;密鑰大小為128位。采用OpenSSL安全開發(fā)包,封裝加解密函數(shù)。
[0129]以下為文件解密具體流程:
[0130]如圖11所示,首先根據(jù)步驟S51,傳入待解密的文件地址,然后根據(jù)S52,讀取文件頭信息,根據(jù)S53,提取環(huán)境特征信息,然后根據(jù)S54,解密正文,最后根據(jù)S55,創(chuàng)建明文文件。
[0131]文件解密實現(xiàn)功能:對密文文件進行解密,將明文文件返回給用戶。
[0132]加密算法:采用AES算法的ECB模式。加密算法的塊大小為128位;密鑰大小為128位。采用OpenSSL安全開發(fā)包,封裝加解密函數(shù)。
[0133]以下為本發(fā)明具體測試分析:
[0134]對硬件環(huán)境下的加解密成功率及速度測試步驟如下:
[0135]功能指標包括:使用硬件特征對明文文件加解密的成功率及效率和在其他硬件環(huán)境下的加解密成功率。
[0136]測試流程:
[0137]在計算機A1上用硬件信息加密明文文件集
[0138]{01,02,03,04,05,06,07,08,09,010},生成密鑰文件集
[0139]{El, E2, E3, E4, E5, E6, E7, E8, E9, E10},記錄加密結果及耗時;
[0140]在計算機A1上解密文件{El, E2, E3, E4, E5, E6, E7, E8, E9, E10},記錄解密結果及耗時;
[0141]在計算機A2上解密文件{El, E2, E3, E4, E5, E6, E7, E8, E9, E10},記錄解密結果及耗時;
[0142]結果分析:
[0143]在計算機A2上對密文進行解密,成功率為0
[0144]對不同大小的文件進行加解密的速度測試,當文件大小大于10M后,加解密的速度平均約為13M/s,使用硬件加解密的成功率為100%。
[0145]網(wǎng)絡環(huán)境下的解密成功率測試步驟如下:[0146]功能指標包括:在不同網(wǎng)絡環(huán)境下,對相同密文文件的解密成功率。
[0147]測試流程:
[0148]使用在網(wǎng)絡環(huán)境N1下的主機A1對文件0加密,生成密文E,使用在網(wǎng)絡環(huán)境N1下的主機A2對E解密,測試成功率;
[0149]使用在網(wǎng)絡環(huán)境N2下的主機A3對E解密,測試成功率。
[0150]結果分析:
[0151]在相同網(wǎng)絡下的解密成功率達到了 75%,其中有一臺解密失敗,發(fā)現(xiàn)原因是由于該主機沒有使用相同網(wǎng)絡,由于網(wǎng)關地址錯誤引起獲取網(wǎng)關設備信息失敗。
[0152]而不同網(wǎng)絡環(huán)境下的測試結果則為0%,所以,能在特定的情況下使用網(wǎng)絡環(huán)境特征對文件進行加密控制。
[0153]相同網(wǎng)絡環(huán)境指在同一子網(wǎng)下,具有相同網(wǎng)關設備的子網(wǎng)環(huán)境。
[0154]用戶自定義信息加解密成功率測試步驟如下:
[0155]功能指標包括:使用指定的用戶自定義特征信息對明文文本進行加解密的成功率。
[0156]測試流程:
[0157]在主機A1系統(tǒng)上定義一個簡單的腳本,特定文件的字符串內容作為特征信息對文本0進行加密,生成密文文件E,分別在主機A1和A2等其他主機對E解密,記錄解密成功率。
[0158]結果分析:
[0159]該測試使用特定文件的字符串信息作為加密明文文本的密鑰信息,測試結果表明離開了密文所在的操作系統(tǒng)的穩(wěn)定環(huán)境,在另一個系統(tǒng)環(huán)境下解密的成功率是非常低的。
[0160]該項測試反映出用戶自定義信息的唯一性,同時用戶定義的信息具有多樣化、和不可枚舉性的特點,復制相同的環(huán)境是非常困難的。所以,密文文件在非授權的計算機環(huán)境下是相對安全的。
[0161]經(jīng)測試,本系統(tǒng)能進行高效的對重要的明文文件使用多樣化的環(huán)境特征對其加密,實現(xiàn)了文件的保密性存儲。即使該密文文件被非授權地復制到其他PC環(huán)境中,由于多種混合環(huán)境特征的難復制性,密文文件不能被解密成明文文件,文件仍具有保密性。對于合法用戶在授權的PC上,不需要輸入任何口令密碼,即可透明地解密明文,得到明文文件,十分高效安全。
【權利要求】
1.一種基于環(huán)境認證的文件安全存儲方法,其特征在于,包括下列步驟: 步驟1,建立用戶個人計算機程序可視化界面,為用戶提供友好的操作界面; 步驟2,獲取該用戶個人計算機的環(huán)境特征信息,結合用戶自定義腳本,再輔以隨機序列,得到唯一的環(huán)境綁定密鑰; 步驟3,根據(jù)該用戶個人計算機的該環(huán)境特征信息,通過高級加密標準的電碼本模式進行加密并生成密鑰; 步驟4,如果參與解密的新的用戶個人計算機的環(huán)境特征信息與加密時該用戶個人計算機的該環(huán)境特征信息相同,則通過高級加密標準的電碼本模式直接進行解密,若與加密時該用戶個人計算機的該環(huán)境特征信息不相同,則根據(jù)該密鑰進行解密。
2.如權利要求1所述的基于環(huán)境認證的文件安全存儲方法,其特征在于,步驟2的具體步驟如下: 步驟21,獲取硬件指紋信息,用于標識用戶個人計算機硬件資源的唯一硬件特征信息; 步驟22,獲取網(wǎng)絡環(huán)境信息,通過獲取用戶個人計算機直連網(wǎng)絡的網(wǎng)絡設備的特征信息組合,用于標識用戶個人計算機網(wǎng)絡的唯一網(wǎng)絡特征信息; 步驟23,獲取用戶自定義腳本信息,通過執(zhí)行用戶自定義腳本獲取用戶個人計算機的信息,用于標識用戶個人 計算機的唯一腳本特征信息。
3.如權利要求1所述的基于環(huán)境認證的文件安全存儲方法,其特征在于,步驟3還包括加密文件的結構:密文、生成密鑰的硬件設備位圖、團體名、用戶自定義腳本、隨機序列、明文的hash值,其中生成密鑰的硬件設備位圖,用于每一個二進制位對應于一個硬件類別,根據(jù)位圖獲取生成密鑰的硬件組合;團體名,用于網(wǎng)絡環(huán)境認證;用戶自定義腳本,用于自定義基于環(huán)境認證的加密規(guī)則;隨機序列,加密文件時隨機生成;明文的hash值:用于密文解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
4.如權利要求1或3所述的基于環(huán)境認證的文件安全存儲方法,其特征在于,步驟3中生成該密鑰的具體步驟包括: 步驟31,根據(jù)硬件指紋信息,獲取硬件指紋信息字符串; 步驟32,根據(jù)團體名獲取的網(wǎng)絡環(huán)境信息,獲取網(wǎng)絡環(huán)境信息字符串; 步驟33,根據(jù)獲取的該硬件指紋信息字符串和該網(wǎng)絡環(huán)境信息字符串,通過hash運算,得到臨時密鑰; 步驟34,根據(jù)用戶自定義腳本信息,獲取用戶自定義腳本信息字符串; 步驟35,根據(jù)該臨時密鑰、用戶自定義腳本信息字符串、隨機序列,通過hash運算,得到最終密鑰。
5.如權利要求1或3所述的基于環(huán)境認證的文件安全存儲方法,其特征在于,步驟4還包括: 根據(jù)明文的hash值,通過解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
6.一種基于環(huán)境認證的文件安全存儲系統(tǒng),其特征在于,包括: UI模塊,用于用戶個人計算機程序可視化界面,為用戶提供友好的操作界面; 環(huán)境特征信息提取模塊,獲取該用戶個人計算機的環(huán)境特征信息,結合用戶自定義腳本,再輔以隨機序列,得到唯一的環(huán)境綁定密鑰;加密模塊,根據(jù)該用戶個人計算機的該環(huán)境特征信息,通過高級加密標準的電碼本模式進行加密并生成密鑰;解密模塊,如果參與解密的新的用戶個人計算機的環(huán)境特征信息與加密時該用戶個人計算機的該環(huán)境特征信息相同,則通過高級加密標準的電碼本模式直接進行解密,若與加密時該用戶個人計算機的該環(huán)境特征信息不相同,則根據(jù)該密鑰進行解密。
7.如權利要求6所述的基于環(huán)境認證的文件安全存儲系統(tǒng),其特征在于,該環(huán)境特征信息提取模塊包括:硬件信息獲取模塊用于獲取硬件指紋信息,用于標識用戶個人計算機硬件資源的唯一硬件特征彳目息;獲取網(wǎng)絡特征模塊用于獲取網(wǎng)絡環(huán)境信息,通過獲取用戶個人計算機直連網(wǎng)絡的網(wǎng)絡設備的特征信息組合,用于標識用戶個人計算機網(wǎng)絡的唯一網(wǎng)絡特征信息;獲取腳本信息模塊用于獲取用戶自定義腳本信息,通過執(zhí)行用戶自定義腳本獲取用戶個人計算機的信息,用于標識用戶個人計算機的唯一腳本特征信息。
8.如權利要求6所述的基于環(huán)境認證的文件安全存儲系 統(tǒng),其特征在于,該加密模塊的加密文件結構包括:密文、生成密鑰的硬件設備位圖、團體名、用戶自定義腳本、隨機序列、明文的hash值,其中生成密鑰的硬件設備位圖,用于每一個二進制位對應于一個硬件類別,根據(jù)位圖獲取生成密鑰的硬件組合;團體名,用于網(wǎng)絡環(huán)境認證;用戶自定義腳本,用于自定義基于環(huán)境認證的加密規(guī)則;隨機序列,加密文件時隨機生成;明文的hash值:用于密文解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
9.如權利要求6或8所述的基于環(huán)境認證的文件安全存儲系統(tǒng),其特征在于,加密模塊中生成該密鑰的具體步驟如下:通過硬件信息獲取模塊,根據(jù)硬件指紋信息,獲取硬件指紋信息字符串;通過獲取網(wǎng)絡特征模塊,根據(jù)團體名獲取的網(wǎng)絡環(huán)境信息,獲取網(wǎng)絡環(huán)境信息字符串;通過獲取的該硬件指紋信息字符串和該網(wǎng)絡環(huán)境信息字符串,通過hash運算,獲取臨時密鑰;通過獲取腳本信息模塊,根據(jù)用戶自定義腳本信息,獲取用戶自定義腳本信息字符串;根據(jù)該獲取的臨時密鑰、用戶自定義腳本信息字符串、隨機數(shù),通過hash運算,獲取最終密鑰。
10.如權利要求6或8所述的基于環(huán)境認證的文件安全存儲系統(tǒng),其特征在于,該解密模塊還包括:根據(jù)明文的hash值,通過解密模塊解密后hash運算的值與該明文的hash值對比,檢驗是否解密正確。
【文檔編號】G06F21/31GK103745164SQ201410014426
【公開日】2014年4月23日 申請日期:2014年1月13日 優(yōu)先權日:2013年12月20日
【發(fā)明者】黃超, 陳曉, 劉敏, 王煜煒 申請人:中國科學院計算技術研究所