本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別是可信身份的數(shù)據(jù)庫(kù)關(guān)鍵數(shù)據(jù)讀取認(rèn)證,采用國(guó)密對(duì)稱(chēng)加密算法目前為sm4.。
背景技術(shù):
在大數(shù)據(jù)環(huán)境下,安全是一個(gè)容易被忽略的特性。特別是數(shù)據(jù)庫(kù)安全對(duì)許多企業(yè)來(lái)說(shuō)是非常重要的,甚至關(guān)系到一個(gè)企業(yè)的生存和發(fā)展。因而企業(yè)常常采取一定的措施:如采取數(shù)據(jù)庫(kù)備份、防火墻等來(lái)保護(hù)系統(tǒng)的安全,但是這些傳統(tǒng)的安全保護(hù)措施具有一定的局限性和不足。在絕大多數(shù)信息系統(tǒng)中,沒(méi)有加密的數(shù)據(jù)庫(kù)就如同沒(méi)有上鎖的文件柜,對(duì)別有用心的人而言,剽竊、篡改易如反掌。因此,如何有效地保證數(shù)據(jù)庫(kù)系統(tǒng)的安全,實(shí)現(xiàn)數(shù)據(jù)的保密性、完整性和有效性,數(shù)據(jù)庫(kù)的安全管理日益成為人們關(guān)注的焦點(diǎn)之一。解決這一問(wèn)題的關(guān)鍵是要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)本身進(jìn)行加密,即使數(shù)據(jù)不幸泄露或丟失,也難以被人破譯。目前對(duì)數(shù)據(jù)庫(kù)的管理系統(tǒng)本身進(jìn)行加密操作是不現(xiàn)實(shí)的,這屬于核心層加密,如果沒(méi)有數(shù)據(jù)庫(kù)開(kāi)發(fā)商的配合,其實(shí)現(xiàn)難度相對(duì)較大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是規(guī)避目前數(shù)據(jù)庫(kù)整體加密導(dǎo)致的效率降低,克服現(xiàn)有技術(shù)的缺陷,但針對(duì)核心數(shù)據(jù)的提取和保存,提供一種可信身份的數(shù)據(jù)庫(kù)關(guān)鍵數(shù)據(jù)安全讀寫(xiě)認(rèn)證方法。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種可信身份的數(shù)據(jù)庫(kù)關(guān)鍵數(shù)據(jù)安全讀寫(xiě)認(rèn)證方法,其特征是,
應(yīng)用服務(wù)器調(diào)用密碼機(jī)通過(guò)國(guó)密對(duì)稱(chēng)算法生成密鑰d并通過(guò)非對(duì)稱(chēng)算法生成服務(wù)器密鑰對(duì)(b,r),服務(wù)器公鑰b對(duì)通過(guò)國(guó)密對(duì)稱(chēng)算法生成的密鑰d加密,加密后的密鑰d1存放于應(yīng)用服務(wù)器內(nèi)存中的某個(gè)固定處隱藏;
用戶(hù)向數(shù)據(jù)庫(kù)服務(wù)器寫(xiě)入數(shù)據(jù)或者從數(shù)據(jù)庫(kù)服務(wù)器讀取數(shù)據(jù)時(shí),首先對(duì)用戶(hù)進(jìn)行可信身份的驗(yàn)證,驗(yàn)證通過(guò)為可信身份時(shí)才允許用戶(hù)寫(xiě)入或讀取數(shù)據(jù);
用戶(hù)寫(xiě)入數(shù)據(jù)時(shí),用戶(hù)向web頁(yè)面輸入用戶(hù)信息并寫(xiě)入數(shù)據(jù),web頁(yè)面發(fā)送寫(xiě)入數(shù)據(jù)請(qǐng)求到應(yīng)用服務(wù)器,應(yīng)用服務(wù)器接受用戶(hù)的數(shù)據(jù)并且驗(yàn)證用戶(hù)的個(gè)人數(shù)字證書(shū)可信后,由服務(wù)器私鑰r對(duì)加密的密鑰d1解密,利用解密后的密鑰d將用戶(hù)寫(xiě)入的數(shù)據(jù)加密,再將加密后的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中;
用戶(hù)讀取數(shù)據(jù)時(shí),用戶(hù)發(fā)送讀取數(shù)據(jù)的請(qǐng)求到web頁(yè)面,web頁(yè)面發(fā)送用戶(hù)讀取數(shù)據(jù)的請(qǐng)求給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器接受用戶(hù)的讀取數(shù)據(jù)請(qǐng)求并且驗(yàn)證用戶(hù)的個(gè)人數(shù)字證書(shū)可信后,應(yīng)用服務(wù)器發(fā)送用戶(hù)請(qǐng)求到數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器將用戶(hù)請(qǐng)求讀取的數(shù)據(jù)返回給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器利用服務(wù)器私鑰r對(duì)加密的密鑰d1解密,利用解密后的密鑰d將用戶(hù)需要的數(shù)據(jù)通過(guò)國(guó)密對(duì)稱(chēng)算法進(jìn)行解密,解密后的數(shù)據(jù)返回至web頁(yè)面并顯示給用戶(hù)。
對(duì)用戶(hù)寫(xiě)入的數(shù)據(jù)加密或讀取的數(shù)據(jù)解密完成以后,在應(yīng)用服務(wù)器內(nèi)存中消除本次服務(wù)器私鑰r解密出來(lái)的密鑰d,而通過(guò)服務(wù)器公鑰b加密后的密鑰d1仍存放于應(yīng)用服務(wù)器內(nèi)存中的某個(gè)固定處隱藏,下次使用時(shí)再直接調(diào)用。
用戶(hù)可信身份認(rèn)證的步驟為:
用戶(hù)首先插入個(gè)人數(shù)字證書(shū)usbkey并輸入pin碼,web頁(yè)面對(duì)由服務(wù)器生成的隨機(jī)數(shù)進(jìn)行簽名,并發(fā)送簽名值到應(yīng)用服務(wù)器,應(yīng)用服務(wù)器驗(yàn)證簽名值,讀取用戶(hù)個(gè)人數(shù)字證書(shū)信息,驗(yàn)證用戶(hù)是否是可信身份及是否具備數(shù)據(jù)庫(kù)服務(wù)器讀取權(quán)限,驗(yàn)證結(jié)束后返回驗(yàn)證結(jié)果到web頁(yè)面來(lái)確定用戶(hù)是否為可信身份。
用戶(hù)的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中后,應(yīng)用服務(wù)器返回用戶(hù)請(qǐng)求寫(xiě)入數(shù)據(jù)成功與否的結(jié)果至web頁(yè)面并顯示給用戶(hù)。
數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)的需要保密的數(shù)據(jù)包括結(jié)構(gòu)化數(shù)據(jù)的核心字段和非結(jié)構(gòu)化數(shù)據(jù)集。
寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中的加密數(shù)據(jù)是以國(guó)密對(duì)稱(chēng)算法進(jìn)行加密的。
在加密前對(duì)數(shù)據(jù)庫(kù)服務(wù)器中需要保密的數(shù)據(jù)建立1-20個(gè)關(guān)鍵索引字,通過(guò)關(guān)鍵索引字建立快速索引。
本發(fā)明所達(dá)到的有益效果:
本發(fā)明提出了一種可信身份的數(shù)據(jù)庫(kù)關(guān)鍵數(shù)據(jù)安全讀取認(rèn)證的方法,其中數(shù)據(jù)庫(kù)的關(guān)鍵數(shù)據(jù)包括結(jié)構(gòu)化數(shù)據(jù)的核心字段(需要保密的字段內(nèi)容)和非結(jié)構(gòu)化數(shù)據(jù)集(文檔等數(shù)據(jù)),是一種基于可信身份的關(guān)鍵數(shù)據(jù)的讀取識(shí)別方法,并且利用了服務(wù)器公私鑰對(duì)進(jìn)行互聯(lián)網(wǎng)的關(guān)鍵數(shù)據(jù)的傳輸,通過(guò)對(duì)用戶(hù)可信身份的識(shí)別認(rèn)證,實(shí)現(xiàn)了數(shù)據(jù)庫(kù)中關(guān)鍵數(shù)據(jù)的加密、解密和安全傳輸?shù)倪^(guò)程,此方式多重保護(hù)了用戶(hù)對(duì)數(shù)據(jù)庫(kù)中的關(guān)鍵數(shù)據(jù)的存取,防止了別有用心之人竊取并篡改數(shù)據(jù)庫(kù)中的機(jī)密信息,此發(fā)明的方法實(shí)施方便,過(guò)程簡(jiǎn)潔明了,操作簡(jiǎn)單,適宜推廣使用。
附圖說(shuō)明
圖1是用戶(hù)可信身份認(rèn)證的流程圖;
圖2是用戶(hù)寫(xiě)入數(shù)據(jù)加密方法的流程圖;
圖3是用戶(hù)讀取數(shù)據(jù)庫(kù)數(shù)據(jù)的方法流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說(shuō)明本發(fā)明的技術(shù)方案,而不能以此來(lái)限制本發(fā)明的保護(hù)范圍。
本發(fā)明的方法主要包括用戶(hù)可信身份認(rèn)證的步驟、用戶(hù)寫(xiě)入數(shù)據(jù)加密的步驟和用戶(hù)讀取數(shù)據(jù)庫(kù)數(shù)據(jù)的步驟。
用戶(hù)可信身份認(rèn)證的步驟為:
用戶(hù)寫(xiě)入數(shù)據(jù)或者讀取數(shù)據(jù)時(shí),都需要對(duì)用戶(hù)進(jìn)行可信身份的驗(yàn)證,如圖1所示,用戶(hù)首先插入個(gè)人數(shù)字證書(shū)usbkey并輸入pin碼,web頁(yè)面對(duì)由服務(wù)器生成的隨機(jī)數(shù)進(jìn)行簽名,并發(fā)送簽名值到應(yīng)用服務(wù)器,應(yīng)用服務(wù)器驗(yàn)證簽名值,讀取用戶(hù)個(gè)人數(shù)字證書(shū)信息,驗(yàn)證用戶(hù)是否是可信身份及是否具備數(shù)據(jù)庫(kù)服務(wù)器讀取權(quán)限,驗(yàn)證結(jié)束后返回驗(yàn)證結(jié)果到web頁(yè)面來(lái)確定用戶(hù)是否為可信身份,為可信身份時(shí)才允許用戶(hù)寫(xiě)入或讀取數(shù)據(jù)。
用戶(hù)寫(xiě)入數(shù)據(jù)加密的步驟為:
用戶(hù)寫(xiě)入數(shù)據(jù)前,應(yīng)用服務(wù)器調(diào)用密碼機(jī)通過(guò)國(guó)密對(duì)稱(chēng)算法生成密鑰d和通過(guò)非對(duì)稱(chēng)算法生成服務(wù)器密鑰對(duì)(b,r),服務(wù)器公鑰b對(duì)通過(guò)國(guó)密對(duì)稱(chēng)算法生成的密鑰d加密,加密后的密鑰d1存放于應(yīng)用服務(wù)器內(nèi)存中的某個(gè)固定處隱藏;
寫(xiě)入數(shù)據(jù)時(shí),用戶(hù)向web頁(yè)面輸入用戶(hù)信息并寫(xiě)入數(shù)據(jù),web頁(yè)面發(fā)送寫(xiě)入數(shù)據(jù)請(qǐng)求到應(yīng)用服務(wù)器,應(yīng)用服務(wù)器接受用戶(hù)的數(shù)據(jù)并且驗(yàn)證用戶(hù)的個(gè)人數(shù)字證書(shū)是否可信,不可信則直接拒絕。如可信則由服務(wù)器私鑰r對(duì)加密的密鑰d1解密,解密后的密鑰d將用戶(hù)寫(xiě)入的數(shù)據(jù)加密,而后將加密后的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器中并存放于對(duì)應(yīng)字段。最后應(yīng)用服務(wù)器返回用戶(hù)請(qǐng)求寫(xiě)入數(shù)據(jù)成功與否的結(jié)果至web頁(yè)面并顯示給用戶(hù),如圖2所示。
數(shù)據(jù)庫(kù)服務(wù)器中需要保密的關(guān)鍵數(shù)據(jù)包括結(jié)構(gòu)化數(shù)據(jù)的核心字段(需要保密的字段內(nèi)容)和非結(jié)構(gòu)化數(shù)據(jù)集(文檔等數(shù)據(jù)),需要保密的關(guān)鍵數(shù)據(jù)內(nèi)容(結(jié)構(gòu)與非結(jié)構(gòu))以國(guó)密對(duì)稱(chēng)算法進(jìn)行加密。
需要保密的關(guān)鍵數(shù)據(jù)(結(jié)構(gòu)或非結(jié)構(gòu))在加密前為了檢索方便,可設(shè)置建立1-20個(gè)關(guān)鍵索引字,以便建立快速索引。
用戶(hù)讀取數(shù)據(jù)庫(kù)數(shù)據(jù)的步驟為:
數(shù)據(jù)讀取前,應(yīng)用服務(wù)器調(diào)用密碼機(jī)通過(guò)國(guó)密對(duì)稱(chēng)算法生成密鑰d和通過(guò)非對(duì)稱(chēng)算法生成服務(wù)器密鑰對(duì)(b,r),服務(wù)器公鑰b對(duì)通過(guò)國(guó)密對(duì)稱(chēng)算法生成的密鑰d加密,加密后的密鑰d1存放于應(yīng)用服務(wù)器內(nèi)存中的某個(gè)固定處隱藏;
用戶(hù)讀取數(shù)據(jù)時(shí)發(fā)送讀取數(shù)據(jù)的請(qǐng)求到web頁(yè)面,web頁(yè)面發(fā)送用戶(hù)讀取數(shù)據(jù)的請(qǐng)求給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器接受用戶(hù)的讀取數(shù)據(jù)請(qǐng)求并且驗(yàn)證用戶(hù)的個(gè)人數(shù)字證書(shū)是否可信,不可信則直接拒絕。如可信則應(yīng)用服務(wù)器發(fā)送用戶(hù)請(qǐng)求到數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器將用戶(hù)請(qǐng)求讀取的數(shù)據(jù)返回給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器中服務(wù)器私鑰r對(duì)加密的密鑰d1解密,解密后的密鑰d將用戶(hù)需要的數(shù)據(jù)通過(guò)國(guó)密對(duì)稱(chēng)算法進(jìn)行解密,解密后的數(shù)據(jù)返回至web頁(yè)面并顯示給用戶(hù),如圖3所示。
數(shù)據(jù)加解密完則在應(yīng)用服務(wù)器內(nèi)存中消除服務(wù)器私鑰r解密出來(lái)的密鑰d,而通過(guò)服務(wù)器公鑰b加密后的密鑰d1則仍存放于應(yīng)用服務(wù)器內(nèi)存中的某個(gè)固定處隱藏,下次使用時(shí)再直接調(diào)用。