本發(fā)明涉及通信安全、存儲安全領(lǐng)域,尤其是涉及一種便攜式移動口令管理系統(tǒng)及其管理方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展和“互聯(lián)網(wǎng)+”理念的普及,網(wǎng)絡(luò)應(yīng)用的數(shù)量呈現(xiàn)高速增長的趨勢。人們?yōu)榱讼硎芫W(wǎng)絡(luò)各項服務(wù)帶來的便利,通常需要在不同的網(wǎng)絡(luò)應(yīng)用中注冊多個不同的賬戶。然而,如此多的賬戶口令若是未能實現(xiàn)科學(xué)的管理,就會存在很大的安全隱患。
目前黑客針對口令的攻擊方法主要有以下幾項:對弱口令進行猜測或字典攻擊的攻擊方法;針對不同應(yīng)用中相同賬戶名和口令的撞庫攻擊方法;服務(wù)器記錄錯誤口令以嘗試其他應(yīng)用的攻擊方法。對于以上提到的攻擊方法,目前最有效的緩解策略只能是讓用戶自行為每個不同的賬戶設(shè)置各不相同的高強度口令,并準(zhǔn)確記憶。在現(xiàn)實生活中,能夠做到這些的用戶少之又少,導(dǎo)致口令泄漏事件頻發(fā)。
目前口令的安全管理方面主要有以下幾個問題。
第一,用戶為了便于記憶,在注冊的過程中,多使用強度較低的口令,而且長期不修改。在這種情況下,口令很容易通過社會工程學(xué)、猜測或字典攻擊的方法被黑客竊取,引起安全問題。
第二,用戶在使用不同應(yīng)用時,為了不增添自己記憶口令的負(fù)擔(dān),常選擇使用完全相同的賬戶名和口令注冊這些應(yīng)用。一旦一組賬戶名和口令被竊取,多個應(yīng)用中的信息都將受到安全威脅。
第三,用戶對不同賬號設(shè)置不同口令后,有時無法準(zhǔn)確對應(yīng),發(fā)生混淆。在這種情況下,某些服務(wù)器會利用后臺記錄的錯誤口令對其他應(yīng)用中的賬戶進行口令猜測,從而產(chǎn)生安全威脅。
第四,為簡化登錄流程,部分用戶會在應(yīng)用中設(shè)置“記住密碼”選項。此選項將在登錄時幫助用戶自動填充賬戶名與口令,但同時也會帶來很多安全問題。大部分“記住密碼”功能是利用本地數(shù)據(jù)庫實現(xiàn)的。黑客如果能夠破解本地數(shù)據(jù)庫,就可以直接獲得用戶口令。
技術(shù)實現(xiàn)要素:
針對上述問題,本發(fā)明的目的是提供一種便攜式移動口令管理系統(tǒng)及其管理方法,在保證用戶體驗的同時,幫助管理并更新其各個賬號的密鑰,極大地提高了賬號使用的安全性。
為實現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:一種便攜式移動口令管理系統(tǒng),其特征在于:其包括移動端系統(tǒng)和個人電腦端,所述移動端系統(tǒng)和個人電腦端通過無線通信進行數(shù)據(jù)傳輸;所述移動端系統(tǒng)包括用戶接口模塊、身份認(rèn)證模塊、linux驅(qū)動模塊、加密模塊、通信安全模塊、數(shù)據(jù)存儲模塊和第一數(shù)據(jù)傳輸模塊;所述用戶接口模塊用于為用戶提供接口,便于用戶輸入賬戶相關(guān)信息并進行賬戶口令和指紋管理;所述身份認(rèn)證模塊用于采集用戶的指紋信息以及對用戶身份進行認(rèn)證,采集的指紋信息通過所述linux驅(qū)動模塊發(fā)送至所述加密模塊;所述加密模塊用于根據(jù)賬戶相關(guān)信息生成第一隨機數(shù)和復(fù)雜口令,并對賬戶相關(guān)信息、復(fù)雜口令和輸入的指紋信息進行加密,并將加密后的所有數(shù)據(jù)發(fā)送到所述數(shù)據(jù)存儲模塊;所述通信安全模塊用于生成與所述個人電腦端進行通信密鑰協(xié)商時的第二隨機數(shù),并對待傳輸?shù)馁~戶用戶名和復(fù)雜口令信息進行數(shù)字簽名后,發(fā)送到所述第一數(shù)據(jù)傳輸模塊;所述數(shù)據(jù)存儲模塊用于存儲賬戶相關(guān)信息、第一隨機數(shù)以及加密后的用戶指紋信息;所述第一數(shù)據(jù)傳輸模塊用于所述移動端系統(tǒng)與所述個人電腦端的無線通信。
所述個人電腦端包括第二數(shù)據(jù)傳輸模塊、windows驅(qū)動模塊、解密模塊和自動登錄模塊;所述第二數(shù)據(jù)傳輸模塊用于接收所述移動端系統(tǒng)發(fā)送的所有數(shù)據(jù),并通過所述windows驅(qū)動模塊發(fā)送到所述解密模塊;所述解密模塊用于對得到的數(shù)據(jù)進行數(shù)字簽名驗證、解密后,發(fā)送到所述自動登錄模塊;所述自動登錄模塊用于模擬鍵盤自動輸入接收到的賬戶用戶名和復(fù)雜口令信息。
所述加密模塊包括指紋加密模塊、第一隨機數(shù)生成模塊、口令生成模塊和口令加密模塊;所述指紋加密模塊用于對用戶錄入的指紋信息進行加密,并將加密后的指紋數(shù)據(jù)發(fā)送到所述數(shù)據(jù)存儲模塊;所述第一隨機數(shù)生成模塊用于根據(jù)用戶輸入的賬戶信息,生成與該賬戶唯一對應(yīng)的第一隨機數(shù),并發(fā)送到所述數(shù)據(jù)存儲模塊;所述口令生成模塊用于根據(jù)用戶輸入的賬戶信息、第一隨機數(shù)以及系統(tǒng)主密鑰生成該賬戶的復(fù)雜口令,并發(fā)送到所述口令加密模塊;所述口令加密模塊用于根據(jù)通信密鑰對待傳輸?shù)馁~戶用戶名和復(fù)雜口令信息進行加密,并發(fā)送到所述通信安全模塊。
所述通信安全模塊包括第二隨機數(shù)生成模塊和數(shù)字簽名模塊;所述第二隨機數(shù)生成模塊用于根據(jù)unix時間戳,生成與所述個人電腦端進行通信密鑰協(xié)商時的第二隨機數(shù),并通過所述第一數(shù)據(jù)傳輸模塊發(fā)送到所述個人電腦端;所述數(shù)字簽名模塊用于對接收到的加密后的賬戶用戶名和復(fù)雜口令信息進行數(shù)字簽名,并通過所述第一數(shù)據(jù)傳輸模塊發(fā)送到所述個人電腦端。
所述解密模塊包括通信密鑰生成模塊、數(shù)字簽名驗證模塊和口令解密模塊;所述通信密鑰生成模塊用于根據(jù)所述移動端系統(tǒng)發(fā)送的第二隨機數(shù)生成通信密鑰,并通過所述第二數(shù)據(jù)傳輸模塊返回所述移動端系統(tǒng);所述數(shù)字簽名驗證模塊用于對接收到的數(shù)據(jù)進行數(shù)字簽名的驗證,并將驗證通過后的數(shù)據(jù)發(fā)送到所述口令解密模塊;所述口令解密模塊用于對加密后的賬戶用戶名和口令信息進行解密,并發(fā)送到所述自動登錄模塊。
一種基于所述系統(tǒng)的便攜式移動口令管理系統(tǒng)的管理方法,其特征在于包括以下步驟:1)當(dāng)用戶接口模塊接收到用戶添加指紋認(rèn)證的請求后,身份認(rèn)證模塊采集用戶首次錄入的指紋信息,并由指紋加密模塊加密后存儲在數(shù)據(jù)存儲模塊中;2)當(dāng)身份認(rèn)證模塊接收到用戶再次錄入的指紋信息時,根據(jù)移動端系統(tǒng)中存儲的用戶指紋數(shù)據(jù),對用戶身份進行認(rèn)證;3)認(rèn)證通過后,用戶通過用戶接口模塊輸入其各賬戶的相關(guān)信息,進行舊口令的存儲或新口令的更新;4)當(dāng)用戶接口模塊接收到用戶需要使用某一賬戶口令的請求信號時,口令生成模塊根據(jù)該賬戶的相關(guān)信息以及第一隨機數(shù),生成該賬戶的復(fù)雜口令;5)當(dāng)用戶接口模塊接收到用戶需要發(fā)送某一賬戶口令的請求信號時,移動端系統(tǒng)通過無線通信與個人電腦端進行密鑰協(xié)商,得到一個通信密鑰;6)移動端系統(tǒng)中的口令加密模塊根據(jù)得到的通信密鑰,對該賬戶的用戶名和復(fù)雜口令進行加密,并發(fā)送到數(shù)字簽名模塊;7)移動端系統(tǒng)中的數(shù)字簽名模塊采用sm2橢圓公鑰算法對加密后的賬戶用戶名和復(fù)雜口令進行數(shù)字簽名,并通過第一數(shù)據(jù)傳輸模塊將加密后的賬戶用戶名和復(fù)雜口令信息及其數(shù)字簽名發(fā)送到個人電腦端;8)個人電腦端接收到相應(yīng)信息后,由解密模塊對接收到的數(shù)據(jù)進行驗簽和解密,并將解密后的賬戶用戶名和復(fù)雜口令數(shù)據(jù)發(fā)送到自動登錄模塊實現(xiàn)個人電腦端的自動輸入。
所述步驟3)中,進行舊口令的存儲或新口令的更新的方法為:若選擇存儲舊口令,則口令加密模塊采用zuc算法對用戶的舊口令進行流加密,并將該賬戶的用戶名、賬戶所屬應(yīng)用名以及加密后的舊口令發(fā)送到數(shù)據(jù)存儲模塊中進行存儲;若選擇更新新口令,則第一隨機數(shù)生成模塊根據(jù)該賬戶的相關(guān)信息生成一個與該賬戶唯一對應(yīng)的第一隨機數(shù),并將該賬戶的用戶名、賬戶所屬應(yīng)用名以及與該賬戶唯一對應(yīng)的隨機數(shù)發(fā)送到數(shù)據(jù)存儲模塊中進行存儲。
所述步驟4)中,口令生成模塊生成賬戶復(fù)雜口令的方法為:口令生成模塊從數(shù)據(jù)存儲模塊中提取該賬戶的所有數(shù)據(jù),根據(jù)該賬戶的所有數(shù)據(jù)中是否具有第一隨機數(shù),判斷其是否需要重新生成復(fù)雜口令:若該賬戶信息包括第一隨機數(shù),則口令生成模塊根據(jù)該賬戶的用戶名、賬戶所屬應(yīng)用名、與該賬戶唯一對應(yīng)的隨機數(shù)以及系統(tǒng)主密鑰,采用sm3雜湊算法將所有數(shù)據(jù)連接成字符串并進行雜湊,得到一個消息認(rèn)證碼,作為該賬戶唯一的復(fù)雜口令;若該賬戶信息不包括第一隨機數(shù),則不需要生成復(fù)雜口令,直接使用用戶存儲的舊口令。
所述步驟5)中,移動端系統(tǒng)與個人電腦端進行密鑰協(xié)商的方法具體包括以下步驟:①移動端系統(tǒng)中用戶接口模塊接收到用戶請求發(fā)送某一賬戶口令的請求信號,并發(fā)送到通信安全模塊;②通信安全模塊中第二隨機數(shù)生成模塊基于unix時間戳生成第二隨機數(shù),并通過第一數(shù)據(jù)傳輸模塊發(fā)送到個人電腦端;③個人電腦端的第二數(shù)據(jù)傳輸模塊接收到該第二隨機數(shù)后,通過windous驅(qū)動模塊發(fā)送到解密模塊;④解密模塊中通信密鑰生成模塊根據(jù)第二隨機數(shù)生成通信密鑰,并通過第二數(shù)據(jù)傳輸模塊發(fā)送到移動端系統(tǒng);⑤移動端系統(tǒng)和個人電腦端分別對第二隨機數(shù)和通信密鑰進行存儲,用于之后的解密和驗證簽名。
本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點:1、本發(fā)明由于移動端系統(tǒng)設(shè)置有指紋加密模塊,對通過身份認(rèn)證模塊采集的用戶指紋信息進行加密后存儲,保證了用戶指紋信息的機密性。2、本發(fā)明中數(shù)據(jù)存儲模塊中不直接存儲用戶口令,使用時由口令生成模塊基于不同賬號自動生成不同復(fù)雜口令,保證了用戶口令的安全存儲,不被非法獲取。3、本發(fā)明移動端系統(tǒng)通過口令加密模塊對待傳輸?shù)馁~戶用戶名和復(fù)雜口令進行加密,以防止信息泄露,提高了通信的安全性。4、本發(fā)明在移動端與個人電腦端進行數(shù)據(jù)傳輸時,采用sm2橢圓曲線公鑰算法對賬戶用戶名和口令生成數(shù)字簽名,并經(jīng)個人電腦端驗簽通過后,進行口令的自動輸入,避免了傳輸過程中的中間人攻擊,保證了數(shù)據(jù)傳輸?shù)陌踩浴?、本發(fā)明由于采用zuc流密碼算法對口令進行加密,個人電腦端在解密時可以實現(xiàn)“解密一位、輸入一位”,避免了在個人電腦端主機中存儲已解密的口令,從而保證了口令信息的安全。本發(fā)明體積小巧,能夠隨身攜帶,系統(tǒng)使用簡單,界面對用戶友好,在提高口令安全性的同時,很好地考慮了用戶的使用需求,簡化了用戶管理口令的過程,極大地提高了口令管理系統(tǒng)的安全性、智能性和便攜性。因而本發(fā)明可以廣泛應(yīng)用于口令的安全管理中。
附圖說明
圖1是本發(fā)明便攜式移動口令管理系統(tǒng)的模塊架構(gòu)圖;
圖2是本發(fā)明便攜式移動口令管理系統(tǒng)的整體架構(gòu)示意圖;
圖3是本發(fā)明便攜式移動口令管理系統(tǒng)的設(shè)備展示圖;
圖4是本發(fā)明采用的zuc流密碼算法結(jié)構(gòu)設(shè)計圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明進行詳細(xì)的描述。然而應(yīng)當(dāng)理解,附圖的提供僅為了更好地理解本發(fā)明,它們不應(yīng)該理解成對本發(fā)明的限制。在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”等僅僅是用于描述的目的,而不能理解為指示或暗示相對重要性。
如圖1~圖3所示,本發(fā)明便攜式移動口令管理系統(tǒng)包括移動端系統(tǒng)1和個人電腦端2,移動端系統(tǒng)1和個人電腦端2通過無線通信進行數(shù)據(jù)傳輸。
移動端系統(tǒng)1包括用戶接口模塊11、身份認(rèn)證模塊12、linux驅(qū)動模塊13、加密模塊14、通信安全模塊15、數(shù)據(jù)存儲模塊16和第一數(shù)據(jù)傳輸模塊17。用戶接口模塊11用于為用戶提供接口,便于用戶輸入賬戶相關(guān)信息并進行賬戶口令和指紋管理;身份認(rèn)證模塊12用于采集用戶的指紋信息以及對用戶身份進行認(rèn)證,采集的指紋信息通過linux驅(qū)動模塊13發(fā)送至加密模塊14;加密模塊14用于根據(jù)賬戶相關(guān)信息生成第一隨機數(shù)和復(fù)雜口令,并對賬戶相關(guān)信息、復(fù)雜口令和輸入的指紋信息進行加密,并將加密后的所有數(shù)據(jù)發(fā)送到數(shù)據(jù)存儲模塊16;通信安全模塊15用于生成與個人電腦端2進行通信密鑰協(xié)商時的第二隨機數(shù),并對待傳輸?shù)馁~戶用戶名和復(fù)雜口令信息進行數(shù)字簽名后,發(fā)送到第一數(shù)據(jù)傳輸模塊17;數(shù)據(jù)存儲模塊16用于存儲賬戶相關(guān)信息、第一隨機數(shù)以及加密后的用戶指紋信息;第一數(shù)據(jù)傳輸模塊17用于移動端系統(tǒng)1與個人電腦端2的無線通信。
加密模塊14包括指紋加密模塊、第一隨機數(shù)生成模塊、口令生成模塊和口令加密模塊。指紋加密模塊用于對用戶錄入的指紋信息進行加密,并將加密后的指紋數(shù)據(jù)發(fā)送到數(shù)據(jù)存儲模塊16;第一隨機數(shù)生成模塊用于根據(jù)用戶輸入的賬戶信息,生成與該賬戶唯一對應(yīng)的第一隨機數(shù),并發(fā)送到數(shù)據(jù)存儲模塊16;口令生成模塊用于根據(jù)用戶輸入的賬戶信息、第一隨機數(shù)以及系統(tǒng)主密鑰生成該賬戶的復(fù)雜口令,并發(fā)送到口令加密模塊;口令加密模塊用于根據(jù)通信密鑰對待傳輸?shù)馁~戶用戶名和復(fù)雜口令信息進行加密,并發(fā)送到通信安全模塊15。
通信安全模塊15包括第二隨機數(shù)生成模塊和數(shù)字簽名模塊。第二隨機數(shù)生成模塊用于根據(jù)unix時間戳,生成與個人電腦端2進行通信密鑰協(xié)商時的第二隨機數(shù),并通過第一數(shù)據(jù)傳輸模塊17發(fā)送到個人電腦端2;數(shù)字簽名模塊用于對接收到的加密后的賬戶用戶名和復(fù)雜口令信息進行數(shù)字簽名,并通過第一數(shù)據(jù)傳輸模塊17發(fā)送到個人電腦端2。
個人電腦端2包括第二數(shù)據(jù)傳輸模塊21、windows驅(qū)動模塊22、解密模塊23和自動登錄模塊24。第二數(shù)據(jù)傳輸模塊21用于接收移動端系統(tǒng)1發(fā)送的所有數(shù)據(jù),并通過windows驅(qū)動模塊22發(fā)送到解密模塊23。解密模塊23對得到的數(shù)據(jù)進行數(shù)字簽名驗證、解密后,發(fā)送到自動登錄模塊24;自動登錄模塊24用于模擬鍵盤自動輸入接收到的賬戶用戶名和復(fù)雜口令信息。
解密模塊23包括通信密鑰生成模塊、數(shù)字簽名驗證模塊和口令解密模塊。通信密鑰生成模塊用于根據(jù)移動端系統(tǒng)1發(fā)送的第二隨機數(shù)生成通信密鑰,并通過第二數(shù)據(jù)傳輸模塊21返回移動端系統(tǒng)1;數(shù)字簽名驗證模塊用于對接收到的數(shù)據(jù)進行數(shù)字簽名的驗證,并將驗證通過后的數(shù)據(jù)發(fā)送到口令解密模塊;口令解密模塊用于對加密后的賬戶用戶名和口令信息進行解密,并發(fā)送到自動登錄模塊24。
上述實施例中,移動端系統(tǒng)1采用raspberrypi3的modeb型號。身份認(rèn)證模塊12采用fpm10a指紋識別硬件。第一數(shù)據(jù)傳輸模塊17和第二數(shù)據(jù)傳輸模塊21均采用nrf24l01無線通信芯片。
基于上述便攜式移動口令管理系統(tǒng),本發(fā)明還提供一種便攜式移動口令管理系統(tǒng)的管理方法,包括以下步驟:
1)當(dāng)用戶接口模塊11接收到用戶添加指紋認(rèn)證的請求后,身份認(rèn)證模塊12采集用戶首次錄入的指紋信息,并由指紋加密模塊加密后存儲在數(shù)據(jù)存儲模塊16中。
用戶在首次使用時,需通過移動端系統(tǒng)1中的用戶接口模塊11,選擇添加指紋信息。在此過程中,身份認(rèn)證模塊12將采集用戶錄入的指紋信息,并通過linux驅(qū)動模塊13將指紋信息發(fā)送到加密模塊14。加密模塊14中指紋加密模塊采用zuc流密碼算法(祖沖之算法)對錄入的指紋信息進行流加密后,將其發(fā)送到數(shù)據(jù)存儲模塊16中進行存儲。
如圖4所示,為本發(fā)明所采用的zuc流密碼算法結(jié)構(gòu)設(shè)計圖。zuc流密碼算法采用三層邏輯結(jié)構(gòu)設(shè)計,主要用于實現(xiàn)通信過程加密、存儲過程加密以及會話密鑰的協(xié)商。其上層為定義在素域上的lfsr(線性反饋移位寄存器)。zuc算法的lfsr設(shè)計首次采用素域的m序列,該類序列周期長、統(tǒng)計特性好,且在特征為2的有限域上是非線性的,其具有線性結(jié)構(gòu)弱、比特關(guān)系符合率低等優(yōu)點。中間層為比特重組,比特重組采用取半合并技術(shù),實現(xiàn)lfsr數(shù)據(jù)單元到非線性函數(shù)f和密鑰輸出的數(shù)據(jù)轉(zhuǎn)換,其主要目的是破壞lfsr在素域上的線性結(jié)構(gòu)。下層為非線性函數(shù)f,在非線性函數(shù)f的設(shè)計上,zuc算法設(shè)計充分借鑒了分組密碼的設(shè)計技巧,采用s盒和高擴散特性的線性變換l。非線性函數(shù)f的s盒采用結(jié)構(gòu)化設(shè)計方法,在具有好的密碼學(xué)性質(zhì)的同時降低了硬件實現(xiàn)代價,具有實現(xiàn)面積小、功耗低等特點。
2)當(dāng)身份認(rèn)證模塊12接收到用戶再次錄入的指紋信息時,根據(jù)移動端系統(tǒng)1中存儲的用戶指紋數(shù)據(jù),對用戶身份進行認(rèn)證。
當(dāng)用戶再次錄入指紋時,身份認(rèn)證模塊12將采集用戶指紋,同時從數(shù)據(jù)存儲模塊16中取出加密的指紋特征數(shù)據(jù),并通過指紋加密模塊對加密的指紋特征數(shù)據(jù)進行解密后,比對用戶指紋與數(shù)據(jù)存儲模塊16中存儲的指紋特征數(shù)據(jù),對用戶身份進行認(rèn)證。若再次錄入的用戶指紋數(shù)據(jù)與數(shù)據(jù)存儲模塊16中存儲的指紋特征數(shù)據(jù)相匹配,則允許用戶對口令進行管理,否則拒絕用戶的一切操作。
3)認(rèn)證通過后,移動端系統(tǒng)1中的用戶接口模塊11接收用戶輸入的各賬戶的相關(guān)信息,并由加密模塊14進行舊口令的存儲或新口令的更新。
用戶通過用戶接口模塊11輸入其各賬戶的相關(guān)信息,包括賬戶的用戶名、舊口令以及賬戶所屬應(yīng)用名。之后,用戶接口模塊11自動提示存儲舊口令或更新新口令:
若選擇存儲舊口令,則口令加密模塊采用zuc算法對用戶的舊口令進行流加密,并將該賬戶的用戶名、賬戶所屬應(yīng)用名以及加密后的舊口令發(fā)送到數(shù)據(jù)存儲模塊16中進行存儲。
若選擇更新新口令,則第一隨機數(shù)生成模塊根據(jù)該賬戶的相關(guān)信息生成一個與該賬戶唯一對應(yīng)的第一隨機數(shù),并將該賬戶的用戶名、賬戶所屬應(yīng)用名以及與該賬戶唯一對應(yīng)的隨機數(shù)發(fā)送到數(shù)據(jù)存儲模塊16中進行存儲。
4)當(dāng)用戶接口模塊11接收到用戶需要使用某一賬戶口令的請求信號時,口令生成模塊根據(jù)該賬戶的相關(guān)信息以及第一隨機數(shù),生成該賬戶的復(fù)雜口令。
口令生成模塊從數(shù)據(jù)存儲模塊16中提取該賬戶的所有數(shù)據(jù),根據(jù)該賬戶的所有數(shù)據(jù)中是否具有第一隨機數(shù),判斷其是否需要重新生成復(fù)雜口令:
若該賬戶信息包括第一隨機數(shù),則口令生成模塊根據(jù)該賬戶的用戶名、賬戶所屬應(yīng)用名、與該賬戶唯一對應(yīng)的隨機數(shù)以及系統(tǒng)主密鑰,采用sm3雜湊算法將所有數(shù)據(jù)連接成字符串并進行雜湊,得到一個消息認(rèn)證碼,作為該賬戶唯一的復(fù)雜口令。
若該賬戶信息不包括第一隨機數(shù),則不需要生成復(fù)雜口令,直接使用用戶存儲的舊口令即可。
5)當(dāng)用戶接口模塊11接收到用戶需要發(fā)送某一賬戶口令的請求信號時,移動端系統(tǒng)1通過無線通信與個人電腦端2進行密鑰協(xié)商,得到一個通信密鑰。
移動端系統(tǒng)1與個人電腦端2進行密鑰協(xié)商的方法具體包括以下步驟:
①移動端系統(tǒng)1中用戶接口模塊11采集到用戶請求發(fā)送某一賬戶口令的請求信號,并發(fā)送到通信安全模塊15。
②通信安全模塊15中第二隨機數(shù)生成模塊基于unix時間戳生成第二隨機數(shù),并通過第一數(shù)據(jù)傳輸模塊17發(fā)送到個人電腦端2。
③個人電腦端2的第二數(shù)據(jù)傳輸模塊21接收到該第二隨機數(shù)后,通過windous驅(qū)動模塊22發(fā)送到解密模塊23。
④解密模塊23中通信密鑰生成模塊根據(jù)第二隨機數(shù)生成通信密鑰,并通過第二數(shù)據(jù)傳輸模塊21發(fā)送到移動端系統(tǒng)1。
⑤移動端系統(tǒng)1和個人電腦端2分別對第二隨機數(shù)和通信密鑰進行存儲,用于之后的解密和驗證簽名。
6)移動端系統(tǒng)1中的口令加密模塊根據(jù)得到的通信密鑰,對該賬戶的用戶名和復(fù)雜口令進行加密,并發(fā)送到數(shù)字簽名模塊。
7)移動端系統(tǒng)1中的數(shù)字簽名模塊采用sm2橢圓公鑰算法對加密后的賬戶用戶名和復(fù)雜口令進行數(shù)字簽名,并通過第一數(shù)據(jù)傳輸模塊17將加密后的賬戶用戶名和復(fù)雜口令信息及其數(shù)字簽名發(fā)送到個人電腦端2。
8)個人電腦端2接收到相應(yīng)信息后,由解密模塊23對接收到的數(shù)據(jù)進行驗簽和解密,并將解密后的賬戶用戶名和復(fù)雜口令數(shù)據(jù)發(fā)送到自動登錄模塊實現(xiàn)個人電腦端2的自動輸入。
個人電腦端2的第二數(shù)據(jù)傳輸模塊21接收到賬戶用戶名及口令信息后,通過windows驅(qū)動模塊22發(fā)送到解密模塊23。解密模塊23中數(shù)字簽名驗證模塊231采用sm2橢圓曲線公鑰密碼算法對接收到的賬戶用戶名和口令信息的數(shù)字簽名進行驗簽。若驗簽通過,則發(fā)送到口令解密模塊。若驗簽不通過,則拒絕該口令輸入,以避免傳輸過程中的中間人攻擊??诹罱饷苣K采用zuc流密碼算法對該賬戶的用戶名和復(fù)雜口令信息進行解密,并將解密后的賬戶用戶名和口令信息發(fā)送到自動登錄模塊24,自動登錄模塊24將解密后的賬戶及口令以模擬鍵盤輸入的方式輸入到口令框中,實現(xiàn)自動登錄。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換,而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。