本發(fā)明是一種公安領(lǐng)域具有二代居民身份證信息采集、居民身份證網(wǎng)絡(luò)解碼、人臉特征采集、電子信息特征采集等功能的身份特征采集的產(chǎn)品制造方法及設(shè)備,內(nèi)容包括二代身份證遠(yuǎn)程解碼的具體實(shí)現(xiàn)方法、人臉采集與特征提取方法、電子信息采集與特征提取方法以及有助于破案的信息關(guān)聯(lián)方法等多項技術(shù),屬于公安身份特征識別技術(shù)領(lǐng)域,本發(fā)明可用于旅館、門衛(wèi)、加油站、危險物品買賣、二手交易市場、貴重物品交易市場、特殊場所出入登記等多種場景,對提高公安機(jī)關(guān)治安管理能力和案件偵破能力具有較大的作用。
背景技術(shù):
在旅館旅客、單位訪客、加油站加油、危險物品買賣、二手物品交易、貴重物品交易、特殊場所出入等各種信息中,含有大量的與治安、犯罪相關(guān)的信息,有效采集和使用這些信息為提高治安防控能力、提高案件偵破能力具有十分重要的意義,在相關(guān)人員從事這些活動時,本發(fā)明可以方便采集二代居民身份證身份信息、人臉特征信息、電子特征信息等內(nèi)容,并使用一種有助于破案的新的信息關(guān)聯(lián)方法將信息進(jìn)行關(guān)聯(lián)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是一種公安領(lǐng)域具有二代居民身份證信息采集、居民身份證網(wǎng)絡(luò)解碼、人臉特征采集、電子信息特征采集等功能的身份特征采集的產(chǎn)品制造方法及設(shè)備,同時在本產(chǎn)品中還提出了一套有助于破案的信息關(guān)聯(lián)方法;所述設(shè)備由客戶端和服務(wù)端組成,服務(wù)端由sam_a、帶網(wǎng)絡(luò)模塊的單片機(jī)、網(wǎng)絡(luò)交換機(jī)、雙網(wǎng)卡解碼服務(wù)器、電源模塊組成,每一個sam_a模塊與單獨(dú)一個服務(wù)端單片機(jī)連接,每一個服務(wù)端單片機(jī)通過單片機(jī)網(wǎng)絡(luò)模塊與交換機(jī)連接,服務(wù)端解碼服務(wù)器通過網(wǎng)絡(luò)接口與網(wǎng)絡(luò)交換機(jī)連接,這樣服務(wù)端通過網(wǎng)絡(luò)交換機(jī)將解碼服務(wù)器、單片機(jī)、sam_a模塊組成了一個局域網(wǎng);客戶端由單片機(jī)、符合iso-14443b標(biāo)準(zhǔn)的射頻讀卡模塊、攝像頭、wifi探針模塊、電腦主機(jī)組成,客戶端與服務(wù)端通過網(wǎng)絡(luò)進(jìn)行連接,既可以是互聯(lián)網(wǎng),也可以是局域網(wǎng),還可以是特定專網(wǎng);帶iso-14443b讀卡器模塊和wifi模塊的智能手機(jī)也是可以作為本發(fā)明客戶端的;本發(fā)明產(chǎn)品網(wǎng)絡(luò)結(jié)構(gòu)圖如附圖1所示;需要說明的是:sam_a是《ga467-2013居民身份證驗證安全控制模塊接口技術(shù)規(guī)范》指定的專用居民身份證信息解碼設(shè)備。
所述服務(wù)端單片機(jī)采用stm32單片機(jī),服務(wù)端單片機(jī)需要帶網(wǎng)絡(luò)模塊,服務(wù)端每一個stm32單片機(jī)模塊連接單獨(dú)一個sam_a,每一個sam_a連接一個單獨(dú)的stm32單片機(jī)模塊,將stm32單片機(jī)模塊的pa9引腳與sam_a的uart接口的rx引腳相連接,將stm32單片機(jī)模塊的pa10引腳與sam_a的uart接口的tx引腳相連接,在stm32單片機(jī)模塊選擇4個空閑的gpio引腳,命名為tx_frame、rx_frame、sclk、sdata分別于sam_a的tx_frame、rx_frame、sclk、sdata引腳相連接,在接通stm32和sam_a電源的情況下,只需要6根數(shù)據(jù)線就能實(shí)現(xiàn)服務(wù)端單片機(jī)與sam_a的通信,大大降低了網(wǎng)絡(luò)二代居民身份證讀卡和解碼裝置的制造難度。
所述客戶端單片機(jī)采用stm32單片機(jī),客戶端單片機(jī)需要帶usb模塊,客戶端二代居民身份證射頻讀卡器模塊采用帶spi接口的符合iso14443b標(biāo)準(zhǔn)的射頻讀卡器模塊,將客戶端主機(jī)與客戶端stm32單片機(jī)使用usb接口相連,客戶端stm32單片機(jī)與射頻讀卡模塊采用spi接口相連,這種連接和通信方法既保證了較高的穩(wěn)定性,也保證了較高的通信速率。
服務(wù)端sam_a、服務(wù)端單片機(jī)、服務(wù)端解碼服務(wù)器、服務(wù)端網(wǎng)絡(luò)交換機(jī)啟動后,每一個服務(wù)端單片機(jī)首先通過服務(wù)端局域網(wǎng)向服務(wù)端解碼服務(wù)器發(fā)送注冊申請,注冊內(nèi)容包括:本單片機(jī)連接的sam_a的id、本單片的id、本單片的ip地址、本單片機(jī)的網(wǎng)絡(luò)通信協(xié)議的端口等信息,如果注冊失敗,停止一段時間后重新申請注冊,直到解碼服務(wù)器返回注冊成功的消息為止;服務(wù)端解碼服務(wù)器收到服務(wù)端單片機(jī)注冊申請后,登記并緩存該單片機(jī)的id、ip地址、網(wǎng)絡(luò)通信協(xié)議的端口以及該單片機(jī)所連接的sam_a的id,并將sam_a的狀態(tài)設(shè)置為空閑的狀態(tài),并向該單片機(jī)返回注冊成功的信息,如果注冊失敗,則返回注冊失敗的消息和注冊失敗的原因,服務(wù)端單片機(jī)如果收到了解碼服務(wù)器注冊失敗的信息,停止一段時間后重新申請注冊。
本發(fā)明將sam_a與射頻模塊進(jìn)行分離,利用網(wǎng)絡(luò)實(shí)現(xiàn)二代居民身份證加密信息的遠(yuǎn)程解碼,方法和過程如下[0008]-[0030]描述。
客戶端主機(jī)不與服務(wù)端進(jìn)行通信,直接利用單片機(jī)驅(qū)動射頻模塊依據(jù)iso-14443b協(xié)議,發(fā)送尋卡命令進(jìn)行尋卡,尋找射頻場有效范圍內(nèi)是否存在二代居民身份證。
在尋卡成功的基礎(chǔ)上,客戶端主機(jī)不與服務(wù)端進(jìn)行通信,直接利用單片機(jī)驅(qū)動射頻模塊依據(jù)iso-14443b協(xié)議,發(fā)送選卡命令進(jìn)行選卡,選定射頻場有效范圍內(nèi)的一個二代居民身份證。
選卡成功后,客戶端生成對稱加密算法的隨機(jī)秘鑰和隨機(jī)會話id,用服務(wù)端解碼服務(wù)器公布的非對稱加密算法的公鑰,將對稱加密算法的秘鑰進(jìn)行加密并使用哈希算法生成哈希碼,同時生成會話消息包,會話消息包的內(nèi)容包括消息id、會話id、數(shù)據(jù)、數(shù)據(jù)類型、狀態(tài)、時間戳、數(shù)據(jù)哈希碼等字段;需要說明的是,在下面的各步驟中,客戶端與服務(wù)端整個通信過程中,每一個會話消息包中都包含消息id、會話id、數(shù)據(jù)、數(shù)據(jù)類型、狀態(tài)、時間戳、數(shù)據(jù)哈希碼等字段,消息包字段格式如附圖2所示,會話的每個消息都要驗證數(shù)據(jù)字段內(nèi)容的哈希碼,下面各步驟中即使不描述驗證哈希碼的過程,但無論是服務(wù)端還是客戶端在收到消息包后都自動驗證數(shù)據(jù)字段的哈希碼,確保消息包的數(shù)據(jù)未經(jīng)篡改;同時需要說明的是:在密鑰交換階段,對稱加密算法的密鑰由非對稱加密算法的公鑰進(jìn)行加密,由非對稱加密算法的私鑰進(jìn)行解密;在讀卡和解碼階段,會話消息包的數(shù)據(jù)字段的內(nèi)容使用對稱加密算法的密鑰進(jìn)行加密和解密,整個通信過程都是加密的,沒有明碼的通信過程;選卡成功后,客戶端將請求密鑰交換的消息包發(fā)送給服務(wù)端的解碼服務(wù)器,并在整個會話生命周期內(nèi)緩存會話id和對稱加密算法的秘鑰,并將會話id與對稱加密算法的密鑰進(jìn)行綁定。
服務(wù)端的解碼服務(wù)器用非對稱加密算法的私鑰解密對稱加密算法的秘鑰,并在整個會話生命周期內(nèi)緩存會話id、對稱加密算法的秘鑰和客戶端的ip地址、客戶端網(wǎng)絡(luò)協(xié)議通信端口等信息,將會話id與對稱加密算法的密鑰、客戶端的ip地址、客戶端網(wǎng)絡(luò)協(xié)議通信端口相綁定,需要說明的是:在之后步驟的讀卡階段,服務(wù)端解碼服務(wù)器在每收到一個會話消息包后,都首先讀取出會話id,根據(jù)會話id找到與之綁定的對稱加密算法的密鑰,用以解密使用對稱加密算法加密的數(shù)據(jù);在之后步驟的讀卡階段,客戶端主機(jī)每收到一個服務(wù)端發(fā)來的消息包后,都首先讀取出會話id,與本機(jī)緩存的會話id進(jìn)行比對,如果發(fā)現(xiàn)是本客戶端緩存的會話id,則使用與會話id綁定的對稱加密算法的密鑰解密數(shù)據(jù),否則拋棄該會話包。
服務(wù)端的解碼服務(wù)器向客戶端返回對稱加密算法密鑰交換成功或失敗的反饋消息包。
客戶端向服務(wù)端解碼服務(wù)器發(fā)送用戶名和密碼,服務(wù)端解碼服務(wù)器驗證客戶端的用戶名和密碼,驗證后返回登錄成功或者失敗的消息包。
客戶端主機(jī)向服務(wù)端解碼服務(wù)器發(fā)送二代居民身份證上位機(jī)讀卡命令,命令碼為x30,參數(shù)為0x01,注意命令格式要符合《ga467-2013居民身份證驗證安全控制模塊接口技術(shù)規(guī)范》的傳輸格式要求,包括幀頭、長度、校驗碼等規(guī)定。
服務(wù)端的解碼服務(wù)器在已注冊的sam_a列表里查找空閑的sam_a模塊,如果所有sam_a處于忙的狀態(tài),則反饋給客戶端稍后請重新發(fā)送讀卡命令,如果發(fā)現(xiàn)有空閑的sam_a模塊,則綁定該sam_a模塊,并在sam_a列表里將該sam_a模塊設(shè)置為忙的狀態(tài),緩存sam_a模塊的id以及該sam_a模塊連接的單片機(jī)的id、ip地址、網(wǎng)絡(luò)協(xié)議通信端口等信息,將會話id與該sam_a的id、單片機(jī)id、ip地址、網(wǎng)絡(luò)協(xié)議通信端口相綁定,并確保在該會話整個讀卡和解碼生命周期內(nèi),都與該sam_a模塊進(jìn)行通信,中途不更換sam_a,需要說明的是:服務(wù)端解碼服務(wù)器每收到一個客戶端消息包后,首先提取會話id并解密數(shù)據(jù)字段的內(nèi)容,通過數(shù)據(jù)類型字段的內(nèi)容判斷是密鑰交換命令還是上位機(jī)讀卡命令或者是二代居民身份證讀卡過程中返回的消息,如果發(fā)現(xiàn)消息包數(shù)據(jù)字段的內(nèi)容是二代居民身份證返回的消息,通過會話id查找該會話id綁定的sam_a以及該sam_a所連接的服務(wù)端單片機(jī)的ip地址和網(wǎng)絡(luò)協(xié)議通信端口,這樣就知道將客戶端發(fā)來的二代居民身份證讀卡過程中返回的消息發(fā)給哪個sam_a。
服務(wù)端解碼服務(wù)器成功鎖定空閑的sam_a模塊后,通過網(wǎng)絡(luò)交換機(jī)向與該sam_a相連的服務(wù)端單片機(jī)發(fā)送上位機(jī)讀卡命令,服務(wù)端單片機(jī)通過uart串口將上位機(jī)讀卡命令發(fā)送給sam_a。
sam_a收到讀卡命令后,會生成驗證或讀卡的命令,通過串行方式通過tx_frame、sclk、sdata發(fā)送出來。
服務(wù)端單片機(jī)根據(jù)sam_a的tx_frame引腳的狀態(tài),從sam_a的sclk、sdata引腳接收數(shù)據(jù),需要注意的是,每接收一個8bit的數(shù)據(jù),都要在第9個sclk高電平期間發(fā)送sdata低電平ack信號進(jìn)行驗證,表示接收成功,否則通信將強(qiáng)制終止,服務(wù)端單片機(jī)將sam_a命令通過網(wǎng)絡(luò)交換機(jī)轉(zhuǎn)發(fā)給服務(wù)端解碼服務(wù)器。
服務(wù)端單片機(jī)接收到sam_a發(fā)來的命令后,通過網(wǎng)絡(luò)交換機(jī)發(fā)送給服務(wù)端解碼服務(wù)器,服務(wù)端解碼服務(wù)器收到服務(wù)端單片機(jī)的消息后,根據(jù)網(wǎng)絡(luò)通信協(xié)議獲取該消息上下文指明的ip地址,無論是udp協(xié)議還是tcp協(xié)議,都可以通過消息上下文獲取發(fā)送方的ip地址,通過該ip地址查找與該ip綁定的會話id,進(jìn)而通過該會話id查找該會話id綁定的客戶端的ip地址、客戶端的網(wǎng)絡(luò)通信協(xié)議端口,生成加密消息包發(fā)送給客戶端主機(jī),在本發(fā)明下面步驟中,服務(wù)端向客戶端發(fā)送消息時,也是根據(jù)這個查找機(jī)制確定向哪臺客戶端主機(jī)發(fā)送消息的。
客戶端主機(jī)收到解碼服務(wù)器發(fā)來的sam_a命令后,解密后通過usb接口發(fā)送給客戶端單片機(jī)。
客戶端單片機(jī)將sam_a命令通過spi接口發(fā)送給iso14443b射頻讀卡模塊。
iso14443b射頻讀卡模塊與二代居民身份證通信后將二代居民身份證返回的消息發(fā)送給客戶端單片機(jī)。
客戶端單片機(jī)再通過usb接口將二代居民身份證返回的數(shù)據(jù)發(fā)送給客戶端主機(jī)。
客戶端主機(jī)加密后生成消息包發(fā)送給服務(wù)端解碼服務(wù)器。
服務(wù)端解碼服務(wù)器根據(jù)消息包中的會話id查找該會話id綁定的服務(wù)端單片機(jī),將解密后的二代居民身份證返回的信息通過網(wǎng)絡(luò)交換機(jī)發(fā)送給該會話id綁定的服務(wù)端單片機(jī)。
服務(wù)端單片機(jī)通過sam_a的rx_frame、sclk、sdata引腳發(fā)送給sam_a,需要注意的是,每發(fā)送一個8bit的數(shù)據(jù),都應(yīng)在第9個sclk高電平期間驗證sdata是否為低電平,如果是低電平,表示sam_a接收成功,否則表示sam_a接收失敗。
sam_a驗證成功后,sam_a模塊會發(fā)出下一條驗證或者讀卡命令給所連接的服務(wù)端單片機(jī),重復(fù)[0018]至[0027]的步驟,直到全部讀卡、驗證、解碼過程完成為止。
sam_a完成全部讀卡、驗證、解碼過程后,會通過usb接口或者uart接口將解碼后的二代居民身份證信息發(fā)送出來,本發(fā)明的服務(wù)端單片機(jī)采用uart串口接收sam_a返回的成功解碼的二代居民身份證數(shù)據(jù)或者解碼失敗的提示信息。
單片機(jī)通過uart接口接收到sam_a成功解密后的數(shù)據(jù)或者解碼失敗的提示后,發(fā)送給服務(wù)端解碼服務(wù)器,服務(wù)端解碼服務(wù)器將解碼狀態(tài)設(shè)置為成功或者失敗,生成加密消息包發(fā)送給客戶端,然后向該會話id綁定的服務(wù)端單片機(jī)發(fā)送復(fù)位命令,讓該會話id綁定的服務(wù)端單片機(jī)和sam_a進(jìn)行復(fù)位,將該sam_a的狀態(tài)設(shè)置為空閑,解綁與會話id綁定的對稱加密算法的密鑰、sam_a的id、服務(wù)端單片機(jī)的id、服務(wù)端單片機(jī)的ip地址、服務(wù)端單片機(jī)的網(wǎng)絡(luò)協(xié)議通信端口、客戶端ip地址、客戶端網(wǎng)絡(luò)協(xié)議通信端口,清空與會話id綁定的緩存信息并清空會話id,結(jié)束本次會話;需要注意的是,身份證照片是wlt格式的數(shù)據(jù),需要使用公安部提供的動態(tài)鏈接庫進(jìn)行轉(zhuǎn)碼,才能將wlt格式的數(shù)據(jù)轉(zhuǎn)換為bmp圖像格式的照片,這個轉(zhuǎn)碼過程可以由服務(wù)端解碼服務(wù)器來完成,也可以提交給專門的轉(zhuǎn)碼服務(wù)器來完成,還可以不轉(zhuǎn)碼直接返回到客戶端業(yè)務(wù)系統(tǒng)進(jìn)行轉(zhuǎn)碼,為了不給服務(wù)端解碼服務(wù)器造成運(yùn)算負(fù)擔(dān),本發(fā)明不提倡將wlt轉(zhuǎn)碼過程放在服務(wù)端的解碼服務(wù)器,建議交給客戶端轉(zhuǎn)碼或者專門搭建轉(zhuǎn)碼服務(wù)器進(jìn)行轉(zhuǎn)碼。
客戶端接收到讀卡解碼成功或者失敗的消息包后,驅(qū)動單片機(jī)向射頻模塊發(fā)送復(fù)位命令,在客戶端清空會話id和該會話id綁定的對稱加密算法的密鑰和緩存信息,結(jié)束本次會話,并將數(shù)據(jù)返回給業(yè)務(wù)系統(tǒng)。
除了識別和采集二代居民身份證身份信息之外,客戶端通過攝像頭采集附近畫面,并使用haar分類器方法,挖掘出畫面中所有出現(xiàn)的人臉,按照人臉遠(yuǎn)近進(jìn)行排序,將整體圖像、排序后的人臉圖像、居民身份證照片、實(shí)時時間、地理坐標(biāo)、居民身份證文字信息進(jìn)行綁定存儲,建立關(guān)聯(lián)關(guān)系,將確定的身份信息與一組不確定的人臉建立時空關(guān)系圖譜,形成一個曾在同一個時間和地點(diǎn)出現(xiàn)的時空關(guān)系網(wǎng)絡(luò),通過身份證刷卡人的身份信息能搜索到畫面中的任何一人的人臉,通過畫面中的任何一張人臉,能搜索到身份證刷卡的人和畫面中同時出現(xiàn)的其他人臉,這樣就擴(kuò)大了線索來源,大幅度提高了案件偵破能力,在實(shí)際應(yīng)用中,結(jié)合交通卡口攝像機(jī)和治安攝像機(jī)的圖偵手段,破案能力就進(jìn)一步加強(qiáng)。
人臉圖像首先要根據(jù)兩眼的傾斜角度,把人臉旋轉(zhuǎn)使得兩眼平衡和頭頂朝上,將彩色原圖分別轉(zhuǎn)化成灰色圖片和輪廓圖片,然后利用haar分類器方法,識別并挖掘出人臉圖像中的眼睛、鼻子、嘴巴的圖片和位置,計算和存儲以下內(nèi)容:灰色圖片特征點(diǎn)數(shù)量、灰色圖片特征點(diǎn)位置、輪廓橢圓參數(shù)特征、輪廓圖片特征數(shù)量、輪廓圖片特征位置、左眼左側(cè)位置與人臉總寬度比例、左眼右側(cè)位置與人臉總寬度比例、右眼右側(cè)位置與人臉總寬度比例、右眼左側(cè)位置與人臉總寬度比例、左眼寬度與人臉總寬度比例、右眼寬度與人臉總寬度比例、兩眼中心點(diǎn)距離與人臉總寬度比例、左眼高度與人臉總高度比例、右眼高度與人臉總高度比例、兩眼中心位置與人臉上側(cè)頂點(diǎn)比例、兩眼中心與鼻子中心距離除以人臉總高度的比例、兩眼中心與嘴中心距離除以人臉總高度比例、左眼中心與鼻子中心角度、右眼中心與鼻子中心角度、左眼中心與嘴中心角度、右眼中心與嘴中心角度、左眼與左嘴角角度、左眼與右嘴角角度、右眼與左嘴角角度、右眼與右嘴角角度、鼻子中心與嘴中心垂直距離除以人臉總高度的比例、鼻子中心與左嘴角角度、鼻子中心與右嘴角角度、鼻子寬度與人臉總寬度比例、鼻子高度與人臉總高度比例、嘴寬度與人臉總寬度比例、嘴唇弧線角度參數(shù),這些特征的組合將能確定一張人臉并能夠為人臉檢索提供數(shù)學(xué)模型支撐,這些人臉特征形成字段存儲到數(shù)據(jù)庫。
除了采集人臉特征之外,本發(fā)明還通過wifi探針技術(shù)采集附近手機(jī)wifi的mac地址碼,按照wifi信號強(qiáng)弱進(jìn)行排序,將這些mac地址碼列表、實(shí)時時間、地理坐標(biāo)與身份證的身份信息綁定存儲,將確定的身份信息與一組不確定的mac地址建立時空關(guān)系圖譜,形成一個曾在同一個時間和地點(diǎn)出現(xiàn)的關(guān)系網(wǎng)絡(luò),將人的身份信息、附近mac信息、附近出現(xiàn)的人臉信息進(jìn)行關(guān)聯(lián),在案件偵破過程中,能通過這些關(guān)聯(lián)信息找到更多的線索,還能通過身份信息、人臉信息、電子特征信息分析相關(guān)人的活動軌跡,為案件偵破提供有力的技術(shù)保障;作為輔助和補(bǔ)充手段,如果客戶端主機(jī)處在一個局域網(wǎng)內(nèi),還通過arp技術(shù)采集客戶端主機(jī)所在局域網(wǎng)的其他在線主機(jī)的mac地址碼,作用是在旅館等場所應(yīng)用中,知道旅館中哪些mac的主機(jī)處于在線狀態(tài)。
讀卡、解碼、采集成功后的存儲,并不是存儲到客戶端本地,而是根據(jù)用戶的具體要求,通過加密傳輸、網(wǎng)閘單向跳轉(zhuǎn)等方法,根據(jù)公安機(jī)關(guān)的要求傳輸?shù)脚渲梦募付ǖ木W(wǎng)絡(luò)、指定的服務(wù)器、指定的數(shù)據(jù)庫進(jìn)行存儲;任何緩存的數(shù)據(jù)都不明碼存儲到存儲設(shè)備。
本發(fā)明還設(shè)計了單片機(jī)程序防提取和轉(zhuǎn)錄功能,程序從一個單片機(jī)提取后轉(zhuǎn)錄到另一個單片機(jī)是不能直接用的,機(jī)制如下:將stm32單片機(jī)mcu唯一id的3個32位數(shù)拆成12個8位數(shù),將不同位置的8位數(shù)按照不同的位移方式進(jìn)行位移,然后打亂順序重新排布12個位移后的8位數(shù),生成激活碼,在向該單片機(jī)傳輸命令之前,需要輸入激活碼進(jìn)行激活碼驗證,激活碼驗證成功,提供正常服務(wù),激活碼驗證失敗,不提供正常服務(wù);作為改進(jìn),還可以在激活碼特定位置加入時間戳和隨機(jī)碼。
附圖說明
圖1為產(chǎn)品網(wǎng)絡(luò)結(jié)構(gòu)圖;
圖2為消息包格式;
圖3為服務(wù)端單片機(jī)網(wǎng)絡(luò)模塊原理圖;
圖4為服務(wù)端單片機(jī)電源輸入模塊原理圖;
圖5為thm3060讀卡模塊原理圖;
圖6為客戶端單片機(jī)usb接口原理圖;
圖7為服務(wù)端解碼服務(wù)器會話過程中會話id綁定示意圖;
圖8為客戶端會話過程中會話id綁定示意圖。
具體實(shí)施方式
所述服務(wù)端解碼服務(wù)器采用樹莓派3b,樹莓派3b使用了broadcombcm28371.2ghz四核a5364位處理器,1gbddr內(nèi)存,可以安裝linux操作系統(tǒng),體積小,運(yùn)行速度快,是一款能力較強(qiáng)的嵌入式設(shè)備,而且成本較低;樹莓派3b長寬約為85mm×56mm,厚度17mm左右,集成有一個標(biāo)準(zhǔn)rj45接口和兩組雙usb接口模塊,在一個usb接口插卡插一個usb千兆網(wǎng)卡,加上樹莓派自帶的一個rj45接口,組成雙網(wǎng)卡樹莓派主機(jī),其中一個網(wǎng)卡用于和服務(wù)端的交換機(jī)、單片機(jī)組成一個服務(wù)端局域網(wǎng),另一個網(wǎng)卡ip地址和子網(wǎng)掩碼交用戶設(shè)置,使得客戶端能夠通過網(wǎng)絡(luò)訪問到服務(wù)端解碼服務(wù)器,可以是互聯(lián)網(wǎng),也可以是局域網(wǎng),還可以是特定專網(wǎng),網(wǎng)絡(luò)結(jié)構(gòu)圖如附圖1所示。
所述服務(wù)端網(wǎng)絡(luò)交換機(jī)選擇通用的千兆網(wǎng)絡(luò)交換機(jī)即可,無特殊要求。
所述服務(wù)端單片機(jī)選用stm32f407zgt6,外接8m晶振和32.768k晶振、網(wǎng)絡(luò)模塊、電源輸入模塊,同時引出gpio引腳,從電源輸入模塊引出5v輸出、3.3v輸出和gnd引腳,stm32f407zgt6是一款高性能的stm32芯片,支持168mhz主頻,1024kflash和192k內(nèi)部sram,支持串口、usb、spi、iic、can等多種通信協(xié)議,服務(wù)端單片機(jī)的網(wǎng)絡(luò)模塊由dp83848iv芯片和rj45網(wǎng)口組成,原理圖如附圖3所示,電源輸入模塊原理圖如附圖4所示;需要注意的是:服務(wù)端單片機(jī)網(wǎng)絡(luò)接口通信速率應(yīng)該穩(wěn)定在1mb以上。
所述sam_a是《ga467-2013居民身份證驗證安全控制模塊接口技術(shù)規(guī)范》指定的專用居民身份證信息解碼設(shè)備。
所述服務(wù)端電源模塊為5v3安培以上的供電模塊,本發(fā)明實(shí)施例中采用的是明緯t-150d三組多路輸出電源,該電源模塊輸出能力較強(qiáng),同時支持三組輸出5v8a、12v3a,24v3a,具有emi濾波、短路保護(hù)、過載保護(hù)和自恢復(fù)功能,能夠滿足供電需求,可以支持服務(wù)端解碼服務(wù)器、網(wǎng)絡(luò)交換機(jī)、以及多組單片機(jī)和sam_a的供電。
所述客戶端主機(jī)采用樹莓派3b,客戶端射頻模塊采用帶spi接口和天線的thm3060讀卡模塊,本發(fā)明射頻模塊使用spi接口而不是uart串口進(jìn)行通信,目的是為了提高通信速率和解碼穩(wěn)定性,thm3060支持2.5mb每秒的spi穩(wěn)定通信速率,uart串口通信一般達(dá)不到這個穩(wěn)定速度,sam_a向射頻模塊發(fā)出命令后必須在90毫秒內(nèi)得到射頻模塊的返回數(shù)據(jù),否則就強(qiáng)制終止通信了,根據(jù)實(shí)際測試發(fā)現(xiàn),很多sam_a等待時間達(dá)不到90毫秒,所以通信過程要盡可能節(jié)約時間,這樣才能保證較高的讀卡和解碼的成功率;thm3060讀卡模塊原理圖如附圖5所示;裝有iso14443b讀卡模塊和wifi模塊的智能手機(jī),也是能夠作為本發(fā)明客戶端的。
所述客戶端單片機(jī)采用stm32f407vet6,外接8m晶振和32.768k晶振、usb接口,通過usb接口供電,同時引出gpio引腳,從usb接口引出5v輸出、gnd引腳,并且串接1.5k歐電阻引出3.3v輸出引腳,stm32f407vet6支持spi和usb通信,也可以選用其他同時支持spi和usb通信的高速單片機(jī),usb通信速率要盡可能的高,應(yīng)保持在1mb每秒以上,最好能達(dá)到30mb每秒,因為根據(jù)實(shí)際測試發(fā)現(xiàn),很多sam_a等待時間達(dá)不到90毫秒,通信速率如果過低,很容易導(dǎo)致讀卡和解碼失敗,如果要實(shí)現(xiàn)高速usb通信,需要增加phy電路,可使用usb3300芯片;usbslave接口原理圖如附圖6所示。
所述客戶端攝像頭采用帶紅外光源的廣角usb高清攝像頭,該攝像頭要求能夠外接電源,以防usb接口供電不足,對此類攝像頭無其他特殊要求,電子市場很方便買得到。
所述wifi探針選擇一款支持開發(fā)的和uart通信的wifiap模塊就能夠滿足要求,電子市場很方便買得到,通過開發(fā)設(shè)置為ap模式并且持續(xù)發(fā)送beacon幀通知周圍wifi設(shè)備,當(dāng)周圍wifi設(shè)備掃描ap時,就能夠收集周圍這些wifi設(shè)備的mac地址。
所述服務(wù)端解碼服務(wù)器和客戶端主機(jī)采用樹莓派3b,并配置16gbmicrosd存儲卡安裝linux操作系統(tǒng),本發(fā)明選用的樹莓派linux操作系統(tǒng)是raspbian;裝有iso14443b讀卡模塊和wifi模塊的智能手機(jī),也是能夠作為本發(fā)明客戶端的。
服務(wù)端每一個stm32f407zgt6單片機(jī)模塊連接單獨(dú)一個sam_a,每一個sam_a連接一個單獨(dú)的stm32f407zgt6單片機(jī)模塊,將stm32f407zgt6單片機(jī)模塊的pa9引腳與sam_a的uart接口的rx引腳相連接,將stm32f407zgt6單片機(jī)模塊的pa10引腳與sam_a的uart接口的tx引腳相連接,在stm32f407zgt6單片機(jī)模塊選擇4個空閑的gpio引腳,命名為tx_frame、rx_frame、sclk、sdata,分別于sam_a的tx_frame、rx_frame、sclk、sdata引腳相連接,按照《ga467-2013居民身份證驗證安全控制模塊接口技術(shù)規(guī)范》的規(guī)定進(jìn)行通信,然后將sam_a的vcc引腳與stm32f407zgt6單片機(jī)模塊5v輸出引腳相連,將sam_a的gnd引腳與stm32f407zgt6單片機(jī)模塊的gnd引腳相連。
在服務(wù)端解碼服務(wù)器樹莓派3b的一個usb接口插入一個usb千兆網(wǎng)卡,加上樹莓派自帶的一個rj45接口組成雙網(wǎng)卡服務(wù)器,在解碼服務(wù)器樹莓派3b的兩個網(wǎng)卡中,任選一個命名為一號網(wǎng)卡,另一個命名為二號網(wǎng)卡,將每一個服務(wù)端stm32f407zgt6單片機(jī)模塊的rj45接口通過網(wǎng)線與網(wǎng)絡(luò)交換機(jī)相連,分配局域網(wǎng)ip地址,推薦設(shè)置為192.168.10.2、192.168.10.3、192.168.10.4、192.168.10.5等依次類推,并將網(wǎng)關(guān)設(shè)置為解碼服務(wù)器樹莓派3b的一號網(wǎng)卡的ip地址,子網(wǎng)掩碼要與解碼服務(wù)器樹莓派3b的一號網(wǎng)卡的子網(wǎng)掩碼相同。
將一號網(wǎng)卡通過網(wǎng)線與網(wǎng)絡(luò)交換機(jī)相連,并設(shè)置為局域網(wǎng)ip地址,推薦設(shè)置為192.168.10.1,該地址應(yīng)與stm32f407zgt6單片機(jī)模塊設(shè)置的局域網(wǎng)網(wǎng)關(guān)地址相同,子網(wǎng)掩碼應(yīng)與stm32f407zgt6單片機(jī)模塊設(shè)置的子網(wǎng)掩碼相同,這樣解碼服務(wù)器樹莓派3b就與stm32f407zgt6單片機(jī)模塊組成了一個局域網(wǎng)。
將服務(wù)端stm32f407zgt6單片機(jī)模塊的電源輸入接口與明緯t-150d的5v電源輸出接口相連,將樹莓派的電源輸入接口與明緯t-150d的5v電源輸出接口相連,同時根據(jù)網(wǎng)絡(luò)交換機(jī)的電源特征要求將網(wǎng)絡(luò)交換機(jī)的電源輸入接口與相同電壓的明緯t-150d的電源接口相連,如果選用的網(wǎng)絡(luò)交換機(jī)使用220v交流電源,則將網(wǎng)絡(luò)交換機(jī)的電源輸入接口接入220v交流輸出電源。
服務(wù)端解碼服務(wù)器樹莓派3b二號網(wǎng)卡的ip地址、子網(wǎng)掩碼交給用戶設(shè)置,以適應(yīng)用戶的應(yīng)用環(huán)境,使得客戶端能夠訪問到服務(wù)端解碼服務(wù)器,這個網(wǎng)絡(luò)可以是局域網(wǎng),也可以是互聯(lián)網(wǎng),還可以是特定專網(wǎng),比如公安網(wǎng)、教育網(wǎng)等,網(wǎng)絡(luò)結(jié)構(gòu)圖如附圖1所示。
客戶端模塊連接方法:在stm32f407vet6單片機(jī)模塊選擇6個空閑引腳,依次命名為:miso、mosi、sclk、ss_n、rstn、standby,分別與thm3060讀卡模塊的miso、mosi、sclk、ss_n、rstn、standby引腳相連接,使用spi協(xié)議在1mb每秒至2.5mb每秒的速率進(jìn)行通信,將wifi探針模塊uart接口的tx引腳與stm32f407vet6單片機(jī)模塊通過pa10引腳相連,將wifi探針模塊uart接口的rx引腳與stm32f407vet6單片機(jī)模塊的pa9引腳相連,使用uart協(xié)議進(jìn)行通信,將thm3060電源輸入接口、wifi探針電源輸入接口與stm32f407vet6單片機(jī)模塊的相同電壓的電源輸出引腳相連,將stm32f407vet6單片機(jī)模塊與客戶端主機(jī)樹莓派3b通過usb接口相連;將攝像頭插入客戶端主機(jī)樹莓派3b的usb接口,并外接電源為攝像頭供電,以防usb接口供電不足導(dǎo)致圖像黑暗或者不清晰。
將客戶端主機(jī)樹莓派3b的rj45接口接入能夠訪問服務(wù)端解碼服務(wù)器的網(wǎng)絡(luò),并設(shè)置ip地址和子網(wǎng)掩碼,使得客戶端主機(jī)能夠通過網(wǎng)絡(luò)訪問服務(wù)端解碼服務(wù)器。
讀卡與解碼具體過程和方法如下[0055]-[0079]。
客戶端主機(jī)不與服務(wù)端進(jìn)行通信,由客戶端主機(jī)通過usb接口直接發(fā)送iso14443b尋卡命令給stm32f407vet6單片機(jī)模塊,stm32f407vet6單片機(jī)模塊通過spi接口向thm3060讀卡模塊發(fā)送尋卡命令,以尋找射頻場內(nèi)是否存在二代居民身份證。
thm3060讀卡模塊返回尋卡成功或?qū)たㄊ〉南ⅰ?/p>
尋卡成功后,客戶端主機(jī)不與服務(wù)端進(jìn)行通信,由客戶端主機(jī)通過usb接口直接發(fā)送iso14443b選卡命令給stm32f407vet6單片機(jī)模塊,stm32f407vet6單片機(jī)模塊將選卡命令通過spi接口發(fā)送給thm3060讀卡模塊,以選定射頻場內(nèi)一個二代居民身份證。
thm3060讀卡模塊返回選卡成功或選卡失敗的消息。
選卡成功后,客戶端與服務(wù)器解碼服務(wù)器進(jìn)行秘鑰交換,其中非對稱加密算法用于加密解密對稱加密算法的秘鑰,對稱加密算法用于加密解密讀卡和解碼過程的命令和數(shù)據(jù);非對稱加密算法采用rsa算法,對稱加密算法采用aes算法,選用aes算法是因為該算法運(yùn)算速度快、安全度高、資源消耗低,在樹莓派設(shè)備中運(yùn)行無性能壓力;哈希算法選用sha-1算法;客戶端隨機(jī)生成會話id、對稱加密算法的密鑰,將會話id與對稱加密算法的密鑰相綁定,并緩存綁定的信息,用sha-1算法計算對稱加密算法的密鑰的哈希碼,使用服務(wù)端解碼服務(wù)器發(fā)放的rsa公鑰將對稱加密算法的密鑰進(jìn)行加密,生成消息包,客戶端與服務(wù)端每一次交互,消息包格式均如附圖2所示。
客戶端將附圖2格式的消息包發(fā)送給服務(wù)端的解碼服務(wù)器。
服務(wù)端解碼服務(wù)器用rsa算法的私鑰解密消息包的數(shù)據(jù)字段,獲取對稱加密算法aes的密鑰。
服務(wù)端解碼服務(wù)器緩存會話id、客戶端ip地址、客戶端網(wǎng)絡(luò)協(xié)議通信端口、對稱加密算法的密鑰,并將會話id與對稱加密算法的密鑰、客戶端ip地址、客戶端網(wǎng)絡(luò)協(xié)議通信端口進(jìn)行綁定。
服務(wù)端解碼服務(wù)器利用對稱加密算法aes生成加密消息包發(fā)送給客戶端,告知客戶端已完成通信準(zhǔn)備。
客戶端收到服務(wù)端準(zhǔn)備完畢的消息后,生成新的加密消息包發(fā)送上位機(jī)讀卡命令,上位機(jī)讀卡命令為0xaa0xaa0xaa0x960x690x000x030x300x010x32,該命令為上位機(jī)要求sam_a進(jìn)行讀卡的固定格式,是《ga467-2013居民身份證驗證安全控制模塊接口技術(shù)規(guī)范》規(guī)定的,不能改變,其中命令碼為x30,參數(shù)為0x01,其他部分是幀頭、長度、校驗等內(nèi)容;作為改進(jìn),客戶端也可以自定義一個上位機(jī)讀卡命令,服務(wù)端解碼服務(wù)器收到自定義上位機(jī)讀卡命令后,再轉(zhuǎn)成《ga467-2013居民身份證驗證安全控制模塊接口技術(shù)規(guī)范》規(guī)定的0xaa0xaa0xaa0x960x690x000x030x300x010x32讀卡命令。
服務(wù)端解碼服務(wù)器在sam_a列表里查找有無空閑sam_a,如果沒有空閑sam,發(fā)送消息包通知客戶端,告知無空閑資源請稍后重試;如果有空閑的sam_a模塊,緩存該sam_a模塊id以及該sam_a模塊連接的單片機(jī)的id、ip地址、網(wǎng)絡(luò)協(xié)議通信端口等信息,并將該sam_a模塊id、該sam_a模塊連接的單片機(jī)的id、ip地址、網(wǎng)絡(luò)協(xié)議通信端口與會話id相綁定,并將該sam_a模塊的當(dāng)前狀態(tài)設(shè)置為忙的狀態(tài);服務(wù)端解碼服務(wù)器會話id綁定示意圖如附圖7所示,客戶端會話id綁定示意圖如附圖8所示;需要說明的是:服務(wù)端解碼服務(wù)器每收到一個客戶端消息包后,首先提取會話id并解密數(shù)據(jù)字段的內(nèi)容,在密鑰交換階段,通過非對稱加密算法的私鑰進(jìn)行解密,在其他階段,使用與會話id綁定的對稱加密算法的密鑰進(jìn)行解密,通過數(shù)據(jù)類型字段的內(nèi)容判斷是上位機(jī)讀卡命令還是二代居民身份證讀卡過程中返回的消息,如果發(fā)現(xiàn)消息包數(shù)據(jù)字段的內(nèi)容是二代居民身份證返回的消息,通過會話id查找該會話id綁定的sam_a和該sam_a所連接的服務(wù)端單片機(jī)的ip地址和網(wǎng)絡(luò)協(xié)議通信端口,這樣就知道將客戶端發(fā)來的二代居民身份證讀卡過程中返回的消息發(fā)給哪個sam_a。
服務(wù)端解碼服務(wù)器將客戶端發(fā)送來的讀卡命令發(fā)送給該會話id已經(jīng)綁定的服務(wù)端單片機(jī)。
服務(wù)端單片機(jī)收到上位機(jī)讀卡命令后,用uart接口發(fā)送給該單片機(jī)所連接的sam_a。
sam_a收到上位機(jī)讀卡命令后,會產(chǎn)生射頻命令,通過tx_frame、sclk、sdata等引腳發(fā)出來。
服務(wù)端stm32f407zgt6單片機(jī)模塊通過tx_frame、sclk、sdata引腳接收sam_a發(fā)送的消息,需要注意的是,每接收一個8bit的數(shù)據(jù),都要在第9個sclk高電平期間發(fā)送sdata低電平ack信號進(jìn)行驗證,表示接收成功,否則通信將強(qiáng)制終止,消息接收完成后,通過rj45接口通過網(wǎng)絡(luò)交換機(jī)發(fā)送給解碼服務(wù)器。
服務(wù)端解碼服務(wù)器收到stm32f407zgt6單片機(jī)模塊的消息后,根據(jù)網(wǎng)絡(luò)通信協(xié)議獲取該消息上下文指明的ip地址,無論是udp協(xié)議還是tcp協(xié)議,都可以通過消息上下文獲取發(fā)送方的ip地址,通過該ip地址查找與該ip綁定的會話id,進(jìn)而通過該會話id查找該會話id綁定的客戶端的ip地址、客戶端的網(wǎng)絡(luò)通信協(xié)議端口,生成加密消息包發(fā)送給該會話id綁定的客戶端主機(jī)。
客戶端主機(jī)解密消息包,通過usb接口將讀卡命令發(fā)送給客戶端stm32f407vet6單片機(jī)模塊。
客戶端stm32f407vet6單片機(jī)模塊通過spi接口將sam_a命令發(fā)送給thm3060讀卡模塊,thm3060讀卡模塊與二代居民身份證通信后,將二代居民身份證返回的消息通過spi接口發(fā)送給客戶端stm32f407vet6單片機(jī)模塊。
客戶端stm32f407vet6單片機(jī)模塊將二代居民身份證返回的消息通過usb接口發(fā)送給客戶端主機(jī),客戶端主機(jī)生成加密消息包再發(fā)給服務(wù)端解碼服務(wù)器。
服務(wù)端解碼服務(wù)器依據(jù)消息包的會話id查找該會話id綁定的服務(wù)端單片機(jī),將二代居民身份證返回的消息解密后通過網(wǎng)絡(luò)交換機(jī)發(fā)送給該會話id已綁定的服務(wù)端stm32f407zgt6單片機(jī)模塊。
服務(wù)端stm32f407zgt6單片機(jī)模塊收到客戶端二代居民身份證反饋的消息后,用rx_frame、sclk、sdata引腳將二代居民身份證返回的消息發(fā)送給sam_a,需要注意的是,每發(fā)送一個8bit的數(shù)據(jù),都應(yīng)在第9個sclk高電平期間驗證sdata是否為低電平,如果是低電平,表示sam_a接收成功,否則表示sam_a接收失敗。
sam_a收到二代居民身份證返回的消息后,會產(chǎn)生下一條射頻命令,通過tx_frame、sclk、sdata引腳發(fā)出來,重復(fù)第[0069]步至第[0076]步的過程,直到完成整個讀卡、驗證、解碼過程。
整個讀卡、驗證和解碼過程完成后,sam_a通過uart接口將解碼后的二代居民身份證信息返回給stm32f407zgt6單片機(jī)模塊,stm32f407zgt6單片機(jī)模塊通過網(wǎng)絡(luò)交換機(jī)將內(nèi)容發(fā)送給解碼服務(wù)器,其中二代居民身份證的照片是wlt格式的,需要調(diào)用公安部提供的動態(tài)鏈接庫才能轉(zhuǎn)換成bmp圖片格式,為了不給解碼服務(wù)器造成負(fù)擔(dān),這個圖片轉(zhuǎn)碼過程可以提交給專門的wlt轉(zhuǎn)碼服務(wù)器來完成,還可以不轉(zhuǎn)碼直接返回到客戶端業(yè)務(wù)系統(tǒng)進(jìn)行轉(zhuǎn)碼,為了不給服務(wù)端解碼服務(wù)器造成運(yùn)算負(fù)擔(dān),本發(fā)明不提倡將wlt圖片轉(zhuǎn)碼過程放在服務(wù)端解碼服務(wù)器,建議專門搭建轉(zhuǎn)碼服務(wù)器進(jìn)行wlt圖片轉(zhuǎn)碼。
解碼服務(wù)器將讀卡狀態(tài)設(shè)置為成功或者失敗,生成加密消息包發(fā)送給客戶端,向該會話id綁定的stm32f407zgt6單片機(jī)模塊發(fā)送復(fù)位命令,讓stm32f407zgt6單片機(jī)模塊和sam_a進(jìn)行復(fù)位,將該sam_a的狀態(tài)設(shè)置為空閑,清空會話id和該會話id綁定的sam_a模塊id、服務(wù)端單片機(jī)id、服務(wù)端單片機(jī)ip地址、服務(wù)端單片機(jī)網(wǎng)絡(luò)協(xié)議通信端口、對稱加密算法的密鑰、客戶端ip、客戶端網(wǎng)絡(luò)協(xié)議通信端口等信息,結(jié)束本次會話。
客戶端接收到讀卡成功或者失敗的消息包后,向射頻模塊發(fā)送復(fù)位命令,清空會話id和該會話id綁定的對稱加密算法的密鑰,結(jié)束本次會話,并將數(shù)據(jù)返回給業(yè)務(wù)系統(tǒng)。
客戶端主機(jī)使用opencv或者javacv調(diào)用攝像頭功能拍攝附近的畫面,并使用haar分類器方法,挖掘出所有出現(xiàn)的人臉,按照人臉遠(yuǎn)近進(jìn)行排序。
將拍攝的整體圖像、排序后的人臉圖像、居民身份證照片、居民身份證文字信息進(jìn)行綁定存儲,用身份證號作為聯(lián)結(jié)紐帶,人臉圖像存儲時,要存儲遠(yuǎn)近排序序號,將確定的身份信息與不確定的一組人臉建立時空關(guān)系圖譜,形成一個曾在同一個時間和地點(diǎn)出現(xiàn)的關(guān)系網(wǎng)絡(luò)。
計算每個人臉圖像的兩眼傾斜角度,把人臉旋轉(zhuǎn)使得兩眼平衡和頭頂朝上,將彩色原圖分別轉(zhuǎn)化成灰色圖片和輪廓圖片,灰色圖片為了消除干擾,輪廓圖片為了發(fā)現(xiàn)人臉的輪廓特征,主要是橢圓參數(shù),用以確定長臉、方臉、圓臉等臉型特征。
使用haar分類器方法,識別并挖掘出人臉中的眼睛、鼻子、嘴巴的圖片和位置,計算、存儲每個人臉以下特征:灰色圖片特征點(diǎn)數(shù)量、灰色圖片特征點(diǎn)位置、輪廓橢圓參數(shù)特征、輪廓圖片特征數(shù)量、輪廓圖片特征位置、左眼左側(cè)位置與人臉總寬度比例、左眼右側(cè)位置與人臉總寬度比例、右眼右側(cè)位置與人臉總寬度比例、右眼左側(cè)位置與人臉總寬度比例、左眼寬度與人臉總寬度比例、右眼寬度與人臉總寬度比例、兩眼中心點(diǎn)距離與人臉總寬度比例、左眼高度與人臉總高度比例、右眼高度與人臉總高度比例、兩眼中心位置與人臉上側(cè)頂點(diǎn)比例、兩眼中心與鼻子中心距離除以人臉總高度的比例、兩眼中心與嘴中心距離除以人臉總高度比例、左眼中心與鼻子中心角度、右眼中心與鼻子中心角度、左眼中心與嘴中心角度、右眼中心與嘴中心角度、左眼與左嘴角角度、左眼與右嘴角角度、右眼與左嘴角角度、右眼與右嘴角角度、鼻子中心與嘴中心垂直距離除以人臉總高度的比例、鼻子中心與左嘴角角度、鼻子中心與右嘴角角度、鼻子寬度與人臉總寬度比例、鼻子高度與人臉總高度比例、嘴寬度與人臉總寬度比例、嘴唇弧線角度參數(shù),這些特征的組合能夠較為方便地確定一張人臉并支持快速檢索,這些人臉特征要形成字段存儲到數(shù)據(jù)庫。
將wifi探針模塊設(shè)置為ap模式,并持續(xù)向外beacon幀通知周圍wifi設(shè)備,當(dāng)周圍wifi掃描ap時,收集周圍這些wifi設(shè)備的mac地址。
收集到周圍mac地址后,按照信號強(qiáng)弱進(jìn)行排序,這樣可以確定距離遠(yuǎn)近,將這些mac地址碼列表與身份證的身份信息綁定存儲,以身份證號關(guān)聯(lián)紐帶,將確定的身份與一組不確定的mac建立時空關(guān)系圖譜,形成一個曾在同一個時間和地點(diǎn)出現(xiàn)的關(guān)系網(wǎng)絡(luò);作為輔助和補(bǔ)充,如果客戶端主機(jī)處在一個局域網(wǎng)內(nèi),通過arp技術(shù),收集客戶端所在局域網(wǎng)的其他主機(jī)的mac地址一并存儲,同樣將確定的身份信息與不確定的一組主機(jī)mac建立了同一時間、同一地點(diǎn)出現(xiàn)的關(guān)系網(wǎng)絡(luò)。
除了存儲身份信息、身份證照片、周圍人臉、周圍mac地址外,還應(yīng)存儲當(dāng)前地點(diǎn)地理坐標(biāo)、當(dāng)前時間等輔助信息。
數(shù)據(jù)在客戶端本地不進(jìn)行明碼存儲,臨時緩存的數(shù)據(jù)要在加密后再進(jìn)行緩存,在數(shù)據(jù)采集完成后,通過加密傳輸、網(wǎng)閘單向跳轉(zhuǎn)等技術(shù)手段,將數(shù)據(jù)傳輸?shù)脚渲梦募付ǖ木W(wǎng)絡(luò)、指定服務(wù)器、指定數(shù)據(jù)庫進(jìn)行存儲,為防止隱私泄露和侵犯隱私,對于身份證號、家庭住址、mac地址等敏感內(nèi)容,在存入數(shù)據(jù)庫之前,進(jìn)行加密后再存儲;作為改進(jìn),人臉圖像也可以加密后再存儲。
本發(fā)明還設(shè)計了單片機(jī)程序防提取和轉(zhuǎn)錄功能,程序從一個單片機(jī)提取后轉(zhuǎn)錄到另一個單片機(jī)是不能用的,機(jī)制如下:將stm32單片機(jī)mcu唯一id的3個32位數(shù)拆成12個8位數(shù),將不同位置的8位數(shù)按照不同的位移方式進(jìn)行位移,然后打亂順序重新排布12個位移后的8位數(shù),生成激活碼,在向該單片機(jī)傳輸命令之前,需要輸入激活碼進(jìn)行激活碼驗證,激活碼驗證成功,提供正常服務(wù),激活碼驗證失敗,不提供正常服務(wù);作為改進(jìn),還可以在激活碼特定位置加入時間戳和隨機(jī)碼。