一種向Android系統(tǒng)添加指紋識別的方法和裝置制造方法
【專利摘要】本發(fā)明涉及Android系統(tǒng)領(lǐng)域的數(shù)據(jù)加密保護(hù),特別是向android系統(tǒng)添加指紋識別技術(shù)的方法和裝置。所述方法包括:在Linux內(nèi)核層添加對指紋識別硬件的直接控制并為系統(tǒng)庫和Android運行時層提供響應(yīng)的硬件接口;將指紋識別硬件分別設(shè)置為兩個串口設(shè)備,添加兩個設(shè)備結(jié)點;系統(tǒng)庫和Android運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊;應(yīng)用程序框架層完成指紋識別的Android軟件程序開發(fā)包(SDK),通過系統(tǒng)庫和Android運行時層注冊的接口;應(yīng)用程序框架層使用系統(tǒng)庫和Android運行時層注冊的接口,完成掃描服務(wù)類ScanFPService,以及掃描管理類ScanFPManage。
【專利說明】—種向Android系統(tǒng)添加指紋識別的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Android系統(tǒng)領(lǐng)域的數(shù)據(jù)加密保護(hù),特別是向android系統(tǒng)添加指紋識別技術(shù)的方法和裝置。
【背景技術(shù)】
[0002]實際應(yīng)用中,用戶有許多非常機密的文件需要保護(hù),大都使用“用戶ID+密碼”的方法來進(jìn)行用戶的身份認(rèn)證和訪問控制。但是,如果一旦密碼忘記,或被別人竊取,計算機系統(tǒng)以及文件的安全問題就受到了威脅。
[0003]隨著科技的進(jìn)步,指紋識別技術(shù)已經(jīng)開始慢慢進(jìn)入計算機世界中。指紋,由于其具有終身不變性、唯一性和方便性,已幾乎成為生物特征識別的代名詞。指紋是指人的手指末端正面皮膚上凸凹不平產(chǎn)生的紋線。紋線有規(guī)律的排列形成不同的紋型。紋線的起點、終點、結(jié)合點和分叉點,稱為指紋的細(xì)節(jié)特征點(minutiae)。
[0004]指紋識別即指通過比較不同指紋的細(xì)節(jié)特征點來進(jìn)行鑒別。由于每個人的指紋不同,就是同一人的十指之間,指紋也有明顯區(qū)別,因此指紋可用于身份鑒定。指紋識別技術(shù)是目前最成熟且價格便宜的生物特征識別技術(shù)。目前來說指紋識別的技術(shù)應(yīng)用最為廣泛,我們不僅在門禁、考勤系統(tǒng)中可以看到指紋識別技術(shù)的身影,市場上有了更多指紋識別的應(yīng)用:如筆記本電腦、手機、汽車、銀行支付都可應(yīng)用指紋識別的技術(shù)。
[0005]目前許多公司和研究機構(gòu)都在指紋識別【技術(shù)領(lǐng)域】取得了很大突破性進(jìn)展,推出許多指紋識別與傳統(tǒng)IT技術(shù)完美結(jié)合的應(yīng)用產(chǎn)品,這些產(chǎn)品已經(jīng)被越來越多的用戶所認(rèn)可。指紋識別技術(shù)多用于對安全性要求比較高的商務(wù)領(lǐng)域,而在商務(wù)移動辦公領(lǐng)域頗具建樹的富士通、三星及IBM等國際知名品牌都擁有技術(shù)與應(yīng)用較為成熟的指紋識別系統(tǒng)。
[0006]在Android系統(tǒng)中,許多方面都要進(jìn)行數(shù)據(jù)保護(hù),隱私保護(hù),現(xiàn)有的Android系統(tǒng)所做的保護(hù)功能不能滿足用于對于安全的要求。該專利正是在前述現(xiàn)有技術(shù)的基礎(chǔ)上,提供更為縝密的安全機制,該安全機制用于用戶開發(fā)的第三方軟件。
【發(fā)明內(nèi)容】
[0007]本發(fā)明涉及了一種Android平臺的手持終端指紋識別方法和系統(tǒng)。技術(shù)包括在Android系統(tǒng)中加入指紋識別功能,用于第三方開發(fā)的軟件中。該技術(shù)提供了更為縝密和安全的Android系統(tǒng)或者軟件,便于用戶保護(hù)自己的數(shù)據(jù)。
[0008]根據(jù)本發(fā)明的一個實施方式,包括一種向Android系統(tǒng)添加指紋識別的方法,所述android系統(tǒng)自下而上由Linux內(nèi)核層、系統(tǒng)庫和Android運行時層、應(yīng)用程序框架層以及應(yīng)用程序?qū)咏M成;其特征在于所述方法包括:
[0009]在Linux內(nèi)核層添加對指紋識別硬件的直接控制并為系統(tǒng)庫和Android運行時層提供響應(yīng)的硬件接口;
[0010]將指紋識別硬件分別設(shè)置為兩個串口設(shè)備,添加兩個設(shè)備結(jié)點,所述指紋識別硬件包括圖像采集、預(yù)處理、特征提取、匹配以及指紋庫模塊;[0011]系統(tǒng)庫和Android運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊;在Android運行時層指定上述指紋識別硬件的兩個設(shè)備結(jié)點的波特率、校驗位、數(shù)據(jù)位以及停止位,并且在這層打開串口,同時,該層要向上層針對指紋注冊接口,所述接口為指紋識別接口 ;
[0012]應(yīng)用程序框架層完成指紋識別的Android軟件程序開發(fā)包(SDK),通過系統(tǒng)庫和Android運行時層注冊的接口 ;
[0013]應(yīng)用程序框架層使用系統(tǒng)庫和Android運行時層注冊的接口,完成掃描服務(wù)類ScanFPService,以及掃描管理類ScanFPManage,其中服務(wù)類完成對系統(tǒng)庫和Android運行時注冊的接口的封裝,以及封裝對硬件模塊的打開和關(guān)閉,管理類只控制模塊的打開和關(guān)閉,以及開始和停止掃描。
[0014]根據(jù)本發(fā)明的另一個實施方式,還公開了一種向Android系統(tǒng)添加指紋識別的裝置,所述android系統(tǒng)自下而上由Linux內(nèi)核層、系統(tǒng)庫和Android運行時層、應(yīng)用程序框架層以及應(yīng)用程序?qū)咏M成;其特征在所述向Android系統(tǒng)添加指紋識別的裝置包括:
[0015]在Linux內(nèi)核層添加對指紋識別硬件的直接控制并為系統(tǒng)庫和Android運行時層提供響應(yīng)的硬件接口的模塊;
[0016]將指紋識別硬件分別設(shè)置為兩個串口設(shè)備,添加兩個設(shè)備結(jié)點的模塊,所述指紋識別硬件包括圖像采集、預(yù)處理、特征提取,匹配,指紋庫模塊;
[0017]系統(tǒng)庫和Android運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊的模塊,在Android運行時層指定上述指紋識別硬件的兩個設(shè)備結(jié)點的波特率、校驗位、數(shù)據(jù)位以及停止位,并且在這層打開串口,同時,該層要向上層針對指紋注冊接口,所述接口為指紋識別接口 ;
[0018]應(yīng)用程序框架層完成指紋識別的Android軟件程序開發(fā)包(SDK),通過系統(tǒng)庫和Android運行時層注冊的接口的模塊;
[0019]應(yīng)用程序框架層使用系統(tǒng)庫和Android運行時層注冊的接口,完成掃描服務(wù)類ScanFPService,以及掃描管理類ScanFPManage的模塊,其中服務(wù)類完成對系統(tǒng)庫和Android運行時注冊的接口的封裝,以及封裝對硬件模塊的打開和關(guān)閉,管理類只控制模塊的打開和關(guān)閉,以及開始和停止掃描。
【專利附圖】
【附圖說明】
[0020]附圖1本發(fā)明實施例提供的一種基于android系統(tǒng)的功能層架構(gòu);
[0021]附圖2本發(fā)明實施例提供的一種指紋識別流程示意圖;
[0022]附圖3本發(fā)明實施例提供的一種基于android系統(tǒng)的指紋識別掃描服務(wù)流程圖?!揪唧w實施方式】:
[0023]Android系統(tǒng)的架構(gòu)如圖1所示,Android系統(tǒng)自下而上由Linux內(nèi)核層、系統(tǒng)庫和Android運行時層、應(yīng)用程序框架層以及應(yīng)用程序?qū)咏M成。這里不對Android架構(gòu)的各個層次進(jìn)行功能分析。
[0024]要在Android系統(tǒng)中添加指紋識別功能,需要修改Android的Linux內(nèi)核層,系統(tǒng)庫和Android運行時層以及應(yīng)用程序框架層。Linux內(nèi)核層添加對指紋識別硬件的直接控制并為系統(tǒng)庫和Android運行時層提供響應(yīng)的硬件接口。將指紋識別硬件分別做成兩個串口設(shè)備,添加兩個設(shè)備結(jié)點,所述指紋識別硬件主要包括圖像采集、預(yù)處理、特征提取,匹配,指紋庫等模塊。其中指紋識別流程如圖2所示,由第三方軟件調(diào)用指紋識別硬件進(jìn)行指紋識別,分別進(jìn)行圖像采集、預(yù)處理,特征提取以及和指紋庫匹配等環(huán)節(jié),當(dāng)指紋識別成功時進(jìn)入各應(yīng)用程序。
[0025]系統(tǒng)庫和Android運行時庫層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊。在這層指定兩個設(shè)備的波特率,校驗位,數(shù)據(jù)位,停止位等,并且在這層打開串口。同時,該層要向上層針對指紋注冊接口,接口名稱如下:
[0026]指紋識別接口 ;
[0027]InitScan—FP—native ;
[0028]ScanBegin—FP—native ;
[0029]ScanStop—FP—native ;
[0030]WaitReadEnd—FP—native ;
[0031]CloseScan—FP—native ;
[0032]至此,該層所做的工作完成;
[0033]應(yīng)用程序框架層完成指紋識別的Android SDK (軟件程序開發(fā)包),通過系統(tǒng)庫和Android運行時庫層注冊的接口。
[0034]應(yīng)用程序框架層使用系統(tǒng)庫和Android運行時庫注冊的接口,完成掃描服務(wù)類ScanFPService,以及掃描管理類 ScanFPManage。
[0035]服務(wù)類完成對系統(tǒng)庫和Android運行時庫注冊的接口的封裝,服務(wù)類的工作流程如圖3所示。
[0036]另外服務(wù)類還要封裝對硬件模塊的打開和關(guān)閉。管理類的只控制模塊的打開和關(guān)閉,以及開始和停止掃描。之所以這樣設(shè)計,主要原因是用戶可以隨意控制掃描的開始和停止,獲取掃描數(shù)據(jù)的工作放到接收數(shù)據(jù)廣播的處理中。服務(wù)類發(fā)送的廣播完全按照Android的廣播機制來設(shè)計。
[0037]以上為掃描的服務(wù)類和管理類的設(shè)計,設(shè)計完以后還要將服務(wù)類的和管理類進(jìn)行實例化。這就要修改ServerThread類和ContextImpl類,其中在ServerThread加入掃描服務(wù)的實例化;在ContextImpl加入掃描管理類的獲?。籫etSystemService中加入getScanService的調(diào)用,getSystemService根據(jù)傳入服務(wù)名稱來區(qū)分。
[0038]根據(jù)本發(fā)明的一個實施方式,還公開了用以執(zhí)行上述向android系統(tǒng)添加指紋識別技術(shù)的方法的裝置,其包括如下模塊,即:
[0039]在Linux內(nèi)核層添加對指紋識別硬件的直接控制并為系統(tǒng)庫和Android運行時層提供響應(yīng)的硬件接口的模塊;
[0040]將指紋識別硬件分別設(shè)置為兩個串口設(shè)備,添加兩個設(shè)備結(jié)點的模塊,所述指紋識別硬件包括圖像采集、預(yù)處理、特征提取,匹配,指紋庫模塊;
[0041]系統(tǒng)庫和Android運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊的模塊,在Android運行時層指定上述指紋識別硬件的兩個設(shè)備結(jié)點的波特率、校驗位、數(shù)據(jù)位以及停止位,并且在這層打開串口,同時,該層要向上層針對指紋注冊接口,所述接口為指紋識別接口 ;
[0042]應(yīng)用程序框架層完成指紋識別的Android軟件程序開發(fā)包(SDK),通過系統(tǒng)庫和Android運行時層注冊的接口的模塊;
[0043]應(yīng)用程序框架層使用系統(tǒng)庫和Android運行時層注冊的接口,完成掃描服務(wù)類ScanFPService,以及掃描管理類ScanFPManage的模塊,其中服務(wù)類完成對系統(tǒng)庫和Android運行時注冊的接口的封裝,以及封裝對硬件模塊的打開和關(guān)閉,管理類只控制模塊的打開和關(guān)閉,以及開始和停止掃描。
[0044]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
【權(quán)利要求】
1.一種向Android系統(tǒng)添加指紋識別的方法,所述android系統(tǒng)自下而上由Linux內(nèi)核層、系統(tǒng)庫和Android運行時層、應(yīng)用程序框架層以及應(yīng)用程序?qū)咏M成;其特征在于,所述方法包括: 在Linux內(nèi)核層添加對指紋識別硬件的直接控制并為系統(tǒng)庫和Android運行時層提供響應(yīng)的硬件接口; 將指紋識別硬件分別設(shè)置為兩個串口設(shè)備,添加兩個設(shè)備結(jié)點; 系統(tǒng)庫和Andrο i d運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊; 應(yīng)用程序框架層完成指紋識別的Android軟件程序開發(fā)包(SDK),通過系統(tǒng)庫和Android運行時層注冊的接口 ; 應(yīng)用程序框架層使用系統(tǒng)庫和Android運行時層注冊的接口,完成掃描服務(wù)類ScanFPService,以及掃描管理類 ScanFPManage。
2.如權(quán)利要求1所述的向Android系統(tǒng)添加指紋識別的方法,其特征在于,所述指紋識別硬件包括圖像采集、預(yù)處理、特征提取、匹配以及指紋庫模塊。
3.如權(quán)利要求1所述的向Android系統(tǒng)添加指紋識別的方法,其特征在于,在系統(tǒng)庫和Android運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊之后還包括:在Android運行時層指定上述指紋識別硬件的兩個設(shè)備結(jié)點的波特率、校驗位、數(shù)據(jù)位以及停止位,并且在這層打開串口,同時,該層要向上層針對指紋注冊接口,所述接口為指紋識別接口。
4.如權(quán)利要求1所述的向Android系統(tǒng)添加指紋識別的方法,其特征在于,掃描服務(wù)類完成對系統(tǒng)庫和Android運行時注冊的接口的封裝,以及封裝對硬件模塊的打開和關(guān)閉,掃描管理類只控制模塊的打開和關(guān)閉,以及開始和停止掃描。
5.一種向Android系統(tǒng)添加指紋識別的裝置,所述android系統(tǒng)自下而上由Linux內(nèi)核層、系統(tǒng)庫和Android運行時層、應(yīng)用程序框架層以及應(yīng)用程序?qū)咏M成;其特征在于,所述向Android系統(tǒng)添加指紋識別的裝置包括: 在Linux內(nèi)核層添加對指紋識別硬件的直接控制并為系統(tǒng)庫和Android運行時層提供響應(yīng)的硬件接口的模塊; 將指紋識別硬件分別設(shè)置為兩個串口設(shè)備,添加兩個設(shè)備結(jié)點的模塊; 系統(tǒng)庫和Andrο i d運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊的模塊; 應(yīng)用程序框架層完成指紋識別的Android軟件程序開發(fā)包(SDK),通過系統(tǒng)庫和Android運行時層注冊的接口的模塊; 應(yīng)用程序框架層使用系統(tǒng)庫和Android運行時層注冊的接口,完成掃描服務(wù)類ScanFPService,以及掃描管理類ScanFPManage的模塊。
6.如權(quán)利要求5所述的向Android系統(tǒng)添加指紋識別的裝置,其特征在于,所述指紋識別硬件包括圖像采集、預(yù)處理、特征提取、匹配以及指紋庫模塊。
7.如權(quán)利要求5所述的向Android系統(tǒng)添加指紋識別的裝置,其特征在于,在系統(tǒng)庫和Android運行時層添加由C或C++實現(xiàn)的對Linux內(nèi)核層提供的接口的封裝,并且提供應(yīng)用程序框架層需要的接口的注冊的模塊還執(zhí)行:在Android運行時層指定上述指紋識別硬件的兩個設(shè)備結(jié)點的波特率、校驗位、數(shù)據(jù)位以及停止位,并且在這層打開串口,同時,該層要向上層針對指紋注冊接口,所述接口為指紋識別接口。
8.如權(quán)利要求5所述的向Android系統(tǒng)添加指紋識別的裝置,其特征在于,掃描服務(wù)類完成對系統(tǒng)庫和Android運行時注冊的接口的封裝,以及封裝對硬件模塊的打開和關(guān)閉,掃描管理類只控制模塊的打開和關(guān)閉,以及開始和停止掃描。
【文檔編號】G06F21/54GK103914648SQ201210591469
【公開日】2014年7月9日 申請日期:2012年12月30日 優(yōu)先權(quán)日:2012年12月30日
【發(fā)明者】唐日升, 李寧, 郭世奎, 馮艷, 楊彥青, 陳皓, 陳懿 申請人:航天信息股份有限公司