專利名稱:一種保密數據存儲方法及裝置的制作方法
技術領域:
本發明涉及數據存儲領域,尤其涉及一種保密數據存儲方法及裝置。
背景技術:
隨著社會的不斷發展,越來越多的保密數據需要被存儲。其中,所謂的保密數據是指需要進行保密、防止別人獲取和攻擊的數據。常見的保密數據有個人數字證書(用于個人身份認證)、銀行密鑰等等。實際應用中,保密數據一般都存儲在控制芯片的內置閃存(eflash)當中。例如, 在USB-KEY控制芯片、PKI smartcard控制芯片以及SD-KEY控制芯片中均內置了 eflash, eflash用于存儲保密數據,防止保密數據受到外部的探針等多種手段的攻擊和獲取。實踐中發現,如果在控制芯片上內置eflash,則需要在生產制造上采用特殊工藝將控制芯片的膠片(MASK)增加到45層左右,這樣不但導致生產工藝復雜,而且成本高。
發明內容
本發明實施例中提供了一種保密數據存儲方法及裝置,能夠實現保密數據的安全外置存儲,從而可以降低控制芯片的生產工藝復雜度和成本。本發明實施例中提供了一種保密數據存儲方法,包括控制芯片內部產生或接收外部輸入的保密數據;控制芯片根據預先保存的加解密密鑰對所述保密數據進行加密處理;控制芯片將加密處理后的保密數據寫入外部非易揮發儲存器。本發明實施例中提供了一種保密數據存儲裝置,包括控制芯片和非易揮發儲存器;其中,所述控制芯片包括可編程存儲模塊,用于保存加解密密鑰;加密模塊,用于接收內部產生的或外部輸入的保密數據,根據所述可編程存儲模塊保存的加解密密鑰對所述保密數據進行加密處理并輸出至讀寫控制模塊;所述讀寫控制模塊,用于將所述加密模塊輸出的經過加密處理的保密數據寫入所述非易揮發儲存器;所述非易揮發儲存器,用于存儲所述讀寫控制模塊寫入的經過加密處理的保密數據。與現有的技術相比,本發明實施例具有以下有益效果本發明實施例中,控制芯片接收到外部輸入的保密數據后,可以根據預先保存的加解密密鑰對外部輸入的保密數據進行加密處理,然后將加密處理后的保密數據寫入外部非易揮發儲存器。通過這種方式,可以實現保密數據的安全外置存儲,同時可以避免控制芯片內置eflash,從而可以降低控制芯片的生產工藝復雜度和成本。
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例中提供的一種保密數據存儲方法的流程圖;圖2為本發明實施例中提供的另一種保密數據存儲方法的流程圖;圖3為本發明實施例中提供的一種保密數據存儲裝置的結構圖;圖4為本發明實施例中提供的另一種保密數據存儲裝置的結構圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。本發明實施例中提供了一種保密數據存儲方法及裝置,其中,該保密數據存儲方法由控制芯片接收外部輸入的保密數據,并根據預先保存的加解密密鑰對外部輸入的保密數據進行加密處理,然后再由控制芯片將加密處理后的保密數據寫入外部非易揮發儲存器。本發明實施例可以實現保密數據的安全外置存儲,降低USB-KEY、PKI smartcard以及 SD-KEY等控制芯片的生產工藝復雜度和成本。實施例一請參閱圖1,圖1為本發明實施例中提供的一種保密數據存儲方法的流程圖,如圖 1所示,該保密數據存儲方法可以包括以下步驟101、控制芯片內部產生或接收外部輸入的保密數據;舉例來說,本實施例中涉及的控制芯片可以是USB-KEY控制芯片、PKIsmartcard 控制芯片或SD-KEY控制芯片,還可以是其它用于存儲保密數據的控制芯片。舉例來說,本實施例中涉及的保密數據可以是個人數字證書(用于個人身份認證)、銀行密鑰,也可以是其它需要進行保密、防止別人獲取和攻擊的數據。102、控制芯片根據預先保存的加解密密鑰對所述保密數據進行加密處理;本實施例中,控制芯片可以根據不同加解密算法和加密強度的需求產生不同長度的加解密密鑰,該加解密密鑰在控制芯片內產生和存儲,不可以被取出和復制,有很好的安全性。舉例來說,控制芯片可以應用的加解密算法可以包括但不限于密鑰長度為56位的數據加密算法(Data Encryption Algorithm, DES)、密鑰長度為168位的三重數據加密算法(Triple Data Encryption Algorithm,3DES)、密鑰長度為1 位的國際數據加密算法 (International Data Encryption Algorithm, IDEA)以及密鑰長度為 128、192 或 256 位的高級加密標準(Advanced Encryption Standard, AES)算法。本實施例中,應用加解密密鑰對保密數據進行加密處理的實現過程是本領域技術人員所公知的常識,本實施例在此不作贅述。
103、控制芯片將加密處理后的保密數據寫入外部非易揮發儲存器。本實施例中,控制芯片將加密處理后的保密數據寫入外部非易揮發儲存器,可以防止保密數據被竊取或攻擊,達到保護保密數據的目的。舉例來說,為了防止寫入的保密數據由于非易揮發存儲器的特性而丟失,控制芯片可以將加密處理后的保密數據復制若干份后寫入外部的非易揮發存儲器,達到提高保密數據存儲壽命的目的。其中,本實施例中涉及的非易揮發儲存器是控制芯片的片外非易揮發存儲器, 非易揮發儲存器包括但不限于閃速存儲器(Flash Memory)、電可擦可編程只讀存儲器 (Electrically Erasable Programmable Read-Only Memory, EEPROM)等。其中,本實施例中涉及的非易揮發儲存器可以通過內部數據總線或者通用串行總線(Universal Serial BUS, USB)與控制芯片連接。本實施例中,控制芯片接收到外部輸入的保密數據后,可以根據預先保存的加解密密鑰對外部輸入的保密數據進行加密處理,然后將加密處理后的保密數據寫入外部非易揮發儲存器。這種方式可以實現保密數據的安全外置存儲,同時可以避免控制芯片內置 eflash,從而可以降低控制芯片的生產工藝復雜度和成本。實施例二請參閱圖2,圖2為本發明實施例中提供的一種保密數據存儲方法的流程圖,如圖 2所示,該保密數據存儲方法可以包括以下步驟201、控制芯片通過隨機發生器產生隨機數,將該隨機數作為加解密密鑰進行保存;舉例來說,控制芯片在接收外部輸入的保密數據之前,可以通過隨機發生器生成隨機數(真隨機或偽隨機),并將隨機數寫入控制芯片內可編程存儲模塊作為加解密密鑰。本實施例中,可編程存儲模塊具體可以是一次性可編程(One Time Programmable, OTP)模塊。202、控制芯片內部產生或接收外部輸入的保密數據;其中,步驟202與上述實施例一中的步驟101相同,本實施例不作復述。203、控制芯片根據預先保存的加解密密鑰對所述保密數據進行加密處理;
其中,步驟203與上述實施例一中的步驟102相同,本實施例不作復述。204、控制芯片將加密處理后的保密數據寫入外部非易揮發儲存器;其中,步驟204與上述實施例一中的步驟103相同,本實施例不作復述。205、控制芯片接收外部輸入的保密數據讀取請求;206、控制芯片讀取外部非易揮發儲存器中保存的經過加密處理的保密數據;其中,當外部非易揮發儲存器中保存若干份相同的經過加密處理的保密數據時, 控制芯片只需讀取一份完整的經過加密處理的保密數據即可。207、控制芯片根據上述的加解密密鑰對讀取的保密數據進行解密處理并輸出。本實施例中,當需要讀取存儲在外部非易揮發存儲器(例如Flash Memory, EEPROM等)中的保密數據時,控制芯片在讀取保密數據后先通過內部可編程存儲模塊中的加解密密鑰對該保密數據進行解密,解密后就恢復為明文的保密數據,可以被使用。本實施例中,控制芯片對讀取的保密數據進行解密處理與加密處理是逆運算,是本領域技術人員所公知的常識,本實施例在此不作贅述。本實施例中,控制芯片接收到外部輸入的保密數據后,可以根據預先保存的加解密密鑰對外部輸入的保密數據進行加密處理,然后將加密處理后的保密數據寫入外部非易揮發儲存器;當需要讀取保密數據時,控制芯片在讀取保密數據后根據加解密密鑰進行解密并輸出。實現保密數據的安全外置存儲與讀取,同時可以避免控制芯片內置ef lash,從而可以降低控制芯片的生產工藝復雜度和成本。實施例三請參閱圖3,圖3為本發明實施例中提供的一種保密數據存儲裝置的結構圖,如圖 3所示,該保密數據存儲裝置可以包括控制芯片301和非易揮發儲存器302 ;其中,控制芯片301可以包括可編程存儲模塊3011,用于保存加解密密鑰;加密模塊3012,用于接收內部產生的或外部輸入的保密數據,根據可編程存儲模塊3011保存的加解密密鑰對該保密數據進行加密處理并輸出至讀寫控制模塊3013 ;其中,讀寫控制模塊3013,用于將加密模塊3012輸出的經過加密處理的保密數據寫入非易揮發儲存器302 ;其中,非易揮發儲存器302,用于存儲讀寫控制模塊3013寫入的經過加密處理的保密數據。其中,本實施例中涉及的非易揮發儲存器302可以通過內部數據總線或者通用串行總線(USB)與讀寫控制模塊3013連接。本實施例中,加密模塊3012接收到外部輸入的保密數據后,可以根據可編程存儲模塊3011預先保存的加解密密鑰對外部輸入的保密數據進行加密處理,然后將加密處理后的保密數據寫入外部非易揮發儲存器302存儲。這種方式可以實現保密數據的安全外置存儲,同時可以避免控制芯片內置eflash,從而可以降低控制芯片的生產工藝復雜度和成本。實施例四請參閱圖4,圖4為本發明實施例中提供的另一種保密數據存儲裝置的結構圖,圖 4所示的保密數據存儲裝置是由圖3所示的保密數據存儲裝置優化得到的,可以包括控制芯片301和非易揮發儲存器302 ;其中,控制芯片301可以包括隨機發生器3010,用于產生隨機數,并將該隨機數作為加解密密鑰寫入可編程存儲模塊3011進行保存。可編程存儲模塊3011,用于保存隨機發生器3010寫入的加解密密鑰。加密模塊3012,用于接收內部產生的或外部輸入的保密數據,根據可編程存儲模塊3011保存的加解密密鑰對外部輸入的保密數據進行加密處理并輸出至讀寫控制模塊 3013。其中,讀寫控制模塊3013,用于將加密模塊3012輸出的經過加密處理的保密數據寫入非易揮發儲存器302。舉例來說,讀寫控制模塊3013具體可以用于將加密模塊3012輸出的經過加密處理的保密數據復制若干份寫入非易揮發儲存器302,達到提高保密數據存儲壽命的目的。其中,非易揮發儲存器302,用于存儲讀寫控制模塊3013寫入的經過加密處理的保密數據。如圖4所示,控制芯片301還可以包括解密模塊3014,用于接收外部輸入的保密數據讀取請求并通知讀寫控制模塊 3013 ;相應地,讀寫控制模塊3014,還用于根據解密模塊3014的通知從非易揮發儲存器 302中讀取經過加密處理的保密數據并輸出給解密模塊3014 ;相應地,解密模塊3014還用于根據可編程存儲模塊3011保存的加解密密鑰對讀寫控制模塊3014讀取的保密數據進行解密處理并輸出。本實施例中,控制芯片301具體為USB-KEY控制芯片、PKI smartcard控制芯片或 SD-KEY控制芯片。本實施例中,加密模塊3012接收到外部輸入的保密數據后,可以根據可編程存儲模塊3011預先保存的加解密密鑰對外部輸入的保密數據進行加密處理,然后將加密處理后的保密數據寫入外部非易揮發儲存器302 ;當需要讀取保密數據時,解密模塊3014在讀寫控制模塊3014讀取保密數據后根據可編程存儲模塊3011預先保存的加解密密鑰進行解密并輸出。實現保密數據的安全外置存儲與讀取,同時可以避免控制芯片內置eflash,從而可以降低控制芯片的生產工藝復雜度和成本。本領域普通技術人員可以理解實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括只讀存儲器 (Read-Only Memory, ROM)、隨機存取器(Random Access Memory, RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上對本發明實施例所提供的一種保密數據存儲方法及裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種保密數據存儲方法,其特征在于,包括 控制芯片內部產生或接收外部輸入的保密數據;控制芯片根據預先保存的加解密密鑰對所述保密數據進行加密處理; 控制芯片將加密處理后的保密數據寫入外部非易揮發儲存器。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括 控制芯片通過隨機發生器產生隨機數;將所述隨機數作為加解密密鑰進行保存。
3.根據權利要求1或2所述的方法,其特征在于,所述方法還包括 控制芯片接收外部輸入的保密數據讀取請求;讀取所述外部非易揮發儲存器中保存的經過加密處理的保密數據; 根據所述加解密密鑰對讀取的保密數據進行解密處理并輸出。
4.根據權利要求1或2所述的方法,其特征在于,所述控制芯片將加密處理后的保密數據寫入外部非易揮發儲存器包括所述控制芯片將加密處理后的保密數據復制若干份寫入外部非易揮發儲存器。
5.根據權利要求1或2所述的方法,其特征在于,所述控制芯片具體為USB-KEY控制芯片、PKI smartcard控制芯片或SD-KEY控制芯片。
6.一種保密數據存儲裝置,其特征在于,包括 控制芯片和非易揮發儲存器;其中,所述控制芯片包括可編程存儲模塊,用于保存加解密密鑰;加密模塊,用于接收內部產生的或外部輸入的保密數據,根據所述可編程存儲模塊保存的加解密密鑰對所述保密數據進行加密處理并輸出至讀寫控制模塊;所述讀寫控制模塊,用于將所述加密模塊輸出的經過加密處理的保密數據寫入所述非易揮發儲存器;所述非易揮發儲存器,用于存儲所述讀寫控制模塊寫入的經過加密處理的保密數據。
7.根據權利要求6所述的裝置,其特征在于,所述控制芯片還包括隨機發生器,用于產生隨機數,并將所述隨機數作為加解密密鑰寫入所述可編程存儲模塊進行保存。
8.根據權利要求6或7所述的裝置,其特征在于,所述控制芯片還包括解密模塊,用于接收外部輸入的保密數據讀取請求并通知所述讀寫控制模塊; 所述讀寫控制模塊,還用于根據所述通知從所述非易揮發儲存器中讀取經過加密處理的保密數據并輸出給所述解密模塊;所述解密模塊,還用于根據所述可編程存儲模塊保存的加解密密鑰對所述讀寫控制模塊讀取的保密數據進行解密處理并輸出。
9.根據權利要求6或7所述的裝置,其特征在于,所述讀寫控制模塊,具體用于將所述加密模塊輸出的經過加密處理的保密數據復制若干份寫入所述非易揮發儲存器。
10.根據權利要求6或7所述的裝置,其特征在于,所述控制芯片具體為USB-KEY控制芯片、PKI smartcard控制芯片或SD-KEY控制芯片。
全文摘要
本發明實施例涉及數據存儲領域,公開了一種保密數據存儲方法及裝置,其中,該保密數據存儲方法包括控制芯片內部產生或接收外部輸入的保密數據;根據預先保存的加解密密鑰對上述保密數據進行加密處理;將加密處理后的保密數據寫入外部非易揮發儲存器。本發明實施例可以實現保密數據的安全外置存儲,從而可以降低控制芯片的生產工藝復雜度和成本。
文檔編號G06F21/00GK102346820SQ20101024282
公開日2012年2月8日 申請日期2010年7月30日 優先權日2010年7月30日
發明者張華龍 申請人:深圳芯邦科技股份有限公司