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