數(shù)據(jù)保密方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)保密方法,包括:生成密鑰索引,并將所述密鑰索引發(fā)送給密鑰服務(wù)器;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件;將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器;本發(fā)明還公開了一種數(shù)據(jù)保密裝置及系統(tǒng)。本發(fā)明提供的數(shù)據(jù)保密方法、裝置及系統(tǒng),能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密,操作簡單且成本低廉。
【專利說明】
數(shù)據(jù)保密方法、裝置及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是指一種數(shù)據(jù)保密方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,使得人與人之間通過網(wǎng)絡(luò)而聯(lián)系起來,人們的工作、生活中越來越廣泛地運(yùn)用著網(wǎng)絡(luò)技術(shù),方便了人們的工作、生活,也使得人們越來越離不開網(wǎng)絡(luò)。
[0003]現(xiàn)有的網(wǎng)絡(luò)技術(shù)中,數(shù)據(jù)傳輸是一項(xiàng)非常重要的技術(shù),它無時不刻地存在于網(wǎng)絡(luò)之中,關(guān)系著人與人之間能否通過網(wǎng)絡(luò)完成所需的信息交流。
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:常見的傳輸技術(shù)為通過http協(xié)議進(jìn)行數(shù)據(jù)傳輸,但是,經(jīng)http傳輸數(shù)據(jù)的方式為明文傳輸,這種情況下,用戶信息并未進(jìn)行加密,很容易被其他人截獲。在此基礎(chǔ)之上,現(xiàn)有技術(shù)中存在https加密處理方法,可以對用戶傳輸?shù)臄?shù)據(jù)進(jìn)行加密,但是,這種加密方式,需要客戶端和服務(wù)器端都配置有CA機(jī)構(gòu)頒發(fā)的SSL證書,流程復(fù)雜且成本較高。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明實(shí)施例的目的在于提出一種數(shù)據(jù)保密方法、裝置及系統(tǒng),能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密,操作簡單且成本低廉。
[0006]基于上述目的本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法,包括:
[0007]生成密鑰索引,并將所述密鑰索引發(fā)送給密鑰服務(wù)器;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;
[0008]接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;
[0009]利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件;
[0010]將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器。
[0011]在一些可選實(shí)施方式中,所述生成密鑰索引的步驟包括:
[0012]利用隨機(jī)算法,生成預(yù)設(shè)數(shù)值范圍內(nèi)的隨機(jī)數(shù)作為所述密鑰索引。
[0013]在一些可選實(shí)施方式中,所述生成密鑰索引的步驟包括:
[0014]按照第一預(yù)設(shè)時間間隔,更新所述密鑰索引。
[0015]在一些可選實(shí)施方式中,所述生成密鑰索引的步驟之前還包括:
[0016]判斷是否存在待傳輸文件;
[0017]若存在待傳輸文件,則判斷所述待傳輸文件是否存在密鑰索引;
[0018]若所述待傳輸文件存在密鑰索引,則將所述密鑰索引發(fā)送給密鑰服務(wù)器;
[0019]若不存在密鑰索引,則生成密鑰索引。
[0020]在一些可選實(shí)施方式中,所述密鑰索引占用I個或多個字節(jié)。
[0021 ]本發(fā)明實(shí)施例的第二個方面,提供了一種數(shù)據(jù)保密方法,包括:
[0022]接收客戶端和/或服務(wù)器發(fā)送的密鑰索引;
[0023]根據(jù)所述密鑰索引,從預(yù)存的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰;
[0024]將與所述密鑰索引相對應(yīng)的密鑰返回給所述客戶端和/或服務(wù)器。
[0025]在一些可選實(shí)施方式中,所述的方法還包括:按照第二預(yù)設(shè)時間間隔,對所述密鑰表中的密鑰進(jìn)行更新;
[0026]和/或,
[0027]接收密鑰表更新指令,并對所述密鑰表中的密鑰進(jìn)行更新。
[0028]在一些可選實(shí)施方式中,所述對所述密鑰表中的密鑰進(jìn)行更新的步驟之前還包括:
[0029]將更新前的密鑰表進(jìn)行備份;
[0030]和/或,
[0031 ]按照第三預(yù)設(shè)時間間隔,刪除所述備份的更新前的密鑰表。
[0032]在一些可選實(shí)施方式中,所述對所述密鑰表中的密鑰進(jìn)行更新的步驟之后還包括:
[0033]接收服務(wù)器發(fā)送的密鑰錯誤指令;
[0034]從所述更新前的密鑰表中查找與所述密鑰索引相對應(yīng)的密鑰并返回給服務(wù)器。
[0035]本發(fā)明實(shí)施例的第三個方面,提供了一種數(shù)據(jù)保密方法,包括:
[0036]接收加密文件及所述加密文件對應(yīng)的密鑰索引;
[0037]將所述密鑰索引發(fā)送給密鑰服務(wù)器;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;
[0038]接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;
[0039]利用所述密鑰對所述加密文件進(jìn)行解密,得到解密文件。
[0040]在一些可選實(shí)施方式中,所述得到解密文件的步驟之后還包括:
[0041]從所述解密文件中提取得到所述解密文件中包含的文件大小、發(fā)送頻率和/或信息內(nèi)容;
[0042]分別將所述文件大小、發(fā)送頻率和/或信息內(nèi)容與文件大小指標(biāo)、發(fā)送頻率指標(biāo)和/或信息內(nèi)容指標(biāo)進(jìn)行比對,統(tǒng)計(jì)不匹配的文件數(shù)量;
[0043]若所述不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值,發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。
[0044]在一些可選實(shí)施方式中,所述得到解密文件的步驟之后還包括:統(tǒng)計(jì)所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量;
[0045]若所述屬于同一客戶端發(fā)送的解密文件的文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值,發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。
[0046]在一些可選實(shí)施方式中,所述的方法還包括:若接收到信息泄露舉報(bào)信息,發(fā)出密鑰泄露警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。
[0047]在一些可選實(shí)施方式中,所述利用所述密鑰對所述加密文件進(jìn)行解密的步驟具體包括:
[0048]判斷所述密鑰是否能對所述加密文件進(jìn)行解密;
[0049]若所述密鑰不能對所述加密文件進(jìn)行解密,向所述密鑰服務(wù)器發(fā)出密鑰錯誤指令;
[0050]接收所述密鑰服務(wù)器返回的從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰;
[0051]利用所述從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰對所述加密文件進(jìn)行解密。
[0052]本發(fā)明實(shí)施例的第四個方面,提供了一種數(shù)據(jù)保密裝置,包括:
[0053]索引生成模塊,用于生成密鑰索引;
[0054]第一密鑰服務(wù)器交互模塊,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器并接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;
[0055]加密模塊,用于利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件;
[0056]第一服務(wù)器交互模塊,用于將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器。
[0057]在一些可選實(shí)施方式中,所述索引生成模塊,具體用于:
[0058]利用隨機(jī)算法,生成預(yù)設(shè)數(shù)值范圍內(nèi)的隨機(jī)數(shù)作為所述密鑰索引。
[0059]在一些可選實(shí)施方式中,所述索引生成模塊,具體用于:
[0060]按照第一預(yù)設(shè)時間間隔,更新所述密鑰索引。
[0061]在一些可選實(shí)施方式中,所述的裝置還包括:
[0062]待傳輸文件判斷模塊,用于判斷是否存在判斷是否存在待傳輸文件;
[0063]密鑰索引判斷模塊,若存在待傳輸文件,用于判斷所述待傳輸文件是否存在密鑰索引;
[0064]若所述待傳輸文件存在密鑰索引,則所述第一服務(wù)器交互模塊,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器;
[0065]若所述待傳輸文件不存在密鑰索引,則所述索引生成模塊,用于生成密鑰索引。
[0066]在一些可選實(shí)施方式中,所述密鑰索引占用I個或多個字節(jié)。
[0067]本發(fā)明實(shí)施例的第五個方面,提供了一種數(shù)據(jù)保密裝置,包括:
[0068]密鑰提取模塊,用于根據(jù)密鑰索引,從預(yù)存的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰;
[0069]第一客戶端交互模塊,用于接收客戶端發(fā)送的密鑰索引,以及,將與所述密鑰索引相對應(yīng)的密鑰返回給所述客戶端;
[0070]和/或,
[0071]第二服務(wù)器交互模塊,用于接收服務(wù)器發(fā)送的密鑰索引,以及,將與所述密鑰索引相對應(yīng)的密鑰返回給所述服務(wù)器。
[0072]在一些可選實(shí)施方式中,所述的裝置,還包括密鑰表更新模塊,用于:
[0073]按照第二預(yù)設(shè)時間間隔,對所述密鑰表中的密鑰進(jìn)行更新;
[0074]和/或,
[0075]接收密鑰表更新指令,并對所述密鑰表中的密鑰進(jìn)行更新。
[0076]在一些可選實(shí)施方式中,所述的裝置,還包括:
[0077]密鑰表備份模塊,用于將更新前的密鑰表進(jìn)行備份;
[0078]和/或,
[0079]密鑰表刪除模塊,用于按照第三預(yù)設(shè)時間間隔,刪除所述備份的更新前的密鑰表。
[0080]在一些可選實(shí)施方式中,所述密鑰提取模塊,還用于從更新前的密鑰表中查找與所述密鑰索引相對應(yīng)的密鑰;
[0081 ]所述第二服務(wù)器交互模塊,還用于接收服務(wù)器發(fā)送的密鑰錯誤指令,以及,將所述從所述更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰返回給服務(wù)器。
[0082 ]本發(fā)明實(shí)施例的第六個方面,提供了一種數(shù)據(jù)保密裝置,包括:
[0083]第二客戶端交互模塊,用于接收加密文件及所述加密文件對應(yīng)的密鑰索引;
[0084]第二密鑰服務(wù)器交互模塊,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器,以及,接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;
[0085]解密模塊,用于利用所述密鑰對所述加密文件進(jìn)行解密,得到解密文件。
[0086]在一些可選實(shí)施方式中,所述的裝置,還包括:
[0087]數(shù)據(jù)分析模塊,用于從所述解密文件中提取得到所述解密文件中包含的文件大小、發(fā)送頻率和/或信息內(nèi)容;
[0088]統(tǒng)計(jì)模塊,用于分別將所述文件大小、發(fā)送頻率和/或信息內(nèi)容與文件大小指標(biāo)、發(fā)送頻率指標(biāo)和/或信息內(nèi)容指標(biāo)進(jìn)行比對,統(tǒng)計(jì)不匹配的文件數(shù)量;
[0089]警告模塊,若所述不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值,用于發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。
[0090]在一些可選實(shí)施方式中,所述統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量;
[0091]所述警告模塊,若所述屬于同一客戶端發(fā)送的解密文件的文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值,用于發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。
[0092]在一些可選實(shí)施方式中,所述警告模塊,若接收到信息泄露舉報(bào)信息,用于發(fā)出密鑰泄露警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。
[0093]在一些可選實(shí)施方式中,所述解密模塊,具體用于:
[0094]判斷所述密鑰是否能對所述加密文件進(jìn)行解密;
[0095]若所述密鑰不能對所述加密文件進(jìn)行解密,向所述密鑰服務(wù)器發(fā)出密鑰錯誤指令;
[0096]接收所述密鑰服務(wù)器返回的從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰;
[0097]利用所述從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰對所述加密文件進(jìn)行解密。
[0098]本發(fā)明實(shí)施例的第七個方面,提供了一種數(shù)據(jù)保密系統(tǒng),包括如上述的本發(fā)明實(shí)施例的第四個方面任意一項(xiàng)所述的裝置,如上述的本發(fā)明實(shí)施例的第五個方面任意一項(xiàng)所述的裝置,以及,如上述的本發(fā)明實(shí)施例的第六個方面任意一項(xiàng)所述的裝置。
[0099]從上面所述可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法、裝置及系統(tǒng),通過客戶端生成密鑰索引并從密鑰服務(wù)器獲取與該密鑰索引相對應(yīng)的密鑰,利用該密鑰進(jìn)行文件加密,并將加密文件和所述密鑰索引發(fā)送給服務(wù)器,服務(wù)器再根據(jù)所述密鑰索引從密鑰服務(wù)器獲取相應(yīng)的密鑰用于解密,從而完成了待傳輸文件的加解密,保證了數(shù)據(jù)傳輸?shù)陌踩裕焕盟鰯?shù)據(jù)保密方法、裝置及系統(tǒng)進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
【附圖說明】
[0100]圖1為本發(fā)明提供的數(shù)據(jù)保密方法的第一個實(shí)施例的流程示意圖;
[0101]圖2為本發(fā)明提供的數(shù)據(jù)保密方法的第二個實(shí)施例的流程示意圖;
[0102]圖3為本發(fā)明提供的數(shù)據(jù)保密方法的第三個實(shí)施例的流程示意圖;
[0103]圖4為本發(fā)明提供的數(shù)據(jù)保密方法的第四個實(shí)施例的流程示意圖;
[0104]圖5為本發(fā)明提供的數(shù)據(jù)保密方法的第五個實(shí)施例的流程示意圖;
[0105]圖6為本發(fā)明提供的數(shù)據(jù)保密方法的第六個實(shí)施例的流程示意圖;
[0106]圖7為本發(fā)明提供的數(shù)據(jù)保密裝置的第一個實(shí)施例的模塊結(jié)構(gòu)示意圖;
[0107]圖8為本發(fā)明提供的數(shù)據(jù)保密裝置的第二個實(shí)施例的模塊結(jié)構(gòu)示意圖;
[0108]圖9為本發(fā)明提供的數(shù)據(jù)保密裝置的第三個實(shí)施例的模塊結(jié)構(gòu)示意圖;
[0109]圖10為本發(fā)明提供的數(shù)據(jù)保密裝置的第四個實(shí)施例的模塊結(jié)構(gòu)示意圖;
[0110]圖11為本發(fā)明提供的數(shù)據(jù)保密裝置的第五個實(shí)施例的模塊結(jié)構(gòu)示意圖;
[0111]圖12為本發(fā)明提供的數(shù)據(jù)保密裝置的第六個實(shí)施例的模塊結(jié)構(gòu)示意圖;
[0112]圖13為本發(fā)明提供的數(shù)據(jù)保密系統(tǒng)實(shí)施例的模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0113]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
[0114]需要說明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個相同名稱非相同的實(shí)體或者非相同的參量,可見“第一” “第二”僅為了表述的方便,不應(yīng)理解為對本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對此不再一一說明。
[0115]本發(fā)明的第一個方面,在于提出一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密方法的第一個實(shí)施例,可選的,所述數(shù)據(jù)保密方法應(yīng)用于客戶端。如圖1所示,為本發(fā)明提供的數(shù)據(jù)保密方法的第一個實(shí)施例的流程示意圖。
[0116]所示數(shù)據(jù)保密方法,包括以下步驟:
[0117]步驟101:生成密鑰索引(index),并將所述密鑰索引發(fā)送給密鑰服務(wù)器;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;
[0118]例如,所述密鑰表中包含256個密鑰,所述密鑰索引可以相應(yīng)的為O?255,這256個數(shù)分別對應(yīng)這256個密鑰,當(dāng)生成了O?255之間的任意的數(shù)作為密鑰索引(例如I)時,將所述密鑰索引發(fā)送給密鑰服務(wù)器,密鑰服務(wù)器就能根據(jù)該密鑰索引從密鑰表中找到與其對應(yīng)的密鑰;
[0119]步驟102:接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;
[0120]步驟103:利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件;
[0121]步驟104:將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器;服務(wù)器在接收到所述加密文件和所述密鑰索引,可根據(jù)所述密鑰索引從所述密鑰服務(wù)器獲取密鑰用于解密;
[0122]可選的,所述服務(wù)器,為數(shù)據(jù)接收服務(wù)器,是客戶端的待傳輸文件的接收對象;所述服務(wù)器與所述密鑰服務(wù)器可以是同一個服務(wù)器,也可以是獨(dú)立的兩個服務(wù)器,當(dāng)二者為同一個服務(wù)器時,可以通過單獨(dú)設(shè)置用于存儲密鑰表模塊,作為所述密鑰服務(wù)器。較佳的,當(dāng)所述服務(wù)器與所述密鑰服務(wù)器為獨(dú)立的兩個服務(wù)器時,二者具有不同的IP地址,所述服務(wù)器專用于接收文件而不參與其他操作,所述密鑰服務(wù)器則專用于存儲密鑰表以及與客戶端和/或服務(wù)器進(jìn)行與密鑰相關(guān)的數(shù)據(jù)交互,從而能夠更好地保證數(shù)據(jù)傳輸?shù)目煽啃浴?br>[0123]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法,通過生成密鑰索引并從密鑰服務(wù)器獲取與該密鑰索引相對應(yīng)的密鑰,利用該密鑰進(jìn)行文件加密,并將加密文件和所述密鑰索引發(fā)送給服務(wù)器,從而完成了待傳輸文件的加密,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0124]本發(fā)明的第二個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密方法的第二個實(shí)施例,可選的,所述數(shù)據(jù)保密方法應(yīng)用于客戶端。如圖2所示,為本發(fā)明提供的數(shù)據(jù)保密方法的第二個實(shí)施例的流程示意圖。
[0125]所示數(shù)據(jù)保密方法,包括以下步驟:
[0126]步驟201:判斷是否存在待傳輸文件;
[0127]步驟202:若不存在待傳輸文件,則進(jìn)入等待,并返回步驟201;
[0128]步驟203:若存在待傳輸文件,則判斷所述待傳輸文件是否存在密鑰索引;這里,可以理解為,判斷所述待傳輸文件是否存在可用的密鑰索引,也可以理解為,本地是否存在可供所述待傳輸文件用于獲取密鑰的密鑰索引;
[0129]步驟204:若所述待傳輸文件存在密鑰索引,則跳轉(zhuǎn)到步驟207;
[0130]步驟205:若所述待傳輸文件不存在密鑰索引,則利用隨機(jī)算法,生成預(yù)設(shè)數(shù)值范圍(例如O?255之間)內(nèi)的隨機(jī)數(shù)作為所述密鑰索引;
[0131]通過采用隨機(jī)算法生成隨機(jī)數(shù)作為密鑰索引,能夠防止密鑰索引泄露,同時也能防止不同客戶端之間出現(xiàn)密鑰索引使用沖突;較佳的,所述隨機(jī)算法用于生成隨機(jī)數(shù)的函數(shù)是rand();
[0132]可選的,所述隨機(jī)算法的代碼可參考如下語句:
[0133]srand(time(0)) ;//time(0)代表當(dāng)前時間自Unix標(biāo)準(zhǔn)時間戳(1970年I月I日O點(diǎn)O分O秒,GMT)經(jīng)過了多少秒;srand設(shè)置產(chǎn)生隨機(jī)數(shù)的種子,種子的值不同,產(chǎn)生的隨機(jī)數(shù)也不同;
[0134]index = rand() % 256;//根據(jù)srand產(chǎn)生0-255的隨機(jī)數(shù);
[0135]步驟206:啟動從零開始的計(jì)時;
[0136]步驟207:將所述密鑰索引發(fā)送給密鑰服務(wù)器;
[0137]步驟208:接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;
[0138]步驟209:利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件;
[0139]步驟210:將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器;
[0140]步驟211:判斷計(jì)時時長是否達(dá)到第一預(yù)設(shè)時間間隔;
[0141]步驟212:若計(jì)時時長達(dá)到第一預(yù)設(shè)時間間隔,則更新所述密鑰索引,并再次啟動從零開始的計(jì)時;
[0142]這里,按照所述第一預(yù)設(shè)時間間隔,周期性地重新生成所述密鑰索引,能夠確保密鑰索引的安全性;所述第一預(yù)設(shè)時間間隔,可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,例如每小時或每天重新生成一次密鑰索引;
[0143]步驟213:若計(jì)時時長未達(dá)到第一預(yù)設(shè)時間間隔,則進(jìn)入等待,并返回步驟201。
[0144]可選的,在第一個實(shí)施例和第二個實(shí)施例中,所述密鑰索引可以是占用較少字節(jié)(例如I個或多個字節(jié))的數(shù)據(jù),從而能夠減少數(shù)據(jù)傳輸量,提升數(shù)據(jù)傳輸效率。較佳的,當(dāng)所述密鑰索引僅占用I個字節(jié)時,例如范圍在0-255以內(nèi)的隨機(jī)數(shù),在能夠保證密鑰索引需要實(shí)現(xiàn)的功能前提下,能夠進(jìn)一步減少數(shù)據(jù)傳輸量,提升數(shù)據(jù)傳輸效率。
[0145]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法,通過生成密鑰索引并從密鑰服務(wù)器獲取與該密鑰索引相對應(yīng)的密鑰,利用該密鑰進(jìn)行文件加密,并將加密文件和所述密鑰索引發(fā)送給服務(wù)器,從而完成了待傳輸文件的加密傳輸,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。同時,通過采用隨機(jī)算法生成隨機(jī)數(shù)作為密鑰索引,能夠防止密鑰索引泄露,同時也能防止不同客戶端之間出現(xiàn)密鑰索引使用沖突;此外,按照所述第一預(yù)設(shè)時間間隔,重新生成所述密鑰索引,能夠確保密鑰索引的安全性。
[0146]本發(fā)明的第三個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密方法的第三個實(shí)施例,可選的,所述數(shù)據(jù)保密方法應(yīng)用于密鑰服務(wù)器。如圖3所示,為本發(fā)明提供的數(shù)據(jù)保密方法的第三個實(shí)施例的流程示意圖。
[0147]所示數(shù)據(jù)保密方法,包括以下步驟:
[0148]步驟301:接收客戶端和/或服務(wù)器發(fā)送的密鑰索引(index);
[0149]步驟302:根據(jù)所述密鑰索引,從預(yù)存的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰;
[0150]所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;例如,所述密鑰表中包含256個密鑰,所述密鑰索引可以相應(yīng)的為O?255,這256個數(shù)分別對應(yīng)這256個密鑰;在接收到所述密鑰索引后,根據(jù)該密鑰索引(例如所述密鑰索引為I),即能從所述密鑰表中找到與該密鑰索引相對應(yīng)的密鑰;
[0151]步驟303:將與所述密鑰索引相對應(yīng)的密鑰返回給所述客戶端和/或服務(wù)器;S卩,若是客戶端發(fā)送的密鑰索引,就向客戶端返回相應(yīng)的密鑰,客戶端接收到所述密鑰即可用于對待傳輸文件進(jìn)行加密,若是服務(wù)器發(fā)送的密鑰索引,就向服務(wù)器返回相應(yīng)的密鑰,服務(wù)器接收到所述密鑰即可用于對接收到的加密文件進(jìn)行解密。
[0152]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法,通過接收客戶端和/或服務(wù)器發(fā)送的密鑰索引,提取與該密鑰索引相對應(yīng)的密鑰并返回給客戶端和/或服務(wù)器,使得客戶端和/或服務(wù)器能夠利用該密鑰進(jìn)行文件加密或解密,從而完成了文件的加密傳輸,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0153]本發(fā)明的第四個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密方法的第四個實(shí)施例,可選的,所述數(shù)據(jù)保密方法應(yīng)用于密鑰服務(wù)器。如圖4所示,為本發(fā)明提供的數(shù)據(jù)保密方法的第四個實(shí)施例的流程示意圖。
[0154]所示數(shù)據(jù)保密方法,包括以下步驟:
[0155]步驟401:接收客戶端發(fā)送的密鑰索引;
[0156]步驟402:根據(jù)所述密鑰索引,從預(yù)存的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰;
[0157]步驟403:將所述密鑰返回給所述客戶端;
[0158]步驟404:接收密鑰表更新指令;
[0159]這里,所述密鑰表更新指令可以是從外部介入的強(qiáng)制更新密鑰表的指令,例如從服務(wù)器發(fā)出的,也可以是人工輸入的密鑰表更新指令;通常情況下,在接收到密鑰表更新指令時,說明系統(tǒng)遇到了特殊情況,所述特殊情況,可以是例如服務(wù)器被攻擊或者密鑰遭到泄露等情況,此時需要對密鑰表進(jìn)行緊急更新處理,以防止危險狀況進(jìn)一步擴(kuò)大;
[0160]所述密鑰表更新指令,可以是在服務(wù)器發(fā)現(xiàn)特殊情況時,主動向密鑰服務(wù)器發(fā)出并被密鑰服務(wù)器接收并響應(yīng)的,也可以是技術(shù)人員手動輸入到密鑰服務(wù)器中的;更新的密鑰數(shù)量可以根據(jù)需要進(jìn)行設(shè)置,例如,在密鑰被泄露的情況下,僅更新被泄露的密鑰或者更新全部密鑰,在服務(wù)器被攻擊的情況下,對密鑰表中的密鑰進(jìn)行全部更新;
[0161]可選的,在一些實(shí)施方式中,所述密鑰表存儲在密鑰服務(wù)器集群中,遇到需要更新密鑰表的情況,可以使用密鑰服務(wù)器的調(diào)度系統(tǒng),其具有操作界面,在操作界面中新建任務(wù),例如新建自動更新密鑰表任務(wù),調(diào)度系統(tǒng)則自動生成新的密鑰表,并將最新的密鑰表分發(fā)到密鑰服務(wù)器集群,從而更新各個密鑰服務(wù)器中的密鑰表;
[0162]步驟405:將更新前的密鑰表進(jìn)行備份,從而保證密鑰表更新后的一段時間內(nèi),舊的密鑰索引還能從更新前的密鑰表中找到相應(yīng)的密鑰,防止出現(xiàn)因找不到對應(yīng)密鑰而導(dǎo)致數(shù)據(jù)傳輸錯誤或失敗,并接著對所述密鑰表中的密鑰進(jìn)行更新;
[0163]步驟406:啟動從零開始的計(jì)時;
[0164]步驟407:接收服務(wù)器發(fā)送的密鑰索引;
[0165]步驟408:根據(jù)所述密鑰索引,從更新后的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰;
[0166]步驟409:將所述密鑰返回給所述服務(wù)器;
[0167]步驟410:接收服務(wù)器發(fā)送的密鑰錯誤指令;所述密鑰錯誤指令,用于向密鑰服務(wù)器告知根據(jù)更新后的密鑰表返回的密鑰不能用于對加密文件進(jìn)行解密;
[0168]步驟411:從更新前的密鑰表中查找與所述密鑰索引相對應(yīng)的密鑰并返回給服務(wù)器;服務(wù)器則可利用更新前的密鑰表中查找得到的密鑰進(jìn)行解密;若能夠解密,則說明該加密文件的密鑰為更新前的密鑰表中的密鑰,若此時仍然不能對加密文件進(jìn)行解密,則說明該加密文件屬于錯誤文件,不再對該加密文件進(jìn)行處理;
[0169]步驟412:判斷計(jì)時時長是否達(dá)到第三預(yù)設(shè)時間間隔;
[0170]步驟413:若計(jì)時時長達(dá)到第三預(yù)設(shè)時間間隔,則刪除所述更新前的密鑰表;在完成備份后的計(jì)時時長達(dá)到第三預(yù)設(shè)時間間隔時,刪除所述更新前的密鑰表,默認(rèn)此時已不存在需要利用更新前的密鑰進(jìn)行解密的文件,從而刪除所述更新前的密鑰表,以節(jié)約存儲空間;
[0171]步驟414:若計(jì)時時長未達(dá)到第三預(yù)設(shè)時間間隔,則進(jìn)入等待。
[0172]可選的,在上述實(shí)施例的進(jìn)行過程中,還可以包括并行的步驟:按照第二預(yù)設(shè)時間間隔,對所述密鑰表中的密鑰進(jìn)行更新,從而保證密鑰表中密鑰的安全性;所述第二預(yù)設(shè)時間間隔,可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,例如每天或每周更新一次密鑰表中的密鑰;其中,更新的密鑰數(shù)量可以根據(jù)需要進(jìn)行設(shè)置,例如更新密鑰表中一半的密鑰、1/3的密鑰等等,當(dāng)然也可以全部更新;在部分更新的情況下,下一次更新時,則可將上一次更新時未被更新的密鑰首先進(jìn)行更新。
[0173]當(dāng)不存在外部的密鑰表更新指令的介入時,從所述密鑰表最開始被設(shè)定時開始計(jì)時,以所述第二預(yù)設(shè)時間間隔為周期,進(jìn)行實(shí)時自動更新,從而能夠防止密鑰表泄露;并且,當(dāng)存在外部的密鑰表更新指令的介入時,可以將外部的密鑰表更新指令的介入的時間點(diǎn)作為密鑰表自動更新的計(jì)時起點(diǎn),可見,這個時候,所述第二預(yù)設(shè)時間間隔需要大于所述第三預(yù)設(shè)時間間隔,才能保證更新前的密鑰表被備份的時間足夠長;通常情況下,所述第二預(yù)設(shè)時間間隔的計(jì)量單位為天,例如每半天、每天、每隔一天、每周、每隔一周或每月自動更新一次密鑰表,而所述第三預(yù)設(shè)時間間隔的計(jì)量單位為小時,例如I小時、2小時或3小時后,刪除所述更新前的密鑰表。此外,同理可以得知,所述密鑰表按照第二預(yù)設(shè)時間間隔進(jìn)行自動更新后,同樣需要進(jìn)行一段時間的更新前密鑰表備份,具體操作步驟與外部介入密鑰表更新指令時的操作步驟相同,在此不再贅述。
[0174]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法,通過接收客戶端和/或服務(wù)器發(fā)送的密鑰索引,提取與該密鑰索引相對應(yīng)的密鑰并返回給客戶端和/或服務(wù)器,使得客戶端和/或服務(wù)器能夠利用該密鑰進(jìn)行文件加密或解密,從而完成了文件的加密傳輸,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0175]本發(fā)明的第五個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密方法的第五個實(shí)施例,可選的,所述數(shù)據(jù)保密方法應(yīng)用于服務(wù)器。如圖5所示,為本發(fā)明提供的數(shù)據(jù)保密方法的第五個實(shí)施例的流程示意圖。
[0176]所示數(shù)據(jù)保密方法,包括以下步驟:
[0177]步驟501:接收加密文件及所述加密文件對應(yīng)的密鑰索引;可選的,所述加密文件是客戶端發(fā)送的;
[0178]步驟502:將所述密鑰索引發(fā)送給密鑰服務(wù)器;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;例如,所述密鑰表中包含256個密鑰,所述密鑰索引可以相應(yīng)的為O?255,這256個數(shù)分別對應(yīng)這256個密鑰;在接收到所述密鑰索引后,根據(jù)該密鑰索引(例如所述密鑰索引為I),即能從所述密鑰表中找到與該密鑰索引相對應(yīng)的密鑰;
[0179]步驟503:接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;
[0180]步驟504:利用所述密鑰對所述加密文件進(jìn)行解密,得到解密文件。
[0181]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法,通過接收客戶端發(fā)送的加密文件及其密鑰索引,接著從密鑰服務(wù)器獲取與該密鑰索引相對應(yīng)的密鑰,從而利用該密鑰進(jìn)行加密文件進(jìn)行解密,從而完成了待傳輸文件的加密傳輸,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0182]本發(fā)明的第六個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密方法的第六個實(shí)施例,可選的,所述數(shù)據(jù)保密方法應(yīng)用于服務(wù)器。如圖6所示,為本發(fā)明提供的數(shù)據(jù)保密方法的第六個實(shí)施例的流程示意圖。
[0183]所示數(shù)據(jù)保密方法,包括以下步驟:
[0184]步驟601:接收客戶端發(fā)送的加密文件及其密鑰索引;
[0185]步驟602:將所述密鑰索引發(fā)送給密鑰服務(wù)器;
[0186]步驟603:接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;
[0187]步驟604:判斷所述密鑰是否能對所述加密文件進(jìn)行解密;
[0188]步驟605:若所述密鑰能夠?qū)λ黾用芪募M(jìn)行解密,則利用所述密鑰對所述加密文件進(jìn)行解密并得到解密文件;
[0189]步驟606:若所述密鑰不能對所述加密文件進(jìn)行解密,說明所需要的密鑰可能是更新前的密鑰表中與該密鑰索引相對應(yīng)的密鑰,因此,向所述密鑰服務(wù)器發(fā)出密鑰錯誤指令,提示密鑰服務(wù)器,需要從更新前的密鑰表中查找相應(yīng)的密鑰;
[0190]步驟607:接收所述密鑰服務(wù)器返回的從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰;
[0191]步驟608:利用所述從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰對所述加密文件進(jìn)行解密,若能夠解密,則說明該加密文件的密鑰為更新前的密鑰表中的密鑰,并得到解密文件,從而解決了加密文件的密鑰索引對應(yīng)的為更新前的密鑰表中的密鑰的問題,很好的完成了加密文件的解密;此外,若此時仍然不能對加密文件進(jìn)行解密,則說明該加密文件屬于錯誤文件,不再對其進(jìn)行處理;
[0192]步驟609:從所述解密文件中提取得到所述解密文件中包含的文件大小、發(fā)送頻率和/或信息內(nèi)容;
[0193]步驟610:分別將所述文件大小、發(fā)送頻率和/或信息內(nèi)容與文件大小指標(biāo)、發(fā)送頻率指標(biāo)和/或信息內(nèi)容指標(biāo)進(jìn)行比對,統(tǒng)計(jì)不匹配的文件數(shù)量;通常情況下,傳輸?shù)奈募母袷接泄潭ǖ母袷揭?,例如文件大小指?biāo)為5M,信息內(nèi)容中需要包含哪些特定字段的內(nèi)容,在解析得到的文件大小、發(fā)送頻率、信息內(nèi)容等數(shù)據(jù)中,若這些數(shù)據(jù)分別不符合其對應(yīng)的指標(biāo)要求,例如文件大小為1M,信息內(nèi)容中缺少必要的字段,則判定該文件不是按照預(yù)定傳輸格式傳輸?shù)?,是有問題的文件;這里,需要對這些有問題的文件的文件數(shù)量進(jìn)行統(tǒng)計(jì),以便進(jìn)一步分析問題;
[0194]步驟611:判斷所述不匹配文件數(shù)量是否超過第一預(yù)設(shè)不匹配數(shù)量閾值;
[0195]步驟612:若所述不匹配文件數(shù)量未超過第一預(yù)設(shè)不匹配數(shù)量閾值,則進(jìn)入等待并返回步驟610;
[0196]步驟613:若所述不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值,發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息;所述第一預(yù)設(shè)不匹配數(shù)量閾值,可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,針對于不同的服務(wù)器,所述第一預(yù)設(shè)不匹配數(shù)量閾值還可以設(shè)置為不同的值;這里,當(dāng)不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值時,說明很有可能服務(wù)器正在被惡意攻擊,因此需要發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息,從而提醒技術(shù)人員需要盡快商量處理對策;可選的,在保證不丟失數(shù)據(jù)的情況下,可以在發(fā)出惡意攻擊警告信息后,直接向密鑰服務(wù)器發(fā)出密鑰表更新指令,使密鑰服務(wù)器主動更新密鑰表;
[0197]步驟614:統(tǒng)計(jì)所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量;這里,可以是將所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量進(jìn)行分別統(tǒng)計(jì),例如屬于客戶端A的不匹配文件數(shù)量統(tǒng)計(jì)一個文件數(shù)量,屬于客戶端B的不匹配文件數(shù)量統(tǒng)計(jì)一個文件數(shù)量,即每個客戶端均有一個不匹配文件數(shù)量的統(tǒng)計(jì);可選的,可以通過IP地址判斷是否為同一客戶端;
[0198]步驟615:判斷所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量是否超過第二預(yù)設(shè)不匹配數(shù)量閾值;
[0199]步驟616:若所述屬于同一客戶端發(fā)送的解密文件的文件數(shù)量未超過第二預(yù)設(shè)不匹配數(shù)量閾值,則進(jìn)入等待并返回步驟610;
[0200]步驟617:若所述屬于同一客戶端發(fā)送的解密文件的文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值,發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息;所述第二預(yù)設(shè)不匹配數(shù)量閾值,可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,針對于不同的服務(wù)器,所述第二預(yù)設(shè)不匹配數(shù)量閾值也同樣可以設(shè)置為不同的值;這里,當(dāng)屬于同一客戶端的不匹配文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值時,說明很有可能服務(wù)器正在被該客戶端的用戶惡意攻擊,因此需要發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息,從而提醒技術(shù)人員需要盡快商量處理對策;可選的,在保證不丟失數(shù)據(jù)的情況下,可以在發(fā)出惡意攻擊警告信息后,直接向密鑰服務(wù)器發(fā)出密鑰表更新指令,使其主動更新密鑰表;
[0201]步驟618:接收到信息泄露舉報(bào)信息,說明密鑰遭到了泄露;
[0202]步驟619:發(fā)出密鑰泄露警告信息和需要對所述密鑰表進(jìn)行更新的提示信息,從而提醒技術(shù)人員需要盡快商量處理對策;可選的,在保證不丟失數(shù)據(jù)的情況下,可以在發(fā)出惡意攻擊警告信息后,直接向密鑰服務(wù)器發(fā)出密鑰表更新指令,使其主動更新密鑰表。
[0203]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密方法,通過接收客戶端發(fā)送的加密文件及其密鑰索引,接著從密鑰服務(wù)器獲取與該密鑰索引相對應(yīng)的密鑰,從而利用該密鑰進(jìn)行加密文件進(jìn)行解密,從而完成了待傳輸文件的加密傳輸,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0204]本發(fā)明的第七個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密裝置的實(shí)施例,可選的,所述數(shù)據(jù)保密裝置應(yīng)用于客戶端。如圖7所示,為本發(fā)明提供的數(shù)據(jù)保密裝置的第一個實(shí)施例的模塊結(jié)構(gòu)示意圖。
[0205]所示數(shù)據(jù)保密裝置,包括:
[0206]索引生成模塊701,用于生成密鑰索引;
[0207]第一密鑰服務(wù)器交互模塊702,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器并接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;
[0208]例如,所述密鑰表中包含256個密鑰,所述密鑰索引可以相應(yīng)的為O?255,這256個數(shù)分別對應(yīng)這256個密鑰,當(dāng)生成了O?255之間的任意的數(shù)作為密鑰索引(例如I)時,將所述密鑰索引發(fā)送給密鑰服務(wù)器,密鑰服務(wù)器就能根據(jù)該密鑰索引從密鑰表中找到與其對應(yīng)的密鑰;
[0209]加密模塊703,用于利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件;
[0210]第一服務(wù)器交互模塊704,用于將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器;服務(wù)器在接收到所述加密文件和所述密鑰索引,可根據(jù)所述密鑰索引從所述密鑰服務(wù)器獲取密鑰用于解密;
[0211]可選的,所述服務(wù)器,為數(shù)據(jù)接收服務(wù)器,是客戶端的待傳輸文件的接收對象;所述服務(wù)器與所述密鑰服務(wù)器為獨(dú)立的兩個服務(wù)器,所述密鑰服務(wù)器專用于存儲密鑰表以及與客戶端和/或服務(wù)器進(jìn)行與密鑰相關(guān)的數(shù)據(jù)交互,從而保證數(shù)據(jù)傳輸?shù)目煽啃浴?br>[0212]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密裝置,通過生成密鑰索引并從密鑰服務(wù)器獲取與該密鑰索引相對應(yīng)的密鑰,利用該密鑰進(jìn)行文件加密,并將加密文件和所述密鑰索引發(fā)送給服務(wù)器,從而完成了待傳輸文件的加密,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0213]可選的,在一些實(shí)施方式中,所述索引生成模塊701,具體用于:
[0214]利用隨機(jī)算法,生成預(yù)設(shè)數(shù)值范圍(例如O?255之間)內(nèi)的隨機(jī)數(shù)作為所述密鑰索弓I;較佳的,所述隨機(jī)算法用于生成隨機(jī)數(shù)的函數(shù)是rand();
[0215]可選的,所述隨機(jī)算法的代碼可參考如下語句:
[0216]srand(time(0)) ;//time(0)代表當(dāng)前時間自Unix標(biāo)準(zhǔn)時間戳(1970年I月I日O點(diǎn)O分O秒,GMT)經(jīng)過了多少秒;srand設(shè)置產(chǎn)生隨機(jī)數(shù)的種子,種子的值不同,產(chǎn)生的隨機(jī)數(shù)也不同;
[0217]index = rand() % 256;//根據(jù)srand產(chǎn)生0-255的隨機(jī)數(shù)。
[0218]通過上述實(shí)施例,采用隨機(jī)算法生成隨機(jī)數(shù)作為密鑰索引,從而能夠防止密鑰索引泄露,同時也能防止不同客戶端之間出現(xiàn)密鑰索引使用沖突。
[0219]可選的,在另一些實(shí)施方式中,所述索引生成模塊701,具體用于按照第一預(yù)設(shè)時間間隔,周期性地更新所述密鑰索引,從而確保密鑰索引的安全性;所述第一預(yù)設(shè)時間間隔,可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,例如每小時或每天重新生成一次密鑰索引。
[0220]可選的,在一些實(shí)施方式中,如圖8所示,所述數(shù)據(jù)保密裝置的第二個實(shí)施例,還可包括:待傳輸文件判斷模塊801,用于判斷是否存在判斷是否存在待傳輸文件;
[0221]密鑰索引判斷模塊802,若存在待傳輸文件,用于判斷所述待傳輸文件是否存在密鑰索引;這里,可以理解為,判斷所述待傳輸文件是否存在可用的密鑰索引,也可以理解為,本地是否存在可供所述待傳輸文件用于獲取密鑰的密鑰索引;
[0222]若所述待傳輸文件存在密鑰索引,則所述第一服務(wù)器交互模塊704,用于所述密鑰索引發(fā)送給密鑰服務(wù)器;
[0223]若所述待傳輸文件不存在密鑰索引,則所述索引生成模塊701,用于生成密鑰索引。
[0224]通過上述實(shí)施例,在存在待傳輸文件時,判斷是否存在已有的可用密鑰索引,在存在密鑰索引時,直接利用該密鑰索引獲取密鑰,在不存在密鑰索引時,生成密鑰索引,而無需在每次傳輸文件時都生成新的密鑰索引,節(jié)約了系統(tǒng)資源,提高了操作效率。
[0225]可選的,在一些可選實(shí)施方式中,所述密鑰索引占用I個或多個字節(jié),從而能夠減少數(shù)據(jù)傳輸量,提升數(shù)據(jù)傳輸效率;較佳的,所述密鑰索引僅占用I個字節(jié),例如范圍在0-255以內(nèi)的隨機(jī)數(shù),在能夠保證密鑰索引需要實(shí)現(xiàn)的功能前提下,能夠進(jìn)一步減少數(shù)據(jù)傳輸量,提升數(shù)據(jù)傳輸效率。
[0226]本發(fā)明的第八個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密裝置的第三個實(shí)施例,可選的,所述數(shù)據(jù)保密裝置應(yīng)用于密鑰服務(wù)器。如圖9所示,為本發(fā)明提供的數(shù)據(jù)保密密鑰裝置實(shí)施例的模塊結(jié)構(gòu)示意圖。
[0227]所示數(shù)據(jù)保密密鑰裝置,包括:
[0228]密鑰提取模塊901,用于根據(jù)密鑰索引,從預(yù)存的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰;
[0229]所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;例如,所述密鑰表中包含256個密鑰,所述密鑰索引可以相應(yīng)的為O?255,這256個數(shù)分別對應(yīng)這256個密鑰;在接收到所述密鑰索引后,根據(jù)該密鑰索引(例如所述密鑰索引為I),即能從所述密鑰表中找到與該密鑰索引相對應(yīng)的密鑰;
[0230]第一客戶端交互模塊902,用于接收客戶端發(fā)送的密鑰索引,以及,將與所述密鑰索引相對應(yīng)的密鑰返回給所述客戶端,客戶端接收到所述密鑰即可用于對待傳輸文件進(jìn)行加密;
[0231]和/或,
[0232]第二服務(wù)器交互模塊903,用于接收服務(wù)器發(fā)送的密鑰索引,以及,將與所述密鑰索引相對應(yīng)的密鑰返回給所述服務(wù)器,服務(wù)器接收到所述密鑰即可用于對接收到的加密文件進(jìn)行解密。
[0233]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密裝置,通過接收客戶端和/或服務(wù)器發(fā)送的密鑰索引,提取與該密鑰索引相對應(yīng)的密鑰并返回給客戶端和/或服務(wù)器,使得客戶端和/或服務(wù)器能夠利用該密鑰進(jìn)行文件加密或解密,從而完成了文件的加密傳輸,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0234]可選的,在一些可選實(shí)施方式中,如圖10所示,所述數(shù)據(jù)保密密鑰的第四個實(shí)施例,還可包括密鑰表更新模塊1001,用于:
[0235]按照第二預(yù)設(shè)時間間隔,對所述密鑰表中的密鑰進(jìn)行更新,從而保證密鑰表中密鑰的安全性;所述第二預(yù)設(shè)時間間隔,可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,例如每天或每周更新一次密鑰表中的密鑰;其中,更新的密鑰數(shù)量可以根據(jù)需要進(jìn)行設(shè)置,例如更新密鑰表中一半的密鑰、1/3的密鑰等等,當(dāng)然也可以全部更新;在部分更新的情況下,下一次更新時,則可將上一次更新時未被更新的密鑰首先進(jìn)行更新。
[0236]可選的,在另一些實(shí)施方式中,所述密鑰表更新模塊1001,還用于接收密鑰表更新指令,并對所述密鑰表中的密鑰進(jìn)行更新;所述特殊情況,可以是例如服務(wù)器被攻擊或者密鑰遭到泄露等情況,此時需要對密鑰表進(jìn)行緊急更新處理,以防止危險狀況進(jìn)一步擴(kuò)大;
[0237]所述密鑰表更新指令,可以是在服務(wù)器發(fā)現(xiàn)特殊情況時,主動向密鑰服務(wù)器發(fā)出并被密鑰服務(wù)器接收并響應(yīng)的,也可以是技術(shù)人員手動輸入到密鑰服務(wù)器中的;更新的密鑰數(shù)量可以根據(jù)需要進(jìn)行設(shè)置,例如,在密鑰被泄露的情況下,僅更新被泄露的密鑰或者更新全部密鑰,在服務(wù)器被攻擊的情況下,對密鑰表中的密鑰進(jìn)行全部更新。
[0238]可選的,在一些實(shí)施方式中,所述密鑰表存儲在密鑰服務(wù)器集群中,遇到需要更新密鑰表的情況,可以使用密鑰服務(wù)器的調(diào)度系統(tǒng),其具有操作界面,在操作界面中新建任務(wù),例如新建自動更新密鑰表任務(wù),調(diào)度系統(tǒng)則自動生成新的密鑰表,并將最新的密鑰表分發(fā)到密鑰服務(wù)器集群,從而更新各個密鑰服務(wù)器中的密鑰表。
[0239]可選的,在一些可選實(shí)施方式中,所述數(shù)據(jù)保密密鑰服務(wù)器,還包括:
[0240]密鑰表備份模塊1002,用于將更新前的密鑰表進(jìn)行備份,從而保證密鑰表更新后的一段時間內(nèi),舊的密鑰索引還能從更新前的密鑰表中找到相應(yīng)的密鑰,防止出現(xiàn)因找不到對應(yīng)密鑰而導(dǎo)致數(shù)據(jù)傳輸錯誤或失??;
[0241]密鑰表刪除模塊1003,用于按照第三預(yù)設(shè)時間間隔,刪除所述備份的更新前的密鑰表,在達(dá)到第三預(yù)設(shè)時間間隔后,默認(rèn)此時已不存在需要利用更新前的密鑰進(jìn)行解密的文件,從而刪除所述更新前的密鑰表,以節(jié)約存儲空間。
[0242]可選的,在另一些實(shí)施方式中,所述密鑰提取模塊901,還用于從更新前的密鑰表中查找與所述密鑰索引相對應(yīng)的密鑰;
[0243]所述第二服務(wù)器交互模塊903,還用于接收服務(wù)器發(fā)送的密鑰錯誤指令,所述密鑰錯誤指令,用于向密鑰服務(wù)器告知根據(jù)更新后的密鑰表返回的密鑰不能用于對加密文件進(jìn)行解密;以及,將所述從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰返回給服務(wù)器,服務(wù)器則可利用更新前的密鑰表中查找得到的密鑰進(jìn)行解密;若能夠解密,則說明該加密文件的密鑰為更新前的密鑰表中的密鑰,若此時仍然不能對加密文件進(jìn)行解密,則說明該加密文件屬于錯誤文件,不再對其進(jìn)行處理。
[0244]本發(fā)明的第九個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密裝置的實(shí)施例,可選的,所述數(shù)據(jù)保密裝置應(yīng)用于服務(wù)器。如圖11所示,為本發(fā)明提供的數(shù)據(jù)保密裝置的第五個實(shí)施例的模塊結(jié)構(gòu)示意圖。
[0245]所示數(shù)據(jù)保密裝置,包括:
[0246]第二客戶端交互模塊1101,用于接收加密文件及所述加密文件對應(yīng)的密鑰索引;可選的,所述加密文件時客戶端發(fā)送的;
[0247]第二密鑰服務(wù)器交互模塊1102,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器,以及,接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰;例如,所述密鑰表中包含256個密鑰,所述密鑰索引可以相應(yīng)的為O?255,這256個數(shù)分別對應(yīng)這256個密鑰;在接收到所述密鑰索引后,根據(jù)該密鑰索引(例如所述密鑰索引為I),即能從所述密鑰表中找到與該密鑰索引相對應(yīng)的密鑰;
[0248]解密模塊1103,用于利用所述密鑰對所述加密文件進(jìn)行解密,得到解密文件。
[0249]從上述實(shí)施例可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密裝置,通過接收客戶端發(fā)送的加密文件及其密鑰索引,接著從密鑰服務(wù)器獲取與該密鑰索引相對應(yīng)的密鑰,從而利用該密鑰進(jìn)行加密文件進(jìn)行解密,從而完成了待傳輸文件的加密傳輸,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密方法進(jìn)行文件加解密,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0250]可選的,在一些實(shí)施方式中,如圖12所示,所述數(shù)據(jù)保密裝置的第六個實(shí)施例,還可包括:
[0251]數(shù)據(jù)分析模塊1201,用于從所述解密文件中提取得到所述解密文件中包含的文件大小、發(fā)送頻率和/或信息內(nèi)容;
[0252]統(tǒng)計(jì)模塊1202,用于分別將所述文件大小、發(fā)送頻率和/或信息內(nèi)容與文件大小指標(biāo)、發(fā)送頻率指標(biāo)和/或信息內(nèi)容指標(biāo)進(jìn)行比對,統(tǒng)計(jì)不匹配的文件數(shù)量;通常情況下,傳輸?shù)奈募母袷接泄潭ǖ母袷揭?,例如文件大小指?biāo)為5M,信息內(nèi)容中需要包含哪些特定字段的內(nèi)容,在解析得到的文件大小、發(fā)送頻率、信息內(nèi)容等數(shù)據(jù)中,若這些數(shù)據(jù)分別不符合其對應(yīng)的指標(biāo)要求,例如文件大小為1M,信息內(nèi)容中缺少必要的字段,則判定該文件不是按照預(yù)定傳輸格式傳輸?shù)?,是有問題的文件;這里,需要對這些有問題的文件的文件數(shù)量進(jìn)行統(tǒng)計(jì),以便進(jìn)一步分析問題;
[0253]警告模塊1203,若不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值,用于發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息;所述第一預(yù)設(shè)不匹配數(shù)量閾值,可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,針對于不同的服務(wù)器,所述第一預(yù)設(shè)不匹配數(shù)量閾值還可以設(shè)置為不同的值;這里,當(dāng)不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值時,說明很有可能服務(wù)器正在被惡意攻擊,因此需要發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息,從而提醒技術(shù)人員需要盡快商量處理對策;可選的,在保證不丟失數(shù)據(jù)的情況下,可以在發(fā)出惡意攻擊警告信息后,直接向密鑰服務(wù)器發(fā)出密鑰表更新指令,使其主動更新密鑰表。
[0254]可選的,在另一些實(shí)施方式中,所述統(tǒng)計(jì)模塊1202,用于統(tǒng)計(jì)所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量,這里,可以是將所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量進(jìn)行分別統(tǒng)計(jì),例如屬于客戶端A的不匹配文件數(shù)量統(tǒng)計(jì)一個文件數(shù)量,屬于客戶端B的不匹配文件數(shù)量統(tǒng)計(jì)一個文件數(shù)量,即每個客戶端均有一個不匹配文件數(shù)量的統(tǒng)計(jì);可選的,可以通過IP地址判斷是否為同一客戶端;
[0255]所述警告模塊1203,若所述屬于同一客戶端發(fā)送的解密文件的文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值,用于發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息;所述第二預(yù)設(shè)不匹配數(shù)量閾值,可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,針對于不同的服務(wù)器,所述第二預(yù)設(shè)不匹配數(shù)量閾值也同樣可以設(shè)置為不同的值;這里,當(dāng)屬于同一客戶端的不匹配文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值時,說明很有可能服務(wù)器正在被該客戶端的用戶惡意攻擊,因此需要發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息,從而提醒技術(shù)人員需要盡快商量處理對策;可選的,在保證不丟失數(shù)據(jù)的情況下,可以在發(fā)出惡意攻擊警告信息后,直接向密鑰服務(wù)器發(fā)出密鑰表更新指令,使其主動更新密鑰表。
[0256]可選的,在另一些實(shí)施方式中,所述警告模塊1203,若接收到信息泄露舉報(bào)信息,說明密鑰遭到了泄露,用于發(fā)出密鑰泄露警告信息和需要對所述密鑰表進(jìn)行更新的提示信息,從而提醒技術(shù)人員需要盡快商量處理對策;可選的,在保證不丟失數(shù)據(jù)的情況下,可以在發(fā)出惡意攻擊警告信息后,直接向密鑰服務(wù)器發(fā)出密鑰表更新指令,使其主動更新密鑰表。
[0257]可選的,在一些可選實(shí)施方式中,所述解密模塊1103,還可具體用于:
[0258]判斷所述密鑰是否能對所述加密文件進(jìn)行解密;
[0259]若所述密鑰不能對所述加密文件進(jìn)行解密,說明所需要的密鑰可能是更新前的密鑰表中與該密鑰索引相對應(yīng)的密鑰,因此,向所述密鑰服務(wù)器發(fā)出密鑰錯誤指令,提示密鑰服務(wù)器,需要從更新前的密鑰表中查找相應(yīng)的密鑰;
[0260]接收所述密鑰服務(wù)器返回的從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰;
[0261]利用所述從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰對所述加密文件進(jìn)行解密;若能夠解密,則說明該加密文件的密鑰為更新前的密鑰表中的密鑰,若此時仍然不能對加密文件進(jìn)行解密,則說明該加密文件屬于錯誤文件,不再對其進(jìn)行處理,并可按照前一實(shí)施例中的方法,統(tǒng)計(jì)不匹配數(shù)據(jù)量。
[0262]通過上述實(shí)施例,解決了加密文件的密鑰索引對應(yīng)的為更新前的密鑰表中的密鑰的問題,從而能夠很好的完成加密文件的解密。
[0263]本發(fā)明的第十個方面,提出了一種能夠?qū)Υ齻鬏敂?shù)據(jù)進(jìn)行加密、操作簡單且成本低廉的數(shù)據(jù)保密系統(tǒng)的實(shí)施例。如圖13所示,為本發(fā)明提供的數(shù)據(jù)保密系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
[0264]所示數(shù)據(jù)保密系統(tǒng),包括:
[0265]數(shù)據(jù)保密裝置1301,所述數(shù)據(jù)保密裝置1301可選為上述數(shù)據(jù)保密裝置的第一個實(shí)施例、第二個實(shí)施例及其等同變形(參照圖7和圖8);可選的,所述數(shù)據(jù)保密裝置的第一個實(shí)施例和第二個實(shí)施例應(yīng)用于客戶端;
[0266]數(shù)據(jù)保密密鑰裝置1302,所述數(shù)據(jù)保密裝置1302可選為上述數(shù)據(jù)保密裝置的第三個實(shí)施例、第四個實(shí)施例及其等同變形(參照圖9和圖10);可選的,所述數(shù)據(jù)保密裝置的第三個實(shí)施例和第四個實(shí)施例應(yīng)用于密鑰服務(wù)器;以及,
[0267]數(shù)據(jù)保密裝置1303,所述數(shù)據(jù)保密裝置1303可選為上述數(shù)據(jù)保密裝置的第五個實(shí)施例、第六個實(shí)施例及其等同變形(參照圖11和圖12);可選的,所述數(shù)據(jù)保密裝置的第五個實(shí)施例和第六個實(shí)施例應(yīng)用于服務(wù)器。
[0268]從上面所述可以看出,本發(fā)明實(shí)施例提供的數(shù)據(jù)保密系統(tǒng),通過數(shù)據(jù)保密裝置1031(客戶端)生成密鑰索引,并從數(shù)據(jù)保密密鑰裝置1302(密鑰服務(wù)器)獲取與該密鑰索引相對應(yīng)的密鑰,利用該密鑰進(jìn)行文件加密,并將加密文件和所述密鑰索引發(fā)送給數(shù)據(jù)保密裝置1303(服務(wù)器),數(shù)據(jù)保密裝置1303(服務(wù)器)再根據(jù)所述密鑰索引從數(shù)據(jù)保密密鑰裝置1302(密鑰服務(wù)器)獲取相應(yīng)的密鑰用于解密,從而完成了待傳輸文件的加解密,保證了數(shù)據(jù)傳輸?shù)陌踩?利用所述數(shù)據(jù)保密系統(tǒng)進(jìn)行文件加解密及文件傳輸,一方面,待傳輸文件的加解密過程較為便捷,處理速度快,資源占用率小,另一方面,無需配置CA機(jī)構(gòu)頒發(fā)的SSL證書,從而節(jié)約了加解密操作的成本。
[0269]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。
[0270]另外,為簡化說明和討論,并且為了不會使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實(shí),即關(guān)于這些框圖裝置的實(shí)施方式的細(xì)節(jié)是高度取決于將要實(shí)施本發(fā)明的平臺的(即,這些細(xì)節(jié)應(yīng)當(dāng)完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細(xì)節(jié)(例如,電路)以描述本發(fā)明的示例性實(shí)施例的情況下,對本領(lǐng)域技術(shù)人員來說顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下或者這些具體細(xì)節(jié)有變化的情況下實(shí)施本發(fā)明。因此,這些描述應(yīng)被認(rèn)為是說明性的而不是限制性的。
[0271]盡管已經(jīng)結(jié)合了本發(fā)明的具體實(shí)施例對本發(fā)明進(jìn)行了描述,但是根據(jù)前面的描述,這些實(shí)施例的很多替換、修改和變型對本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。例如,其它存儲器架構(gòu)(例如,動態(tài)RAM(DRAM))可以使用所討論的實(shí)施例。
[0272]本發(fā)明的實(shí)施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)保密方法,其特征在于,包括: 生成密鑰索引,并將所述密鑰索引發(fā)送給密鑰服務(wù)器;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰; 接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰; 利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件; 將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成密鑰索引的步驟包括: 利用隨機(jī)算法,生成預(yù)設(shè)數(shù)值范圍內(nèi)的隨機(jī)數(shù)作為所述密鑰索引。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成密鑰索引的步驟包括: 按照第一預(yù)設(shè)時間間隔,更新所述密鑰索弓I。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成密鑰索引的步驟之前還包括: 判斷是否存在待傳輸文件; 若存在待傳輸文件,則判斷所述待傳輸文件是否存在密鑰索引; 若所述待傳輸文件存在密鑰索引,則將所述密鑰索引發(fā)送給密鑰服務(wù)器; 若不存在密鑰索引,則生成密鑰索引。5.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的方法,其特征在于,所述密鑰索引占用I個或多個字Tl O6.一種數(shù)據(jù)保密方法,其特征在于,包括: 接收客戶端和/或服務(wù)器發(fā)送的密鑰索引; 根據(jù)所述密鑰索引,從預(yù)存的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰; 將與所述密鑰索引相對應(yīng)的密鑰返回給所述客戶端和/或服務(wù)器。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括:按照第二預(yù)設(shè)時間間隔,對所述密鑰表中的密鑰進(jìn)行更新; 和/或, 接收密鑰表更新指令,并對所述密鑰表中的密鑰進(jìn)行更新。8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述對所述密鑰表中的密鑰進(jìn)行更新的步驟之前還包括: 將更新前的密鑰表進(jìn)行備份; 和/或, 按照第三預(yù)設(shè)時間間隔,刪除所述備份的更新前的密鑰表。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述對所述密鑰表中的密鑰進(jìn)行更新的步驟之后還包括: 接收服務(wù)器發(fā)送的密鑰錯誤指令; 從所述更新前的密鑰表中查找與所述密鑰索引相對應(yīng)的密鑰并返回給服務(wù)器。10.一種數(shù)據(jù)保密方法,其特征在于,包括: 接收加密文件及所述加密文件對應(yīng)的密鑰索引; 將所述密鑰索引發(fā)送給密鑰服務(wù)器;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰; 接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰; 利用所述密鑰對所述加密文件進(jìn)行解密,得到解密文件。11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述得到解密文件的步驟之后還包括: 從所述解密文件中提取得到所述解密文件中包含的文件大小、發(fā)送頻率和/或信息內(nèi)容; 分別將所述文件大小、發(fā)送頻率和/或信息內(nèi)容與文件大小指標(biāo)、發(fā)送頻率指標(biāo)和/或信息內(nèi)容指標(biāo)進(jìn)行比對,統(tǒng)計(jì)不匹配的文件數(shù)量; 若所述不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值,發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述得到解密文件的步驟之后還包括:統(tǒng)計(jì)所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量; 若所述屬于同一客戶端發(fā)送的解密文件的文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值,發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。13.根據(jù)權(quán)利要求10所述的方法,其特征在于,還包括:若接收到信息泄露舉報(bào)信息,發(fā)出密鑰泄露警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。14.根據(jù)權(quán)利要求10-13任意一項(xiàng)所述的方法,其特征在于,所述利用所述密鑰對所述加密文件進(jìn)行解密的步驟具體包括: 判斷所述密鑰是否能對所述加密文件進(jìn)行解密; 若所述密鑰不能對所述加密文件進(jìn)行解密,向所述密鑰服務(wù)器發(fā)出密鑰錯誤指令;接收所述密鑰服務(wù)器返回的從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰; 利用所述從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰對所述加密文件進(jìn)行解密。15.一種數(shù)據(jù)保密裝置,其特征在于,包括: 索引生成模塊,用于生成密鑰索引; 第一密鑰服務(wù)器交互模塊,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器并接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰; 加密模塊,用于利用所述密鑰對待傳輸文件進(jìn)行加密,得到加密文件; 第一服務(wù)器交互模塊,用于將所述加密文件連同所述密鑰索引發(fā)送給服務(wù)器。16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述索引生成模塊,具體用于: 利用隨機(jī)算法,生成預(yù)設(shè)數(shù)值范圍內(nèi)的隨機(jī)數(shù)作為所述密鑰索引。17.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述索引生成模塊,具體用于: 按照第一預(yù)設(shè)時間間隔,更新所述密鑰索弓I。18.根據(jù)權(quán)利要求15所述的裝置,其特征在于,還包括: 待傳輸文件判斷模塊,用于判斷是否存在判斷是否存在待傳輸文件; 密鑰索引判斷模塊,若存在待傳輸文件,用于判斷所述待傳輸文件是否存在密鑰索引;若所述待傳輸文件存在密鑰索引,則所述第一服務(wù)器交互模塊,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器; 若所述待傳輸文件不存在密鑰索引,則所述索引生成模塊,用于生成密鑰索引。19.根據(jù)權(quán)利要求15-18任意一項(xiàng)所述的裝置,其特征在于,所述密鑰索引占用I個或多個字節(jié)。20.一種數(shù)據(jù)保密裝置,其特征在于,包括: 密鑰提取模塊,用于根據(jù)密鑰索引,從預(yù)存的密鑰表中提取與所述密鑰索引相對應(yīng)的密鑰; 第一客戶端交互模塊,用于接收客戶端發(fā)送的密鑰索引,以及,將與所述密鑰索引相對應(yīng)的密鑰返回給所述客戶端; 和/或, 第二服務(wù)器交互模塊,用于接收服務(wù)器發(fā)送的密鑰索引,以及,將與所述密鑰索引相對應(yīng)的密鑰返回給所述服務(wù)器。21.根據(jù)權(quán)利要求20所述的裝置,其特征在于,還包括密鑰表更新模塊,用于: 按照第二預(yù)設(shè)時間間隔,對所述密鑰表中的密鑰進(jìn)行更新; 和/或, 接收密鑰表更新指令,并對所述密鑰表中的密鑰進(jìn)行更新。22.根據(jù)權(quán)利要求21所述的裝置,其特征在于,還包括: 密鑰表備份模塊,用于將更新前的密鑰表進(jìn)行備份; 和/或, 密鑰表刪除模塊,用于按照第三預(yù)設(shè)時間間隔,刪除所述備份的更新前的密鑰表。23.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述密鑰提取模塊,還用于從更新前的密鑰表中查找與所述密鑰索引相對應(yīng)的密鑰; 所述第二服務(wù)器交互模塊,還用于接收服務(wù)器發(fā)送的密鑰錯誤指令,以及,將所述從所述更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰返回給服務(wù)器。24.一種數(shù)據(jù)保密裝置,其特征在于,包括: 第二客戶端交互模塊,用于接收加密文件及所述加密文件對應(yīng)的密鑰索引; 第二密鑰服務(wù)器交互模塊,用于將所述密鑰索引發(fā)送給密鑰服務(wù)器,以及,接收所述密鑰服務(wù)器返回的與所述密鑰索引相對應(yīng)的密鑰;所述密鑰服務(wù)器中預(yù)存密鑰表,所述密鑰表中包括所述密鑰索引以及與所述密鑰索引一一對應(yīng)的密鑰; 解密模塊,用于利用所述密鑰對所述加密文件進(jìn)行解密,得到解密文件。25.根據(jù)權(quán)利要求24所述的裝置,其特征在于,還包括: 數(shù)據(jù)分析模塊,用于從所述解密文件中提取得到所述解密文件中包含的文件大小、發(fā)送頻率和/或信息內(nèi)容; 統(tǒng)計(jì)模塊,用于分別將所述文件大小、發(fā)送頻率和/或信息內(nèi)容與文件大小指標(biāo)、發(fā)送頻率指標(biāo)和/或信息內(nèi)容指標(biāo)進(jìn)行比對,統(tǒng)計(jì)不匹配的文件數(shù)量; 警告模塊,若所述不匹配文件數(shù)量超過第一預(yù)設(shè)不匹配數(shù)量閾值,用于發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。26.根據(jù)權(quán)利要求25所述的裝置,其特征在于,所述統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)所述不匹配文件數(shù)量中屬于同一客戶端發(fā)送的解密文件的文件數(shù)量; 所述警告模塊,若所述屬于同一客戶端發(fā)送的解密文件的文件數(shù)量超過第二預(yù)設(shè)不匹配數(shù)量閾值,用于發(fā)出惡意攻擊警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。27.根據(jù)權(quán)利要求25所述的裝置,其特征在于,所述警告模塊,若接收到信息泄露舉報(bào)信息,用于發(fā)出密鑰泄露警告信息和需要對所述密鑰表進(jìn)行更新的提示信息。28.根據(jù)權(quán)利要求24-27任意一項(xiàng)所述的裝置,其特征在于,所述解密模塊,具體用于: 判斷所述密鑰是否能對所述加密文件進(jìn)行解密; 若所述密鑰不能對所述加密文件進(jìn)行解密,向所述密鑰服務(wù)器發(fā)出密鑰錯誤指令;接收所述密鑰服務(wù)器返回的從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰; 利用所述從更新前的密鑰表中查找得到的與所述密鑰索引相對應(yīng)的密鑰對所述加密文件進(jìn)行解密。29.—種數(shù)據(jù)保密系統(tǒng),其特征在于,包括如權(quán)利要求15-19任意一項(xiàng)所述的裝置,如權(quán)利要求20-23任意一項(xiàng)所述的裝置,以及,如權(quán)利要求24-28任意一項(xiàng)所述的裝置。
【文檔編號】H04L29/08GK105933318SQ201610363332
【公開日】2016年9月7日
【申請日】2016年5月26日
【發(fā)明人】張書澔
【申請人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(shù)(北京)股份有限公司