基于智能密碼鑰匙的手機(jī)數(shù)據(jù)傳輸方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明屬于數(shù)據(jù)傳輸技術(shù)領(lǐng)域,涉及一種手機(jī)數(shù)據(jù)傳輸方法,尤其涉及一種基于智能密碼鑰匙的手機(jī)數(shù)據(jù)傳輸方法。
【背景技術(shù)】
[0002]隨著3G/4G智能手機(jī)的逐漸普及,安卓操作系統(tǒng)和互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)了高度融合,智能手機(jī)在給人們生活帶來(lái)極大便利的同時(shí),由此帶來(lái)的手機(jī)敏感數(shù)據(jù)竊取的問(wèn)題也日益突出。
[0003]有鑒于此,如今迫切需要設(shè)計(jì)一種新的手機(jī)數(shù)據(jù)傳輸方法,以便克服現(xiàn)有傳輸方法存在的上述缺陷。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種基于智能密碼鑰匙的手機(jī)數(shù)據(jù)傳輸方法,可提高數(shù)據(jù)傳輸?shù)陌踩浴?br>[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明采用如下技術(shù)方案:
[0006]—種基于智能密碼鑰匙的手機(jī)數(shù)據(jù)傳輸方法,所述手機(jī)數(shù)據(jù)傳輸方法包括:
[0007]步驟S1、雙因子身份認(rèn)證步驟;
[0008]數(shù)據(jù)保護(hù)的第一關(guān)是手機(jī)終端的登陸認(rèn)證,采用基于硬件SDKEY和PIN的雙重身份認(rèn)證機(jī)制;
[0009]手機(jī)在操作系統(tǒng)啟動(dòng)之后將會(huì)加載SDKEY認(rèn)證登陸模塊,如果檢測(cè)不到SDKEY則會(huì)提示插入;在檢測(cè)到SDKEY之后將會(huì)要求用戶(hù)輸入登陸PIN,登陸模塊會(huì)使用存儲(chǔ)在SDKEY里的PIN登陸密鑰對(duì)用戶(hù)輸入的PIN進(jìn)行加密,最后把密文跟手機(jī)里存儲(chǔ)的PIN密文進(jìn)行比對(duì),只有二者完全匹配才能成功登陸;同樣,在手機(jī)自動(dòng)鎖屏之后,也使用相同的認(rèn)證機(jī)制來(lái)登陸安卓系統(tǒng);
[0010]步驟S2、基于SDKEY的加密短信存儲(chǔ)和發(fā)送步驟;
[0011]基于SDKEY的短信加密存儲(chǔ)和發(fā)送模塊使用了SDKEY硬件來(lái)加密和解密用戶(hù)的敏感短信;
[0012]用戶(hù)選定敏感短信或人工撰寫(xiě)短信后使用SDKEY加密保存到手機(jī)存儲(chǔ),以后每次打開(kāi)會(huì)使用SDKEY解密并呈現(xiàn)給用戶(hù),解密流程跟加密流程類(lèi)似;SDKEY的合法用戶(hù)是感受不到SDKEY在后臺(tái)加解密過(guò)程的,而非法用戶(hù)因?yàn)闆](méi)有SDKEY而不能進(jìn)入安全信箱,針對(duì)某些場(chǎng)合還可設(shè)定要求輸入PIN碼才能查看;針對(duì)系統(tǒng)文件,因?yàn)槊舾卸绦哦际羌用芎笠悦芪谋4娴?,所以也無(wú)法查看其內(nèi)容;
[0013]步驟S3、基于SDKEY的加密數(shù)據(jù)傳輸步驟;采用步驟S31或步驟S32的方案實(shí)現(xiàn);
[0014]步驟S31、零密鑰傳輸步驟;
[0015]發(fā)送端不需要向接收端傳遞自己的加密密鑰,但是需要向接收端3次傳遞加密數(shù)據(jù),同時(shí)完成4次加解密過(guò)程;
[0016](I)發(fā)送端需要發(fā)送敏感信息M(明文),它會(huì)把M傳送給自己的SDKEY; SDKEY生成臨時(shí)會(huì)話(huà)密鑰Kl并對(duì)明文M進(jìn)行I次加密,同時(shí)回傳密文Kl (M)給發(fā)送端;最后,發(fā)送端把Kl (M)通過(guò)無(wú)線(xiàn)公用信道傳送給接收端;加密過(guò)程在SDKEY里完成,不會(huì)增加手機(jī)端的計(jì)算量,同時(shí)在公用信道上傳送的是密文數(shù)據(jù),即使被截獲或者重放攻擊,想破解也是很有難度的;為了防止在公用信道上傳輸?shù)臄?shù)據(jù)被竄改,需要在傳輸?shù)臄?shù)據(jù)里增加哈希校驗(yàn)來(lái)保證數(shù)據(jù)的完整性;
[0017](2)接收端把收到的Kl (M)傳送給自己的SDKEY; SDKEY生成臨時(shí)會(huì)話(huà)密鑰K2對(duì)密文Kl (M)進(jìn)行2次加密,同時(shí)回傳K2 (Kl (M))給接收端;最后,接收端把K2 (Kl (M))通過(guò)公用信道傳送給發(fā)送端;同樣,加密過(guò)程不會(huì)增加手機(jī)的計(jì)算量,且在公用信道上只傳送密文;
[0018](3)發(fā)送端收到K2(K1(M))后傳送給自己的SDKEY;SDKEY再次使用會(huì)話(huà)密鑰Kl對(duì)密文K2(K1(M))進(jìn)行I次解密,得到K2(M)并同時(shí)回傳給發(fā)送端;最后,發(fā)送端把K2(M)通過(guò)公用信道發(fā)送給接收端;同樣,加密過(guò)程不會(huì)增加手機(jī)的計(jì)算量,而且在公用信道上只傳送密文;
[0019](4)接收端收到K2(M)后傳送給自己的501^¥,501^¥使用會(huì)話(huà)密鑰1(2對(duì)密文1(2(10進(jìn)行2次解密得到明文M,并同時(shí)回傳給接收端;此時(shí),接收端的手機(jī)用戶(hù)就可看到發(fā)送端傳送過(guò)來(lái)的明文敏感信息;
[0020]在零密鑰傳輸機(jī)制中,理論上,在公共信道上傳送的3次密文可能會(huì)增加數(shù)據(jù)被破解的機(jī)會(huì),但是在完成I次數(shù)據(jù)加密傳送過(guò)程之后,為了保證一次一密,傳輸雙方的SDKEY會(huì)自動(dòng)刪除當(dāng)前使用的會(huì)話(huà)密鑰;同時(shí),傳輸雙方?jīng)]有在公共信道上傳送加密密鑰,這樣會(huì)減少數(shù)據(jù)被破解的機(jī)會(huì),從而帶來(lái)更高的安全性;實(shí)際上,收發(fā)雙方在信道上進(jìn)行3次通信和4次加解密過(guò)程,安全性增強(qiáng)是通過(guò)犧牲帶寬資源和計(jì)算量來(lái)實(shí)現(xiàn)的;其中,4次加解密過(guò)程都是SDKEY來(lái)完成的,幾乎不占用手機(jī)系統(tǒng)資源,因此該方案僅適用于通信信道和終端計(jì)算能力都比較充足的應(yīng)用環(huán)境;同時(shí),還需要為該方案設(shè)計(jì)新的零密鑰加密算法;目前所使用的離散冪運(yùn)算的算法速度較慢,但采用了精心優(yōu)化過(guò)的算法之后,速度弱點(diǎn)已經(jīng)得到了有效的彌補(bǔ);
[0021 ]步驟S32、公鑰傳輸步驟;
[0022]零密鑰交換機(jī)制適用于通信信道良好的場(chǎng)合,特別是事先沒(méi)有協(xié)商密鑰的場(chǎng)合;針對(duì)其他應(yīng)用場(chǎng)景,采用基于公鑰體制的加密數(shù)據(jù)傳輸方案;公鑰傳遞機(jī)制中采用公鑰加密算法來(lái)加密對(duì)稱(chēng)密鑰,對(duì)稱(chēng)密鑰用于對(duì)文件進(jìn)行加解密;同時(shí),針對(duì)不同的文件類(lèi)型還采用了不同的加密模式,在文件中采用快速加解密標(biāo)識(shí)位來(lái)標(biāo)識(shí);
[0023]文件字節(jié)流化后轉(zhuǎn)換成字節(jié)流,并把需要加密的敏感數(shù)據(jù)傳送給自身的SDKEY;SDKEY利用當(dāng)前的會(huì)話(huà)加密密鑰對(duì)敏感數(shù)據(jù)進(jìn)行加密,同時(shí)利用接收方的公鑰對(duì)當(dāng)前的會(huì)話(huà)加密密鑰進(jìn)行加密打包,最后獲得加密字節(jié)流并進(jìn)行Sec文件封裝,封裝完成之后即可調(diào)用通信模塊完成發(fā)送任務(wù);當(dāng)接收方接收完畢之后,系統(tǒng)自動(dòng)校驗(yàn)當(dāng)前的接收文件是否有效;當(dāng)用戶(hù)選擇打開(kāi)該密文文件時(shí),系統(tǒng)首先把該Sec文件傳送給自身的SDKEY,SDKEY完成會(huì)話(huà)加密密鑰的解密拆包任務(wù),然后使用會(huì)話(huà)密鑰對(duì)Sec文件里的密文部分進(jìn)行自動(dòng)解密,解密完成之后再傳送給手機(jī)的內(nèi)存供用戶(hù)查看;當(dāng)用戶(hù)退出瀏覽之后,系統(tǒng)會(huì)自動(dòng)刪除內(nèi)存中的明文數(shù)據(jù)部分。
[0024]—種基于智能密碼鑰匙的手機(jī)數(shù)據(jù)傳輸方法,所述手機(jī)數(shù)據(jù)傳輸方法包括:
[0025]基于SDKEY的加密數(shù)據(jù)傳輸步驟;采用零密鑰傳輸步驟或公鑰傳輸步驟實(shí)現(xiàn)數(shù)據(jù)傳輸;
[0026]零密鑰傳輸步驟中,發(fā)送端不需要向接收端傳遞自己的加密密鑰,需要向接收端m次傳遞加密數(shù)據(jù),同時(shí)完成η次加解密過(guò)程;m、n為正整數(shù);
[0027]公鑰傳輸步驟中,采用基于公鑰體制的加密數(shù)據(jù)傳輸方案;公鑰傳遞機(jī)制中采用公鑰加密算法來(lái)加密對(duì)稱(chēng)密鑰,對(duì)稱(chēng)密鑰用于對(duì)文件進(jìn)行加解密。
[0028]作為本發(fā)明的一種優(yōu)選方案,所述零密鑰傳輸步驟中,需要向接收端m次傳遞加密數(shù)據(jù),同時(shí)完成η次加解密過(guò)程;零密鑰傳輸步驟具體包括:
[0029](I)發(fā)送端需要發(fā)送敏感信息Μ(明文),它會(huì)把M傳送給自己的SDKEY; SDKEY生成臨時(shí)會(huì)話(huà)密鑰Kl并對(duì)明文M進(jìn)行I次加密,同時(shí)回傳密文Kl (M)給發(fā)送端;最后,發(fā)送端把Kl (M)通過(guò)無(wú)線(xiàn)公用信道傳送給接收端;加密過(guò)程在SDKEY里完成,不會(huì)增加手機(jī)端的計(jì)算量,同時(shí)在公用信道上傳送的是密文數(shù)據(jù),即使被截獲或者重放攻擊,想破解也是很有難度的;為了防止在公用信道上傳輸?shù)臄?shù)據(jù)被竄改,需要在傳輸?shù)臄?shù)據(jù)里增加哈希校驗(yàn)來(lái)保證數(shù)據(jù)的完整性;
[0030](2)接收端把收到的Kl(M)傳送給自己的SDKEY;SDKEY生成臨時(shí)會(huì)話(huà)密鑰Κ2對(duì)密文Kl (M)進(jìn)行2次加密,同時(shí)回傳K2 (Kl (M))給接收端;最后,接收端把K2 (Kl (M))通過(guò)公用信道傳送給發(fā)送端;同樣,加密過(guò)程不會(huì)增加手機(jī)的計(jì)算量,且在公用信道上只傳送密文;
[0031](3)發(fā)送端收到K2(K1(M))后傳送給自己的SDKEY;SDKEY再次使用會(huì)話(huà)密鑰Kl對(duì)密文K2(K1(M))進(jìn)行I次解密,得到K2(M)并同時(shí)回傳給發(fā)送