欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種硬件錢包及其持有者身份驗證方法與流程

文檔序號:11143970閱讀:644來源:國知局
一種硬件錢包及其持有者身份驗證方法與制造工藝

本發(fā)明涉及數(shù)字貨幣領(lǐng)域,特別涉及一種硬件錢包及其持有者身份驗證方法。



背景技術(shù):

數(shù)字貨幣是電子貨幣形式的替代貨幣,數(shù)字金幣和密碼貨幣都屬于數(shù)字貨幣,他不能完全等同于虛擬世界中的虛擬貨幣,因為它更多的應(yīng)用于真實的商品和服務(wù)交易中。密碼貨幣是使用密碼算法的數(shù)字貨幣;絕大多數(shù)的密碼運算都沿用了信息安全領(lǐng)域已經(jīng)非常成熟的非對稱加密體系進行數(shù)據(jù)的摘要和簽名;這樣一來,私鑰的安全就成了數(shù)字貨幣發(fā)展的重中之重,目前通常的解決方案是將私鑰存儲在應(yīng)用軟件上或者服務(wù)提供商的服務(wù)器上,使用時也在軟件上或者服務(wù)器商進行,但是現(xiàn)有技術(shù)中,這種私鑰存儲方式存在安全隱患,很容易受到黑客的攻擊而使私鑰丟失,給廣大數(shù)字貨幣持有者造成損失。因此,如何提高數(shù)字貨幣的安全防護機制是現(xiàn)有技術(shù)中亟需解決的技術(shù)問題。



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

本發(fā)明提供了一種硬件錢包及其持有者身份驗證方法,在提高了數(shù)字貨幣的安全防護機制的同時,實現(xiàn)了多錢包應(yīng)用的身份認證管理。

本發(fā)明提供了一種硬件錢包的持有者身份驗證方法,所述硬件錢包中包括:虛擬機、生物特征認證模塊和多個錢包應(yīng)用;

步驟r1:若當前錢包應(yīng)用接收到來自上位機的包括交易數(shù)據(jù)的交易請求,所述當前錢包應(yīng)用向所述虛擬機發(fā)送第一驗證請求;所述交易數(shù)據(jù)包括密鑰派生路徑;

步驟r2:當所述虛擬機接收到來自所述當前錢包應(yīng)用的第一驗證請求后,所述虛擬機向所述生物特征認證模塊發(fā)送第二驗證請求;

步驟r3:所述生物特征認證模塊提示當前用戶錄入生物特征,當檢測到當前用戶錄入生物特征后,根據(jù)所述生物特征判斷當前用戶是否已注冊,如果是,則將與所述生物特征對應(yīng)的生物特征ID作為第二驗證結(jié)果發(fā)送給所述虛擬機,所述虛擬機執(zhí)行步驟r4;否則,則將驗證失敗作為第二驗證結(jié)果發(fā)送給所述虛擬機,所述虛擬機執(zhí)行步驟r4;

步驟r4:所述虛擬機判斷所述第二驗證結(jié)果是否為驗證失敗,如果是,則將驗證失敗作為第一驗證結(jié)果發(fā)送給所述當前錢包應(yīng)用,所述當前錢包應(yīng)用執(zhí)行步驟r6;否則,執(zhí)行步驟r5;

步驟r5:所述虛擬機根據(jù)所述生物特征ID判斷當前用戶是否與所述當前錢包應(yīng)用匹配,如果是,則將驗證成功作為第一驗證結(jié)果發(fā)送給所述當前錢包應(yīng)用,所述當前錢包應(yīng)用執(zhí)行步驟r6;否則,將驗證失敗作為第一驗證結(jié)果發(fā)送給所述當前錢包應(yīng)用,所述當前錢包應(yīng)用執(zhí)行步驟r6;

步驟r6:所述當前錢包應(yīng)用判斷第一驗證結(jié)果是否為驗證成功,如果是,則使用與所述密鑰派生路徑對應(yīng)的私鑰對所述交易數(shù)據(jù)和與所述密鑰派生路徑對應(yīng)的賬戶地址進行簽名生成交易憑據(jù),向所述上位機返回所述交易憑據(jù),結(jié)束當前操作;否則,向所述上位機報錯,結(jié)束當前操作。

本發(fā)明還提供了一種硬件錢包,包括:虛擬機、生物特征認證模塊和多個錢包應(yīng)用;

所述多個錢包應(yīng)用中的當前錢包應(yīng)用包括:第一接收子模塊、第一發(fā)送子模塊、第二接收子模塊、第一判斷子模塊、第一生成子模塊和第二發(fā)送子模塊;

所述第一接收子模塊,用于接收來自上位機的包括交易數(shù)據(jù)的交易請求;所述交易數(shù)據(jù)中包括密鑰派生路徑;

所述第一發(fā)送子模塊,用于向所述虛擬機發(fā)送第一驗證請求;

所述第二接收子模塊,用于接收來自所述虛擬機的第一驗證結(jié)果;

所述第一判斷子模塊,用于判斷所述第二接收子模塊接收到的第一驗證結(jié)果是否為驗證成功;

所述第一生成子模塊,用于當所述第一判斷子模塊判斷為是后,使用與所述第一接收子模塊接收到的密鑰派生路徑對應(yīng)的私鑰對所述交易數(shù)據(jù)和與所述密鑰派生路徑對應(yīng)的賬戶地址進行簽名生成交易憑據(jù);

所述第二發(fā)送子模塊,用于將所述第一生成子模塊生成的所述交易憑據(jù)返回給所述上位機;以及當所述第一判斷子模塊判斷為否后,向所述上位機報錯;

所述虛擬機中包括:第三接收子模塊、第三發(fā)送子模塊、第四接收子模塊、第二判斷子模塊、第三判斷子模塊和第四發(fā)送子模塊;

所述第三接收子模塊,用于接收來自所述當前錢包應(yīng)用的第一驗證請求;

所述第三發(fā)送子模塊,用于向所述生物特征認證模塊發(fā)送第二驗證請求;

所述第四接收子模塊,用于接收來自所述生物特征認證模塊的第二驗證結(jié)果;

所述第二判斷子模塊,用于判斷所述第四接收子模塊接收到的所述第二驗證結(jié)果是否為驗證失?。?/p>

所述第三判斷子模塊,用于當所述第二判斷子模塊判斷為否時,根據(jù)所述生物特征ID判斷當前用戶是否與所述當前錢包應(yīng)用匹配;

所述第四發(fā)送子模塊,用于當所述第二判斷子模塊判斷為是時,將驗證失敗作為第一驗證結(jié)果發(fā)送給所述當前錢包應(yīng)用;當所述第三判斷子模塊判斷為否時,將驗證失敗作為第一驗證結(jié)果發(fā)送給所述當前錢包應(yīng)用;當所述第三判斷子模塊判斷為是時,將驗證成功作為第一驗證結(jié)果發(fā)送給所述當前錢包應(yīng)用;

所述生物特征認證模塊包括:第五接收子模塊、第一提示子模塊、第一檢測子模塊、第四判斷子模塊和第五發(fā)送子模塊;

所述第五接收子模塊,用于接收來自所述虛擬機的第二驗證請求;

所述第一提示子模塊,用于當所述第五接收子模塊接收到來自所述虛擬機的第二驗證請求后,提示當前用戶錄入生物特征;

所述第一檢測子模塊,用于檢測用戶是否錄入生物特征;

所述第四判斷子模塊,用于根據(jù)所述第一檢測子模塊檢測到的所述生物特征判斷當前用戶是否已注冊;

所述第五發(fā)送子模塊,用于當所述第四判斷子模塊判斷為是時,將與所述生物特征對應(yīng)的生物特征ID作為第二驗證結(jié)果發(fā)送給所述虛擬機;當所述第四判斷子模塊判斷為否時,將驗證失敗作為第二驗證結(jié)果發(fā)送給所述虛擬機。

本發(fā)明的有益效果:本發(fā)明提供了的一種硬件錢包及其持有者身份驗證方法,其中硬件錢包中包括多個錢包應(yīng)用,每個錢包應(yīng)用中存儲私鑰,硬件錢包為每個錢包應(yīng)用錄入用于驗證與每個錢包應(yīng)用對應(yīng)的硬件錢包持有者身份的生物特征,只有當與當前錢包應(yīng)用對應(yīng)的硬件錢包持有者身份驗證通過后,才能使用當前錢包應(yīng)用中的私鑰對數(shù)字貨幣進行交易,在提高了數(shù)字貨幣的安全防護機制的同時,實現(xiàn)了多錢包應(yīng)用的身份認證管理。

附圖說明

圖1為本發(fā)明實施例1提供的一種硬件錢包的持有者身份驗證方法的流程圖;

圖2-圖3為本發(fā)明實施例2提供的一種硬件錢包的持有者身份驗證方法的流程圖;

圖4、圖5、圖6、圖7和圖8分別為本發(fā)明實施例2又提供的一種硬件錢包的持有者身份驗證方法中的指紋注冊流程圖、指紋驗證流程圖、指紋列表查詢流程圖、指紋清空流程和指紋刪除流程圖;

圖9為本發(fā)明實施例3提供的一種硬件錢包的方框圖。

具體實施方法

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

實施例1

本發(fā)明實施例1提供了一種硬件錢包的持有者身份驗證方法,如圖1所示,包括:

本實施例中,硬件錢包中包括:虛擬機、生物特征認證模塊和多個錢包應(yīng)用;

步驟r1:若當前錢包應(yīng)用接收到來自上位機的包括交易數(shù)據(jù)的交易請求,當前錢包應(yīng)用向虛擬機發(fā)送第一驗證請求;交易數(shù)據(jù)中包括密鑰派生路徑;

步驟r2:當虛擬機接收到來自當前錢包應(yīng)用的第一驗證請求后,虛擬機向生物特征認證模塊發(fā)送第二驗證請求;

步驟r3:生物特征認證模塊提示當前用戶錄入生物特征,當檢測到當前用戶錄入生物特征后,根據(jù)生物特征判斷當前用戶是否已注冊,如果是,則將與生物特征對應(yīng)的生物特征ID作為第二驗證結(jié)果發(fā)送給虛擬機,虛擬機執(zhí)行步驟r4;否則,則將驗證失敗作為第二驗證結(jié)果發(fā)送給虛擬機,虛擬機執(zhí)行步驟r4;

本實施例中,生物特征可以但不限于為用戶的指紋特征、人臉識別特征或其他具有識別功能的生物特征等。

其中,根據(jù)生物特征判斷當前用戶是否已注冊,具體為:生物特征認證模塊在自身的生物特征數(shù)據(jù)庫中查找該生物特征,如果查找到,則判斷當前用戶已注冊;否則,判斷當前用戶未注冊。

步驟r4:虛擬機判斷第二驗證結(jié)果是否為驗證失敗,如果是,則將驗證失敗作為第一驗證結(jié)果發(fā)送給當前錢包應(yīng)用,當前錢包應(yīng)用執(zhí)行步驟r6;否則,執(zhí)行步驟r5;

步驟r5:虛擬機根據(jù)生物特征ID判斷當前用戶是否與當前錢包應(yīng)用匹配,如果是,則將驗證成功作為第一驗證結(jié)果發(fā)送給當前錢包應(yīng)用,當前錢包應(yīng)用執(zhí)行步驟r6;否則,將驗證失敗作為第一驗證結(jié)果發(fā)送給當前錢包應(yīng)用,當前錢包應(yīng)用執(zhí)行步驟r6;

其中,根據(jù)生物特征ID判斷當前用戶是否與當前錢包應(yīng)用匹配,具體為:

虛擬機判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則判斷當前用戶與當前錢包應(yīng)用匹配;否則,判斷當前用戶與當前錢包應(yīng)用不匹配。

步驟r6:當前錢包應(yīng)用判斷第一驗證結(jié)果是否為驗證成功,如果是,則使用與密鑰派生路徑對應(yīng)的私鑰對交易數(shù)據(jù)和與密鑰派生路徑對應(yīng)的賬戶地址進行簽名生成交易憑據(jù),向上位機返回交易憑據(jù),結(jié)束當前操作;否則,向上位機報錯,結(jié)束當前操作。

本實施例中,使用與密鑰派生路徑對應(yīng)的私鑰對交易數(shù)據(jù)和與密鑰派生路徑對應(yīng)的賬戶地址進行簽名生成交易憑據(jù)之前還包括:當前錢包應(yīng)用根據(jù)自身的主密鑰通過密鑰派生算法生成與密鑰派生路徑對應(yīng)的公鑰和私鑰,并根據(jù)公鑰生成賬戶地址。

本實施例中,步驟r1之前還可以包括:

虛擬機接收來自上位機的包括激活錢包應(yīng)用指令和應(yīng)用標識的激活請求,激活與應(yīng)用標識對應(yīng)的錢包應(yīng)用,并將與應(yīng)用標識對應(yīng)的錢包應(yīng)用作為當前錢包應(yīng)用,向上位機返回激活成功應(yīng)答。

本實施例中,第二驗證請求中還可以包括:與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表;相應(yīng)地,步驟r3具體為:生物特征認證模塊提示用戶錄入生物特征,當檢測到用戶錄入生物特征后,根據(jù)生物特征、自身的生物特征數(shù)據(jù)庫和生物特征注冊結(jié)果列表判斷當前用戶是否已注冊且當前用戶是否與當前錢包應(yīng)用匹配,如果是,則將生物特征注冊結(jié)果列表中的與生物特征對應(yīng)的生物特征ID作為第二驗證結(jié)果發(fā)送給虛擬機;若沒有查找到,則將驗證失敗作為第二驗證結(jié)果發(fā)送給虛擬機。

進一步地,步驟r1和步驟r2之間還可以包括:虛擬機獲取與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表。

進一步地,第一驗證請求中還可以包括:與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表;相應(yīng)地,步驟r1之前還可以包括:

步驟c1:虛擬機接收來自當前錢包應(yīng)用的查詢生物特征注冊結(jié)果列表請求;

步驟c2:虛擬機向當前錢包應(yīng)用返回與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表。

本實施例中,根據(jù)生物特征、自身的生物特征數(shù)據(jù)庫和生物特征注冊結(jié)果列表判斷當前用戶是否已注冊且當前用戶是否與當前錢包應(yīng)用匹配,具體為:根據(jù)生物特征、自身的生物特征數(shù)據(jù)庫和生物特征注冊結(jié)果列表查找與生物特征對應(yīng)的并且生物特征注冊結(jié)果列表中的生物特征錄入結(jié)果標識為第一預(yù)設(shè)標識的生物特征ID,若查找到,判斷當前用戶已注冊且當前用戶與當前錢包應(yīng)用匹配;若沒有查找到,則判斷當前用戶未注冊和/或當前用戶與當前錢包應(yīng)用不匹配。

本實施例中提供的一種硬件錢包的持有者身份驗證方法中,還可以包括:

步驟s1:當虛擬機接收到來自當前錢包應(yīng)用的注冊請求后,虛擬機向生物特征認證模塊發(fā)送錄入請求;

步驟s2:生物特征認證模塊提示用戶錄入生物特征,當檢測到用戶錄入生物特征后,將生物特征與當前生物特征ID建立對應(yīng)關(guān)系,將自身的生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,將當前生物特征ID及與其對應(yīng)的生物特征保存到生物特征數(shù)據(jù)庫中,將錄入結(jié)果設(shè)置為錄入成功,向虛擬機發(fā)送錄入結(jié)果;當沒有檢測到用戶錄入生物特征后,將錄入結(jié)果設(shè)置為錄入失敗,向虛擬機發(fā)送錄入結(jié)果;

步驟s3:虛擬機根據(jù)錄入結(jié)果判斷生物特征認證模塊是否成功獲取到與當前生物特征ID對應(yīng)的生物特征,如果是,則執(zhí)行步驟s4;否則,向當前錢包應(yīng)用報錯,結(jié)束當前操作;

步驟s4:虛擬機將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,向當前錢包應(yīng)用返回注冊成功,結(jié)束當前操作。

進一步地,注冊請求中還可以包括當前生物特征ID;錄入請求中還可以包括當前生物特征ID。

更進一步地,步驟s1之前,還包括:虛擬機接收來自當前錢包應(yīng)用的獲取當前生物特征ID請求,虛擬機向生物特征認證模塊發(fā)送獲取當前生物特征ID請求;生物特征認證模塊從自身的生物特征數(shù)據(jù)庫中獲取當前生物特征ID,向虛擬機返回當前生物特征ID;虛擬機向當前錢包應(yīng)用返回當前生物特征ID。

再進一步地,生物特征認證模塊從自身的生物特征數(shù)據(jù)庫中獲取當前生物特征ID具體為:生物特征認證模塊從自身的生物特征數(shù)據(jù)庫中獲取注冊結(jié)果標識為第二預(yù)設(shè)標識的最小生物特征ID,并將其作為當前生物特征ID。

本實施例中,錄入請求中還可以包括當前生物特征ID;相應(yīng)地,當虛擬機接收到來自當前錢包應(yīng)用的注冊請求后,還包括:虛擬機從與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中獲取當前生物特征ID。

進一步地,虛擬機從與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中獲取當前生物特征ID,具體為:從當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中獲取注冊結(jié)果標識為第二預(yù)設(shè)標識的最小生物特征ID,并將其作為當前生物特征ID。

本實施例中,若錄入結(jié)果為錄入成功,錄入結(jié)果中還可以包括:當前生物特征ID;相應(yīng)地,將生物特征與當前生物特征ID建立對應(yīng)關(guān)系,具體為將生物特征與自身的生物特征數(shù)據(jù)庫中的當前生物特征ID建立對應(yīng)關(guān)系。

進一步地,將生物特征與當前生物特征ID建立對應(yīng)關(guān)系之前,還包括:生物特征認證模塊從自身的生物特征數(shù)據(jù)庫中獲取注冊結(jié)果標識為第二預(yù)設(shè)標識的最小生物特征ID,并將其作為當前生物特征ID。

本實施例中,若注冊請求中還包括當前生物特征ID;錄入請求中還包括當前生物特征ID,相應(yīng)地,當虛擬機接收到來自當前錢包應(yīng)用的注冊請求后,虛擬機向生物特征認證模塊發(fā)送錄入請求之前,還包括:

步驟a1:虛擬機檢測與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則向生物特征認證模塊發(fā)送錄入請求,繼續(xù);否則,執(zhí)行步驟a2;

步驟a2:虛擬機向生物特征認證模塊發(fā)送包括生物特征ID的第一查找請求;

步驟a3:生物特征認證模塊接收到來自虛擬機的第一查找請求后,判斷在自身的生物特征數(shù)據(jù)庫中與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則將第一查找結(jié)果設(shè)置為失敗,向虛擬機發(fā)送第一查找結(jié)果;否則,將第一查找結(jié)果設(shè)置為成功,向虛擬機發(fā)送第一查找結(jié)果;

步驟a4:虛擬機根據(jù)第一查找結(jié)果判斷生物特征認證模塊的生物特征數(shù)據(jù)庫中與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果是否為第一預(yù)設(shè)標識,如果是,則向當前錢包應(yīng)用報錯,結(jié)束當前操作;否則,向生物特征認證模塊發(fā)送錄入請求,繼續(xù)。

本實施例中,注冊請求中還可以包括錄入次數(shù);錄入請求中還可以包括錄入次數(shù);相應(yīng)地:

步驟s3中判斷為是后,步驟s4之前,還包括:虛擬機判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則執(zhí)行步驟s4;否則,向當前錢包應(yīng)用返回注冊成功,返回步驟s1;

生物特征認證模塊將生物特征與當前生物特征ID建立對應(yīng)關(guān)系后,將自身的生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識之前還包括:判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則將自身的生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,將當前生物特征ID及與其對應(yīng)的生物特征保存到生物特征數(shù)據(jù)庫中,將錄入結(jié)果設(shè)置為錄入成功,向虛擬機發(fā)送錄入結(jié)果;否則,將錄入結(jié)果設(shè)置為錄入成功,向虛擬機發(fā)送錄入結(jié)果。

本實施例中提供的一種硬件錢包的持有者身份驗證方法中,還可以包括:

步驟d1:當虛擬機接收來自當前錢包應(yīng)用的清空請求后,虛擬機將生物特征注冊結(jié)果列表中的第一個生物特征ID作為當前生物特征ID;

步驟d2:虛擬機判斷當前生物特征ID是否超過預(yù)設(shè)限制范圍,如果是,則向當前錢包應(yīng)用返回清空成功信息,結(jié)束當前操作;否則,執(zhí)行步驟d3;

步驟d3:虛擬機判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟d4;否則,執(zhí)行步驟d8;

步驟d4:虛擬機向生物特征認證模塊發(fā)送包括當前生物特征ID的刪除請求;

步驟d5:生物特征認證模塊在自身的生物特征數(shù)據(jù)庫中查找當前生物特征ID,若查找到,則將生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,刪除與當前生物特征ID對應(yīng)的生物特征,將刪除結(jié)果設(shè)置為刪除成功,向虛擬機返回刪除結(jié)果,虛擬機執(zhí)行步驟d6;若沒有在所在生物特征數(shù)據(jù)庫中查找到當前生物特征ID,則將刪除結(jié)果設(shè)置為刪除失敗,向虛擬機返回刪除結(jié)果,虛擬機執(zhí)行步驟d6;

步驟d6:虛擬機根據(jù)刪除結(jié)果判斷生物特征認證模塊是否已刪除與當前生物特征ID對應(yīng)的生物特征,如果是,則執(zhí)行步驟d7;否則,向當前錢包應(yīng)用報錯;結(jié)束當前操作;

步驟d7:虛擬機將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;

步驟d8:虛擬機將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的當前生物特征ID的下個生物特征ID作為當前生物特征ID,返回步驟d2。

本實施例中提供的一種硬件錢包的持有者身份驗證方法中,還可以包括:

步驟f1:當虛擬機接收來自當前錢包應(yīng)用的包括當前生物特征ID的刪除請求后,虛擬機判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟f2;否則,向當前錢包應(yīng)用報錯;結(jié)束當前操作;

步驟f2:虛擬機向生物特征認證模塊發(fā)送包括當前生物特征ID的刪除請求;

步驟f3:生物特征認證模塊在自身的生物特征數(shù)據(jù)庫中查找當前生物特征ID,若查找到,則將生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,刪除與當前生物特征ID對應(yīng)的生物特征,將刪除結(jié)果設(shè)置為刪除成功,向虛擬機返回刪除結(jié)果,虛擬機執(zhí)行步驟f4;若沒有在所在生物特征數(shù)據(jù)庫中查找到當前生物特征ID,則將刪除結(jié)果設(shè)置為刪除失敗,向虛擬機返回刪除結(jié)果,虛擬機執(zhí)行步驟f4;

步驟f4:虛擬機根據(jù)刪除結(jié)果判斷生物特征認證模塊是否已刪除與當前生物特征ID對應(yīng)的生物特征,如果是,則執(zhí)行步驟f5;否則,向當前錢包應(yīng)用報錯;結(jié)束當前操作;

步驟f5:虛擬機將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;向當前錢包應(yīng)用返回刪除成功信息;結(jié)束當前操作。

進一步地,當虛擬機接收來自當前錢包應(yīng)用的包括當前生物特征ID的刪除請求后,步驟f1之前還包括:虛擬機在與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中查找當前生物特征ID,若查找到,則執(zhí)行步驟f1;否則,向當前錢包應(yīng)用報錯;結(jié)束當前操作。

本實施例提供了的一種硬件錢包的持有者身份驗證方法,其中硬件錢包中包括虛擬機、生物特征認證模塊和多個錢包應(yīng)用,每個錢包應(yīng)用中存儲私鑰,硬件錢包通過虛擬機和生物特征認證模塊為每個錢包應(yīng)用錄入用于驗證與每個錢包應(yīng)用對應(yīng)的硬件錢包持有者身份的生物特征,只有當與當前錢包應(yīng)用對應(yīng)的硬件錢包持有者身份驗證通過后,才能使用當前錢包應(yīng)用中的私鑰對數(shù)字貨幣進行交易,在提高了數(shù)字貨幣的安全防護機制的同時,實現(xiàn)了多錢包應(yīng)用的身份認證管理。

實施例2

本實施例提供了一種硬件錢包的持有者身份驗證方法,如圖2-圖3所示,包括:

本實施例中,硬件錢包中包括1個或多個錢包應(yīng)用、虛擬機和生物特征認證模塊。本實施例中,生物特征認證模塊以指紋模塊為例。生物特征數(shù)據(jù)庫具體為:指紋數(shù)據(jù)庫;生物特征注冊結(jié)果列表具體為:應(yīng)用指紋列表。

步驟101:虛擬機接收來自當前錢包應(yīng)用的請求,當接收到注冊指紋請求后,執(zhí)行步驟102;當接收到第一驗證指紋請求后,執(zhí)行步驟111;當接收到查詢指紋列表請求后,執(zhí)行步驟118;當接收到清空指紋請求后,執(zhí)行步驟123;當接收到刪除指紋請求后,執(zhí)行步驟132;

需說明的是,步驟101之前,還包括:虛擬機接收來自上位機的包括激活錢包應(yīng)用指令和錢包應(yīng)用的應(yīng)用標識的激活請求,根據(jù)激活錢包應(yīng)用指令激活與應(yīng)用標識對應(yīng)的錢包應(yīng)用,并將與應(yīng)用標識對應(yīng)的錢包應(yīng)用作為當前錢包應(yīng)用,保存當前錢包應(yīng)用的應(yīng)用標識,等待接收來自當前錢包應(yīng)用的指紋管理請求。

本實施例中,還包括:若當前錢包應(yīng)用接收到來自上位機的包括交易數(shù)據(jù)的交易請求,當前錢包應(yīng)用向虛擬機發(fā)送第一驗證請求,等待接收來自虛擬機返回的第一驗證結(jié)果;其中,交易數(shù)據(jù)包括密鑰派生路徑;當接收到來自虛擬機的第一驗證結(jié)果后,當前錢包應(yīng)用判斷第一驗證結(jié)果是否為指紋ID,如果是,則使用與密鑰派生路徑對應(yīng)的私鑰對交易數(shù)據(jù)和與密鑰派生路徑對應(yīng)的賬戶地址進行簽名生成交易憑據(jù),向上位機返回交易憑據(jù);否則,向上位機報錯。

本實施例中,硬件錢包中包括1個或多個錢包應(yīng)用,應(yīng)用標識為每個錢包應(yīng)用的唯一識別標識。例如,硬件錢包中包括3個錢包應(yīng)用,分別為第一錢包應(yīng)用、第二錢包應(yīng)用和第三錢包應(yīng)用,其中,第一錢包應(yīng)用的應(yīng)用標識為應(yīng)用標識1,第二錢包應(yīng)用的應(yīng)用標識為應(yīng)用標識2,第三錢包應(yīng)用的應(yīng)用標識為應(yīng)用標識3。

本實施例中,上位機可以但不限于為PC或手機。

步驟102:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟104;否則,執(zhí)行步驟103;

具體地,虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)是否為空,如果是,則檢測出沒有初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),執(zhí)行步驟103;否則,檢測出當前錢包應(yīng)用已初始化指紋管理存儲區(qū),執(zhí)行步驟104。

例如,若虛擬機獲取到當前錢包應(yīng)用的應(yīng)用標識1,則根據(jù)應(yīng)用標識1檢測與第一錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)是否為空,如果是,則檢測出沒有初始化與第一錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),執(zhí)行步驟103;否則,檢測出已初始化與第一錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),執(zhí)行步驟104。

若虛擬機獲取到當前錢包應(yīng)用的應(yīng)用標識2,則根據(jù)應(yīng)用標識2檢測與二錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)是否為空,如果是,則檢測出沒有初始化與第二錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),執(zhí)行步驟103;否則,檢測出已初始化與第二錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),執(zhí)行步驟104。

步驟103:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

具體地,虛擬機初始化指紋ID以及與指紋ID對應(yīng)的指紋錄入結(jié)果標識,將指紋ID和與指紋ID對應(yīng)的指紋結(jié)果錄入標識存儲到與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)。

例如,若當前錢包應(yīng)用為第一錢包應(yīng)用,虛擬機初始化指紋ID0-指紋ID83,將與指紋ID對應(yīng)的指紋錄入結(jié)果標識初始化為第二預(yù)設(shè)標識;將指紋ID和與指紋ID對應(yīng)的指紋結(jié)果錄入標識存儲到與第一錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),得到如表1所示的應(yīng)用指紋列表。本實施例中,優(yōu)選地,第二預(yù)設(shè)標識為0。

表1

若當前錢包應(yīng)用為第二錢包應(yīng)用,虛擬機初始化指紋ID0-指紋ID83,將與指紋ID對應(yīng)的指紋錄入結(jié)果標識初始化為第二預(yù)設(shè)標識;將指紋ID和與指紋ID對應(yīng)的指紋結(jié)果錄入標識存儲到與第二錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),得到如表2所示的應(yīng)用指紋列表。

表2

需說明的是,本實施例中表1和表2僅為指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系的一種表示形式,本實施例中指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系的表示形式可以但不限于如表1和表2所示。

步驟104:虛擬機檢測與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與注冊指紋請求中的指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟106;否則,執(zhí)行步驟105;

本實施例中,優(yōu)選地,第一預(yù)設(shè)標識為1。

步驟105:虛擬機判斷指紋模塊的指紋數(shù)據(jù)庫中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則向當前錢包應(yīng)用報錯,返回步驟101;否則,執(zhí)行步驟106;

具體包括:步驟1051:虛擬機向指紋模塊發(fā)送包括指紋ID的第一查找請求;

步驟1052:指紋模塊根據(jù)第一查找請求中的指紋ID,在自身的指紋數(shù)據(jù)庫中查找與指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則將第一查找結(jié)果設(shè)置為成功,執(zhí)行步驟1053;否則,將第一查找結(jié)果設(shè)置為失敗,執(zhí)行步驟1053;

本實施例中,指紋模塊在步驟1052之前,還包括:指紋模塊上電初始化,具體地,指紋模塊上電后,初始化指紋數(shù)據(jù)庫,在自身的指紋數(shù)據(jù)庫中初始化包括指紋ID及與指紋ID對應(yīng)的指紋錄入結(jié)果的芯片指紋列表。

例如,指紋模塊上電后,初始化指紋數(shù)據(jù)庫,指紋模塊初始化指紋ID0-指紋ID83,將與指紋ID對應(yīng)的指紋錄入結(jié)果標識初始化為第二預(yù)設(shè)標識;將指紋ID和與指紋ID對應(yīng)的指紋結(jié)果錄入標識存儲到自身的指紋數(shù)據(jù)庫中,得到如表3所示的芯片指紋列表。

表3

需說明的是,本實施例中表3僅為指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系的一種表示形式,本實施例中指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系的表示形式可以但不限于如表3所示。

步驟1053:指紋模塊向虛擬機發(fā)送第一查找結(jié)果;

步驟1054:虛擬機根據(jù)第一查找結(jié)果判斷指紋模塊的指紋數(shù)據(jù)庫中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則向當前錢包應(yīng)用報錯,返回步驟101;否則,執(zhí)行步驟106;

步驟106:虛擬機向指紋模塊發(fā)送包括指紋ID和注冊請求中的錄入次數(shù)的錄入指紋請求;接收來自指紋模塊的錄入結(jié)果;

當指紋模塊接收到來自虛擬機的包括指紋ID和注冊請求中的錄入次數(shù)的錄入指紋請求后,指紋模塊提示用戶錄入指紋,當沒有檢測到用戶錄入指紋后,將錄入結(jié)果設(shè)置為錄入失敗,向虛擬機返回錄入結(jié)果;當檢測到用戶錄入指紋后,根據(jù)用戶錄入的指紋獲取指紋特征,將指紋特征與指紋ID及錄入次數(shù)建立對應(yīng)關(guān)系,指紋模塊判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則將自身的指紋數(shù)據(jù)庫中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,并將與指紋ID和每個錄入次數(shù)對應(yīng)的指紋特征保存到指紋數(shù)據(jù)庫中,將錄入結(jié)果設(shè)置為注冊成功,向虛擬機返回錄入結(jié)果;否則,將錄入結(jié)果設(shè)置為注冊成功,向虛擬機返回錄入結(jié)果。

或者當指紋模塊接收到來自虛擬機的錄入指紋請求后,當沒有檢測到用戶錄入指紋后,將錄入結(jié)果設(shè)置為錄入失敗,向虛擬機返回錄入結(jié)果;當檢測到用戶錄入指紋后,根據(jù)用戶錄入的指紋獲取指紋特征,將指紋特征與指紋ID及錄入次數(shù)建立對應(yīng)關(guān)系,將錄入結(jié)果設(shè)置為注冊成功,判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則將自身的指紋數(shù)據(jù)庫中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,并將與指紋ID和每個錄入次數(shù)對應(yīng)的指紋特征保存到指紋數(shù)據(jù)庫中,向虛擬機返回錄入結(jié)果;否則,向虛擬機返回錄入結(jié)果。

其中,將指紋特征與指紋ID及錄入次數(shù)建立對應(yīng)關(guān)系,具體為,將錄入次數(shù)設(shè)置為指紋特征的標識,將設(shè)置標識后的指紋特征與指紋ID建立對應(yīng)關(guān)系。

例如,當指紋模塊接收到來自虛擬機的包括指紋ID為指紋ID1和注冊請求中的錄入次數(shù)為1的錄入指紋請求后,指紋模塊提示用戶錄入指紋,當檢測到用戶錄入指紋后,根據(jù)用戶錄入的指紋獲取指紋特征,將錄入次數(shù)1設(shè)置為指紋特征的標識,將設(shè)置標識后的指紋特征1與指紋ID建立對應(yīng)關(guān)系,指紋模塊判斷錄入次數(shù)1不為預(yù)設(shè)限制次數(shù),則將錄入結(jié)果設(shè)置為注冊成功,向虛擬機返回錄入結(jié)果。

當指紋模塊接收到來自虛擬機的包括指紋ID為指紋ID1和注冊請求中的錄入次數(shù)為4的錄入指紋請求后,指紋模塊提示用戶錄入指紋,當檢測到用戶錄入指紋后,根據(jù)用戶錄入的指紋獲取指紋特征,將錄入次數(shù)4設(shè)置為指紋特征的標識,將設(shè)置標識后的指紋特征4與指紋ID建立對應(yīng)關(guān)系,指紋模塊判斷錄入次數(shù)4為預(yù)設(shè)限制次數(shù),則將自身的指紋數(shù)據(jù)庫中的與指紋ID1對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,得到如表3-1所示的更新后的指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系,并將與指紋ID1和每個錄入次數(shù)對應(yīng)的指紋特征保存到指紋數(shù)據(jù)庫,得到如表4所示的列表,將錄入結(jié)果設(shè)置為注冊成功,向虛擬機返回錄入結(jié)果;否則,將錄入結(jié)果設(shè)置為注冊成功,向虛擬機返回錄入結(jié)果。

優(yōu)選地,預(yù)選限制次數(shù)為4。

表3-1

表4

需說明的是,本實施例中表4僅為指紋特征與指紋ID及錄入次數(shù)的對應(yīng)關(guān)系的一種表示形式,本實施例中指紋特征與指紋ID及錄入次數(shù)的對應(yīng)關(guān)系的表示形式可以但不限于如表4所示。

本實施例中,與指紋ID1對應(yīng)的指紋特征1、指紋特征2、指紋特征3和指紋特征4可以全部相同或者部分相同或者各不相同。例如,與指紋ID1對應(yīng)的指紋特征1、指紋特征2和指紋特征3均與用戶的食指對應(yīng),指紋特征4與用戶的中指對應(yīng)。

步驟107:虛擬機根據(jù)錄入結(jié)果判斷指紋模塊是否成功獲取到指紋特征,如果是,則執(zhí)行步驟108;否則,則向當前錢包應(yīng)用報錯,返回步驟101;

步驟108:虛擬機判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則執(zhí)行步驟109;否則,執(zhí)行步驟110;

步驟109:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識;

例如,虛擬機將與第一錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與指紋ID1對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,得到如表1-1所示的更新后的指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系。

表1-1

步驟110:虛擬機向當前錢包應(yīng)用返回指紋ID,返回步驟101。

本實施例中,虛擬機中為多個錢包應(yīng)用分別分配對應(yīng)的指紋存儲區(qū),每個指紋存儲區(qū)中存儲著與各自錢包應(yīng)用對應(yīng)的指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系,指紋模塊的指紋數(shù)據(jù)庫中存儲著與所有錢包應(yīng)用對應(yīng)的指紋ID與紋錄入結(jié)果標識的對應(yīng)關(guān)系、與所有錢包應(yīng)用對應(yīng)的指紋特征與指紋ID及錄入次數(shù)的對應(yīng)關(guān)系。例如,若虛擬機接收到來自第一錢包應(yīng)用的包括指紋ID為1,錄入次數(shù)為限制次數(shù)注冊指紋請求后,虛擬機將指紋ID1對應(yīng)的指紋注冊完成后,虛擬機中的與第一錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系可以如表1-1所示,指紋模塊的數(shù)據(jù)庫中指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系可以如表3-1所示;指紋特征與指紋ID及錄入次數(shù)的對應(yīng)關(guān)系如表4所示。若虛擬機將指紋ID1對應(yīng)的指紋注冊完成后,又接收到第二錢包應(yīng)用的包括指紋ID為0,錄入次數(shù)為限制次數(shù)注冊指紋請求后,虛擬機按照再次執(zhí)行步驟101-110,當虛擬機將指紋ID0對應(yīng)的指紋注冊完成后,虛擬機中的與第二錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系可以如表2-1所示,指紋模塊再次更新的數(shù)據(jù)庫中指紋ID與指紋錄入結(jié)果標識的對應(yīng)關(guān)系,得到表3-2所示的列表;指紋模塊更新指紋特征與指紋ID及錄入次數(shù)的對應(yīng)關(guān)系,得到如表4-1所示的列表。

表2-1

表3-2

表4-1

本實施例中,與指紋ID0對應(yīng)的指紋特征1、指紋特征2、指紋特征3和指紋特征4可以全部相同或者部分相同或者各不相同。例如,與指紋ID0對應(yīng)的指紋特征1、指紋特征2和指紋特征3均與用戶的中指對應(yīng),指紋特征4與用戶的食指對應(yīng)。

步驟111:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟113;否則,執(zhí)行步驟112;

步驟112:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟113:虛擬機從與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中獲取包括指紋ID及與指紋ID對應(yīng)的指紋錄入結(jié)果標識的應(yīng)用指紋列表;

例如,虛擬機從與第一錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中獲取包括指紋ID及與指紋ID對應(yīng)的指紋錄入結(jié)果標識的應(yīng)用指紋列表如表1-1所示。

步驟114:虛擬機向指紋模塊發(fā)送包括應(yīng)用指紋列表的第二驗證指紋請求;

當指紋模塊接收到來自虛擬機的包括應(yīng)用指紋列表的第二驗證請求后,指紋模塊提示用戶錄入指紋,當檢測到用戶錄入指紋后,獲取與用戶錄入的指紋對應(yīng)的指紋特征,在應(yīng)用指紋列表中查找與指紋特征對應(yīng)的并且指紋錄入結(jié)果標識為第一預(yù)設(shè)標識的指紋ID,若查找到,則將指紋ID作為第二驗證結(jié)果發(fā)送給虛擬機;若沒有查找到,將驗證失敗作為第二驗證結(jié)果發(fā)送給虛擬機;當沒有檢測到用戶錄入指紋后,將驗證失敗作為第二驗證結(jié)果發(fā)送給虛擬機。

例如,當指紋模塊接收到來自虛擬機的包括表1-1所示的應(yīng)用指紋列表的第二驗證請求后,指紋模塊提示用戶錄入指紋,當檢測到用戶錄入指紋后,獲取與用戶錄入的食指指紋對應(yīng)的指紋特征,在表1-1中查找與食指指紋對應(yīng)的指紋特征1、指紋特征2和指紋特征3所對應(yīng)的指紋ID1的錄入結(jié)果標識為第一預(yù)設(shè)標識,則將指紋ID1作為驗證結(jié)果發(fā)送給虛擬機。

步驟115:虛擬機接收來自指紋模塊的第二驗證結(jié)果,根據(jù)第二驗證結(jié)果判斷指紋模塊是否驗證成功,如果是,則執(zhí)行步驟116;否則,則將驗證失敗作為第一驗證結(jié)果,執(zhí)行步驟117;

具體地,虛擬機接收來自指紋模塊的第二驗證結(jié)果,判斷第二驗證結(jié)果是否為指紋ID,如果是,則判斷指紋模塊驗證成功,則執(zhí)行步驟116;否則,則向當前錢包應(yīng)用報錯,返回步驟101。

步驟116:虛擬機在與當前錢包應(yīng)用對應(yīng)的應(yīng)用指紋列表中查詢與指紋ID對應(yīng)的指紋錄入結(jié)果標識是否是第一預(yù)設(shè)標識,如果是,則將指紋ID作為第一驗證結(jié)果,執(zhí)行步驟117;否則,將驗證失敗作為第一驗證結(jié)果,執(zhí)行步驟117;

步驟117:虛擬機向當前錢包應(yīng)用返回第一驗證結(jié)果,返回步驟101。

本實施例提供的一種硬件錢包的持有者身份驗證方法中,通過使用“虛擬機向指紋模塊發(fā)送包括應(yīng)用指紋列表的第二驗證指紋請求,當指紋模塊接收到來自虛擬機的包括應(yīng)用指紋列表的第二驗證請求后,提示用戶錄入指紋,當檢測到用戶錄入指紋后,在應(yīng)用指紋列表中查找與指紋特征對應(yīng)的并且指紋錄入結(jié)果標識為第一預(yù)設(shè)標識的指紋ID,若查找到,則將指紋ID作為驗證結(jié)果發(fā)送給虛擬機;若沒有查找到,將驗證失敗作為驗證結(jié)果發(fā)送給虛擬機”的技術(shù)手段,可以避免:若用戶使用同一根手指為多個錢包應(yīng)用注冊指紋后,在虛擬機對當前錢包應(yīng)用的指紋驗證過程中,用戶使用該手指驗證指紋時,若指紋模塊根據(jù)自身指紋數(shù)據(jù)庫中的指紋ID與該手指指紋特征的對應(yīng)關(guān)系,向虛擬機返回指紋ID時,可能會將當前錢包應(yīng)用之外的其他錢包應(yīng)用的指紋ID返回給虛擬機,當執(zhí)行到步驟116時,虛擬機會向當前錢包應(yīng)用報錯,而導(dǎo)致指紋驗證失敗的情況發(fā)生,影響用戶體驗。

例如,若用戶使用食指為第一錢包應(yīng)用和第二錢包應(yīng)用注冊指紋后,若當前應(yīng)用為第一錢包應(yīng)用,在虛擬機對第一錢包應(yīng)用的指紋驗證過程中,用戶使用該手指驗證指紋時,若指紋模塊采用輪詢的方法在自身指紋數(shù)據(jù)庫中的如表4-1所示的指紋ID與指紋特征的對應(yīng)關(guān)系中,查找到與食指對應(yīng)的指紋特征4對應(yīng)的指紋ID0,向虛擬機返回指紋ID0,當執(zhí)行到步驟116時,虛擬機在與第一錢包應(yīng)用對應(yīng)的如表1-1所示的應(yīng)用指紋列表中查詢與指紋ID對應(yīng)的指紋錄入結(jié)果標識不為第一預(yù)設(shè)標識,虛擬機會向第一錢包應(yīng)用報錯,而導(dǎo)致指紋驗證失敗的情況發(fā)生,影響用戶體驗。

步驟118:虛擬機從指紋模塊中獲取最小可用指紋ID;

步驟118具體包括:虛擬機向指紋模塊發(fā)送獲取最小可用指紋ID請求;接收來自指紋模塊的最小可用指紋ID。

當指紋模塊接收到來自虛擬機的最小可用指紋ID請求后,指紋模塊從自身的指紋數(shù)據(jù)庫中查找到最小可用指紋ID,向虛擬機發(fā)送最小可用指紋ID。

具體地,當指紋模塊接收到來自虛擬機的最小可用指紋ID請求后,指紋模塊從自身的指紋數(shù)據(jù)庫中查找指紋錄入結(jié)果標識為第二預(yù)設(shè)標識的且數(shù)值最小的指紋ID,若查找到,則將其作為最小可用指紋向虛擬機發(fā)送;若沒有查找到,則向虛擬機報錯。

步驟119:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟121;否則,執(zhí)行步驟120;

步驟120:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),執(zhí)行步驟121;

步驟121:虛擬機從與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中獲取包括指紋ID及與指紋ID對應(yīng)的指紋錄入結(jié)果標識的應(yīng)用指紋列表;

步驟122:虛擬機向當前錢包應(yīng)用返回應(yīng)用指紋列表及最小可用指紋ID,返回步驟101。

步驟123:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟125;否則,執(zhí)行步驟124;

步驟124:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟125:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的第一個指紋ID作為當前指紋ID;

步驟126:虛擬機判斷當前指紋ID是否超過預(yù)設(shè)限制范圍,如果是,則執(zhí)行步驟131;否則,執(zhí)行步驟127;

步驟127:虛擬機判斷與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟128;否則,將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的當前指紋ID的下一個指紋ID作為當前指紋ID,返回步驟126;

步驟128:虛擬機根據(jù)當前指紋ID向指紋模塊發(fā)送刪除請求;接收來自指紋模塊的刪除結(jié)果;

當指紋模塊接收到來自虛擬機的刪除請求后,指紋模塊將指紋數(shù)據(jù)庫中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,刪除與當前指紋ID對應(yīng)的各個指紋特征,指紋模塊將刪除結(jié)果設(shè)置為刪除成功,向虛擬機返回刪除結(jié)果。若指紋模塊接收到來自虛擬機的刪除請求后,沒有在數(shù)據(jù)庫中查找到與當前指紋ID,則將刪除結(jié)果設(shè)置為刪除失敗,向虛擬機返回刪除結(jié)果。

步驟129:虛擬機根據(jù)刪除結(jié)果判斷指紋模塊是否刪除與當前指紋ID對應(yīng)的指紋特征,如果是,則執(zhí)行步驟130;否則,向當前錢包應(yīng)用報錯,返回步驟101;

步驟130:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的當前指紋ID的下一個指紋ID作為當前指紋ID,返回步驟126;

步驟131:虛擬機向當前錢包應(yīng)用返回清空成功信息,返回步驟101;

步驟132:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟134;否則,執(zhí)行步驟133;

步驟133:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟134:虛擬機判斷刪除指紋請求中的當前指紋ID是否存儲在與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中,如果是,則執(zhí)行步驟135;否則,向當前錢包應(yīng)用報錯,返回步驟101;

步驟135:虛擬機判斷與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟136;否則,向當前錢包應(yīng)用報錯,返回步驟101;

步驟136:虛擬機根據(jù)當前指紋ID向指紋模塊發(fā)送刪除請求;接收來自指紋模塊的刪除結(jié)果;

當指紋模塊接收到來自虛擬機的刪除請求后,指紋模塊將指紋數(shù)據(jù)庫中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,刪除與當前指紋ID對應(yīng)的各個指紋特征,指紋模塊將刪除結(jié)果設(shè)置為刪除成功,向虛擬機返回刪除結(jié)果;若指紋模塊接收到來自虛擬機的刪除請求后,沒有在數(shù)據(jù)庫中查找到與當前指紋ID,則將刪除結(jié)果設(shè)置為刪除失敗,向虛擬機返回刪除結(jié)果。

步驟137:虛擬機根據(jù)刪除結(jié)果判斷指紋模塊是否刪除當前指紋ID對應(yīng)的指紋特征,如果是,則執(zhí)行步驟138;否則,向當前錢包應(yīng)用報錯,返回步驟101;

步驟138:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;

步驟139:虛擬機向當前錢包應(yīng)用返回刪除成功信息,返回步驟101。

本實施例還提供了一種硬件錢包的持有者身份驗證方法,其中,硬件錢包中包括錢包應(yīng)用、虛擬機和指紋模塊,所述方法包括:指紋注冊流程、指紋驗證流程、指紋列表查詢流程、指紋清空流程和指紋刪除流程,其中,指紋注冊流程,如圖4所示,包括:

步驟201:當前錢包應(yīng)用向虛擬機發(fā)送注冊指紋請求;

需說明的是,步驟201之前,還包括:虛擬機接收來自上位機的包括激活錢包應(yīng)用指令和錢包應(yīng)用的應(yīng)用標識的激活請求,根據(jù)激活錢包應(yīng)用指令激活與應(yīng)用標識對應(yīng)的錢包應(yīng)用,并將與應(yīng)用標識對應(yīng)的錢包應(yīng)用作為當前錢包應(yīng)用,保存當前錢包應(yīng)用的應(yīng)用標識,等待接收來自當前錢包應(yīng)用的指紋管理請求。本實施例中,指紋管理請求包括:注冊指紋請求、驗證指紋請求、查詢指紋列表請求、清空指紋列表請求和刪除指紋列表請求。

本實施例中,硬件錢包中包括1個或多個錢包應(yīng)用,應(yīng)用標識為每個錢包應(yīng)用的唯一識別標識。例如,硬件錢包中包括3個錢包應(yīng)用,分別為第一錢包應(yīng)用、第二錢包應(yīng)用和第三錢包應(yīng)用,其中,第一錢包應(yīng)用的應(yīng)用標識為應(yīng)用標識1,第二錢包應(yīng)用的應(yīng)用標識為應(yīng)用標識2,第三錢包應(yīng)用的應(yīng)用標識為應(yīng)用標識3。

步驟202:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟204;否則,執(zhí)行步驟203;

步驟203:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟204:虛擬機檢測與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與注冊指紋請求中的指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟209;否則,執(zhí)行步驟205;

步驟205:虛擬機向指紋模塊發(fā)送包括指紋ID的第一查找請求;

步驟206:指紋模塊根據(jù)第一查找請求中的指紋ID,在自身的指紋數(shù)據(jù)庫中查找與指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則將第一查找結(jié)果設(shè)置為失敗,執(zhí)行步驟207;否則,將第一查找結(jié)果設(shè)置為成功,執(zhí)行步驟207;

步驟207:指紋模塊向虛擬機發(fā)送第一查找結(jié)果;

步驟208:虛擬機根據(jù)第一查找結(jié)果判斷指紋模塊的指紋數(shù)據(jù)庫中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則向當前錢包應(yīng)用報錯;否則,執(zhí)行步驟209;

步驟209:虛擬機向指紋模塊發(fā)送包括指紋ID和注冊請求中的錄入次數(shù)的錄入指紋請求;

步驟210:指紋模塊提示用戶錄入指紋,當檢測到用戶錄入指紋后,執(zhí)行步驟211;當沒有檢測到用戶錄入指紋后,將錄入結(jié)果設(shè)置為錄入失敗,執(zhí)行步驟213;

步驟211:指紋模塊根據(jù)用戶錄入的指紋獲取指紋特征,將指紋特征與指紋ID及錄入次數(shù)建立對應(yīng)關(guān)系;

步驟212:指紋模塊判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則將自身的指紋數(shù)據(jù)庫中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,并將與指紋ID和每個錄入次數(shù)對應(yīng)的指紋特征保存到指紋數(shù)據(jù)庫中,將錄入結(jié)果設(shè)置為錄入成功,執(zhí)行步驟213;如果否,將錄入結(jié)果設(shè)置為錄入成功,執(zhí)行步驟213;

本實施例中,步驟212還可以具體為:指紋模塊將錄入結(jié)果設(shè)置為錄入成功,判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則將自身的指紋數(shù)據(jù)庫中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,并將與指紋ID和每個錄入次數(shù)對應(yīng)的指紋特征保存到指紋數(shù)據(jù)庫中,執(zhí)行步驟213;否則,執(zhí)行步驟213;

步驟213:指紋模塊向虛擬機發(fā)送錄入結(jié)果;

步驟214:虛擬機根據(jù)錄入結(jié)果判斷指紋模塊是否成功獲取到指紋特征,如果是,則執(zhí)行步驟215;否則,則向當前錢包應(yīng)用報錯;

步驟215:虛擬機判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù),如果是,則執(zhí)行步驟216;否則,執(zhí)行步驟217;

步驟216:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識;

步驟217:虛擬機向當前錢包應(yīng)用返回指紋ID。

指紋驗證流程,如圖5所示,包括:

步驟301:當前錢包應(yīng)用向虛擬機發(fā)送第一驗證指紋請求;

步驟302:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟304;否則,執(zhí)行步驟303;

步驟303:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟304:虛擬機從與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中獲取包括指紋ID及與指紋ID對應(yīng)的指紋錄入結(jié)果標識的應(yīng)用指紋列表;

步驟305:虛擬機向指紋模塊發(fā)送包括應(yīng)用指紋列表的第二驗證指紋請求;

步驟306:指紋模塊提示用戶錄入指紋,當檢測到用戶錄入指紋后,獲取與用戶錄入的指紋對應(yīng)的指紋特征,在應(yīng)用指紋列表中查找與指紋特征對應(yīng)的并且指紋錄入結(jié)果標識為第一預(yù)設(shè)標識的指紋ID,若查找到,則將指紋ID作為第二驗證結(jié)果發(fā)送給虛擬機;若沒有查找到,則將驗證失敗作為第二驗證結(jié)果發(fā)送給虛擬機;當沒有檢測到用戶錄入指紋后,將驗證失敗作為第二驗證結(jié)果發(fā)送給虛擬機;

步驟307:虛擬機判斷第二驗證結(jié)果是否為驗證失敗,如果是,則將驗證失敗作為第一驗證結(jié)果發(fā)送給當前錢包應(yīng)用;否則,執(zhí)行步驟308;

步驟308:虛擬機在與當前錢包應(yīng)用對應(yīng)的應(yīng)用指紋列表中查詢與指紋ID對應(yīng)的指紋錄入結(jié)果標識是否是第一預(yù)設(shè)標識,如果是,則將指紋ID作為第一驗證結(jié)果,執(zhí)行步驟309;否則,則將驗證失敗作為第一驗證結(jié)果,執(zhí)行步驟309;

步驟309:虛擬機向前錢包應(yīng)用返回第一驗證結(jié)果。

需說明的是,步驟301之前還包括:當前錢包應(yīng)用接收到來自上位機的包括交易數(shù)據(jù)的交易請求;其中,交易數(shù)據(jù)包括密鑰派生路徑;相應(yīng)地,當當前錢包應(yīng)用接收到來自虛擬機的第一驗證結(jié)果后,若第一驗證結(jié)果為指紋ID,則判斷第一驗證結(jié)果是否為驗證成功,則使用與密鑰派生路徑對應(yīng)的私鑰對交易數(shù)據(jù)和與密鑰派生路徑對應(yīng)的賬戶地址進行簽名生成交易憑據(jù),向上位機返回交易憑據(jù);若第一驗證結(jié)果為驗證失敗,則向上位機報錯。

指紋列表查詢流程,如圖6所述,包括:

步驟401:當前錢包應(yīng)用向虛擬機發(fā)送查詢指紋列表請求;

步驟402:虛擬機向指紋模塊發(fā)送獲取最小可用指紋ID請求;

步驟403:指紋模塊從自身的指紋數(shù)據(jù)庫中查找到最小可用指紋ID;

具體地,指紋模塊從自身的指紋數(shù)據(jù)庫中查找指紋錄入結(jié)果標識為第二預(yù)設(shè)標識的且數(shù)值最小的指紋ID,若查找到,則將其作為最小可用指紋ID;若沒有查找到,則向虛擬機報錯。

步驟404:指紋模塊向虛擬機發(fā)送最小可用指紋ID;

步驟405:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟407;否則,執(zhí)行步驟406;

步驟406:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟407:虛擬機從與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中獲取包括指紋ID及與指紋ID對應(yīng)的指紋錄入結(jié)果標識的應(yīng)用指紋列表;

步驟408:虛擬機向當前錢包應(yīng)用返回應(yīng)用指紋列表及最小可用指紋ID。

指紋清空流程,如圖7所示,包括:

步驟501:當前錢包應(yīng)用向虛擬機發(fā)送清空指紋列表請求;

步驟502:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟504;否則,執(zhí)行步驟503;

步驟503:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟504:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的第一個指紋ID作為當前指紋ID;

步驟505:虛擬機判斷當前指紋ID是否超過預(yù)設(shè)限制范圍,如果是,則執(zhí)行步驟512;否則,執(zhí)行步驟506;

步驟506:虛擬機判斷與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟507;否則,將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的當前指紋ID的下一個指紋ID作為當前指紋ID,返回步驟505;

步驟507:虛擬機根據(jù)當前指紋ID向指紋模塊發(fā)送刪除請求;

步驟508:指紋模塊將指紋數(shù)據(jù)庫中的當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,刪除與當前指紋ID對應(yīng)的各個指紋特征,將刪除結(jié)果設(shè)置為刪除成功;

步驟509:指紋模塊向虛擬機返回刪除結(jié)果;

步驟510:虛擬機根據(jù)刪除結(jié)果判斷指紋模塊是否刪除當前指紋ID對應(yīng)的指紋特征,如果是,則執(zhí)行步驟511;否則,向當前錢包應(yīng)用報錯;

步驟511:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的當前指紋ID的下一個指紋ID作為當前指紋ID,返回步驟505;

步驟512:虛擬機向當前錢包應(yīng)用返回清空成功信息。

指紋刪除流程,如圖8所示,包括:

步驟601:當前錢包應(yīng)用向虛擬機發(fā)送刪除指紋請求;

步驟602:虛擬機獲取當前錢包應(yīng)用的應(yīng)用標識,根據(jù)應(yīng)用標識檢測是否已初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū),如果是,則執(zhí)行步驟604;否則,執(zhí)行步驟603;

步驟603:虛擬機初始化與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū);

步驟604:虛擬機判斷刪除指紋請求中的當前指紋ID是否存儲在與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中,如果是,則執(zhí)行步驟605;否則,向當前錢包應(yīng)用報錯;

步驟605:虛擬機判斷與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則執(zhí)行步驟606;否則,向當前錢包應(yīng)用報錯;

步驟606:虛擬機根據(jù)當前指紋ID向指紋模塊發(fā)送刪除請求;

步驟607:指紋模塊將指紋數(shù)據(jù)庫中的當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識,刪除與當前指紋ID對應(yīng)的各個指紋特征;將刪除結(jié)果設(shè)置為刪除成功;

步驟608:指紋模塊向虛擬機返回刪除結(jié)果;

步驟609:虛擬機根據(jù)刪除結(jié)果判斷指紋模塊是否已刪除與當前指紋ID對應(yīng)的指紋特征,如果是,則執(zhí)行步驟610;否則,向當前錢包應(yīng)用報錯;

步驟610:虛擬機將與當前錢包應(yīng)用對應(yīng)的指紋管理存儲區(qū)中的與當前指紋ID對應(yīng)的指紋錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;

步驟611:虛擬機向當前錢包應(yīng)用返回刪除成功信息。

本實施例提供了的一種硬件錢包的持有者身份驗證方法,其中硬件錢包中包括虛擬機、生物特征認證模塊和多個錢包應(yīng)用,每個錢包應(yīng)用中存儲私鑰,硬件錢包通過虛擬機和生物特征認證模塊為每個錢包應(yīng)用錄入用于驗證與每個錢包應(yīng)用對應(yīng)的硬件錢包持有者身份的指紋特征,只有當與當前錢包應(yīng)用對應(yīng)的硬件錢包持有者身份驗證通過后,才能使用當前錢包應(yīng)用中的私鑰對數(shù)字貨幣進行交易,在提高了數(shù)字貨幣的安全防護機制的同時,實現(xiàn)了多錢包應(yīng)用的指紋身份認證管理。

實施例3

本實施例提供了一種硬件錢包,如圖9所示,包括:虛擬機、生物特征認證模塊和多個錢包應(yīng)用;

多個錢包應(yīng)用中的當前錢包應(yīng)用包括:第一接收子模塊01、第一發(fā)送子模塊02、第二接收子模塊03、第一判斷子模塊04、第一生成子模塊05和第二發(fā)送子模塊06;

虛擬機中包括:第三接收子模塊07、第三發(fā)送子模塊08、第四接收子模塊09、第二判斷子模塊10、第三判斷子模塊11和第四發(fā)送子模塊12;

生物特征認證模塊包括:第五接收子模塊13、第一提示子模塊14、第一檢測子模塊15、第四判斷子模塊16和第五發(fā)送子模塊17;

第一接收子模塊01,用于接收來自上位機的包括交易數(shù)據(jù)的交易請求;交易數(shù)據(jù)中包括密鑰派生路徑;

第一發(fā)送子模塊02,用于向虛擬機發(fā)送第一驗證請求;

第二接收子模塊03,用于接收來自虛擬機的第一驗證結(jié)果;

第一判斷子模塊04,用于判斷第二接收子模塊03接收到的第一驗證結(jié)果是否為驗證成功;

第一生成子模塊05,用于當?shù)谝慌袛嘧幽K04判斷為是后,使用與第一接收子模塊01接收到的密鑰派生路徑對應(yīng)的私鑰對交易數(shù)據(jù)和與密鑰派生路徑對應(yīng)的賬戶地址進行簽名生成交易憑據(jù);

第二發(fā)送子模塊06,用于將第一生成子模塊05生成的交易憑據(jù)返回給上位機;以及當?shù)谝慌袛嘧幽K04判斷為否后,向上位機報錯;

第三接收子模塊07,用于接收來自當前錢包應(yīng)用的第一驗證請求;

第三發(fā)送子模塊08,用于向生物特征認證模塊發(fā)送第二驗證請求;

第四接收子模塊09,用于接收來自生物特征認證模塊的第二驗證結(jié)果;

第二判斷子模塊10,用于判斷第四接收子模塊09接收到的第二驗證結(jié)果是否為驗證失??;

第三判斷子模塊11,用于當?shù)诙袛嘧幽K10判斷為否時,根據(jù)生物特征ID判斷當前用戶是否與當前錢包應(yīng)用匹配;

第三判斷子模塊11,具體用于當?shù)诙袛嘧幽K10判斷為否時,判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識,如果是,則判斷當前用戶與當前錢包應(yīng)用匹配;否則,判斷當前用戶與當前錢包應(yīng)用不匹配。

第四發(fā)送子模塊12,用于當?shù)诙袛嘧幽K10判斷為是時,將驗證失敗作為第一驗證結(jié)果發(fā)送給當前錢包應(yīng)用;當?shù)谌袛嘧幽K11判斷為否時,將驗證失敗作為第一驗證結(jié)果發(fā)送給當前錢包應(yīng)用;當?shù)谌袛嘧幽K11判斷為是時,將驗證成功作為第一驗證結(jié)果發(fā)送給當前錢包應(yīng)用;

第五接收子模塊13,用于接收來自虛擬機的第二驗證請求;

第一提示子模塊14,用于當?shù)谖褰邮兆幽K13接收到來自虛擬機的第二驗證請求后,提示當前用戶錄入生物特征;

第一檢測子模塊15,用于檢測用戶是否錄入生物特征;

第四判斷子模塊16,用于根據(jù)第一檢測子模塊15檢測到的生物特征判斷當前用戶是否已注冊;

第四判斷子模塊16,具體用于在生物特征認證模塊的生物特征數(shù)據(jù)庫中查找第一檢測子模塊15檢測到的生物特征,如果查找到,則判斷當前用戶已注冊;否則,判斷當前用戶未注冊。

第五發(fā)送子模塊17,用于當?shù)谒呐袛嘧幽K16判斷為是時,將與生物特征對應(yīng)的生物特征ID作為第二驗證結(jié)果發(fā)送給虛擬機;當?shù)谒呐袛嘧幽K16判斷為否時,將驗證失敗作為第二驗證結(jié)果發(fā)送給虛擬機。

本實施例中,優(yōu)選地,第一預(yù)設(shè)標識為1,第二預(yù)設(shè)標識為0。

本實施例中,虛擬機還可以包括:第六接收子模塊、激活子模塊和第六發(fā)送子模塊;

第六接收子模塊,用于接收來自上位機的包括激活錢包應(yīng)用指令和應(yīng)用標識的激活請求;

激活子模塊,用于激活第六接收子模塊接收到的應(yīng)用標識對應(yīng)的錢包應(yīng)用,并將與應(yīng)用標識對應(yīng)的錢包應(yīng)用作為當前錢包應(yīng)用;

第六發(fā)送子模塊,用于向上位機返回激活成功應(yīng)答。

本實施例中,第二驗證請求中還可以包括:與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表;相應(yīng)地,第四判斷子模塊16,還可以具體用于根據(jù)第一檢測子模塊15檢測到的生物特征、生物特征認證模塊的生物特征數(shù)據(jù)庫和生物特征注冊結(jié)果列表判斷當前用戶是否已注冊且當前用戶是否與當前錢包應(yīng)用匹配。

進一步地,虛擬機還可以包括:第一獲取子模塊;

第一獲取子模塊,用于當?shù)谌邮兆幽K07接收到來自當前錢包應(yīng)用的第一驗證請求后,第三發(fā)送子模塊08向生物特征認證模塊發(fā)送第二驗證請求之前,獲取與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表。

進一步地,第一驗證請求中還可以包括:與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表;相應(yīng)地:

虛擬機還包括:第七接收子模塊和第七發(fā)送子模塊;

第七接收子模塊,用于接收來自當前錢包應(yīng)用的查詢生物特征注冊結(jié)果列表請求;

第七發(fā)送子模塊,用于向當前錢包應(yīng)用返回與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表。

本實施例中,當?shù)谒呐袛嘧幽K16具體用于根據(jù)第一檢測子模塊15檢測到的生物特征、自身的生物特征數(shù)據(jù)庫和生物特征注冊結(jié)果列表判斷當前用戶是否已注冊且當前用戶是否與當前錢包應(yīng)用匹配時,第四判斷子模塊16具體包括:第一查找單元和第一判斷單元;

第一查找單元,用于根據(jù)第一檢測子模塊15檢測到的生物特征、生物特征認證模塊的生物特征數(shù)據(jù)庫和生物特征注冊結(jié)果列表查找與生物特征對應(yīng)的并且生物特征注冊結(jié)果列表中的生物特征錄入結(jié)果標識為第一預(yù)設(shè)標識的生物特征ID;

第一判斷單元,用于當?shù)谝徊檎覇卧檎业脚c生物特征對應(yīng)的并且生物特征錄入結(jié)果標識為第一預(yù)設(shè)標識的生物特征ID后,判斷當前用戶已注冊且當前用戶與當前錢包應(yīng)用匹配;當?shù)谝徊檎覇卧獩]有查找到與生物特征對應(yīng)的并且生物特征錄入結(jié)果標識為第一預(yù)設(shè)標識的生物特征ID后,判斷當前用戶未注冊和/或當前用戶與當前錢包應(yīng)用不匹配。

本實施例中提供的硬件錢包中,虛擬機還可以包括:第八接收子模塊、第八發(fā)送子模塊、第九接收子模塊、第五判斷子模塊、第一設(shè)置子模塊和第九發(fā)送子模塊;生物認證特征子模塊還包括:第十接收子模塊、第一對應(yīng)子模塊、第一保存子模塊、第二設(shè)置子模塊和第十發(fā)送子模塊;

第八接收子模塊,用于接收來自當前錢包應(yīng)用的注冊請求;

第八發(fā)送子模塊,用于向生物特征認證模塊發(fā)送錄入請求;

第九接收子模塊,用于接收來自生物特征認證模塊的錄入結(jié)果;

第五判斷子模塊,用于根據(jù)第九接收子模塊接收到的錄入結(jié)果判斷生物特征認證模塊是否成功獲取到與當前生物特征ID對應(yīng)的生物特征;

第一設(shè)置子模塊,用于當?shù)谖迮袛嘧幽K判斷為是時,將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識;

第九發(fā)送子模塊,用于當?shù)谖迮袛嘧幽K判斷為否時,向當前錢包應(yīng)用報錯;以及當?shù)谝辉O(shè)置子模塊將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識后,向當前錢包應(yīng)用返回注冊成功;

第十接收子模塊,用于接收來自虛擬機的錄入請求;

第一提示子模塊14,還用于當?shù)谑邮兆幽K接收到來自虛擬機的錄入請求后,提示當前用戶錄入生物特征;

第一對應(yīng)子模塊,用于將第一檢測子模塊15檢測到的生物特征與當前生物特征ID建立對應(yīng)關(guān)系;

第一保存子模塊,用于將生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,將當前生物特征ID及與其對應(yīng)的生物特征保存到生物特征數(shù)據(jù)庫中;

第二設(shè)置子模塊,用于當?shù)谝粚?yīng)子模塊將當前生物特征ID及與其對應(yīng)的生物特征保存到生物特征數(shù)據(jù)庫中后,將錄入結(jié)果設(shè)置為錄入成功;當?shù)谝粰z測子模塊15沒有檢測到用戶錄入生物特征后,將錄入結(jié)果設(shè)置為錄入失?。?/p>

第十發(fā)送子模塊,用于向虛擬機發(fā)送錄入結(jié)果。

進一步地,注冊請求中還可以包括當前生物特征ID;錄入請求中包括當前生物特征ID。

更進一步地,虛擬機還可以包括:第十一接收子模塊、第十一發(fā)送子模塊、第十二接收子模塊和第十二發(fā)送子模塊;

第十一接收子模塊,用于當八接收子模塊接收到來自當前錢包應(yīng)用的注冊請求之前,接收來自當前錢包應(yīng)用的獲取當前生物特征ID請求;

第十一發(fā)送子模塊,用于向生物特征認證模塊發(fā)送獲取當前生物特征ID請求;

第十二接收子模塊,用于接收來自生物特征認證模塊的當前生物特征ID;

第十二接收子模塊,用于向當前錢包應(yīng)用返回當前生物特征ID;

生物認證特征子模塊,還包括:第十三接收子模塊、第二獲取子模塊和第十三發(fā)送子模塊;

第十三接收子模塊,用于接收來自虛擬機的獲取當前生物特征ID請求;

第二獲取子模塊,用于從生物特征數(shù)據(jù)庫中獲取當前生物特征ID;

第二獲取子模塊,具體用于從生物特征數(shù)據(jù)庫中的獲取注冊結(jié)果標識為第二預(yù)設(shè)標識的最小生物特征ID,并將其作為當前生物特征ID。

第十三接收子模塊,用于向虛擬機返回第二獲取子模塊獲取到的當前生物特征ID。

本實施中,錄入請求中包括當前生物特征ID;相應(yīng)地,虛擬機還可以包括:第三獲取子模塊;

第三獲取子模塊,用于當?shù)诎私邮兆幽K接收到來自當前錢包應(yīng)用的注冊請求后,從與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中獲取當前生物特征ID。

進一步地,第三獲取子模塊,具體用于當?shù)诎私邮兆幽K接收到來自當前錢包應(yīng)用的注冊請求后,從當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中獲取注冊結(jié)果標識為第二預(yù)設(shè)標識的最小生物特征ID,并將其作為當前生物特征ID。

本實施例中,若第二設(shè)置子模塊將錄入結(jié)果設(shè)置為錄入成功,錄入結(jié)果中還包括:當前生物特征ID;相應(yīng)地,第一對應(yīng)子模塊,具體用于將第一檢測子模塊檢測到的生物特征與生物特征數(shù)據(jù)庫中的當前生物特征ID建立對應(yīng)關(guān)系。

進一步地,生物認證特征子模塊,還可以包括:第四獲取子模塊;

第四獲取子模塊,用于當?shù)谝粚?yīng)子模塊將生物特征與當前生物特征ID建立對應(yīng)關(guān)系之前,從自身的生物特征數(shù)據(jù)庫中的獲取注冊結(jié)果標識為第二預(yù)設(shè)標識的最小生物特征ID,并將其作為當前生物特征ID。

本實施例中,當注冊請求中包括當前生物特征ID;錄入請求中包括當前生物特征ID,虛擬機還可以包括:第二檢測子模塊、第十四發(fā)送子模塊、第十四接收子模塊和第六判斷子模塊;生物特征認證模塊,還可以包括:第十五接收子模塊、第七判斷子模塊、第三設(shè)置子模塊和第十五發(fā)送子模塊;

第二檢測子模塊,用于當?shù)诎私邮兆幽K接收來自當前錢包應(yīng)用的注冊請求之后,第八發(fā)送子模塊向生物特征認證模塊發(fā)送錄入請求之前,檢測與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識;

第十四發(fā)送子模塊,用于當?shù)诙z測子模塊檢測為否后,向生物特征認證模塊發(fā)送包括生物特征ID的第一查找請求;

第十四接收子模塊,用于接收來自生物特征認證模塊的第一查找結(jié)果;

第六判斷子模塊,用于根據(jù)第十四接收子模塊接收到的第一查找結(jié)果判斷生物特征認證模塊的生物特征數(shù)據(jù)庫中與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果是否為第一預(yù)設(shè)標識;

第八發(fā)送子模塊,具體用于當?shù)诙z測子模塊檢測為是后,向生物特征認證模塊發(fā)送錄入請求;當?shù)诹袛嘧幽K為否后,向生物特征認證模塊發(fā)送錄入請求;

第九發(fā)送子模塊,還用于當?shù)诹袛嘧幽K判斷為是后,向當前錢包應(yīng)用報錯;

第十五接收子模塊,用于接收來自虛擬機的第一查找請求;

第七判斷子模塊,用于當?shù)谑褰邮兆幽K接收到來自虛擬機的第一查找請求后,判斷生物特征數(shù)據(jù)庫中與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識;

第三設(shè)置子模塊,用于當?shù)谄吲袛嘧幽K判斷為是后,將第一查找結(jié)果設(shè)置為失?。划?shù)谄吲袛嘧幽K判斷為否后,將第一查找結(jié)果設(shè)置為成功;

第十五發(fā)送子模塊,用于將第一設(shè)置子模塊設(shè)置的第一查找結(jié)果發(fā)送給虛擬機。

本實施例中,注冊請求中還可以包括錄入次數(shù);錄入請求中還可以包括錄入次數(shù);相應(yīng)地:虛擬機還可以包括:第八判斷子模塊;生物認證特征子模塊,還可以包括:第九判斷子模塊;

第八判斷子模塊,用于當?shù)谖迮袛嘧幽K判斷為是后,第一設(shè)置子模塊將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識之前,判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù);

第一設(shè)置子模塊,具體用于當?shù)诎伺袛嘧幽K判斷為是后,將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識;

第九發(fā)送子模塊,還用于當?shù)诎伺袛嘧幽K判斷為否后,向當前錢包應(yīng)用返回注冊成功;

第九判斷子模塊,用于當?shù)谝粚?yīng)子模塊將第一檢測子模塊15檢測到的生物特征與當前生物特征ID建立對應(yīng)關(guān)系后,判斷錄入次數(shù)是否為預(yù)設(shè)限制次數(shù);

第一保存子模塊,具體用于當?shù)诰排袛嘧幽K判斷為是后,將生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第一預(yù)設(shè)標識,將當前生物特征ID及與其對應(yīng)的生物特征保存到生物特征數(shù)據(jù)庫中;

第二設(shè)置子模塊,還用于當?shù)诰排袛嘧幽K判斷為否后,將錄入結(jié)果設(shè)置為錄入成功。

本實施例中提供的硬件錢包中,其虛擬機還可以包括:第十六接收子模塊、第五獲取子模塊、第十判斷子模塊、第十六發(fā)送子模塊、第十一判斷子模塊、第十七發(fā)送子模塊、第十七接收子模塊、第十二判斷子模塊和第四設(shè)置子模塊;生物特征認證模塊,還可以包括:第十八接收子模塊、第一查找子模塊、第五設(shè)置子模塊、第一刪除子模塊和第十八發(fā)送子模塊;

第十六接收子模塊,用于接收來自當前錢包應(yīng)用的清空請求;

第五獲取子模塊,用于當?shù)谑邮兆幽K接收到來自當前錢包應(yīng)用的清空請求后,將生物特征注冊結(jié)果列表中的第一個生物特征ID作為當前生物特征ID;當?shù)谑慌袛嘧幽K判斷為否后,將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的當前生物特征ID的下個生物特征ID作為當前生物特征ID;以及當?shù)谒脑O(shè)置子模塊將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識后,將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的當前生物特征ID的下個生物特征ID作為當前生物特征ID;

第十判斷子模塊,用于判斷第五獲取子模塊獲取到的當前生物特征ID是否超過預(yù)設(shè)限制范圍;

第十六發(fā)送子模塊,用于當?shù)谑袛嘧幽K判斷為是后,向當前錢包應(yīng)用返回清空成功信息;當?shù)谑袛嘧幽K判斷為否后,向當前錢包應(yīng)用報錯;

第十一判斷子模塊,用于當?shù)谑袛嘧幽K判斷為否后,判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識;

第十七發(fā)送子模塊,用于當?shù)谑慌袛嘧幽K判斷為是后,向生物特征認證模塊發(fā)送包括當前生物特征ID的刪除請求;

第十七接收子模塊,用于接收來自生物特征認證模塊的刪除結(jié)果;

第十二判斷子模塊,用于根據(jù)第十七接收子模塊接收到的刪除結(jié)果判斷生物特征認證模塊是否已刪除與當前生物特征ID對應(yīng)的生物特征;

第四設(shè)置子模塊,用于當?shù)谑袛嘧幽K判斷為是后,將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;

第十八接收子模塊,用于接收來自虛擬機的包括當前生物特征ID的刪除請求;

第一查找子模塊,用于在生物特征數(shù)據(jù)庫中查找第十八接收子模塊接收到的當前生物特征ID;

第五設(shè)置子模塊,用于當?shù)谝徊檎易幽K在生物特征數(shù)據(jù)庫中查找到第十八發(fā)送子模塊接收到的當前生物特征ID后,將生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;當?shù)谝粍h除子模塊刪除與當前生物特征ID對應(yīng)的生物特征后,將刪除結(jié)果設(shè)置為刪除成功;當?shù)谝徊檎易幽K在生物特征數(shù)據(jù)庫中沒有查找到第十八發(fā)送子模塊接收到的當前生物特征ID后,則將刪除結(jié)果設(shè)置為刪除失?。?/p>

第一刪除子模塊,用于當?shù)谝徊檎易幽K在生物特征數(shù)據(jù)中查找到第十八發(fā)送子模塊接收到的當前生物特征ID后,刪除與當前生物特征ID對應(yīng)的生物特征;

第十八發(fā)送子模塊,用于向虛擬機返回第五設(shè)置子模塊設(shè)置的刪除結(jié)果。

本實施例中提供的硬件錢包中,其虛擬機還可以包括:第十九接收子模塊、第十三判斷子模塊、第十九發(fā)送子模塊、第二十發(fā)送子模塊、第二十接收子模塊、第十四判斷子模塊和第六設(shè)置子模塊;生物特征認證模塊,還可以包括:第十八接收子模塊、第一查找子模塊、第五設(shè)置子模塊、第一刪除子模塊和第十八發(fā)送子模塊;

第十九接收子模塊,用于接收來自當前錢包應(yīng)用的包括當前生物特征ID的刪除請求;

第十三判斷子模塊,用于判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識;

第十九發(fā)送子模塊,當?shù)谑袛嘧幽K判斷為否后,向當前錢包應(yīng)用報錯;當?shù)诹O(shè)置子模塊將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識后,向當前錢包應(yīng)用返回刪除成功信息;當?shù)谑呐袛嘧幽K判斷為否后,向當前錢包應(yīng)用報錯;

第二十發(fā)送子模塊,用于當?shù)谑袛嘧幽K判斷為是后,向生物特征認證模塊發(fā)送包括當前生物特征ID的刪除請求;

第二十接收子模塊,用于接收來自生物特征認證模塊的刪除結(jié)果;

第十四判斷子模塊,用于根據(jù)第二十接收子模塊接收到的刪除結(jié)果判斷生物特征認證模塊是否已刪除與當前生物特征ID對應(yīng)的生物特征;

第六設(shè)置子模塊,用于當?shù)谑呐袛嘧幽K判斷為是后,將與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;

第十八接收子模塊,用于接收來自虛擬機的包括當前生物特征ID的刪除請求;

第一查找子模塊,用于在生物特征數(shù)據(jù)庫中查找第十八接收子模塊接收到的當前生物特征ID;

第五設(shè)置子模塊,用于當?shù)谝徊檎易幽K在生物特征數(shù)據(jù)庫中查找到第十八發(fā)送子模塊接收到的當前生物特征ID后,將生物特征數(shù)據(jù)庫中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識設(shè)置為第二預(yù)設(shè)標識;當?shù)谝粍h除子模塊刪除與當前生物特征ID對應(yīng)的生物特征后,將刪除結(jié)果設(shè)置為刪除成功;當?shù)谝徊檎易幽K在生物特征數(shù)據(jù)庫中沒有查找到第十八發(fā)送子模塊接收到的當前生物特征ID后,則將刪除結(jié)果設(shè)置為刪除失??;

第一刪除子模塊,用于當?shù)谝徊檎易幽K在生物特征數(shù)據(jù)庫中查找到第十八發(fā)送子模塊接收到的當前生物特征ID后,刪除與當前生物特征ID對應(yīng)的生物特征;

第十八發(fā)送子模塊,用于向虛擬機返回第五設(shè)置子模塊設(shè)置的刪除結(jié)果。

進一步地,虛擬機還包括:第二查找子模塊;

第二查找子模塊,用于當?shù)谑沤邮兆幽K接收來自當前錢包應(yīng)用的包括當前生物特征ID的刪除請求后,第十三判斷子模塊判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識之前,在與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中查找當前生物特征ID;

第十三判斷子模塊,具體用于當?shù)诙檎易幽K在與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中查找到當前生物特征ID后,判斷與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中的與當前生物特征ID對應(yīng)的生物特征錄入結(jié)果標識是否為第一預(yù)設(shè)標識;

第十九發(fā)送子模塊,還用于第二查找子模塊在與當前錢包應(yīng)用對應(yīng)的生物特征注冊結(jié)果列表中沒有查找到當前生物特征ID后,向當前錢包應(yīng)用報錯。

本實施例提供的硬件錢包中,其當前錢包應(yīng)用還可以包括:第二生成子模塊;

第二生成子模塊,用于當?shù)谝簧勺幽K05生成交易憑據(jù)之前,根據(jù)自身的主密鑰通過密鑰派生算法生成與密鑰派生路徑對應(yīng)的公鑰和私鑰,并根據(jù)公鑰生成賬戶地址。

本實施例提供了的一種硬件錢包,其中硬件錢包中包括虛擬機、生物特征認證模塊和多個錢包應(yīng)用,,每個錢包應(yīng)用中存儲私鑰,硬件錢包通過虛擬機和生物特征認證模塊為每個錢包應(yīng)用錄入用于驗證與每個錢包應(yīng)用對應(yīng)的硬件錢包持有者身份的生物特征,只有當與當前錢包應(yīng)用對應(yīng)的硬件錢包持有者身份驗證通過后,才能使用當前錢包應(yīng)用中的私鑰對數(shù)字貨幣進行交易,在提高了數(shù)字貨幣的安全防護機制的同時,實現(xiàn)了多錢包應(yīng)用的身份認證管理。

以上,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
杨浦区| 阿拉善右旗| 巨鹿县| 若羌县| 鹿泉市| 台前县| 祁门县| 睢宁县| 金门县| 临桂县| 漳州市| 宝鸡市| 霞浦县| 漳平市| 札达县| 方正县| 万盛区| 宁城县| 望都县| 白山市| 响水县| 金堂县| 石阡县| 循化| 武功县| 澎湖县| 江安县| 株洲市| 潜山县| 东城区| 平果县| 内江市| 阿克陶县| 嵊泗县| 奉新县| 将乐县| 新绛县| 江安县| 台湾省| 平度市| 正阳县|