国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      借助半導體存儲裝置實現數據安全存儲和算法存儲的方法

      文檔序號:6600272閱讀:218來源:國知局
      專利名稱:借助半導體存儲裝置實現數據安全存儲和算法存儲的方法
      技術領域
      本發(fā)明涉及數據存儲方法,尤其涉及一種借助半導體存儲裝置實現數據安全存儲和算法存儲的方法。
      背景技術
      在計算機技術飛速發(fā)展的今天,移動存儲技術和移動存儲產品也得到了快速發(fā)展。與磁存儲軟盤相比,無論從體積、容量、速度幾方面均有了較大的突破。而且隨著因特網的日益普及、電子商務的迅速發(fā)展,人們開始重視對所存儲信息的保密處理,對用戶認證的限制。如已公開的中國發(fā)明專利申請01114762.8“一種半導體存儲裝置”,提出了一種具有用戶認證及數據加密與解密功能的半導體移動存儲裝置,對使用該半導體存儲裝置的用戶加以身份認證,并對存入該半導體存儲裝置的信息進行加密保護,加密信息讀出時再解密。但是,這種用戶認證及數據加密技術是最簡單、最低級的,很容易便被破解,已經不能滿足人們對數據安全存儲的需求。
      隨著Internet的發(fā)展,網上支付的新型電子交易支付手段開始迅速發(fā)展,成為各個商業(yè)銀行、證券公司新的利潤增長點和競爭焦點。因而,網絡系統的安全問題,正變得日益突出,越來越受到人們的關注。人們不僅要防止網上黑客的隨時攻擊,更加擔心自己的交易密碼被他人盜取,以致在電子交易網絡上的身份被他人非法冒用。各種信息鑰匙產品隨之產生,已有的信息鑰匙,大多是內置唯一的用戶密鑰標識碼和特殊算法程序的便攜式電子產品,與計算機、信息電器等設備的通用外部接口相連,提供驗證用戶身份的功能,如中國實用新型專利ZL01232435.3《信息鑰匙》。信息鑰匙是通過內置的簡單用戶密鑰標識碼驗證雖然實現了用戶身份認證,但存在以下不足被破解的可能性很大;由于不支持用戶自定義算法的寫入,在使用上受到很大的限制,用于正版軟件驗證中時,其保護強度亦遠遠不能達到需求;忽視了用戶對數據存儲的需求。

      發(fā)明內容
      本發(fā)明所要解決的技術問題是改進現有加密技術的不足,提出一種借助半導體存儲裝置實現數據安全存儲的方法,支持用戶更高安全的移動數據存儲,使合法用戶數據被破解或泄密的難度極大地提高,從而極大地提高了用戶存儲數據的安全性。
      本發(fā)明所解決的另一技術問題是提出一種借助半導體存儲裝置實現算法存儲的方法,支持用戶自定義算法的寫入和內部執(zhí)行,并返回運行結果,可廣泛應用于身份認證、軟件版權保護等信息安全領域。
      本發(fā)明的技術問題需要通過采用以下技術方案來實現設計一種借助半導體存儲裝置實現數據安全存儲的方法,包括有半導體存儲裝置,該半導體存儲裝置包括控制器模塊以及分別與所述控制器模塊電連接的通用接口模塊和半導體存儲介質模塊,所述數據安全存儲方法包括以下步驟①所述半導體存儲介質模塊分為至少兩個邏輯存儲空間;②所述邏輯存儲空間中至少一個空間用于存儲需要保護的數據;③對所述半導體存儲裝置和/或所述至少一個邏輯存儲空間設置并存儲密碼;④在讀/寫操作前驗證密碼;⑤向所述半導體存儲裝置寫入所述需保護的數據時,所述控制器模塊接收來自通用接口的數據,并把數據加密后存儲在所述半導體存儲介質模塊中;⑥從所述半導體存儲裝置讀出所述需要保護的數據時,所述控制器模塊把數據解密并通過通用接口將解密后的數據傳送出去。
      本發(fā)明的技術問題還需要通過采用以下技術方案來實現設計一種借助半導體存儲裝置實現算法存儲的方法,包括有半導體存儲裝置,該半導體存儲裝置包括控制器模塊以及分別與所述控制器模塊電連接的通用接口模塊和半導體存儲介質模塊,所述算法存儲方法包括以下步驟①所述半導體存儲介質模塊分為至少兩個邏輯存儲空間;②所述邏輯存儲空間中至少一個空間用于存儲算法;③所述控制器模塊接收來自通用接口的輸入數據;④所述控制器模塊根據輸入數據執(zhí)行指定的算法,并把運算結果通過通用接口傳送出去。
      本發(fā)明借助半導體存儲裝置實現數據安全存儲和算法存儲的方法,還設計有雙重密碼管理,設置多重管理權限,以及數據庫控制、隨機加密和防篡改技術等。
      本發(fā)明在提供用戶數據移動存儲的同時,采用高級安全存儲技術,同時,本發(fā)明提供開放式的應用接口,支持用戶自定義算法的寫入和調用。與現有技術相比,本發(fā)明具有以下技術效果能同時實現普通數據存儲、需保密數據和/或算法存儲的功能;數據存儲的安全性大大提高,能廣泛適用于信息安全領域,如軟件版權保護、網上銀行、網上購物、社保醫(yī)保、個人身份和網上身份識別、電子交易、數字證書、工商管理以及稅務管理等。


      圖1是本發(fā)明借助半導體存儲裝置實現數據安全存儲和算法存儲的方法的實施原理圖;圖2是實現本發(fā)明數據安全存儲和算法存儲方法的半導體存儲裝置的結構原理圖;圖3是本發(fā)明數據安全存儲的方法在數據發(fā)送或存儲時數據防篡改實現流程圖;圖4是本發(fā)明數據安全存儲的方法在數據接收或讀取時數據防篡改實現流程圖;圖5是本發(fā)明數據安全存儲的方法中數據傳輸采用會話密鑰加密的流程圖;圖6是本發(fā)明數據安全存儲和算法存儲的方法用于軟件版權保護時的軟件執(zhí)行流程圖;圖7是本發(fā)明數據安全存儲和算法存儲的方法用于軟件版權保護時的用戶自定義算法調用流程圖;圖8是本發(fā)明數據安全存儲和算法存儲的方法用于軟件版權保護時的多模塊管理實現流程圖;圖9是圖2所示半導體存儲裝置采用USB接口和快閃存儲器的結構原理圖;圖10-A、B、C是圖9中采用USB接口和快閃存儲器的半導體存儲裝置電路原理圖。
      具體實施例方式
      下面結合附圖對本發(fā)明的最佳實施例作進一步詳細說明如圖1所示,本發(fā)明借助半導體存儲裝置實現數據安全存儲和算法存儲的方法,通過本發(fā)明提供的開發(fā)接口連接到與操作系統相關的半導體存儲裝置驅動程序,然后通過半導體存儲裝置的驅動程序經由通用接口與該接口上的半導體存儲裝置交互作用,實現各種安全應用。
      本發(fā)明借助半導體存儲裝置實現數據安全存儲的方法,如圖2所示,包括有半導體存儲裝置,該半導體存儲裝置包括控制器模塊1以及分別與所述控制器模塊1電連接的通用接口模塊2和半導體存儲介質模塊3,所述數據安全存儲方法包括以下步驟①所述半導體存儲介質模塊3分為至少兩個邏輯存儲空間;
      ②所述邏輯存儲空間中至少一個空間用于存儲需要保護的數據;③對所述半導體存儲裝置和/或所述至少一個邏輯存儲空間設置并存儲密碼;④在讀/寫操作前驗證密碼;⑤向所述半導體存儲裝置寫入所述需保護的數據時,所述控制器模塊1接收來自通用接口2的數據,并把數據加密后存儲在所述半導體存儲介質模塊3中;⑥從所述半導體存儲裝置讀出所述需要保護的數據時,所述控制器模塊1把數據解密并通過通用接口2將解密后的數據傳送出去。
      本發(fā)明借助半導體存儲裝置實現算法存儲的方法,如圖2所示,包括有半導體存儲裝置,該半導體存儲裝置包括控制器模塊1以及分別與所述控制器模塊1電連接的通用接口模塊2和半導體存儲介質模塊3,所述算法存儲方法包括以下步驟①所述半導體存儲介質模塊3分為至少兩個邏輯存儲空間;②所述邏輯存儲空間中至少一個空間用于存儲算法;③所述控制器模塊1接收來自通用接口2的輸入數據;④所述控制器模塊1根據輸入數據執(zhí)行指定的算法,并把運算結果通過通用接口2傳送出去。
      本發(fā)明所述的半導體存儲裝置參見中國專利ZL99117225.6“用于數據處理系統的快閃電子式外存儲方法及其裝置”,該專利公開了一種利用快閃存儲器(Flash Memory)作為存儲介質的半導體存儲裝置,基于USB、IEEE1394等通用接口實現大容量數據的移動存儲,其應用已是越來越得到普及。
      所述通用接口2,是所述半導體存儲裝置與數據處理系統連接的接口,也是實現本發(fā)明各種安全應用的通信接口。該通用接口可以是有線通用接口或者是無線通用接口,接口類型包括串口、并口、USB接口、IEEE1394接口、藍牙(Bluetooth)接口、IrDA紅外接口、HomeRF接口、IEEE802.11a接口或IEEE802.11b。
      所述半導體存儲介質模塊3至少分為兩個邏輯存儲空間,其中至少一個邏輯存儲空間用于存儲需要保護的數據,至少一個邏輯存儲空間用于存儲無需保護的數據。所述半導體存儲介質模塊3可以是一種存儲介質,也可以是至少兩種存儲介質的組合。所述半導體存儲介質包括但不限于快閃存儲器(Flash Memory)、DRAM、EEPROM、SRAM、FRAM、MRAM或者是Millipede,可以采用一塊或多塊半導體芯片。所述半導體存儲介質模塊3的邏輯存儲空間可以設置在一種存儲介質上,也可以設置在至少兩種存儲介質上。所述至少一個邏輯存儲空間中存儲的需保護的數據包括但不限于文件、密碼、密鑰、帳號、數字證書、加密算法、自定義算法、用戶信息和/或用戶自定義數據。
      所述半導體存儲裝置通過與數據處理系統連接從通用接口獲得電源供應;當所述通用接口2是無線通用接口時,該存儲裝置可以自帶電源或從外部電源獲取電源供應。因現今該類半導體存儲裝置有關電源供應的文獻已較多,在此作過多不再贅述。
      所述控制器模塊1是所述半導體存儲裝置的核心控制模塊,所述控制器模塊1中內置有固化軟件(即Firmware),該固化軟件主要功能在于a)通過通用接口控制所述半導體存儲裝置與數據處理系統之間的數據通信或數據讀寫,實現用戶的大容量數據移動存儲功能;b)接受來自數據處理系統的控制信息和/或操作請求,并根據所述的控制信息和/或操作請求執(zhí)行相應操作;c)執(zhí)行已內置的或用戶自定義寫入的各種算法,并返回運算結果;d)調用預先定義的數據加密解密系統,對用戶存儲的數據進行數據加密或解密,實現用戶數據的安全存儲;所述控制器模塊1中的固化軟件還提供了開放的應用開發(fā)接口,用戶可以通過應用開發(fā)接口的動態(tài)鏈接,在此基礎上開發(fā)各種安全加密、身份識別、版權保護等更為強大的應用;所述控制器模塊1中的固化軟件還為用戶自定義算法和函數提供了統一的輸入輸出參數定義,使用戶定義強大的算法也成為可能。
      如圖9所示,所述半導體存儲裝置采用USB接口和快閃存儲器(Flash Memory),包括控制器模塊1、快閃存儲器模塊31和USB接口模塊21,所述快閃存儲器31和USB接口21分別和控制器模塊1建立電連接。所述半導體存儲裝置還包括電源模塊5、寫保護開關6和狀態(tài)指示模塊7。
      圖10-A、B、C是所述半導體存儲裝置的電路原理圖,圖10-A中,所述控制器模塊1采用Hitachi公司的H8S2215 MCU作為主控制器,H8S2215芯片提供了64K ROM、8KRAM、16Bit級的時鐘頻率,運行速度快;S1器件為寫保護開關,當S1撥至與FWP-信號連接的引腳處于“0”電平時,所述半導體存儲裝置處于寫保護狀態(tài),可讀不可寫,反之處于正??勺x可寫狀態(tài);所述狀態(tài)指示采用LED指示燈D1,GL-是指示燈控制信號,當對所述半導體存儲裝置進行讀寫、刪除等操作時,D1閃爍,否則常亮。所述的快閃存儲器模塊31,如圖10-B所示,包括U14、U15兩塊NAND型快閃存儲器芯片,其中D0~D7為數據總線,控制信號包括FALE、FCLE、FWR-、FRD-、FCE1-、FCE2-,并分別與H8S2215芯片的相應端連接;狀態(tài)信號包括FWP-、FRB-,分別與H8S2215芯片的相應端連接。如圖10-C所示,通用接口模塊2采用USB接口,且所述半導體存儲裝置從數據處理系統USB總線取得供電源,其中U1及其外圍元件組成整個系統的供電電路。
      本發(fā)明借助半導體存儲裝置實現數據安全存儲的方法進一步說明如下本發(fā)明所述借助半導體存儲裝置實現數據安全存儲的方法,支持需保護數據的多級密碼多級權限管理設置。所述需保護的數據,存儲在所述半導體存儲裝置的至少一個邏輯存儲空間里,包括但不限于文件、密碼、密鑰、帳號、數字證書、加密算法、自定義算法、用戶信息和/或用戶自定義數據。所述需保護的數據經過特定的加密算法加密,如不能獲得正確的加密密鑰,將無法正確有效地讀取該數據。
      本發(fā)明所述數據安全存儲方法,對所述半導體存儲裝置設置至少兩級用戶密碼,即高級管理員密碼和普通用戶密碼;為了實現更強大的數據存儲管理,本發(fā)明也可以設置多級用戶密碼,實現多用戶管理。本發(fā)明所述數據安全存儲方法,也可以只對所述半導體存儲介質模塊的一個邏輯存儲空間或幾個邏輯存儲空間設置兩級密碼。
      為了保護數據的安全性,在對所述半導體存儲裝置進行讀/寫操作前,需要驗證用戶密碼。所述驗證用戶密碼可以是對所有邏輯存儲空間進行操作前驗證用戶密碼;也可以是僅對存儲需保護數據的邏輯存儲空間進行操作前驗證用戶密碼,任何用戶都可以對存儲無需保護數據的邏輯存儲空間進行任何操作。所述驗證用戶密碼,可以是在所述半導體存儲裝置上電初始化后一次性的驗證用戶密碼,以后直至所述半導體存儲裝置拔除前對所述半導體存儲裝置的任何操作都無需再驗證用戶密碼;也可以是對所述半導體存儲裝置的每一次讀/寫操作前都必須驗證用戶密碼;還可以是在對所述半導體存儲裝置的讀/寫操作前間隔的或者隨機的驗證用戶密碼。
      本發(fā)明所述借助半導體存儲裝置實現數據安全存儲的方法,為實現數據的分類存儲,引入數據庫數據存儲設計理念,設置數據庫,并按照數據庫的方式對所述需保護的數據進行存取和/或權限管理。
      為了分類組織數據,高級管理員和普通用戶都可以創(chuàng)建自己的數據庫,并在創(chuàng)建時指定數據庫的記錄是否需要加密;同時,在創(chuàng)建數據庫時還可以指定數據庫的訪問權限。
      數據庫創(chuàng)建時可以指定讀取、寫入、修改、刪除和執(zhí)行權限,各權限的具體含義如下讀取權限只能夠讀取數據庫中的記錄數據;寫入權限只能夠向數據庫中寫入新的數據,但無法覆蓋相同記錄標題的記錄數據。
      修改權限只能夠向數據庫中寫入數據,同時能夠覆蓋相同記錄標題的記錄數據。
      刪除權限夠刪除數據庫中的記錄或刪除數據庫;執(zhí)行權限能夠執(zhí)行數據庫中的記錄代碼,這是針對寫入的數據是自定義算法或函數代碼而設置的權限,一般記錄數據指定執(zhí)行權限無效。
      為了控制需保護數據的安全訪問,對于高級管理員創(chuàng)建的數據庫,普通用戶只擁有高級管理員為其設置的訪問權限;而且,普通用戶不能創(chuàng)建高級管理員已經創(chuàng)建的數據庫。
      本發(fā)明所述數據安全存儲方法,向所述半導體存儲裝置寫入所述需保護的數據時,所述控制器模塊1接收來自通用接口2的所述需保護的數據,然后經過加密后存儲在所述半導體存儲介質模塊3的至少一個邏輯存儲空間里的。所述被保護數據可以采用普通用戶密碼或普通用戶密碼經過加密算法變換后的數據作為密鑰加密后存儲。因此,高級管理員要正確訪問所述需保護的數據,必須驗證普通用戶密碼,這樣可以保證普通用戶寫入的數據的保密性。同時,高級管理員寫入需要保護的數據時,也必須先驗證普通用戶密碼,才能獲得加密密鑰對數據庫進行加密,否則寫入的數據只能是不加密的。從所述半導體存儲裝置讀出所述需保護的數據時,所述控制器模塊1根據驗證普通用戶密碼獲得的加密密鑰解密所述需保護的數據,并通過通用接口2將解密后的數據傳送出去。
      高級管理員對所有數據庫擁有最高控制權。對于普通用戶創(chuàng)建的數據庫,即使不驗證普通用戶密碼,高級管理員也可以對其進行讀取、寫入、修改、刪除和執(zhí)行,但是因為沒有取得加密密鑰,讀取、寫入、修改的數據將無法正確加/解密,導致數據無法正確讀取。
      在信息安全領域中,某些不法人士獲得非法使用的常用手段是跟蹤數據的變化,找到規(guī)律后修改運行代碼。為了保護傳輸中的數據和/或存儲的數據不被非法篡改,本發(fā)明數據安全存儲方法具有識別數據是否被篡改的設計。根據數據安全性的要求,可以對所有所述需保護數據進行防篡改識別,也可以僅對傳輸的和/或存儲的某些關鍵數據進行防篡改識別。對傳輸的數據和/或存儲的數據進行防篡改識別,如圖3和圖4所示,具體實現如下在數據發(fā)送或存儲時,如圖3所示,包括以下步驟A、調用加密算法把原始數據進行變換獲得變換值X;B、將原始數據和所述變換值X按照一定的格式打包成數據包;C、發(fā)送或存儲整個數據包;在接收或讀取數據時,如圖4所示,包括以下步驟A、按照上述同樣的格式將數據包解包,獲得原始數據和原始數據變換值X;B、調用上述相同的加密算法計算原始數據的變換值獲得變換值Y;C、比較計算出的變換值Y與讀出的變換值X是否相等;D、如果比較結果相等,則數據沒有被非法篡改,否則,數據已被篡改。
      本發(fā)明所述數據安全存儲的方法,為防止數據在傳輸過程中被截取,除了采用防篡改設計外,在所述半導體存儲裝置與數據處理系統交換數據的過程中采用可隨時改變的會話密鑰對數據加密,如圖5所示,具體實現如下A.在數據傳輸過程開始時,發(fā)送端首先發(fā)送交換會話密鑰命令,同時傳入至少一個隨機數;B.所述半導體存儲裝置收到交換會話密鑰命令后,也隨機生成至少一個隨機數,并把收到的隨機數和生成的隨機數經過算法變換,產生會話密鑰,然后把所述半導體存儲裝置生成的隨機數返回給所述發(fā)送端;C.當所述發(fā)送端收到返回的隨機數后,將接收到的隨機數和發(fā)送端自己傳入的隨機數經過所述相同的算法變換,產生會話密鑰。
      所述會話密鑰即作為數據處理系統和所述半導體存裝置傳輸需保護數據時的加/解密密鑰。所述會話密鑰可以隨時因發(fā)送端發(fā)送改變會話密鑰的請求而改變,從而保證了需保護數據傳輸的安全性。
      本發(fā)明借助半導體存儲裝置實現算法存儲的方法進一步說明如下本發(fā)明借助半導體存儲裝置實現算法存儲的方法,所述半導體存儲介質模塊3分為至少兩個邏輯存儲空間,其中至少一個邏輯存儲空間用于存儲算法,所述控制器模塊1根據來自通用接口2的輸入數據執(zhí)行指定的算法,并把運行結果通過通用接口2傳送出去。
      本發(fā)明算法存儲的方法,所述算法存儲在所述半導體存儲介質模塊3的至少一個邏輯存儲空間里,可以采用本發(fā)明所述的數據安全存儲方法存儲,設置至少兩級用戶密碼和多級權限管理,采用防篡改和會話密鑰加密設計。所述存儲的算法可以是一個或多個算法;可以是所述半導體存儲裝置已內置的算法,也可以用戶通過應用接口寫入的自定義算法。
      本發(fā)明的算法存儲方法,所述控制器模塊1能根據來自通用接口2的輸入數據執(zhí)行指定的算法,并把運行結果通過通用接口2傳送出去。所述控制器模塊1把至少一個算法從半導體存儲介質模塊3中讀出并加載到控制器模塊1中,然后根據從通用接口2接收到的算法調用參數選擇至少一個算法并在控制器內部執(zhí)行該算法,然后將運算結果通過通用接口2返回?;蛘?,所述控制器模塊1根據從通用接口2接收到的算法調用參數選擇至少一個算法,然后把該算法從半導體存儲介質模塊3中讀出并加載到控制器模塊1中,然后在控制器內部執(zhí)行該算法并將運算結果通過通用接口2返回。
      下面以軟件版權保護作為實施例對本發(fā)明所述借助半導體存儲裝置實現數據安全存儲和算法存儲的方法進行更進一步的說明本發(fā)明所述數據安全存儲和算法存儲的方法,提供用戶開放式的應用接口,支持用戶自定義算法的寫入和調用。本發(fā)明數據安全存儲和算法存儲的方法為實現軟件版權保護提供給軟件開發(fā)商的常用開發(fā)接口如下1)初始化所述半導體存儲裝置DWORD NetacOD_Init(OD_INFO*odlnfo);2)退出所述半導體存儲裝置DWORD NetacOD_Exit();
      3)驗證普通用戶密碼DWORD NetacOD_AuthUserPwd(unsigned char pwd[17],int odlndex=1);4)驗證高級管理員密碼DWORD NetacOD_AuthAdminPwd(unsigned char pwd[17],int odlndex=1);5)創(chuàng)建用戶數據庫DWORD NetacOD_CreateUserDB(unsigned char DBType,unsigned char bEncrypt,unsigned char bAccess,unsigned char*DBId,int odlndex=1);6)打開數據庫DWORD NetacOD_OpenUserDB(unsigned char DBType,unsignedchar bAccess,unsigned char*DBId,int odlndex=1);7)刪除數據庫DWORD NetacOD_DeleteUserDB(unsigned char DBID,int odlndex=1);8)關閉數據庫DWORD NetacOD_CloseUserDB(unsigned char DBID,int odlndex=1);9)向數據庫寫入用戶數據DWORD NetacOD_WriteUserData(unsigned char DBID,unsigned char dataID[9],ursigned char*data,unsigned short dataLen,int odlndex=1);10)刪除數據庫中某條記錄DWORD NetacOD_DeleteUserData(unsigned charDBID,unsigned char dataID[9],bool blslndexNo=FALSE,int odlndex=1);11)讀取數據庫中制定標識記錄DWORD NetacOD_ReadUserData(unsigned charDBID,unsigned char dataID[9],unsigned char*data,unsigned short*dataLen,boolblslndexNo=FALSE,int odlndex=1);12)寫入軟件模塊數據DWORD NetacOD_WriteModuleData(unsigned charmoduleID,unsigned char moduleAttr,unsigned short moduleUseCounter,unsignedshort moduleUserCounter=1,int odlndex=1);13)讀出軟件模塊數據DWORD NetacOD_ReadModuleData(MODULE_INFO*modulelnfo,int odlndex=1);14)遞減軟件某模塊設定的使用次數DWORD NetacOD_DecreaseCounter(unsigned char moduleID,int odlndex=1);15)寫入自定義算法和函數DWORD NetacOD_WriteFunction(unsigned charfunctionName[9],unsigned char*functionData,unsigned short functionDataLen,intodlndex=1);16)調用寫入的自定義算法和函數DWORD NetacOD_CallFunction(IN_PARAM*functionlnParameter,OUT_PARAM*functionOutParameter,int odlndex=1);17)調用哈希算法DWORD NetacOD_Hash(IN PHASH_PROPERTYpHashProperty,IN PBYTE plnBuffer,IN WORD wlnBufferLen,IN OUT PBYTEpOutBuffer,IN OUT PWORD pOutBufferLen);18)加密DWORD NetacOD_Encrypt(IN WORD wBitLen,IN BYTE bAlgld,INPBYTE pKey,IN PBYTE plnBuffer,IN WORD wlnBufferLen,IN OUT PBYTEpOutBuffer,IN OUT PWORD pOutBufferLen);19)解密DWORD NetacOD_Decrypt(IN WORD wBitLen,IN BYTE bAlgld,IN PBYTE pKey,IN PBYTE plnBuffer,IN WORD wlnBufferLen,IN OUT PBYTEpOutBuffer,IN OUT PWORD pOutBufferLen);20)生成密鑰DWORD NetacOD_GenKey(IN PKEY_ATTRpkeyAttr,INPKEY_SEED pKeySeed,IN OUT PBYTE pKeyBuffer);21)更改會話密鑰DWORD NetacOD_ChangeSessionKey();基于上述接口,軟件開發(fā)商可編寫高強度的自定義算法和函數作為正版軟件保護的調用算法,然后編譯成所述半導體存儲裝置專用的執(zhí)行代碼,采用本發(fā)明的數據安全存儲方法加密后寫入到所述半導體存儲裝置中,實現源代碼級的數據安全保護。
      為了防止所述半導體存儲裝置在所述正版軟件通過正版驗證后被拔出或被切斷通信(如藍牙接口的連接),使一些不法人士跟蹤或破解所述正版軟件的加密算法,從而使所述正版軟件有可能被非法使用,所述正版軟件在運行過程中,以隨機的時間間隔調用存儲在所述半導體存儲裝置內的自定義特定算法。如圖6和圖7所示,具體實現如下A、所述正版軟件通過簡單的API函數調用向所述半導體存儲裝置的驅動程序發(fā)出“算法調用指令”,驅動程序自動將“算法調用指令”通過通用接口傳遞給所述半導體存儲裝置控制器模塊1;B、所述半導體存儲裝置驗證傳入的算法調用參數是否被篡改,若被篡改,則退出程序運行;C、所述半導體存儲裝置驗證用戶訪問權限,若用戶無自定義算法數據庫的訪問權限,則返回權限錯誤碼;D、所述半導體存儲裝置驗證調用的模塊是否允許運行,若用戶無該模塊使用權限,則返回模塊錯誤碼;
      E、所述半導體存儲裝置對自定義算法進行解密,若解密讀取不成功,則返回算法錯誤碼;F、所述半導體存儲裝置通過控制器模塊1加載所述用戶寫入的算法代碼到指定地址并運行,然后通過通用接口返回成功運行通知給所述半導體存儲裝置的驅動程序;G、所述驅動程序將成功運行通知返回給所述軟件中的API函數調用;H、當所述正版軟件收到算法調用成功運行通知時,發(fā)送“查詢命令”給所述半導體存儲裝置,所述半導體存儲裝置返回當前用戶自定義算法產生的應答結果;I、所述被保護軟件根據返回的應答結果進行相應的處理。所述軟件根據調用的算法的不同,將兩種不同的處理在需要比較應答結果的情況下,若所述半導體存儲裝置返回的應答結果與所述軟件的預期結果相同,程序正常運行,否則程序退出;在不需比較應答結果的情況下,若所述半導體存儲裝置返回的應答結果是正確的,程序正常運行,否則程序獲得錯誤結果,可能導致異常產生和程序退出。
      上述自定義算法的調用過程在軟件運行的整個過程中以隨機的時間間隔不斷循環(huán),若用戶拔出所述半導體存儲裝置或切斷所述半導體存儲裝置和所述軟件之間的通信,所述軟件檢測不到半導體存儲裝置,自定義算法調用無法進行,則所述軟件程序退出運行。本發(fā)明調用的算法可以是已內置的某種算法函數,也可以是用戶通過開發(fā)接口寫入的自定義算法,還可以是軟件程序的一部分,經過編譯后寫入所述半導體存儲裝置。
      根據本發(fā)明數據安全存儲方法中的兩級密碼多級權限管理,作為高級管理員的軟件開發(fā)商可以事先在所述半導體存儲裝置內寫入調用算法、軟件模塊管理參數等設置信息,并分配給使用普通用戶密碼的軟件使用者相應的訪問權限。在安裝和/或執(zhí)行軟件時,所述半導體存儲裝置驗證普通用戶密碼,然后根據軟件開發(fā)商事先的設置給普通用戶分配相應的訪問權限,從而控制了終端軟件用戶對所述半導體存儲裝置的操作,實現了對所述軟件的使用控制。
      大型的軟件一般都分為很多模塊,各模塊可以單獨或組合使用以實現不同的功能。根據本發(fā)明數據安全存儲的方法,軟件開發(fā)商可以在所述半導體存儲裝置內寫入模塊權限管理數據庫,通過模塊參數設置來滿足不同用戶的需求。
      軟件開發(fā)商在其為用戶開發(fā)的應用程序中,設置模塊調用自定義算法的參數,并在所述半導體存儲裝置內寫入模塊權限管理數據庫,隨機產生對應可使用模塊的模塊令牌號。在應用軟件中設置模塊調用接口調用自定義算法時,需要傳入經模塊令牌號簽名后的算法調用參數進行驗證,如果此模塊不允許運行,則自定義算法調用失敗,用戶將不能使用該模塊功能。為了防止用戶通過更改算法調用參數來獲得軟件模某模塊的非法使用,所述算法調用參數在傳輸過程中采用了本發(fā)明數據安全存儲方法中的防篡改設計。如圖8所示,實現模塊管理的具體步驟如下A.調用前,所述正版軟件先在本地調用簽名函數獲得簽名;B.用簽名數據登錄所述半導體存儲裝置內的模塊權限管理數據庫,獲得該模塊的令牌號;c.用模塊令牌號簽名調用算法的參數,調用存儲在所述半導體存儲裝置內的自定義算法;D.所述半導體存儲裝置根據模塊權限設置驗證輸入的算法調用參數簽名是否正確,即判算法調用參數是否被篡改,如果正確則算法調用正常進行,允許所述正版軟件該模塊的執(zhí)行,否則調用將失敗,拒絕所述正版軟件該模塊的執(zhí)行。
      在調用所述半導體存儲裝置的自定義算法時,設置允許遞減標志,則可通過接口遞減所述正版軟件某模塊或該正版軟件的使用次數和使用人數,如用戶沒有在限定次數或人數內成功登陸,則無法成功調用所述半導體存儲裝置內的自定義算法,即無法運行所述正版軟件的某模塊或該軟件。同時,為防止數據在傳輸過程中被截取,除了采用防篡改設計外,還可以采用本發(fā)明數據安全存儲方法中的隨時可改變的會話密鑰加密技術對數據進行加密,進一步增強數據傳輸過程中的安全性。
      本發(fā)明借助半導體存儲裝置實現數據安全存儲和算法存儲的方法,還可以廣泛應用于網上銀行、電子交易等眾多信息安全領域。在網上銀行進行交易,人們最擔心的就是怕自己的交易密碼被他人盜取,從而在網絡上的身份被他人非法冒用。根據本發(fā)明的數據安全存儲方法,用戶的個人資料、私鑰、數字證書等信息安全存儲在所述半導體存儲裝置的半導體存儲介質模塊中,并通過控制器模塊執(zhí)行內置的算法來實現身份認證的功能。只有該半導體存儲裝置的使用者本人才能攜帶和唯一的使用該標明其身份的裝置,在該裝置內部完成數字簽名等私鑰運算,從而杜絕任何信息的泄漏。利用本發(fā)明的數據安全存儲和算法存儲方法,借助所述半導體存儲裝置,只要在有計算機且能夠連接互聯網的地方,即使是在消費者家里或公共網吧里,也能夠進行網上安全可靠的交易和支付。
      權利要求
      1.一種借助半導體存儲裝置實現數據安全存儲的方法,包括有半導體存儲裝置,該半導體存儲裝置包括控制器模塊以及分別與所述控制器模塊電連接的通用接口模塊和半導體存儲介質模塊,其特征在于所述數據安全存儲方法包括以下步驟①所述半導體存儲介質模塊分為至少兩個邏輯存儲空間;②所述邏輯存儲空間中至少一個空間用于存儲需要保護的數據;③對所述半導體存儲裝置和/或所述至少一個邏輯存儲空間設置并存儲密碼;④在讀/寫操作前驗證密碼;⑤向所述半導體存儲裝置寫入所述需保護的數據時,所述控制器模塊接收來自通用接口的數據,并把數據加密后存儲在所述半導體存儲介質模塊中;⑥從所述半導體存儲裝置讀出所述需要保護的數據時,所述控制器模塊把數據解密并通過通用接口將解密后的數據傳送出去。
      2.如權利要求1所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于所述邏輯存儲空間中至少一個空間用于存儲算法,所述控制器模塊根據來自通用接口的輸入數據執(zhí)行指定的算法,并把運算結果通過通用接口傳送出去。
      3.如權利要求1所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于所述半導體存儲介質模塊可以是一種存儲介質,或者是至少兩種存儲介質的組合。
      4.如權利要求1所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于對所述半導體存儲裝置和/或所述至少一個邏輯存儲空間設置至少兩級用戶密碼。
      5.如權利要求4所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于可以是對所有邏輯存儲空間進行操作前驗證用戶密碼,也可以是對存儲需保護數據的邏輯存儲空間進行操作前驗證用戶密碼。
      6.如權利要求1、4或5所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于設置數據庫,并按照數據庫的方式對所述需保護的數據進行存取和/或權限管理。
      7.如權利要求6所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于所述權限包括讀取、寫入、修改、刪除和/或執(zhí)行權限,各權限的具體含義分別是讀取權限只能夠讀取數據庫中的記錄數據;寫入權限只能夠向數據庫中寫入新的數據,但無法覆蓋相同記錄標題的記錄數據;修改權限只能夠向數據庫中寫入數據,同時能夠覆蓋相同記錄標題的記錄數據;刪除權限夠刪除數據庫中的記錄或刪除數據庫;執(zhí)行權限能夠執(zhí)行數據庫中的記錄代碼,這是針對寫入的數據是自定義算法或函數代碼而設置的權限,一般記錄數據指定執(zhí)行權限無效。
      8.如權利要求1所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于所述邏輯存儲空間中至少一個空間用于存儲無需保護的數據。
      9.如權利要求1所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于對傳輸的數據和/或存儲的數據進行防篡改識別。
      10.如權利要求9所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于所述防篡改識別在數據發(fā)送或存儲時包括以下步驟A、調用加密算法把原始數據進行變換獲得變換值X;B、將原始數據和所述變換值X按照一定的格式打包成數據包;C、發(fā)送或存儲整個數據包;在接收或讀取數據時包括以下步驟A、按照上述同樣的格式將數據包解包,獲得原始數據和原始數據變換值X;B、調用上述相同的加密算法計算原始數據的變換值獲得變換值Y;C、比較計算出的變換值Y與讀出的變換值X是否相等;D、如果比較結果相等,則數據沒有被非法篡改,否則,數據已被篡改。
      11.如權利要求1或9所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于在數據傳輸過程中,使用可隨時改變的會話密鑰對所述數據進行加密。
      12.如權利要求11所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于所述采用可隨時改變的會話密鑰對數據進行加密的方法包括以下步驟A.在數據傳輸過程開始時,發(fā)送端首先發(fā)送交換會話密鑰命令,同時傳入至少一個隨機數;B.所述半導體存儲裝置收到交換會話密鑰命令后,也隨機生成至少一個隨機數,并把收到的隨機數和生成的隨機數經過算法變換,產生會話密鑰,然后把所述半導體存儲裝置生成的隨機數返回給所述發(fā)送端;C.當所述發(fā)送端收到返回的隨機數后,將接收到的隨機數和發(fā)送端自己傳入的隨機數經過所述相同的算法變換,產生會話密鑰。
      13.如權利要求1所述的借助半導體存儲裝置實現數據安全存儲的方法,其特征在于所述需要保護的數據包括但不限于文件、密碼、密鑰、帳號、數字證書、加密算法、自定義算法、用戶信息和/或用戶自定義數據。
      14.一種借助半導體存儲裝置實現算法存儲的方法,包括有半導體存儲裝置,該半導體存儲裝置包括控制器模塊以及分別與所述控制器模塊電連接的通用接口模塊和半導體存儲介質模塊,其特征在于所述算法存儲方法包括以下步驟①所述半導體存儲介質模塊分為至少兩個邏輯存儲空間;②所述邏輯存儲空間中至少一個空間用于存儲算法;③所述控制器模塊接收來自通用接口的輸入數據;④所述控制器模塊根據輸入數據執(zhí)行指定的算法,并把運算結果通過通用接口傳送出去。
      15.如權利要求14所述的借助半導體存儲裝置實現算法存儲的方法,其特征在于所述半導體存儲介質模塊只有一種存儲介質,或者是至少兩種存儲介質的組合。
      16.如權利要求14所述的借助半導體存儲裝置實現算法存儲的方法,其特征在于所述算法是一個算法或多個算法。
      17.如權利要求14所述的借助半導體存儲裝置實現算法存儲的方法,其特征在于所述算法是所述半導體存儲裝置已內置的算法,或者是用戶自定義的算法。
      18.如權利要求14所述的借助半導體存儲裝置實現算法存儲的方法,其特征在于對傳輸的數據和/或存儲的數據進行防篡改識別。
      19.如權利要求18所述的借助半導體存儲裝置實現算法存儲的方法,其特征在于所述防篡改識別在數據發(fā)送或存儲時包括以下步驟A、調用加密算法把原始數據進行變換獲得變換值X;B、將原始數據和所述變換值X按照一定的格式打包成數據包;C、發(fā)送或存儲整個數據包;在接收或讀取數據時包括以下步驟A、按照上述同樣的格式將數據包解包,獲得原始數據和原始數據變換值X;B、調用上述相同的加密算法計算原始數據的變換值獲得變換值Y;C、比較計算出的變換值Y與讀出的變換值X是否相等;D、如果比較結果相等,則數據沒有被非法篡改,否則,數據已被篡改。
      20.如權利要求14或18所述的借助半導體存儲裝置實現算法存儲的方法,其特征在于在數據傳輸過程中,使用可隨時改變的會話密鑰對所述數據進行加密。
      21.如權利要求20所述的借助半導體存儲裝置實現算法存儲的方法,其特征在于所述采用可隨時改變的會話密鑰對數據進行加密的方法包括以下步驟A.在數據傳輸過程開始時,發(fā)送端首先發(fā)送交換會話密鑰命令,同時傳入至少一個隨機數;B.所述半導體存儲裝置收到交換會話密鑰命令后,也隨機生成至少一個隨機數,并把收到的隨機數和生成的隨機數經過算法變換,產生會話密鑰,然后把所述半導體存儲裝置生成的隨機數返回給所述發(fā)送端;C.當所述發(fā)送端收到返回的隨機數后,將接收到的隨機數和發(fā)送端自己傳入的隨機數經過所述相同的算法變換,產生會話密鑰。
      全文摘要
      一種借助半導體存儲裝置實現數據安全存儲和算法存儲的方法,在提供用戶數據移動存儲的同時,采用高級安全存儲技術,同時,本發(fā)明提供開放式的應用接口,支持用戶自定義算法的寫入和調用。本發(fā)明還包括雙重密碼管理,設置多重管理權限,以及數據庫控制、隨機加密和防篡改技術等。與現有技術相比,本發(fā)明具有以下技術效果能同時實現普通數據存儲、需保密數據和/或算法存儲的功能;數據存儲的安全性大大提高,能廣泛適用于信息安全領域,如軟件版權保護、網上銀行、社保醫(yī)保、網上身份識別、電子交易、數字證書、工商管理以及稅務管理等。
      文檔編號G06F13/00GK1501263SQ0215198
      公開日2004年6月2日 申請日期2002年11月13日 優(yōu)先權日2002年11月13日
      發(fā)明者鄧國順, 成曉華, 向鋒 申請人:深圳市朗科科技有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1