国产精品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>

      基于隨機(jī)算法與加密算法的動(dòng)態(tài)認(rèn)證方法與流程

      文檔序號(hào):12491131閱讀:705來源:國知局

      本發(fā)明涉及計(jì)算機(jī)加密技術(shù)領(lǐng)域,具體的來說涉及一種動(dòng)態(tài)認(rèn)證的加密方法。



      背景技術(shù):

      業(yè)內(nèi)現(xiàn)有方法一般是依靠IMEI或SN號(hào)來生成密碼的,一般設(shè)備只能用固定密碼解鎖,不能做到動(dòng)態(tài)密碼解鎖,無法防止窮舉法暴力破解。當(dāng)密碼或算法被破解后,無法通過升級(jí)來反破解。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明所要解決的技術(shù)問題在于,克服現(xiàn)有技術(shù)中存在的問題,提供一種基于隨機(jī)算法與加密算法的動(dòng)態(tài)認(rèn)證方法。

      為了解決上述問題本發(fā)明的技術(shù)方案是這樣的:

      一種基于隨機(jī)算法與加密算法的動(dòng)態(tài)認(rèn)證方法,包括:生成加密碼、計(jì)算解密碼、驗(yàn)證密碼三個(gè)接口,所述生成加密碼接口與驗(yàn)證密碼接口部署在被加密設(shè)備上,計(jì)算解密碼接口部署在解密器上;

      被加密設(shè)備調(diào)用生成加密碼會(huì)生成一個(gè)由字母和數(shù)字組成的字符串,解密設(shè)備將該字符串傳入計(jì)算解密碼接口,可得到一個(gè)新的字符串;該新字符串可被驗(yàn)證密碼接口驗(yàn)證通過;

      在同一被加密設(shè)備上,生成加密碼接口每次產(chǎn)生的字符串都不相同,解密串也不同;驗(yàn)證密碼接口一旦驗(yàn)證失敗,則正確密碼也會(huì)驗(yàn)證失敗,只能重新生成加密碼。

      所述算法在模塊中使用過程為,從模塊獲取加密字符串,然后將該字符串輸入另外的解密軟件,由解密軟件生成一個(gè)驗(yàn)證碼,最后將該驗(yàn)證碼輸入模塊。

      所述生成加密碼其算法步驟如下:

      1)從已加入算法中隨機(jī)選擇加密算法

      2)隨機(jī)生成原始數(shù)據(jù)并保存

      3)從已選擇加密算法中獲取一對(duì)秘鑰并保存

      4)使用3中選擇的解密算法加密原始數(shù)據(jù),并放入結(jié)構(gòu)容器中

      5)加密4中容器,生成加密碼。

      所述計(jì)算解密碼其算法為生成加密碼算法的反過程。

      所述驗(yàn)證密碼,其算法步驟如下:

      1)解密參數(shù),解出結(jié)構(gòu)數(shù)據(jù)中的加密數(shù)據(jù)

      2)使用保存的秘鑰中的私鑰解密加密數(shù)據(jù),得到原始碼

      3)與保存的原始碼比較,相同則成功,否則失敗。

      有益效果,本發(fā)明所述的方法是一種隨機(jī)算法與加密算法的動(dòng)態(tài)認(rèn)證方法,具有不綁定某個(gè)固定碼,如MAC、IMEI、SN等特點(diǎn)。同一設(shè)備每次認(rèn)證,認(rèn)證碼都不相同,不易暴力破解。認(rèn)證碼本身經(jīng)過多次不同加密算法的加密,安全性強(qiáng)。主算法中集成多種加密算法,加密時(shí)隨機(jī)選取,降低了算法被破解的幾率。

      具體實(shí)施方式

      為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,進(jìn)一步闡述本發(fā)明。

      1.算法特點(diǎn)

      我們的模塊的DIAG口與ADB口是調(diào)試端口,權(quán)限比較大,考慮到安全問題需要在正式版本中封閉,同時(shí)又需要在升級(jí)與內(nèi)部調(diào)試時(shí),解封這些端口。而封閉與解封如果只簡單的使用一條at命令,則很容易流傳出去,達(dá)不到封閉效果,而如果簡單使用設(shè)備IMEI號(hào)碼或SN號(hào)碼加解密,一則容易被破解,二則研發(fā)同事調(diào)試的設(shè)備上這些號(hào)碼是可能不存在的,解密不通用。所以,我們就需要選擇一套算法對(duì)解封操作進(jìn)行加密,只有輸入正確密碼,才能解封。

      我們需要算法具備以下特性:

      1.不綁定IMEI或SN號(hào)

      2.同一個(gè)設(shè)備每次解密時(shí)使用的解密碼不同

      3.算法可以升級(jí),可加入新的加密,

      4.加入新算法后,還能兼容舊設(shè)備使用舊算法解密

      2.算法概述

      該算法涉及三個(gè)接口,分別是“生成加密碼”、“計(jì)算解密碼”、“驗(yàn)證密碼”,其中“生成加密碼”接口與“驗(yàn)證密碼”接口部署在被加密設(shè)備上,“計(jì)算解密碼”接口部署在解密器上。

      被加密設(shè)備調(diào)用“生成加密碼”會(huì)生成一個(gè)由字母和數(shù)字組成的字符串,解密設(shè)備將該字符串傳入“計(jì)算解密碼”接口,可得到一個(gè)新的字符串。該新字符串可被“驗(yàn)證密碼”接口驗(yàn)證通過。

      在同一被加密設(shè)備上,“生成加密碼”接口每次產(chǎn)生的字符串都不相同,所以解密串也不同?!膀?yàn)證密碼”接口一旦驗(yàn)證失敗,則正確密碼也會(huì)驗(yàn)證失敗,只能重新生成加密碼。

      3.使用方法

      3.1模塊上使用方法

      算法的使用分為三個(gè)步驟,依次是從模塊獲取加密字符串,然后將該字符串輸入另外的解密軟件,由解密軟件生成一個(gè)驗(yàn)證碼,最后將該驗(yàn)證碼輸入模塊。假設(shè)模塊中該加密功能的接口是AT+LSHENCR,則具體操作方法如下。

      (1)向模塊下發(fā)AT+LSHENCR=0命令,模塊返回字符串(每次得到的不同)如:D4F6A67EF058E73656750590

      (2)在解密軟件中輸入該字符串,單擊解密按鈕,生成獲取到解密字符串

      (3)向模塊下發(fā)AT+LSHENCR=1,”DF12DA61”

      如果解密成功,AT+LSHDIAG=1可正常打開DIAG口,否則不可以。

      3.2解密軟件LongsungDecryptor管理

      LongsungDecryptor軟件是基于Windows的一款圖形界面軟件,其主要功能是將加密碼轉(zhuǎn)換成解密碼,這個(gè)軟件是需要保密的,否則模塊加密毫無意義。

      該軟件使用上有如下需求:

      1.研發(fā)人員在公司使用,在公司網(wǎng)絡(luò)環(huán)境內(nèi)

      2.技術(shù)支持工程師在客戶現(xiàn)場使用,不在公司網(wǎng)絡(luò)環(huán)境內(nèi),可連接vpn,也可能沒有網(wǎng)絡(luò)

      3.其他人員通過特殊渠道拿到該軟件,將不能正常使用

      為滿足需求,LongsungDecryptor軟件做了如下功能:

      1.將LongsungDecryptor軟件內(nèi)部公開,不過加密算法會(huì)持續(xù)周期性更新,使用人獲取到最新版本LongsungDecryptor軟件,可解密所有密碼。

      2.對(duì)LongsungDecryptor軟件進(jìn)行限制,使用人需要在公司局域網(wǎng)或APN環(huán)境下才能使用,在公司局域網(wǎng)中搭建專用服務(wù)器支持。

      3.對(duì)LongsungDecryptor軟件進(jìn)行限制,如果不在公司局域網(wǎng)環(huán)境內(nèi),不能使用。

      4.在公司環(huán)境網(wǎng)絡(luò)環(huán)境內(nèi),具有破解功能,破解后,離開網(wǎng)絡(luò)環(huán)境也可使用,但是每次破解只可使用1天。

      3.3升級(jí)工具集成解密算法

      我們知道,如果封閉端口后,一件升級(jí)工具需要解封才能升級(jí)模塊,這樣,一件升級(jí)工具就需要集成加密算法。但是有個(gè)問題,如果算法更新了,舊的一件升級(jí)工具就不能對(duì)新版本模塊升級(jí)了。

      一件升級(jí)工具通過dll方式集成加密算法,如果遇上算法升級(jí)的情況,獲取最新版本的加密算法dll,替換進(jìn)去即可。

      4.外部接口描述

      外部接口是用來移植算法的接口,如將算法加入模塊源代碼,升級(jí)工具調(diào)用集成該算法的dll等,都需要調(diào)用這些接口。外部接口共有3個(gè),分別是生成加密碼,加密碼轉(zhuǎn)換成解密碼,驗(yàn)證解密碼。

      4.1生成加密碼

      接口名稱:lsh_crypto_create_string

      接口描述:生成加密碼。

      返回值:枚舉類型,0為成功,其他為失敗,每個(gè)值有各自含義。成功時(shí),生成的加密碼由參數(shù)1傳出。

      參數(shù)1:char*code,出參,用于存放生成的加密碼,由調(diào)用者申請(qǐng)與釋放空間。

      參數(shù)2:const unsigned int sz,調(diào)用者申請(qǐng)的code的大小。

      算法描述:

      1.從已加入算法中隨機(jī)選擇加密算法

      2.隨機(jī)生成原始數(shù)據(jù)并保存

      3.從已選擇加密算法中獲取一對(duì)秘鑰并保存

      4.使用3中選擇的解密算法加密原始數(shù)據(jù),并放入結(jié)構(gòu)容器中

      5.加密4中容器,生成加密碼

      4.2加密碼轉(zhuǎn)換成解密碼

      接口名稱:lsh_crypto_decrypt_string

      接口描述:加密碼轉(zhuǎn)換成解密碼。

      返回值:枚舉類型,0為成功,其他為失敗,每個(gè)值有各自含義,成功時(shí),轉(zhuǎn)換的解密碼由參數(shù)1傳出。

      參數(shù)1:char*decrypted_code,出參,成功時(shí),傳出解密碼,由調(diào)用者申請(qǐng)與釋放空間。

      參數(shù)2:const unsigned int decrypted_code_size,調(diào)用者申請(qǐng)的解密碼的空間大小。

      參數(shù)3:const char*raw_code,入?yún)?,傳入加密碼。

      參數(shù)4:const unsigned int siraw_code_len,傳入的加密碼的實(shí)際長度。

      算法描述:

      算法4.1的反過程,不再詳述。

      4.3驗(yàn)證解密碼

      接口名稱:lsh_crypto_verify_string

      接口描述:驗(yàn)證解密碼。

      返回值:枚舉類型,0為成功,其他為失敗,每個(gè)值有各自含義。

      參數(shù)1:char*code,入?yún)?,傳入解密碼。

      參數(shù)2:unsigned int len,傳入的解密碼實(shí)際長度。

      算法描述:

      1.解密參數(shù)1,解出結(jié)構(gòu)數(shù)據(jù)中的加密數(shù)據(jù)

      2.使用4.1中保存的秘鑰中的私鑰解密加密數(shù)據(jù),得到原始碼

      3.與4.1中保存的原始碼比較,相同則成功,否則失敗。

      5.內(nèi)部接口描述

      內(nèi)部接口是向算法中添加新的加密算法的接口,包含三個(gè),分別是加密算法、解密算法和獲取秘鑰。

      主算法遵循OC原則,新增的算法只需要實(shí)現(xiàn)這三個(gè)內(nèi)部接口,即可加入主算法,已加入的算法之間互不干擾,加密時(shí),主算法會(huì)隨機(jī)挑選已加入的算法進(jìn)行加密,解密時(shí),主算法也可自動(dòng)識(shí)別所用加密算法,進(jìn)行解密。

      加入的加密算法可以是對(duì)稱加密算法,也可以是非對(duì)稱加密算法。對(duì)稱加密算法只有秘鑰,不區(qū)分公鑰與私鑰,適配對(duì)稱加密算法時(shí),需要將接口5.3中的公鑰與私鑰同時(shí)寫入相同的秘鑰即可。

      5.1加密算法

      接口名稱:lsh_encryption_algorithm

      接口描述:加密算法,使用秘鑰,把原始數(shù)據(jù)加密,生成加密數(shù)據(jù)。

      返回值:枚舉類型,0為成功,其他為失敗,每個(gè)值有各自含義。成功時(shí),加密數(shù)據(jù)由參數(shù)1傳出。

      參數(shù)1:unsigned char*crypto_data,出參,成功時(shí),傳出加密數(shù)據(jù),由調(diào)用者申請(qǐng)與釋放空間。

      參數(shù)2:const unsigned int crypto_data_size,調(diào)用者申請(qǐng)的加密數(shù)據(jù)的空間大小。

      參數(shù)3:const unsigned char*key,入?yún)?,傳入秘鑰。

      參數(shù)4:const unsigned int key_len,傳入的秘鑰的實(shí)際長度。

      參數(shù)5:const unsigned char*raw_data,入?yún)?,傳入原始?shù)據(jù)。

      參數(shù)6:const unsigned int raw_data_len,傳入的原始數(shù)據(jù)的實(shí)際長度。

      5.2解密算法

      接口名稱:lsh_decryption_algorithm

      接口描述:解密算法,使用秘鑰,把加密數(shù)據(jù)解密,生成原始數(shù)據(jù)。

      返回值:枚舉類型,0為成功,其他為失敗,每個(gè)值有各自含義。成功時(shí),原始數(shù)據(jù)由參數(shù)1傳出。

      參數(shù)1:unsigned char*crypto_data,出參,成功時(shí),傳出原始數(shù)據(jù),由調(diào)用者申請(qǐng)與釋放空間。

      參數(shù)2:const unsigned int crypto_data_size,調(diào)用者申請(qǐng)的解密數(shù)據(jù)的空間大小。

      參數(shù)3:const unsigned char*key,入?yún)?,傳入秘鑰。

      參數(shù)4:const unsigned int key_len,傳入的秘鑰的實(shí)際長度。

      參數(shù)5:const unsigned char*raw_data,入?yún)?,傳入加密?shù)據(jù)。

      參數(shù)6:const unsigned int raw_data_len,傳入的加密數(shù)據(jù)的實(shí)際長度。

      5.3獲取秘鑰

      接口名稱:lsh_get_public_and_private_key

      接口描述:獲取秘鑰,同時(shí)獲取公鑰與私鑰。

      返回值:枚舉類型,0為成功,其他為失敗,每個(gè)值有各自含義。成功時(shí),公鑰由參數(shù)1傳出,私鑰由參數(shù)3傳出。

      參數(shù)1:unsigned char*public_key,出參,成功時(shí),傳出公鑰,由調(diào)用者申請(qǐng)與釋放空間。

      參數(shù)2:const unsigned intpublic_key_size,調(diào)用者申請(qǐng)的公鑰的空間大小。

      參數(shù)3:unsigned char*private_key,出參,成功時(shí),傳出私鑰,由調(diào)用者申請(qǐng)與釋放空間。

      參數(shù)4:const unsigned intprivate_key_size,調(diào)用者申請(qǐng)的私鑰的空間大小。

      參數(shù)5:const int additional,附加參數(shù),保留,傳0。

      6.使用特點(diǎn)及效果

      一種隨機(jī)算法與加密算法的動(dòng)態(tài)認(rèn)證方法,具有不綁定某個(gè)固定碼,如MAC、IMEI、SN等,的特點(diǎn)。同一設(shè)備每次認(rèn)證,認(rèn)證碼都不相同,不易暴力破解。認(rèn)證碼本身經(jīng)過多次不同加密算法的加密,安全性強(qiáng)。主算法中集成多種加密算法,加密時(shí)隨機(jī)選取,降低了算法被破解的幾率。

      以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明專利要求保護(hù)的范圍由所附的權(quán)利要求書及其等同物界定。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1