一种公安领域身份特征采集产品的制造方法及设备与流程

文档序号:11262170阅读:383来源:国知局
一种公安领域身份特征采集产品的制造方法及设备与流程

本发明是一种公安领域具有二代居民身份证信息采集、居民身份证网络解码、人脸特征采集、电子信息特征采集等功能的身份特征采集的产品制造方法及设备,内容包括二代身份证远程解码的具体实现方法、人脸采集与特征提取方法、电子信息采集与特征提取方法以及有助于破案的信息关联方法等多项技术,属于公安身份特征识别技术领域,本发明可用于旅馆、门卫、加油站、危险物品买卖、二手交易市场、贵重物品交易市场、特殊场所出入登记等多种场景,对提高公安机关治安管理能力和案件侦破能力具有较大的作用。



背景技术:

在旅馆旅客、单位访客、加油站加油、危险物品买卖、二手物品交易、贵重物品交易、特殊场所出入等各种信息中,含有大量的与治安、犯罪相关的信息,有效采集和使用这些信息为提高治安防控能力、提高案件侦破能力具有十分重要的意义,在相关人员从事这些活动时,本发明可以方便采集二代居民身份证身份信息、人脸特征信息、电子特征信息等内容,并使用一种有助于破案的新的信息关联方法将信息进行关联。



技术实现要素:

本发明是一种公安领域具有二代居民身份证信息采集、居民身份证网络解码、人脸特征采集、电子信息特征采集等功能的身份特征采集的产品制造方法及设备,同时在本产品中还提出了一套有助于破案的信息关联方法;所述设备由客户端和服务端组成,服务端由sam_a、带网络模块的单片机、网络交换机、双网卡解码服务器、电源模块组成,每一个sam_a模块与单独一个服务端单片机连接,每一个服务端单片机通过单片机网络模块与交换机连接,服务端解码服务器通过网络接口与网络交换机连接,这样服务端通过网络交换机将解码服务器、单片机、sam_a模块组成了一个局域网;客户端由单片机、符合iso-14443b标准的射频读卡模块、摄像头、wifi探针模块、电脑主机组成,客户端与服务端通过网络进行连接,既可以是互联网,也可以是局域网,还可以是特定专网;带iso-14443b读卡器模块和wifi模块的智能手机也是可以作为本发明客户端的;本发明产品网络结构图如附图1所示;需要说明的是:sam_a是《ga467-2013居民身份证验证安全控制模块接口技术规范》指定的专用居民身份证信息解码设备。

所述服务端单片机采用stm32单片机,服务端单片机需要带网络模块,服务端每一个stm32单片机模块连接单独一个sam_a,每一个sam_a连接一个单独的stm32单片机模块,将stm32单片机模块的pa9引脚与sam_a的uart接口的rx引脚相连接,将stm32单片机模块的pa10引脚与sam_a的uart接口的tx引脚相连接,在stm32单片机模块选择4个空闲的gpio引脚,命名为tx_frame、rx_frame、sclk、sdata分别于sam_a的tx_frame、rx_frame、sclk、sdata引脚相连接,在接通stm32和sam_a电源的情况下,只需要6根数据线就能实现服务端单片机与sam_a的通信,大大降低了网络二代居民身份证读卡和解码装置的制造难度。

所述客户端单片机采用stm32单片机,客户端单片机需要带usb模块,客户端二代居民身份证射频读卡器模块采用带spi接口的符合iso14443b标准的射频读卡器模块,将客户端主机与客户端stm32单片机使用usb接口相连,客户端stm32单片机与射频读卡模块采用spi接口相连,这种连接和通信方法既保证了较高的稳定性,也保证了较高的通信速率。

服务端sam_a、服务端单片机、服务端解码服务器、服务端网络交换机启动后,每一个服务端单片机首先通过服务端局域网向服务端解码服务器发送注册申请,注册内容包括:本单片机连接的sam_a的id、本单片的id、本单片的ip地址、本单片机的网络通信协议的端口等信息,如果注册失败,停止一段时间后重新申请注册,直到解码服务器返回注册成功的消息为止;服务端解码服务器收到服务端单片机注册申请后,登记并缓存该单片机的id、ip地址、网络通信协议的端口以及该单片机所连接的sam_a的id,并将sam_a的状态设置为空闲的状态,并向该单片机返回注册成功的信息,如果注册失败,则返回注册失败的消息和注册失败的原因,服务端单片机如果收到了解码服务器注册失败的信息,停止一段时间后重新申请注册。

本发明将sam_a与射频模块进行分离,利用网络实现二代居民身份证加密信息的远程解码,方法和过程如下[0008]-[0030]描述。

客户端主机不与服务端进行通信,直接利用单片机驱动射频模块依据iso-14443b协议,发送寻卡命令进行寻卡,寻找射频场有效范围内是否存在二代居民身份证。

在寻卡成功的基础上,客户端主机不与服务端进行通信,直接利用单片机驱动射频模块依据iso-14443b协议,发送选卡命令进行选卡,选定射频场有效范围内的一个二代居民身份证。

选卡成功后,客户端生成对称加密算法的随机秘钥和随机会话id,用服务端解码服务器公布的非对称加密算法的公钥,将对称加密算法的秘钥进行加密并使用哈希算法生成哈希码,同时生成会话消息包,会话消息包的内容包括消息id、会话id、数据、数据类型、状态、时间戳、数据哈希码等字段;需要说明的是,在下面的各步骤中,客户端与服务端整个通信过程中,每一个会话消息包中都包含消息id、会话id、数据、数据类型、状态、时间戳、数据哈希码等字段,消息包字段格式如附图2所示,会话的每个消息都要验证数据字段内容的哈希码,下面各步骤中即使不描述验证哈希码的过程,但无论是服务端还是客户端在收到消息包后都自动验证数据字段的哈希码,确保消息包的数据未经篡改;同时需要说明的是:在密钥交换阶段,对称加密算法的密钥由非对称加密算法的公钥进行加密,由非对称加密算法的私钥进行解密;在读卡和解码阶段,会话消息包的数据字段的内容使用对称加密算法的密钥进行加密和解密,整个通信过程都是加密的,没有明码的通信过程;选卡成功后,客户端将请求密钥交换的消息包发送给服务端的解码服务器,并在整个会话生命周期内缓存会话id和对称加密算法的秘钥,并将会话id与对称加密算法的密钥进行绑定。

服务端的解码服务器用非对称加密算法的私钥解密对称加密算法的秘钥,并在整个会话生命周期内缓存会话id、对称加密算法的秘钥和客户端的ip地址、客户端网络协议通信端口等信息,将会话id与对称加密算法的密钥、客户端的ip地址、客户端网络协议通信端口相绑定,需要说明的是:在之后步骤的读卡阶段,服务端解码服务器在每收到一个会话消息包后,都首先读取出会话id,根据会话id找到与之绑定的对称加密算法的密钥,用以解密使用对称加密算法加密的数据;在之后步骤的读卡阶段,客户端主机每收到一个服务端发来的消息包后,都首先读取出会话id,与本机缓存的会话id进行比对,如果发现是本客户端缓存的会话id,则使用与会话id绑定的对称加密算法的密钥解密数据,否则抛弃该会话包。

服务端的解码服务器向客户端返回对称加密算法密钥交换成功或失败的反馈消息包。

客户端向服务端解码服务器发送用户名和密码,服务端解码服务器验证客户端的用户名和密码,验证后返回登录成功或者失败的消息包。

客户端主机向服务端解码服务器发送二代居民身份证上位机读卡命令,命令码为x30,参数为0x01,注意命令格式要符合《ga467-2013居民身份证验证安全控制模块接口技术规范》的传输格式要求,包括帧头、长度、校验码等规定。

服务端的解码服务器在已注册的sam_a列表里查找空闲的sam_a模块,如果所有sam_a处于忙的状态,则反馈给客户端稍后请重新发送读卡命令,如果发现有空闲的sam_a模块,则绑定该sam_a模块,并在sam_a列表里将该sam_a模块设置为忙的状态,缓存sam_a模块的id以及该sam_a模块连接的单片机的id、ip地址、网络协议通信端口等信息,将会话id与该sam_a的id、单片机id、ip地址、网络协议通信端口相绑定,并确保在该会话整个读卡和解码生命周期内,都与该sam_a模块进行通信,中途不更换sam_a,需要说明的是:服务端解码服务器每收到一个客户端消息包后,首先提取会话id并解密数据字段的内容,通过数据类型字段的内容判断是密钥交换命令还是上位机读卡命令或者是二代居民身份证读卡过程中返回的消息,如果发现消息包数据字段的内容是二代居民身份证返回的消息,通过会话id查找该会话id绑定的sam_a以及该sam_a所连接的服务端单片机的ip地址和网络协议通信端口,这样就知道将客户端发来的二代居民身份证读卡过程中返回的消息发给哪个sam_a。

服务端解码服务器成功锁定空闲的sam_a模块后,通过网络交换机向与该sam_a相连的服务端单片机发送上位机读卡命令,服务端单片机通过uart串口将上位机读卡命令发送给sam_a。

sam_a收到读卡命令后,会生成验证或读卡的命令,通过串行方式通过tx_frame、sclk、sdata发送出来。

服务端单片机根据sam_a的tx_frame引脚的状态,从sam_a的sclk、sdata引脚接收数据,需要注意的是,每接收一个8bit的数据,都要在第9个sclk高电平期间发送sdata低电平ack信号进行验证,表示接收成功,否则通信将强制终止,服务端单片机将sam_a命令通过网络交换机转发给服务端解码服务器。

服务端单片机接收到sam_a发来的命令后,通过网络交换机发送给服务端解码服务器,服务端解码服务器收到服务端单片机的消息后,根据网络通信协议获取该消息上下文指明的ip地址,无论是udp协议还是tcp协议,都可以通过消息上下文获取发送方的ip地址,通过该ip地址查找与该ip绑定的会话id,进而通过该会话id查找该会话id绑定的客户端的ip地址、客户端的网络通信协议端口,生成加密消息包发送给客户端主机,在本发明下面步骤中,服务端向客户端发送消息时,也是根据这个查找机制确定向哪台客户端主机发送消息的。

客户端主机收到解码服务器发来的sam_a命令后,解密后通过usb接口发送给客户端单片机。

客户端单片机将sam_a命令通过spi接口发送给iso14443b射频读卡模块。

iso14443b射频读卡模块与二代居民身份证通信后将二代居民身份证返回的消息发送给客户端单片机。

客户端单片机再通过usb接口将二代居民身份证返回的数据发送给客户端主机。

客户端主机加密后生成消息包发送给服务端解码服务器。

服务端解码服务器根据消息包中的会话id查找该会话id绑定的服务端单片机,将解密后的二代居民身份证返回的信息通过网络交换机发送给该会话id绑定的服务端单片机。

服务端单片机通过sam_a的rx_frame、sclk、sdata引脚发送给sam_a,需要注意的是,每发送一个8bit的数据,都应在第9个sclk高电平期间验证sdata是否为低电平,如果是低电平,表示sam_a接收成功,否则表示sam_a接收失败。

sam_a验证成功后,sam_a模块会发出下一条验证或者读卡命令给所连接的服务端单片机,重复[0018]至[0027]的步骤,直到全部读卡、验证、解码过程完成为止。

sam_a完成全部读卡、验证、解码过程后,会通过usb接口或者uart接口将解码后的二代居民身份证信息发送出来,本发明的服务端单片机采用uart串口接收sam_a返回的成功解码的二代居民身份证数据或者解码失败的提示信息。

单片机通过uart接口接收到sam_a成功解密后的数据或者解码失败的提示后,发送给服务端解码服务器,服务端解码服务器将解码状态设置为成功或者失败,生成加密消息包发送给客户端,然后向该会话id绑定的服务端单片机发送复位命令,让该会话id绑定的服务端单片机和sam_a进行复位,将该sam_a的状态设置为空闲,解绑与会话id绑定的对称加密算法的密钥、sam_a的id、服务端单片机的id、服务端单片机的ip地址、服务端单片机的网络协议通信端口、客户端ip地址、客户端网络协议通信端口,清空与会话id绑定的缓存信息并清空会话id,结束本次会话;需要注意的是,身份证照片是wlt格式的数据,需要使用公安部提供的动态链接库进行转码,才能将wlt格式的数据转换为bmp图像格式的照片,这个转码过程可以由服务端解码服务器来完成,也可以提交给专门的转码服务器来完成,还可以不转码直接返回到客户端业务系统进行转码,为了不给服务端解码服务器造成运算负担,本发明不提倡将wlt转码过程放在服务端的解码服务器,建议交给客户端转码或者专门搭建转码服务器进行转码。

客户端接收到读卡解码成功或者失败的消息包后,驱动单片机向射频模块发送复位命令,在客户端清空会话id和该会话id绑定的对称加密算法的密钥和缓存信息,结束本次会话,并将数据返回给业务系统。

除了识别和采集二代居民身份证身份信息之外,客户端通过摄像头采集附近画面,并使用haar分类器方法,挖掘出画面中所有出现的人脸,按照人脸远近进行排序,将整体图像、排序后的人脸图像、居民身份证照片、实时时间、地理坐标、居民身份证文字信息进行绑定存储,建立关联关系,将确定的身份信息与一组不确定的人脸建立时空关系图谱,形成一个曾在同一个时间和地点出现的时空关系网络,通过身份证刷卡人的身份信息能搜索到画面中的任何一人的人脸,通过画面中的任何一张人脸,能搜索到身份证刷卡的人和画面中同时出现的其他人脸,这样就扩大了线索来源,大幅度提高了案件侦破能力,在实际应用中,结合交通卡口摄像机和治安摄像机的图侦手段,破案能力就进一步加强。

人脸图像首先要根据两眼的倾斜角度,把人脸旋转使得两眼平衡和头顶朝上,将彩色原图分别转化成灰色图片和轮廓图片,然后利用haar分类器方法,识别并挖掘出人脸图像中的眼睛、鼻子、嘴巴的图片和位置,计算和存储以下内容:灰色图片特征点数量、灰色图片特征点位置、轮廓椭圆参数特征、轮廓图片特征数量、轮廓图片特征位置、左眼左侧位置与人脸总宽度比例、左眼右侧位置与人脸总宽度比例、右眼右侧位置与人脸总宽度比例、右眼左侧位置与人脸总宽度比例、左眼宽度与人脸总宽度比例、右眼宽度与人脸总宽度比例、两眼中心点距离与人脸总宽度比例、左眼高度与人脸总高度比例、右眼高度与人脸总高度比例、两眼中心位置与人脸上侧顶点比例、两眼中心与鼻子中心距离除以人脸总高度的比例、两眼中心与嘴中心距离除以人脸总高度比例、左眼中心与鼻子中心角度、右眼中心与鼻子中心角度、左眼中心与嘴中心角度、右眼中心与嘴中心角度、左眼与左嘴角角度、左眼与右嘴角角度、右眼与左嘴角角度、右眼与右嘴角角度、鼻子中心与嘴中心垂直距离除以人脸总高度的比例、鼻子中心与左嘴角角度、鼻子中心与右嘴角角度、鼻子宽度与人脸总宽度比例、鼻子高度与人脸总高度比例、嘴宽度与人脸总宽度比例、嘴唇弧线角度参数,这些特征的组合将能确定一张人脸并能够为人脸检索提供数学模型支撑,这些人脸特征形成字段存储到数据库。

除了采集人脸特征之外,本发明还通过wifi探针技术采集附近手机wifi的mac地址码,按照wifi信号强弱进行排序,将这些mac地址码列表、实时时间、地理坐标与身份证的身份信息绑定存储,将确定的身份信息与一组不确定的mac地址建立时空关系图谱,形成一个曾在同一个时间和地点出现的关系网络,将人的身份信息、附近mac信息、附近出现的人脸信息进行关联,在案件侦破过程中,能通过这些关联信息找到更多的线索,还能通过身份信息、人脸信息、电子特征信息分析相关人的活动轨迹,为案件侦破提供有力的技术保障;作为辅助和补充手段,如果客户端主机处在一个局域网内,还通过arp技术采集客户端主机所在局域网的其他在线主机的mac地址码,作用是在旅馆等场所应用中,知道旅馆中哪些mac的主机处于在线状态。

读卡、解码、采集成功后的存储,并不是存储到客户端本地,而是根据用户的具体要求,通过加密传输、网闸单向跳转等方法,根据公安机关的要求传输到配置文件指定的网络、指定的服务器、指定的数据库进行存储;任何缓存的数据都不明码存储到存储设备。

本发明还设计了单片机程序防提取和转录功能,程序从一个单片机提取后转录到另一个单片机是不能直接用的,机制如下:将stm32单片机mcu唯一id的3个32位数拆成12个8位数,将不同位置的8位数按照不同的位移方式进行位移,然后打乱顺序重新排布12个位移后的8位数,生成激活码,在向该单片机传输命令之前,需要输入激活码进行激活码验证,激活码验证成功,提供正常服务,激活码验证失败,不提供正常服务;作为改进,还可以在激活码特定位置加入时间戳和随机码。

附图说明

图1为产品网络结构图;

图2为消息包格式;

图3为服务端单片机网络模块原理图;

图4为服务端单片机电源输入模块原理图;

图5为thm3060读卡模块原理图;

图6为客户端单片机usb接口原理图;

图7为服务端解码服务器会话过程中会话id绑定示意图;

图8为客户端会话过程中会话id绑定示意图。

具体实施方式

所述服务端解码服务器采用树莓派3b,树莓派3b使用了broadcombcm28371.2ghz四核a5364位处理器,1gbddr内存,可以安装linux操作系统,体积小,运行速度快,是一款能力较强的嵌入式设备,而且成本较低;树莓派3b长宽约为85mm×56mm,厚度17mm左右,集成有一个标准rj45接口和两组双usb接口模块,在一个usb接口插卡插一个usb千兆网卡,加上树莓派自带的一个rj45接口,组成双网卡树莓派主机,其中一个网卡用于和服务端的交换机、单片机组成一个服务端局域网,另一个网卡ip地址和子网掩码交用户设置,使得客户端能够通过网络访问到服务端解码服务器,可以是互联网,也可以是局域网,还可以是特定专网,网络结构图如附图1所示。

所述服务端网络交换机选择通用的千兆网络交换机即可,无特殊要求。

所述服务端单片机选用stm32f407zgt6,外接8m晶振和32.768k晶振、网络模块、电源输入模块,同时引出gpio引脚,从电源输入模块引出5v输出、3.3v输出和gnd引脚,stm32f407zgt6是一款高性能的stm32芯片,支持168mhz主频,1024kflash和192k内部sram,支持串口、usb、spi、iic、can等多种通信协议,服务端单片机的网络模块由dp83848iv芯片和rj45网口组成,原理图如附图3所示,电源输入模块原理图如附图4所示;需要注意的是:服务端单片机网络接口通信速率应该稳定在1mb以上。

所述sam_a是《ga467-2013居民身份证验证安全控制模块接口技术规范》指定的专用居民身份证信息解码设备。

所述服务端电源模块为5v3安培以上的供电模块,本发明实施例中采用的是明纬t-150d三组多路输出电源,该电源模块输出能力较强,同时支持三组输出5v8a、12v3a,24v3a,具有emi滤波、短路保护、过载保护和自恢复功能,能够满足供电需求,可以支持服务端解码服务器、网络交换机、以及多组单片机和sam_a的供电。

所述客户端主机采用树莓派3b,客户端射频模块采用带spi接口和天线的thm3060读卡模块,本发明射频模块使用spi接口而不是uart串口进行通信,目的是为了提高通信速率和解码稳定性,thm3060支持2.5mb每秒的spi稳定通信速率,uart串口通信一般达不到这个稳定速度,sam_a向射频模块发出命令后必须在90毫秒内得到射频模块的返回数据,否则就强制终止通信了,根据实际测试发现,很多sam_a等待时间达不到90毫秒,所以通信过程要尽可能节约时间,这样才能保证较高的读卡和解码的成功率;thm3060读卡模块原理图如附图5所示;装有iso14443b读卡模块和wifi模块的智能手机,也是能够作为本发明客户端的。

所述客户端单片机采用stm32f407vet6,外接8m晶振和32.768k晶振、usb接口,通过usb接口供电,同时引出gpio引脚,从usb接口引出5v输出、gnd引脚,并且串接1.5k欧电阻引出3.3v输出引脚,stm32f407vet6支持spi和usb通信,也可以选用其他同时支持spi和usb通信的高速单片机,usb通信速率要尽可能的高,应保持在1mb每秒以上,最好能达到30mb每秒,因为根据实际测试发现,很多sam_a等待时间达不到90毫秒,通信速率如果过低,很容易导致读卡和解码失败,如果要实现高速usb通信,需要增加phy电路,可使用usb3300芯片;usbslave接口原理图如附图6所示。

所述客户端摄像头采用带红外光源的广角usb高清摄像头,该摄像头要求能够外接电源,以防usb接口供电不足,对此类摄像头无其他特殊要求,电子市场很方便买得到。

所述wifi探针选择一款支持开发的和uart通信的wifiap模块就能够满足要求,电子市场很方便买得到,通过开发设置为ap模式并且持续发送beacon帧通知周围wifi设备,当周围wifi设备扫描ap时,就能够收集周围这些wifi设备的mac地址。

所述服务端解码服务器和客户端主机采用树莓派3b,并配置16gbmicrosd存储卡安装linux操作系统,本发明选用的树莓派linux操作系统是raspbian;装有iso14443b读卡模块和wifi模块的智能手机,也是能够作为本发明客户端的。

服务端每一个stm32f407zgt6单片机模块连接单独一个sam_a,每一个sam_a连接一个单独的stm32f407zgt6单片机模块,将stm32f407zgt6单片机模块的pa9引脚与sam_a的uart接口的rx引脚相连接,将stm32f407zgt6单片机模块的pa10引脚与sam_a的uart接口的tx引脚相连接,在stm32f407zgt6单片机模块选择4个空闲的gpio引脚,命名为tx_frame、rx_frame、sclk、sdata,分别于sam_a的tx_frame、rx_frame、sclk、sdata引脚相连接,按照《ga467-2013居民身份证验证安全控制模块接口技术规范》的规定进行通信,然后将sam_a的vcc引脚与stm32f407zgt6单片机模块5v输出引脚相连,将sam_a的gnd引脚与stm32f407zgt6单片机模块的gnd引脚相连。

在服务端解码服务器树莓派3b的一个usb接口插入一个usb千兆网卡,加上树莓派自带的一个rj45接口组成双网卡服务器,在解码服务器树莓派3b的两个网卡中,任选一个命名为一号网卡,另一个命名为二号网卡,将每一个服务端stm32f407zgt6单片机模块的rj45接口通过网线与网络交换机相连,分配局域网ip地址,推荐设置为192.168.10.2、192.168.10.3、192.168.10.4、192.168.10.5等依次类推,并将网关设置为解码服务器树莓派3b的一号网卡的ip地址,子网掩码要与解码服务器树莓派3b的一号网卡的子网掩码相同。

将一号网卡通过网线与网络交换机相连,并设置为局域网ip地址,推荐设置为192.168.10.1,该地址应与stm32f407zgt6单片机模块设置的局域网网关地址相同,子网掩码应与stm32f407zgt6单片机模块设置的子网掩码相同,这样解码服务器树莓派3b就与stm32f407zgt6单片机模块组成了一个局域网。

将服务端stm32f407zgt6单片机模块的电源输入接口与明纬t-150d的5v电源输出接口相连,将树莓派的电源输入接口与明纬t-150d的5v电源输出接口相连,同时根据网络交换机的电源特征要求将网络交换机的电源输入接口与相同电压的明纬t-150d的电源接口相连,如果选用的网络交换机使用220v交流电源,则将网络交换机的电源输入接口接入220v交流输出电源。

服务端解码服务器树莓派3b二号网卡的ip地址、子网掩码交给用户设置,以适应用户的应用环境,使得客户端能够访问到服务端解码服务器,这个网络可以是局域网,也可以是互联网,还可以是特定专网,比如公安网、教育网等,网络结构图如附图1所示。

客户端模块连接方法:在stm32f407vet6单片机模块选择6个空闲引脚,依次命名为:miso、mosi、sclk、ss_n、rstn、standby,分别与thm3060读卡模块的miso、mosi、sclk、ss_n、rstn、standby引脚相连接,使用spi协议在1mb每秒至2.5mb每秒的速率进行通信,将wifi探针模块uart接口的tx引脚与stm32f407vet6单片机模块通过pa10引脚相连,将wifi探针模块uart接口的rx引脚与stm32f407vet6单片机模块的pa9引脚相连,使用uart协议进行通信,将thm3060电源输入接口、wifi探针电源输入接口与stm32f407vet6单片机模块的相同电压的电源输出引脚相连,将stm32f407vet6单片机模块与客户端主机树莓派3b通过usb接口相连;将摄像头插入客户端主机树莓派3b的usb接口,并外接电源为摄像头供电,以防usb接口供电不足导致图像黑暗或者不清晰。

将客户端主机树莓派3b的rj45接口接入能够访问服务端解码服务器的网络,并设置ip地址和子网掩码,使得客户端主机能够通过网络访问服务端解码服务器。

读卡与解码具体过程和方法如下[0055]-[0079]。

客户端主机不与服务端进行通信,由客户端主机通过usb接口直接发送iso14443b寻卡命令给stm32f407vet6单片机模块,stm32f407vet6单片机模块通过spi接口向thm3060读卡模块发送寻卡命令,以寻找射频场内是否存在二代居民身份证。

thm3060读卡模块返回寻卡成功或寻卡失败的消息。

寻卡成功后,客户端主机不与服务端进行通信,由客户端主机通过usb接口直接发送iso14443b选卡命令给stm32f407vet6单片机模块,stm32f407vet6单片机模块将选卡命令通过spi接口发送给thm3060读卡模块,以选定射频场内一个二代居民身份证。

thm3060读卡模块返回选卡成功或选卡失败的消息。

选卡成功后,客户端与服务器解码服务器进行秘钥交换,其中非对称加密算法用于加密解密对称加密算法的秘钥,对称加密算法用于加密解密读卡和解码过程的命令和数据;非对称加密算法采用rsa算法,对称加密算法采用aes算法,选用aes算法是因为该算法运算速度快、安全度高、资源消耗低,在树莓派设备中运行无性能压力;哈希算法选用sha-1算法;客户端随机生成会话id、对称加密算法的密钥,将会话id与对称加密算法的密钥相绑定,并缓存绑定的信息,用sha-1算法计算对称加密算法的密钥的哈希码,使用服务端解码服务器发放的rsa公钥将对称加密算法的密钥进行加密,生成消息包,客户端与服务端每一次交互,消息包格式均如附图2所示。

客户端将附图2格式的消息包发送给服务端的解码服务器。

服务端解码服务器用rsa算法的私钥解密消息包的数据字段,获取对称加密算法aes的密钥。

服务端解码服务器缓存会话id、客户端ip地址、客户端网络协议通信端口、对称加密算法的密钥,并将会话id与对称加密算法的密钥、客户端ip地址、客户端网络协议通信端口进行绑定。

服务端解码服务器利用对称加密算法aes生成加密消息包发送给客户端,告知客户端已完成通信准备。

客户端收到服务端准备完毕的消息后,生成新的加密消息包发送上位机读卡命令,上位机读卡命令为0xaa0xaa0xaa0x960x690x000x030x300x010x32,该命令为上位机要求sam_a进行读卡的固定格式,是《ga467-2013居民身份证验证安全控制模块接口技术规范》规定的,不能改变,其中命令码为x30,参数为0x01,其他部分是帧头、长度、校验等内容;作为改进,客户端也可以自定义一个上位机读卡命令,服务端解码服务器收到自定义上位机读卡命令后,再转成《ga467-2013居民身份证验证安全控制模块接口技术规范》规定的0xaa0xaa0xaa0x960x690x000x030x300x010x32读卡命令。

服务端解码服务器在sam_a列表里查找有无空闲sam_a,如果没有空闲sam,发送消息包通知客户端,告知无空闲资源请稍后重试;如果有空闲的sam_a模块,缓存该sam_a模块id以及该sam_a模块连接的单片机的id、ip地址、网络协议通信端口等信息,并将该sam_a模块id、该sam_a模块连接的单片机的id、ip地址、网络协议通信端口与会话id相绑定,并将该sam_a模块的当前状态设置为忙的状态;服务端解码服务器会话id绑定示意图如附图7所示,客户端会话id绑定示意图如附图8所示;需要说明的是:服务端解码服务器每收到一个客户端消息包后,首先提取会话id并解密数据字段的内容,在密钥交换阶段,通过非对称加密算法的私钥进行解密,在其他阶段,使用与会话id绑定的对称加密算法的密钥进行解密,通过数据类型字段的内容判断是上位机读卡命令还是二代居民身份证读卡过程中返回的消息,如果发现消息包数据字段的内容是二代居民身份证返回的消息,通过会话id查找该会话id绑定的sam_a和该sam_a所连接的服务端单片机的ip地址和网络协议通信端口,这样就知道将客户端发来的二代居民身份证读卡过程中返回的消息发给哪个sam_a。

服务端解码服务器将客户端发送来的读卡命令发送给该会话id已经绑定的服务端单片机。

服务端单片机收到上位机读卡命令后,用uart接口发送给该单片机所连接的sam_a。

sam_a收到上位机读卡命令后,会产生射频命令,通过tx_frame、sclk、sdata等引脚发出来。

服务端stm32f407zgt6单片机模块通过tx_frame、sclk、sdata引脚接收sam_a发送的消息,需要注意的是,每接收一个8bit的数据,都要在第9个sclk高电平期间发送sdata低电平ack信号进行验证,表示接收成功,否则通信将强制终止,消息接收完成后,通过rj45接口通过网络交换机发送给解码服务器。

服务端解码服务器收到stm32f407zgt6单片机模块的消息后,根据网络通信协议获取该消息上下文指明的ip地址,无论是udp协议还是tcp协议,都可以通过消息上下文获取发送方的ip地址,通过该ip地址查找与该ip绑定的会话id,进而通过该会话id查找该会话id绑定的客户端的ip地址、客户端的网络通信协议端口,生成加密消息包发送给该会话id绑定的客户端主机。

客户端主机解密消息包,通过usb接口将读卡命令发送给客户端stm32f407vet6单片机模块。

客户端stm32f407vet6单片机模块通过spi接口将sam_a命令发送给thm3060读卡模块,thm3060读卡模块与二代居民身份证通信后,将二代居民身份证返回的消息通过spi接口发送给客户端stm32f407vet6单片机模块。

客户端stm32f407vet6单片机模块将二代居民身份证返回的消息通过usb接口发送给客户端主机,客户端主机生成加密消息包再发给服务端解码服务器。

服务端解码服务器依据消息包的会话id查找该会话id绑定的服务端单片机,将二代居民身份证返回的消息解密后通过网络交换机发送给该会话id已绑定的服务端stm32f407zgt6单片机模块。

服务端stm32f407zgt6单片机模块收到客户端二代居民身份证反馈的消息后,用rx_frame、sclk、sdata引脚将二代居民身份证返回的消息发送给sam_a,需要注意的是,每发送一个8bit的数据,都应在第9个sclk高电平期间验证sdata是否为低电平,如果是低电平,表示sam_a接收成功,否则表示sam_a接收失败。

sam_a收到二代居民身份证返回的消息后,会产生下一条射频命令,通过tx_frame、sclk、sdata引脚发出来,重复第[0069]步至第[0076]步的过程,直到完成整个读卡、验证、解码过程。

整个读卡、验证和解码过程完成后,sam_a通过uart接口将解码后的二代居民身份证信息返回给stm32f407zgt6单片机模块,stm32f407zgt6单片机模块通过网络交换机将内容发送给解码服务器,其中二代居民身份证的照片是wlt格式的,需要调用公安部提供的动态链接库才能转换成bmp图片格式,为了不给解码服务器造成负担,这个图片转码过程可以提交给专门的wlt转码服务器来完成,还可以不转码直接返回到客户端业务系统进行转码,为了不给服务端解码服务器造成运算负担,本发明不提倡将wlt图片转码过程放在服务端解码服务器,建议专门搭建转码服务器进行wlt图片转码。

解码服务器将读卡状态设置为成功或者失败,生成加密消息包发送给客户端,向该会话id绑定的stm32f407zgt6单片机模块发送复位命令,让stm32f407zgt6单片机模块和sam_a进行复位,将该sam_a的状态设置为空闲,清空会话id和该会话id绑定的sam_a模块id、服务端单片机id、服务端单片机ip地址、服务端单片机网络协议通信端口、对称加密算法的密钥、客户端ip、客户端网络协议通信端口等信息,结束本次会话。

客户端接收到读卡成功或者失败的消息包后,向射频模块发送复位命令,清空会话id和该会话id绑定的对称加密算法的密钥,结束本次会话,并将数据返回给业务系统。

客户端主机使用opencv或者javacv调用摄像头功能拍摄附近的画面,并使用haar分类器方法,挖掘出所有出现的人脸,按照人脸远近进行排序。

将拍摄的整体图像、排序后的人脸图像、居民身份证照片、居民身份证文字信息进行绑定存储,用身份证号作为联结纽带,人脸图像存储时,要存储远近排序序号,将确定的身份信息与不确定的一组人脸建立时空关系图谱,形成一个曾在同一个时间和地点出现的关系网络。

计算每个人脸图像的两眼倾斜角度,把人脸旋转使得两眼平衡和头顶朝上,将彩色原图分别转化成灰色图片和轮廓图片,灰色图片为了消除干扰,轮廓图片为了发现人脸的轮廓特征,主要是椭圆参数,用以确定长脸、方脸、圆脸等脸型特征。

使用haar分类器方法,识别并挖掘出人脸中的眼睛、鼻子、嘴巴的图片和位置,计算、存储每个人脸以下特征:灰色图片特征点数量、灰色图片特征点位置、轮廓椭圆参数特征、轮廓图片特征数量、轮廓图片特征位置、左眼左侧位置与人脸总宽度比例、左眼右侧位置与人脸总宽度比例、右眼右侧位置与人脸总宽度比例、右眼左侧位置与人脸总宽度比例、左眼宽度与人脸总宽度比例、右眼宽度与人脸总宽度比例、两眼中心点距离与人脸总宽度比例、左眼高度与人脸总高度比例、右眼高度与人脸总高度比例、两眼中心位置与人脸上侧顶点比例、两眼中心与鼻子中心距离除以人脸总高度的比例、两眼中心与嘴中心距离除以人脸总高度比例、左眼中心与鼻子中心角度、右眼中心与鼻子中心角度、左眼中心与嘴中心角度、右眼中心与嘴中心角度、左眼与左嘴角角度、左眼与右嘴角角度、右眼与左嘴角角度、右眼与右嘴角角度、鼻子中心与嘴中心垂直距离除以人脸总高度的比例、鼻子中心与左嘴角角度、鼻子中心与右嘴角角度、鼻子宽度与人脸总宽度比例、鼻子高度与人脸总高度比例、嘴宽度与人脸总宽度比例、嘴唇弧线角度参数,这些特征的组合能够较为方便地确定一张人脸并支持快速检索,这些人脸特征要形成字段存储到数据库。

将wifi探针模块设置为ap模式,并持续向外beacon帧通知周围wifi设备,当周围wifi扫描ap时,收集周围这些wifi设备的mac地址。

收集到周围mac地址后,按照信号强弱进行排序,这样可以确定距离远近,将这些mac地址码列表与身份证的身份信息绑定存储,以身份证号关联纽带,将确定的身份与一组不确定的mac建立时空关系图谱,形成一个曾在同一个时间和地点出现的关系网络;作为辅助和补充,如果客户端主机处在一个局域网内,通过arp技术,收集客户端所在局域网的其他主机的mac地址一并存储,同样将确定的身份信息与不确定的一组主机mac建立了同一时间、同一地点出现的关系网络。

除了存储身份信息、身份证照片、周围人脸、周围mac地址外,还应存储当前地点地理坐标、当前时间等辅助信息。

数据在客户端本地不进行明码存储,临时缓存的数据要在加密后再进行缓存,在数据采集完成后,通过加密传输、网闸单向跳转等技术手段,将数据传输到配置文件指定的网络、指定服务器、指定数据库进行存储,为防止隐私泄露和侵犯隐私,对于身份证号、家庭住址、mac地址等敏感内容,在存入数据库之前,进行加密后再存储;作为改进,人脸图像也可以加密后再存储。

本发明还设计了单片机程序防提取和转录功能,程序从一个单片机提取后转录到另一个单片机是不能用的,机制如下:将stm32单片机mcu唯一id的3个32位数拆成12个8位数,将不同位置的8位数按照不同的位移方式进行位移,然后打乱顺序重新排布12个位移后的8位数,生成激活码,在向该单片机传输命令之前,需要输入激活码进行激活码验证,激活码验证成功,提供正常服务,激活码验证失败,不提供正常服务;作为改进,还可以在激活码特定位置加入时间戳和随机码。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1