CN109922047B - 一种图像传输系统及方法 - Google Patents
一种图像传输系统及方法 Download PDFInfo
- Publication number
- CN109922047B CN109922047B CN201910097738.7A CN201910097738A CN109922047B CN 109922047 B CN109922047 B CN 109922047B CN 201910097738 A CN201910097738 A CN 201910097738A CN 109922047 B CN109922047 B CN 109922047B
- Authority
- CN
- China
- Prior art keywords
- segment
- encrypted
- decryption
- mac
- mobile terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种图像传输系统及方法,系统包括移动终端和智能网关,其中,移动终端,用于在获得与智能网关之间的会话密钥后,若获得待传输图像,基于待传输图像生成加密传输数据;将所生成的加密传输数据传输给智能网关;智能网关,用于接收移动终端传输的加密传输数据;对加密传输数据进行解密和消息认证码MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像。应用本发明实施例,实现了提高移动终端与智能网关之间图像传输的安全性。
Description
技术领域
本发明涉及数据传输领域,尤其涉及一种图像传输系统及方法。
背景技术
图像传输系统适用于多种应用场景,例如门禁系统、人脸识别系统、监控系统等,图像传输系统可以实现对待传输图像的传输。目前图像传输系统大都是基于UDP(UserDatagram Protocol,用户数据报协议)进行传输,由于UDP是无连接协议,因此可靠性不高,导致图像传输的安全性不高,随着对图像安全性的要求越来越高,需要提出一种比较安全的图像传输系统。
发明内容
本发明的目的在于克服现有技术之缺陷,提供了一种图像传输系统及方法,以实现提高图像传输的安全性。
本发明是这样实现的:
第一方面,本发明提供一种图像传输系统,所述系统包括移动终端和智能网关,其中,
所述移动终端,用于在获得与所述智能网关之间的会话密钥后,若获得待传输图像;基于所述待传输图像生成加密传输数据;将所生成的加密传输数据传输给智能网关;
所述智能网关,用于接收所述移动终端传输的加密传输数据;对所述加密传输数据进行解密和消息认证码MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像。
可选的,所述移动终端具体用于通过以下方式获得待传输图像:
进行活体检测;
若活体检测成功,则采集图像,并将所采集的图像作为待传输图像。
可选的,所述移动终端基于所述待传输图像生成加密传输数据,具体为:
对所述待传输图像进行人脸检测;
若检测到所述待传输图像中有且仅有一个人脸区域,对所述待传输图像进行裁剪,得到预设尺寸的人脸子图;所述人脸子图包含所述人脸区域;
对所述人脸子图进行压缩,得到压缩人脸图像;
基于所述压缩人脸图像生成加密传输数据。
可选的,所述会话密钥包括加密会话密钥和消息认证码MAC会话密钥,所述移动终端基于所述压缩人脸图像生成加密传输数据,具体为:
根据所述压缩人脸图像的属性信息,生成初始命令头;采用预设的第一数据填充模式,对所生成的初始命令头进行填充,得到第一命令头;
采用预设的第二数据填充模式,对压缩人脸图像进行数据填充,得到目标图像数据;
用所述会话密钥中的MAC会话密钥和预设的初始向量对所述第一命令头和所述目标图像数据一并进行第一加密计算,得到目标密文;将所得的目标密文的最后预设字节的内容作为目标MAC;
用所述会话密钥中的加密会话密钥分别对所述第一命令头、所述目标图像数据以及所述目标MAC进行第二加密计算,得到由加密后的第一命令头、加密后的目标图像数据以及加密后的目标MAC构成的加密传输数据。
可选的,所述智能网关包括安全元件和微控制单元,
所述微控制单元,用于接收移动终端发送的加密传输数据;将所述加密传输数据进行分段,得到加密段;每个加密段具有唯一段号;将具有最小段号的加密段作为初始加密段;判断初始加密段的段号是否大于最大段号;若不大于,将初始加密段传输给所述安全元件;所述最大段号为所述微控制单元所得加密段所具有的段号中的最大者;
所述安全元件,用于对所接收的初始加密段进行解密,得到解密段,所得的解密段的段号与该初始加密段的段号相同;判断解密段的段号是否等于所述最小段号;若等于所述最小段号,判断所述最大段号是否等于所述最小段号,若所述最大段号等于所述最小段号,对所得的解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,将所得的解密段进行去填充,将去填充后的解密段作为解密数据。
可选的,所述安全元件,还用于若MAC验证结果为通过MAC验证,将解密数据和该MAC验证结果返回给所述微控制单元;若MAC验证结果为未通过MAC验证,则将该MAC验证结果返回给所述微控制单元;
所述微控制单元,还用于在得到解密数据后,将解密数据中的图像数据所在的各个解密块合并,得到解密图像。
可选的,所述会话密钥包括加密会话密钥和MAC会话密钥,
所述安全元件对所接收的初始加密段进行解密,具体为:用所述会话密钥中的加密会话密钥对所接收的初始加密段进行解密;
所述安全元件对所得的解密段进行MAC验证,具体为:
用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段中的各个目标解密块进行第一加密计算,得到第一密文;各个目标解密块为该解密段中命令头所在的解密块和图像数据所在的各个解密块;将所得的第一密文的最后预设字节的内容作为目标验证码,比较目标验证码和解密段所包含的目标MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
可选的,所述安全元件,还用于若所述最大段号不等于所述最小段号,用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段进行第一加密计算,得到初始密文,将所得的初始密文的最后预设字节的内容作为第一向量;若该解密段包含第N-1个解密块,则将所得的解密段的第1个解密块和第N-1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则将所得的解密段的第1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;
所述微控制单元,还用于在接收到去填充后的解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
可选的,所述安全元件,还用于若解密段的段号不等于所述最小段号,判断解密段的段号是否等于所述最大段号,若不等于所述最大段号,用所述会话密钥中的MAC会话密钥和第一向量对所得的解密段进行第一加密计算,用所得的计算结果的最后预设字节的内容更新第一向量;若该解密段包含第N-1个解密块,则将所得的解密段进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则直接将该解密段返回给所述微控制单元;
所述微控制单元,还用于在接收到解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
可选的,所述安全元件,还用于若解密段的段号等于所述最大段号,对解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,对解密段进行去填充,将去填充后的解密段和该MAC验证结果返回给所述微控制单元;
所述微控制单元,还用于在接收到通过MAC验证的MAC验证结果后,将所得的各个解密段中图像数据所在的各个解密块合并,得到解密图像。
可选的,若解密段的段号等于所述最大段号,所述安全元件对解密段进行MAC验证,具体为:
用所述会话密钥中的MAC会话密钥和第一向量对所得的解密段中的各个目标解密块进行第一加密计算,得到第一密文;各个目标解密块为该解密段中图像数据所在的各个解密块;将所得的第一密文的最后预设字节的内容作为目标验证码;
比较目标验证码和解密段所包含的目标MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
可选的,微控制单元,还用于在接收到未通过MAC验证的MAC验证结果后,将所得的各个解密段删除。
可选的,所述移动终端具体用于通过以下方式获得与智能网关之间的会话密钥:
生成移动终端随机数,向所述微控制单元发送网关身份认证命令,所述网关身份认证命令包含所述移动终端随机数;
接收所述微控制单元返回的响应命令,并用所述响应命令中的响应数据对所述智能网关进行身份验证;
若确定所述智能网关通过身份验证,向所述微控制单元发送移动终端身份认证命令,以使所述微控制单元在确定所述移动终端通过身份验证后,获得已用移动终端公钥加密的会话密钥,并向所述移动终端发送已加密的会话密钥;所述移动终端身份认证命令中包含移动终端公钥;
用预先存储的移动终端私钥对所接收的已加密的会话密钥进行解密,得到会话密钥。
可选的,所述响应数据包括网关证书、网关随机数和基于所述移动终端随机数生成的移动终端随机数签名值;所述移动终端用所述响应命令中的响应数据对所述智能网关进行身份验证,具体为:
用网关证书中的智能网关公钥解密所述移动终端随机数签名值,得到第一验证值,若所述移动终端随机数等于所述第一验证值,则确定网关验证结果为所述智能网关通过身份验证;否则,确定网关验证结果为所述智能网关未通过身份验证。
可选的,所述微控制单元具体用于通过以下方式获得已用移动终端公钥加密的会话密钥:
基于所接收的移动终端身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的移动终端验证结果;若所述移动终端验证结果为所述移动终端通过身份验证,接收所述安全元件发送的已用移动终端公钥加密的会话密钥。
第二方面,本发明提供一种图像传输方法,应用于上述任一所述的图像传输系统,所述方法包括:
移动终端在获得与所述智能网关之间的会话密钥后,若获得待传输图像;基于所述待传输图像生成加密传输数据;将所生成的加密传输数据传输给智能网关;
智能网关接收所述移动终端传输的加密传输数据;对所述加密传输数据进行解密和消息认证码MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像。
本发明具有以下有益效果:应用本发明实施例,可以通过智能网关接收移动终端传输的加密传输数据;并对加密传输数据进行解密和MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像,从而提高了智能网关所获得的解密图像的安全性,并且移动终端是在获得与智能网关之间的会话密钥后,才与智能网关进行通信,提高了整个图像传输过程的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种图像传输系统的结构示意图;
图2为本发明实施例提供的一种图像传输方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为解决现有技术问题,本发明实施例提供了一种图像传输系统及方法。下面首先对本发明所提供的一种图像传输系统进行说明。
参见图1,图1为本发明实施例提供的一种图像传输系统,所述系统包括移动终端和智能网关,其中,
所述移动终端,用于在获得与所述智能网关之间的会话密钥后,若获得待传输图像;基于所述待传输图像生成加密传输数据;将所生成的加密传输数据传输给智能网关;
所述智能网关,用于接收所述移动终端传输的加密传输数据;对所述加密传输数据进行解密和消息认证码MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像。
移动终端包括手机、平板、电脑等等,移动终端可以通过无线方式与云平台通信,通过云平台远程访问智能网关;或者,通过无线方式直接与智能网关通信。无线通信的方式包括WIFI(WIreless-Fidelity,无线保真)、蓝牙、Zigbee(紫蜂协议)、NFC(near fieldcommunication,近场通信)等中的一种或多种。
待传输图像可以来自于视频中的图像,也可以来自于静态图像或动态图像;待传输图像可以包含人脸的图像,人脸图像中可以有一个或多个人脸,本发明对人脸图像的格式不做限定,例如可以是JPEG格式、bmp格式等等。移动终端在获得待传输图像后,可以向智能网关传输待传输图像。可以选择进行加密传输,也可以不进行加密传输,本发明对此不做限定。
应用本发明实施例,可以通过智能网关接收移动终端传输的加密传输数据;并对加密传输数据进行解密和MAC(Message Authentication Code,消息认证码)验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像,从而提高了智能网关所获得的解密图像的安全性,并且移动终端是在获得与智能网关之间的会话密钥后,才与智能网关进行通信,提高了整个图像传输过程的安全性。
另外,用户可以通过移动终端上的客户端查看智能网关的状态和MAC验证结果,还可以对智能网关进行管理等等。进而若加密传输数据通过MAC验证,表明智能网关所接收到的加密传输数据是可靠的,进而可以对解密图像进行下一步操作,比如在人脸数据库新建记录、对解密图像进行人脸识别等操作。
一种实现方式中,移动终端可以具体用于通过以下方式获得待传输图像;
进行活体检测;
若活体检测成功,则采集图像,并将所采集的图像作为待传输图像。
移动终端可以自带摄像头,通过其自带的摄像头来进行活体检测并采集图像,进而将所采集的图像作为待传输图像;或者,在其他实现方式中,移动终端可以不带摄像头,直接获得其他采集设备采集的人脸图像,并将其作为待传输图像。为了防止恶意者伪造和窃取他人的人脸图像用于身份认证,优选的,移动终端可以通过自带摄像头进行活体检测,如果活体检测成功,则采集图像,如果活体检测失败,则停止采集图像,并中止后续操作。
由于独立摄像头芯片的性能不足,通常无法满足图像处理和图像加密这种依赖较高计算能力的要求,但是目前绝大部分移动终端芯片的性能都可以满足这些计算要求,应用本发明实施例,移动终端在图像采集之前进行活体检测,避免了恶意者使用照片或人脸模型进行欺骗的行为;并且通过移动终端自带的摄像头代替的独立摄像头进行图像采集,有利于提高图像处理和图像加密的性能问题,还可以加快图像传输系统的部署时间、降低部署成本、减少部署的复杂度、提供部署的灵活性。
移动终端基于所述待传输图像生成加密传输数据,具体可以为:
对所述待传输图像进行人脸检测;
若检测到所述待传输图像中有且仅有一个人脸区域,对所述待传输图像进行裁剪,得到预设尺寸的人脸子图;
对所述人脸子图进行压缩,得到压缩人脸图像;
基于所述压缩人脸图像生成加密传输数据。
移动终端可以用MTCNN(出自论文Joint Face Detection and Alignment usingMulti-task Cascaded Convolutional Networks)、S3FD(出自论文Single Shot Scale-invariant Face Detector)、SSD(出自Single Shot MultiBoxDetector这篇论文中的算法)等人脸检测算法、对待传输图像进行人脸检测。
若检测到待传输图像中有且仅有一个人脸区域,表明是单人操作,进而可以对待传输图像进行裁剪,得到预设尺寸的人脸子图;为了减少传输时间和加解密时间,可以对人脸子图进行压缩,得到压缩人脸图像,并且压缩人脸图像的质量能够保证人脸识别的准确性。预设尺寸可以根据需求事先设定,人脸子图中包含一张完整的人脸。
应用本发明示例,在传输图像之前进行人脸检测,可以保证人脸图像的可用性,减少无效的图像传输;在传输图像之前进行人脸图像裁剪和压缩,减少了传输时间和加解密时间,提高了处理效率。
又一种实现方式中,若检测到待传输图像中有多个人脸区域,移动终端可以终止执行基于所述待传输图像生成加密传输数据;或者,可以对所述每个人脸区域进行裁剪,得到预设尺寸的各个人脸子图;对各个人脸子图进行压缩,得到各个压缩人脸图像;基于每一压缩人脸图像生成一份加密传输数据。
相应的,智能网关针对所接收的每一份加密传输数据;对该份加密传输数据进行解密和MAC验证,得到该份加密传输数据对应的解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于该解密数据得到该份加密传输数据对应的解密图像。
加密传输数据可以以命令的形式传输给智能网关,命令可以包括命令头和数据两部分,数据可以是加密数据;命令头的格式可以根据需求事先设定,例如,命令头可以包含命令类型、命令参数、命令计数器、命令长度等信息,命令类型用于表示对加密传输数据进行何种操作,例如在人脸数据库新建记录、对解密图像进行人脸识别等操作;命令参数可以用于表示数据没有加密或不带MAC或加密带MAC等信息;命令长度可以用于指定命令所包含数据的长度。命令计数器可以由命令的发送方维护,在双向认证成功后计数值归零,然后每发送一个加密命令,计数值累加,从而实现了防止重放攻击。
会话密钥可以包括加密会话密钥和MAC会话密钥,为了提高图像传输的安全性,所述移动终端基于所述压缩人脸图像生成加密传输数据,具体可以为:
根据所述压缩人脸图像的属性信息,生成初始命令头;采用预设的第一数据填充模式,对所生成的初始命令头进行填充,得到第一命令头;
采用预设的第二数据填充模式,对压缩人脸图像进行数据填充,得到目标图像数据;
用所述会话密钥中的MAC会话密钥和预设的初始向量对所述第一命令头和所述目标图像数据一并进行第一加密计算,得到目标密文;将所得的目标密文的最后预设字节的内容作为目标MAC;
用所述会话密钥中的加密会话密钥分别对所述第一命令头、所述目标图像数据以及所述目标MAC进行第二加密计算,得到由加密后的第一命令头、加密后的目标图像数据以及加密后的目标MAC构成的加密传输数据。
移动终端根据所述压缩人脸图像的属性信息,生成初始命令头,可以为:可以用压缩人脸图像的属性信息给初始命令头中的参数信息赋值,例如根据压缩人脸图像的数据长度、传输类型、发送次数等属性信息的值分别赋值给命令长度、命令类型、命令计数器等参数信息。
移动终端对所生成的初始命令头进行填充,得到第一命令头,包括:对初始命令头进行数据填充,使得初始命令头变成预设命令长度;预设命令长度可以根据需求事先设定,例如,可以为16字节、32字节、64字节的整数倍等等。
然后,移动终端可以采用预设的数据填充模式,对压缩人脸图像进行数据填充,得到目标图像数据,使得目标图像数据的数据长度可以为预设图像数据长度,可以与预设命令长度的整数倍相同,也可以不同,也可以为16字节、32字节、64字节的整数倍等等,为了便于后续加解密过程的进行,可以设置预设图像数据长度与预设命令长度的整数倍相同,例如,均为16字节的整数倍。预设的第一数据填充模式、第二数据填充模式可以相同,也可以不同,例如,可以均可以为PKCS#7(加密消息的语法标准)填充模式或PKCS#5填充模式等。
第一加密计算和第二加密计算所采用的加密算法可以不同,例如,第一加密计算可以采用AES-CBC(AES:Advanced Encryption Standard,高级加密标准;CBC:CipherBlock Chaining,密码分组链接模式)或DES-CBC(Data Encryption Standard,数据加密标准)等分组加密算法中的一种或组合,第二加密计算可以采用AES-ECB(ECB:ElectronicCodebook Book,电子密码本模式)、DES-ECB、TDEA算法、Blowfish算法、RC5算法、IDEA算法等对称分组加密算法中的一种或组合。
初始向量(Initialization Vector,IV)可以根据需求事先设定,可以是用随机数生成器、随机函数或哈希函数预先生成的固定长度的字符串。将所得的目标密文的最后预设字节的内容作为目标MAC可以为:将目标密文的最后16字节/32字节/64字节的内容作为目标MAC。
移动终端可以用会话密钥中的加密会话密钥分别对所述第一命令头、所述目标图像数据以及所述目标MAC进行第二加密计算,得到由加密后的第一命令头、加密后的目标图像数据以及加密后的目标MAC构成的加密传输数据。
应用本发明实施例,对初始命令头和目标图像都进行填充,使得填充后的数据长度分别为预设长度的整数倍,以更好的进行分组加解密,并且通过分别对第一命令头、目标图像数据以及目标MAC进行加密,保证了传输数据的机密性,并通过引入目标MAC保证了第一命令头和图像数据的完整性。
为了进一步提高系统的安全性,智能网关可以包括安全元件和微控制单元,
所述微控制单元,用于接收移动终端发送的加密传输数据;将所述加密传输数据进行分段,得到加密段;每个加密段具有唯一段号;将具有最小段号的加密段作为初始加密段;判断初始加密段的段号是否大于最大段号;若不大于,将初始加密段传输给所述安全元件;所述最大段号为所述微控制单元所得加密段所具有的段号中的最大者;
所述安全元件,用于对所接收的初始加密段进行解密,得到解密段,所得的解密段的段号与该初始加密段的段号相同;判断解密段的段号是否等于所述最小段号;若等于所述最小段号,判断所述最大段号是否等于所述最小段号,若所述最大段号等于所述最小段号,对所得的解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,将所得的解密段进行去填充,将去填充后的解密段作为解密数据。
移动终端和微控制单元(Micro Controller Unit,简称MCU)可以相互发送命令,微控制单元和安全元件(Secure Element,简称SE)也可以相互发送命令,安全元件可以以芯片形式存在,并且可以具备运算能力,为了防止其他设备恶意解析攻击,保护数据安全,在芯片中可以设有加密/解密逻辑电路,从而,安全元件可以完成非对称密钥加解密和/或对称密钥加解密过程,以提高通信安全。
为了提高智能网关的安全性,可以将安全元件设置于智能网关中。智能网关的安全元件可以通过SPI(Serial Peripheral Interface,串行外设接口)接口与微控制单元进行连接,微控制单元可以做主机,安全元件可以做从机。
微控制单元接收到加密传输数据后,由于安全元件的存储容量有限,微控制单元可以将加密传输数据分段传输给安全元件解密。可以在智能网关的安全元件中进行密钥存储、数据加解密和MAC验证,从而可以最大限度地保证所得的解密数据的安全性,保证了图像数据的安全传输。
加密传输数据中的数据可以是以加密块的形式存在,加密段中可以以加密块为基本组成单位,为了最大化传输数据的长度和尽可能减少发送数据的次数,最后一个加密段之前的各个加密段中的加密块的数量可以相同,均为加密段可以容纳的最大加密块数量,例如,一个加密段最多能容纳4095个加密块,则最后一个加密段之前的各个加密段中的加密块的数量均为4095;若一个加密块是16字节,则一个加密段的数据长度最大为65520字节,进而,根据加密传输数据的总长度,能计算出最后一个加密段所包含的加密块的数量。例如,将长度为L字节(L=16*N,N为加密块的总数,16为每个加密块的数据长度)的加密传输数据分为M段,每个加密段最多包含4095个加密块,则前M-1个加密段的大小均是4095块(即65520字节);第M段的大小是M_block个加密块,即M_block=(L-65520*(M-1))/16=N-4095*(M-1)。
每个加密块具有唯一块编号,若整个加密段共有N个加密块,各个加密块依次位于各个加密段中,第1个加密块可以包含加密后的第一命令头,第2至N-1个加密块可以包含加密后的目标图像数据,第N块可以包含加密后的目标MAC。
会话密钥可以包括两部分内容,分别为:加密会话密钥和MAC(Messageauthentication code,消息认证码)会话密钥,二者所占的字节长度可以相同,也可以不同,优选的,为了便于简化的加密通信过程,可以设置二者所占的字节长度可以相同,例如,会话密钥一共32字节,则前面16字节可以是加密会话密钥,后16字节可以是MAC会话密钥。移动终端与智能网关通信之前,双方可以获得同样的会话密钥。
所述安全元件对所接收的初始加密段进行解密,具体为:用会话密钥中的加密会话密钥对所接收的初始加密段进行解密。进而,可以得到该初始加密段对应的解密段,二者段号相同。若解密段的段号等于最小段号,表明是第一个加密段对应的解密段,且若最大段号等于最小段号,表明整个加密段只有一段,故整个解密段也只有一个,进而可以直接将所得的解密段进行去填充,将去填充后的解密段作为解密数据;为了验证解密数据的完整性,还可以先对所得的解密段进行MAC验证,得到MAC验证结果,若MAC验证结果为通过MAC验证,再将所得的解密段进行去填充得到解密数据。
用会话密钥中的加密会话密钥进行解密所采用的解密算法可以与前述第二加密计算所采用的加密算法相对应。
若整个加密段共有N个加密块,则整个解密段有N个解密块,相应的,解密段中的第1个解密块可以包含第一命令头,第2至N-1个解密块可以包含目标图像数据,第N个解密块可以包含目标MAC;将所得的解密段进行去填充,具体可以为:对第一命令头进行去填充操作,得到包含压缩人脸图像数据大小的初始命令头,对第N-1个解密块进行去填充,得到去填充的真实压缩人脸图像数据或非压缩人脸图像数据。
安全元件对所得的解密段进行MAC验证,具体可以为:用会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段中的各个目标解密块进行第一加密计算,得到第一密文;各个目标解密块为该解密段中命令头所在的解密块和图像数据所在的各个解密块;
将所得的第一密文的最后预设字节的内容作为目标验证码,比较目标验证码和该解密段所包含的目标MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
若整个解密段有N个解密块,目标解密块即为解密段中的前N-1各解密块,即前述第一命令头和目标图像数据所在的各个解密块。安全元件将所得的第一密文的最后预设字节的内容作为目标验证码,具体可以为:将第一密文的最后16字节的内容作为目标验证码。
另外,微控制单元,还用于若初始加密段的段号大于最大段号,终止将初始加密段传输给安全元件,数据传输结束。
一种实现方式中,安全元件,还用于若MAC验证结果为通过MAC验证,将解密数据和该MAC验证结果返回给微控制单元;若MAC验证结果为未通过MAC验证,则将该MAC验证结果返回给所述微控制单元;
所述微控制单元,还用于在得到解密数据后,将解密数据中的图像数据所在的各个解密块合并,得到解密图像。
图像数据可以是去填充后的目标图像数据。
若未通过MAC验证,表明解密数据是不可靠的,进而安全元件可以仅将MAC验证结果发送给微控制单元,避免了微控制单元获得不可靠的解密数据,提高了智能网关所获取的解密数据的可信度,实现了对图像数据的安全传输。
在其他实现方式中,安全元件也可以用于在确定通过MAC验证后,仅将解密数据返回给微控制单元;或者,安全元件还可以用于将解密数据中的图像数据所在的各个解密块合并,得到解密图像,并将解密图像发送给微控制单元,从而微控制单元可以获得解密图像。
又一种实现方式中,若MAC验证结果为未通过MAC验证,微控制单元还可以将所得的解密数据删除。
应用本发明实施例,通过安全元件对所得的解密数据进行MAC验证,从而实现了验证解密数据的完整性,保证了解密数据的可靠性。
为了实现对加密传输数据的分段传输,安全元件,还用于若所述最大段号不等于所述最小段号,用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段进行第一加密计算,得到初始密文,将所得的初始密文的最后预设字节的内容作为第一向量;若该解密段包含第N-1个解密块,则将所得的解密段的第1个解密块和第N-1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则将所得的解密段的第1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;
所述微控制单元,还用于在接收到去填充后的解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
第一向量可以用于对下一段解密段的第一加密计算过程。若解密段的段号等于最小段号,表明是第一个加密段对应的解密段,且若最大段号不等于最小段号,表明整个加密段只有多段,这种情况下,该解密段的第1个解密块可以为第一命令头,将所得的解密段进行去填充,具体可以为:对第一命令头进行去填充操作,得到包含压缩人脸图像数据大小的初始命令头。
微控制单元重新执行判断初始加密段的段号是否大于最大段号,若不大于,则继续传输初始加密段至安全元件,从而,安全元件可以继续对所接收的初始加密段进行解密,直至微控制单元判定初始加密段的段号大于最大段号,终止数据传输。
为了进一步实现对加密传输数据的分段传输,所述安全元件,还用于若解密段的段号不等于所述最小段号,判断解密段的段号是否等于所述最大段号,若不等于所述最大段号,用所述会话密钥中的MAC会话密钥和第一向量对所得的解密段进行第一加密计算,用所得的计算结果的最后预设字节的内容更新第一向量;若该解密段包含第N-1个解密块,则将所得的解密段进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则直接将该解密段返回给所述微控制单元;
所述微控制单元,还用于在接收到解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
若解密段的段号不等于所述最小段号,表明解密段不是第一个加密段对应的解密段,且若不等于所述最大段号,表明解密段也不是最后一个加密段对应的解密段,则用本次所得的计算结果的最后预设字节的内容更新第一向量,则下次使用的第一向量包含本解密段及其之前的解密段的信息,能够更好的实现MAC验证。
所述安全元件,还用于若解密段的段号等于所述最大段号,对解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,对解密段进行去填充,将去填充后的解密段和该MAC验证结果返回给所述微控制单元;
所述微控制单元,还用于在接收到通过MAC验证的MAC验证结果后,将所得的各个解密段中图像数据所在的各个解密块合并,得到解密图像。
若解密段的段号等于所述最大段号,表明解密段是最后一个加密段对应的解密段。该解密段中最后一个解密块之前的各个解密块可以包含图像数据,图像数据中填充字符串所在的位置可以是该解密段中的倒数第2个解密块的位置,最后一个解密块可以包含目标MAC,则对解密段进行去填充,具体可以为:对该解密段中的倒数第2个解密块进行去填充。
安全元件对解密段进行MAC验证,得到MAC验证结果,具体可以为:若该解密段包含第N-1个解密块,用所述会话密钥中的MAC会话密钥和第一向量对解密段中的各个图像块进行进行第一加密计算,得到第二密文,将所得的第二密文的最后预设字节的内容作为目标验证码;若该解密段不包含第N-1个解密块,即该解密段只有一个解密块,则将第一向量作为目标验证码;比较目标验证码和解密段所包含的目标MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。图像块可以是该解密段中包含图像数据的各个解密块,可以是最后一个解密块之前的各个解密块。
安全元件将所得的第二密文的最后预设字节的内容作为目标验证码。例如,将第二密文的最后16字节的内容作为目标验证码。第一向量是在获得上一解密段后计算所得的。
微控制单元在得到解密图像后,还可以根据命令头对解密图像进行下一步操作,例如,存储解密图像、计算并存储解密图像的特征值、对解密图像进行人脸识别等。
一种实现方式中,微控制单元,还可以用于在接收到未通过MAC验证的MAC验证结果后,将所得的各个解密段删除。
为了提高通信的安全性,移动终端在向智能网关发送加密传输数据或命令之前,可以先向获得与智能网关之间的会话密钥。移动终端可以具体用于通过以下方式获得与智能网关之间的会话密钥:
生成移动终端随机数,向所述微控制单元发送网关身份认证命令,所述网关身份认证命令包含所述移动终端随机数;
接收所述微控制单元返回的响应命令,并用所述响应命令中的响应数据对所述智能网关进行身份验证;
若确定所述智能网关通过身份验证,向所述微控制单元发送移动终端身份认证命令,以使所述微控制单元在确定所述移动终端通过身份验证后,获得已用移动终端公钥加密的会话密钥,并向所述移动终端发送已加密的会话密钥;所述移动终端身份认证命令中包含移动终端公钥;
用预先存储的移动终端私钥对所接收的已加密的会话密钥进行解密,得到会话密钥。
移动终端随机数可以是移动终端利用随机函数或散列函数生成的。移动终端随机数的长度可以预先设定,例如可以是16字节、32字节等等。
具体的,响应数据可以包括网关证书、网关随机数和基于所述移动终端随机数生成的移动终端随机数签名值。为了微控制单元获得安全可靠的响应数据,微控制单元可以基于所接收的网关身份认证命令,向安全元件发送获取命令,获取命令的数据部分可以包含移动终端随机数;获取命令可以用于向安全元件获取网关证书、网关随机数和移动终端随机数签名值等响应数据。安全元件在收到获取命令后,可以基于获取命令中的移动终端随机数生成移动终端随机数签名值,获得网关证书,并生成网关随机数;将所述网关证书、所述网关随机数和所述移动终端随机数签名值作为响应数据返回给所述微控制单元。
进而,微控制单元可以基于所述响应数据生成响应命令,具体可以为:获得预设命令头,按照所述响应数据填充命令头的内容,得到响应命令的命令头;将响应数据作为响应命令的数据部分,从而得到响应命令。具体的按照所述响应数据填充命令头的内容可以为现有的方式,本发明在此不再赘述。
一种实现方式中,安全元件生成移动终端随机数签名值,具体可以为:
用预先存储的智能网关私钥对所述移动终端随机数做签名,得到移动终端随机数签名值。
智能网关私钥可以预先存储于安全元件中,本发明对具体的签名方式不做限定,既可以是现有的数字签名算法,也可以是设计者根据需求设计的签名算法。或者,在其他方式中,还可以对外部设备随机数进行Base64编码或ASCII(American Standard Code forInformation Interchange,美国信息交换标准代码)编码,从而得到移动终端随机数签名值。
安全元件所生成的网关随机数和移动终端随机数的长度可以相同,也可以不同,生成网关随机数的方式可以为:安全元件利用预设的随机函数或哈希函数生成网关随机数。网关随机数的长度可以预先指定,例如,可以为16字节、32字节、64字节等等。
网关证书可以预先存储于安全元件中,安全元件可以直接获得存储于自身的网关证书,或者,在其他实施方式中,网关证书也可以存储于安全元件以外的其他设备中,安全元件可以从其他设备中获得网关证书。为了提高网关证书的安全性,优选的,可以将网关证书可以预先存储于安全元件中。本发明对网关证书的具体格式不做限定,例如可以为采用X.509格式的公钥证书,也可以为SSL(Secure socket layer,安全套接字层)证书,或者还可以为自定义格式的网关证书,网关证书可以包含智能网关公钥。
移动终端用所述响应命令中的响应数据对所述智能网关进行身份验证,具体可以为:
用网关证书中的智能网关公钥解密所述移动终端随机数签名值,得到第一验证值,若所述移动终端随机数等于所述第一验证值,则确定网关验证结果为所述智能网关通过身份验证;否则,确定网关验证结果为所述智能网关未通过身份验证。
应用本发明实施例,可以在智能网关中集成安全元件,并可以通过安全元件获得网关证书、生成网关随机数和外部设备随机数签名值,从而避免了智能网关提供给外部设备的响应数据被篡改,提高了智能网关的安全性。
在确定智能网关未通过身份认证后,可以重新向智能网关发送网关身份认证命令;
在确定智能网关通过身份认证后,可以向微控制单元发送移动终端身份认证命令,该命令的数据部分可以包含移动终端证书和网关随机数签名值。其中,移动终端证书中可以包含移动终端公钥;网关随机数签名值可以是移动终端基于响应命令中的网关随机数生成的,具体可以为:用预先存储的移动终端私钥对网关随机数做签名,得到网关随机数签名值,或者,对网关随机数进行Base64编码或ASCII编码,从而得到网关随机数签名值。或者还可以采用其他合理方式来生成网关随机数签名值。
微控制单元在接收到移动终端身份认证命令后,可以具体用于通过以下方式获得已用移动终端公钥加密的会话密钥:
基于所接收的移动终端身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的移动终端验证结果;若所述移动终端验证结果为所述移动终端通过身份验证,接收所述安全元件发送的已用移动终端公钥加密的会话密钥。
安全元件在接收所述微控制单元发送的验证命令后,可以对移动终端进行身份验证,向所述微控制单元返回移动终端验证结果。
若网关随机数签名值是用预先存储的移动终端私钥对网关随机数做签名而得的,则安全元件对移动终端进行身份验证,具体可以为:
用移动终端证书中的移动终端公钥解密所述网关随机数签名值,得到第二验证值,若所述网关随机数等于所述第二验证值,则确定移动终端验证结果为所述移动终端通过身份验证;否则,确定移动终端验证结果为所述移动终端未通过身份验证。
另一种实现方式中,若网关随机数签名值是由对网关随机数进行Base64编码或ASCII编码而得的,安全元件对移动终端进行身份验证,具体可以为:
对所述网关随机数签名值进行解码,得到第二验证值,若所述网关随机数等于所述第二验证值,则确定移动终端验证结果为所述移动终端通过身份验证;否则,确定移动终端验证结果为所述移动终端未通过身份验证。
为了便于后续的安全通信,若所述验证结果为所述移动终端通过身份验证,所述安全元件还可以生成随机数作为会话密钥;为了避免会话密钥被篡改,安全元件可以用移动终端证书中的移动终端公钥对会话密钥进行加密,将加密后的会话密钥返回给所述微控制单元;从而微控制单元可以获得已用移动终端公钥加密的会话密钥,并向移动终端发送已加密的会话密钥。
为了进一步确保通信安全,所产生的会话密钥可以只在一个会话期间内有效。当通信的任何一方请求停止会话,或者长时间没有进行通信(具体时长可用户自定义),则另一方可以判定会话期间结束,同时将该会话密钥设置为失效。在下次请求通信之前,即进入下一次会话期间之前,可以重新进行身份认证并生成新的会话密钥。
移动终端与智能网关通信之前,可以均通过对方的身份验证,从而双方可以获得同样的会话密钥,该会话密钥可以用于移动终端与智能网关之间的通信,根据需求可以进行无加密通信或带MAC的加密通信。
应用本发明实施例,可以实现智能网关与外部设备之间的双向身份认证,确保通信双方身份的可靠性;并可以生成会话密钥,有利于通过身份认证双方进行后续的加密通信,提高通信的安全性;并且网关证书、智能网关私钥都可以存储在安全元件中,可以保证机密数据和隐私数据的存储安全;并通过安全元件生成随机数、进行数据加解密过程和身份验证,可以进一步提高安全性。
为了进一步提高通信的安全性,所述微控制单元还用于:
若所接收的MAC验证结果为未通过MAC验证,清除所述会话密钥,并将所述移动终端的状态设置为未认证状态;
向所述移动终端发送身份认证请求,以使所述移动终端针对所述身份认证请求向所述微控制单元返回网关身份认证命令。
应用本发明实施例,若智能网关判定MAC验证不通过,就会将会话密钥清除,从而可以终止下一步操作,并且将移动终端的状态设置为未认证状态,以重新进行智能网关和智能门禁之间的双向身份认证,随后重新生成会话密钥,避免了与不可靠的移动终端之间的通信,提高了图像传输系统的安全性。
相应于上述图像传输系统实施例,本发明实施例提供了一种图像传输方法,参见图2所示,应用于上述的图像传输系统,所述方法包括:
S101、移动终端在获得与所述智能网关之间的会话密钥后,若获得待传输图像;基于所述待传输图像生成加密传输数据;将所生成的加密传输数据传输给智能网关;
S102、智能网关接收所述移动终端传输的加密传输数据;对所述加密传输数据进行解密和消息认证码MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像。
应用本发明实施例,应用本发明实施例,可以通过智能网关接收移动终端传输的加密传输数据;并对加密传输数据进行解密和MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像,从而提高了智能网关所获得的解密图像的安全性,并且移动终端是在获得与智能网关之间的会话密钥后,才与智能网关进行通信,提高了整个图像传输过程的安全性
可选的,所述移动终端获得待传输图像,包括:
进行活体检测;
若活体检测成功,则采集图像,并将所采集的图像作为待传输图像。
可选的,所述移动终端基于所述待传输图像生成加密传输数据,包括:
对所述待传输图像进行人脸检测;
若检测到所述待传输图像中有且仅有一个人脸区域,对所述待传输图像进行裁剪,得到预设尺寸的人脸子图;所述人脸子图包含所述人脸区域;
对所述人脸子图进行压缩,得到压缩人脸图像;
基于所述压缩人脸图像生成加密传输数据。
可选的,所述会话密钥包括加密会话密钥和消息认证码MAC会话密钥,所述移动终端基于所述压缩人脸图像生成加密传输数据,包括:
根据所述压缩人脸图像的属性信息,生成初始命令头;采用预设的第一数据填充模式,采用预设的第一数据填充模式,对所生成的初始命令头进行填充,得到第一命令头;
采用预设的第二数据填充模式,对压缩人脸图像进行数据填充,得到目标图像数据;
用所述会话密钥中的MAC会话密钥和预设的初始向量对所述第一命令头和所述目标图像数据一并进行第一加密计算,得到目标密文;将所得的目标密文的最后预设字节的内容作为目标MAC;
用所述会话密钥中的加密会话密钥分别对所述第一命令头、所述目标图像数据以及所述目标MAC进行第二加密计算,得到由加密后的第一命令头、加密后的目标图像数据以及加密后的目标MAC构成的加密传输数据。
可选的,所述智能网关包括安全元件和微控制单元,智能网关对所述加密传输数据进行解密和消息认证码MAC验证,包括:
所述微控制单元接收移动终端发送的加密传输数据;将所述加密传输数据进行分段,得到加密段;每个加密段具有唯一段号;将具有最小段号的加密段作为初始加密段;判断初始加密段的段号是否大于最大段号;若不大于,将初始加密段传输给所述安全元件;所述最大段号为所述微控制单元所得加密段所具有的段号中的最大者;
所述安全元件对所接收的初始加密段进行解密,得到解密段,所得的解密段的段号与该初始加密段的段号相同;判断解密段的段号是否等于所述最小段号;若等于所述最小段号,判断所述最大段号是否等于所述最小段号,若所述最大段号等于所述最小段号,对所得的解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,将所得的解密段进行去填充,将去填充后的解密段作为解密数据。
可选的,所述方法还包括:
若MAC验证结果为通过MAC验证,所述安全元件将解密数据和该MAC验证结果返回给所述微控制单元;若MAC验证结果为未通过MAC验证,则将该MAC验证结果返回给所述微控制单元;
所述微控制单元在得到解密数据后,将解密数据中的图像数据所在的各个解密块合并,得到解密图像。
可选的,所述会话密钥包括加密会话密钥和MAC会话密钥,
所述安全元件对所接收的初始加密段进行解密,包括:用所述会话密钥中的加密会话密钥对所接收的初始加密段进行解密;
所述安全元件对所得的解密段进行MAC验证,包括:
用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段中的各个目标解密块进行第一加密计算,得到第一密文;各个目标解密块为该解密数据中命令头所在的解密块和图像数据所在的各个解密块;将所得的第一密文的最后预设字节的内容作为目标验证码,比较目标验证码和该解密段所包含的目标MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
可选的,所述方法还包括:
若所述最大段号不等于所述最小段号,所述安全元件用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段进行第一加密计算,得到初始密文,将所得的初始密文的最后预设字节的内容作为第一向量;若该解密段包含第N-1个解密块,则将所得的解密段的第1个解密块和第N-1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则将所得的解密段的第1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;
所述微控制单元在接收到去填充后的解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
可选的,所述方法还包括:
若解密段的段号不等于所述最小段号,所述安全元件判断解密段的段号是否等于所述最大段号,若不等于所述最大段号,用所述会话密钥中的MAC会话密钥和第一向量对所得的解密段进行第一加密计算,用所得的计算结果的最后预设字节的内容更新第一向量;若该解密段包含第N-1个解密块,则将所得的解密段进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则直接将该解密段返回给所述微控制单元;
所述微控制单元在接收到解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
可选的,所述方法还包括:
若解密段的段号等于所述最大段号,所述安全元件对解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,对解密段进行去填充,将去填充后的解密段和该MAC验证结果返回给所述微控制单元;
所述微控制单元在接收到通过MAC验证的MAC验证结果后,将所得的各个解密段中图像数据所在的各个解密块合并,得到解密图像。
可选的,所述方法还包括:
微控制单元在接收到未通过MAC验证的MAC验证结果后,将所得的各个解密段删除。
可选的,所述移动终端获得与智能网关之间的会话密钥,包括:
生成移动终端随机数,向所述微控制单元发送网关身份认证命令,所述网关身份认证命令包含所述移动终端随机数;
接收所述微控制单元返回的响应命令,并用所述响应命令中的响应数据对所述智能网关进行身份验证;
若确定所述智能网关通过身份验证,向所述微控制单元发送移动终端身份认证命令,以使所述微控制单元在确定所述移动终端通过身份验证后,获得已用移动终端公钥加密的会话密钥,并向所述移动终端发送已加密的会话密钥;所述移动终端身份认证命令中包含移动终端公钥;
用预先存储的移动终端私钥对所接收的已加密的会话密钥进行解密,得到会话密钥。
可选的,所述响应数据包括网关证书、网关随机数和基于所述移动终端随机数生成的移动终端随机数签名值;所述移动终端用所述响应命令中的响应数据对所述智能网关进行身份验证,包括:
用网关证书中的智能网关公钥解密所述移动终端随机数签名值,得到第一验证值,若所述移动终端随机数等于所述第一验证值,则确定网关验证结果为所述智能网关通过身份验证;否则,确定网关验证结果为所述智能网关未通过身份验证。
可选的,所述微控制单元获得已用移动终端公钥加密的会话密钥,包括:
基于所接收的移动终端身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的移动终端验证结果;若所述移动终端验证结果为所述移动终端通过身份验证,接收所述安全元件发送的已用移动终端公钥加密的会话密钥。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种图像传输系统,其特征在于,所述系统包括移动终端和智能网关,其中,
所述移动终端,用于在获得与所述智能网关之间的会话密钥后,若获得待传输图像,基于所述待传输图像生成加密传输数据;将所生成的加密传输数据传输给智能网关;
所述智能网关,用于接收所述移动终端传输的加密传输数据;对所述加密传输数据进行解密和消息认证码MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像;
所述智能网关包括安全元件和微控制单元,
所述微控制单元,用于接收移动终端发送的加密传输数据;将所述加密传输数据进行分段,得到加密段;每个加密段具有唯一段号;将具有最小段号的加密段作为初始加密段;判断初始加密段的段号是否大于最大段号;若不大于,将初始加密段传输给所述安全元件;所述最大段号为所述微控制单元所得加密段所具有的段号中的最大者;
所述安全元件,用于对所接收的初始加密段进行解密,得到解密段,所得的解密段的段号与该初始加密段的段号相同;判断解密段的段号是否等于所述最小段号;若等于所述最小段号,判断所述最大段号是否等于所述最小段号,若所述最大段号等于所述最小段号,对所得的解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,将所得的解密段进行去填充,将去填充后的解密段作为解密数据;
所述移动终端基于所述待传输图像生成加密传输数据,具体为:
对所述待传输图像进行人脸检测;
若检测到所述待传输图像中有且仅有一个人脸区域,对所述待传输图像进行裁剪,得到预设尺寸的人脸子图;所述人脸子图包含所述人脸区域;
对所述人脸子图进行压缩,得到压缩人脸图像;
基于所述压缩人脸图像生成加密传输数据;
所述会话密钥包括加密会话密钥和消息认证码MAC会话密钥,所述移动终端基于所述压缩人脸图像生成加密传输数据,具体为:
根据所述压缩人脸图像的属性信息,生成初始命令头;采用预设的第一数据填充模式,对所生成的初始命令头进行填充,得到第一命令头;
采用预设的第二数据填充模式,对压缩人脸图像进行数据填充,得到目标图像数据;
用所述会话密钥中的MAC会话密钥和预设的初始向量对所述第一命令头和所述目标图像数据一并进行第一加密计算,得到目标密文;将所得的目标密文的最后预设字节的内容作为目标MAC;
用所述会话密钥中的加密会话密钥分别对所述第一命令头、所述目标图像数据以及所述目标MAC进行第二加密计算,得到由加密后的第一命令头、加密后的目标图像数据以及加密后的目标MAC构成的加密传输数据;
所述安全元件,还用于若所述最大段号不等于所述最小段号,用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段进行第一加密计算,得到初始密文,将所得的初始密文的最后预设字节的内容作为第一向量;若该解密段包含第N-1个解密块,则将所得的解密段的第1个解密块和第N-1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则将所得的解密段的第1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;
所述微控制单元,还用于在接收到去填充后的解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
2.根据权利要求1所述的系统,其特征在于,所述移动终端具体用于通过以下方式获得待传输图像;
进行活体检测;
若活体检测成功,则采集图像,并将所采集的图像作为待传输图像。
3.根据权利要求1所述的系统,其特征在于,
所述安全元件,还用于若MAC验证结果为通过MAC验证,将解密数据和该MAC验证结果返回给所述微控制单元;若MAC验证结果为未通过MAC验证,则将该MAC验证结果返回给所述微控制单元;
所述微控制单元,还用于在得到解密数据后,将解密数据中的图像数据所在的各个解密块合并,得到解密图像。
4.根据权利要求1所述的系统,其特征在于,所述会话密钥包括加密会话密钥和MAC会话密钥,
所述安全元件对所接收的初始加密段进行解密,具体为:用所述会话密钥中的加密会话密钥对所接收的初始加密段进行解密;
所述安全元件对所得的解密段进行MAC验证,具体为:用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段中的各个目标解密块进行第一加密计算,得到第一密文;各个目标解密块为该解密段中命令头所在的解密块和图像数据所在的各个解密块;将所得的第一密文的最后预设字节的内容作为目标验证码,比较目标验证码和该解密段所包含的目标MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
5.根据权利要求1所述的系统,其特征在于,
所述安全元件,还用于若解密段的段号不等于所述最小段号,判断解密段的段号是否等于所述最大段号,若不等于所述最大段号,用所述会话密钥中的MAC会话密钥和第一向量对所得的解密段进行第一加密计算,用所得的计算结果的最后预设字节的内容更新第一向量;若该解密段包含第N-1个解密块,则将所得的解密段进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则直接将该解密段返回给所述微控制单元;
所述微控制单元,还用于在接收到解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
6.根据权利要求5所述的系统,其特征在于,
所述安全元件,还用于若解密段的段号等于所述最大段号,对解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,对解密段进行去填充,将去填充后的解密段和该MAC验证结果返回给所述微控制单元;
所述微控制单元,还用于在接收到通过MAC验证的MAC验证结果后,将所得的各个解密段中图像数据所在的各个解密块合并,得到解密图像。
7.根据权利要求6所述的系统,其特征在于,若解密段的段号等于所述最大段号,所述安全元件对解密段进行MAC验证,具体为:
用所述会话密钥中的MAC会话密钥和第一向量对所得的解密段中的各个目标解密块进行第一加密计算,得到第一密文;各个目标解密块为该解密段中图像数据所在的各个解密块;将所得的第一密文的最后预设字节的内容作为目标验证码;
比较目标验证码和解密段所包含的目标MAC是否相同;若相同,则确定MAC验证结果为通过MAC验证;否则,确定MAC验证结果为未通过MAC验证。
8.根据权利要求4所述的系统,其特征在于,
微控制单元,还用于在接收到未通过MAC验证的MAC验证结果后,将所得的各个解密段删除。
9.根据权利要求1所述的系统,其特征在于,所述移动终端具体用于通过以下方式获得与智能网关之间的会话密钥:
生成移动终端随机数,向所述微控制单元发送网关身份认证命令,所述网关身份认证命令包含所述移动终端随机数;
接收所述微控制单元返回的响应命令,并用所述响应命令中的响应数据对所述智能网关进行身份验证;
若确定所述智能网关通过身份验证,向所述微控制单元发送移动终端身份认证命令,以使所述微控制单元在确定所述移动终端通过身份验证后,获得已用移动终端公钥加密的会话密钥,并向所述移动终端发送已加密的会话密钥;所述移动终端身份认证命令中包含移动终端公钥;
用预先存储的移动终端私钥对所接收的已加密的会话密钥进行解密,得到会话密钥。
10.根据权利要求9所述的系统,其特征在于,所述响应数据包括网关证书、网关随机数和基于所述移动终端随机数生成的移动终端随机数签名值;所述移动终端用所述响应命令中的响应数据对所述智能网关进行身份验证,具体为:
用网关证书中的智能网关公钥解密所述移动终端随机数签名值,得到第一验证值,若所述移动终端随机数等于所述第一验证值,则确定网关验证结果为所述智能网关通过身份验证;否则,确定网关验证结果为所述智能网关未通过身份验证。
11.根据权利要求10所述的系统,其特征在于,所述微控制单元具体用于通过以下方式获得已用移动终端公钥加密的会话密钥:
基于所接收的移动终端身份认证命令,向所述安全元件发送验证命令;接收所述安全元件针对所述验证命令返回的移动终端验证结果;若所述移动终端验证结果为所述移动终端通过身份验证,接收所述安全元件发送的已用移动终端公钥加密的会话密钥。
12.一种图像传输方法,其特征在于,应用于权利要求1所述的图像传输系统,所述方法包括:
移动终端在获得与所述智能网关之间的会话密钥后,若获得待传输图像;基于所述待传输图像生成加密传输数据;将所生成的加密传输数据传输给智能网关;
智能网关接收所述移动终端传输的加密传输数据;对所述加密传输数据进行解密和消息认证码MAC验证,得到解密数据和MAC验证结果;若MAC验证结果为通过MAC验证,则基于解密数据得到解密图像;
所述微控制单元接收移动终端发送的加密传输数据;将所述加密传输数据进行分段,得到加密段;每个加密段具有唯一段号;将具有最小段号的加密段作为初始加密段;判断初始加密段的段号是否大于最大段号;若不大于,将初始加密段传输给所述安全元件;所述最大段号为所述微控制单元所得加密段所具有的段号中的最大者;
所述安全元件对所接收的初始加密段进行解密,得到解密段,所得的解密段的段号与该初始加密段的段号相同;判断解密段的段号是否等于所述最小段号;若等于所述最小段号,判断所述最大段号是否等于所述最小段号,若所述最大段号等于所述最小段号,对所得的解密段进行MAC验证,得到MAC验证结果;若MAC验证结果为通过MAC验证,将所得的解密段进行去填充,将去填充后的解密段作为解密数据;
所述移动终端基于所述待传输图像生成加密传输数据,具体为:
对所述待传输图像进行人脸检测;
若检测到所述待传输图像中有且仅有一个人脸区域,对所述待传输图像进行裁剪,得到预设尺寸的人脸子图;所述人脸子图包含所述人脸区域;
对所述人脸子图进行压缩,得到压缩人脸图像;
基于所述压缩人脸图像生成加密传输数据;
所述会话密钥包括加密会话密钥和消息认证码MAC会话密钥,所述移动终端基于所述压缩人脸图像生成加密传输数据,具体为:
根据所述压缩人脸图像的属性信息,生成初始命令头;采用预设的第一数据填充模式,对所生成的初始命令头进行填充,得到第一命令头;
采用预设的第二数据填充模式,对压缩人脸图像进行数据填充,得到目标图像数据;
用所述会话密钥中的MAC会话密钥和预设的初始向量对所述第一命令头和所述目标图像数据一并进行第一加密计算,得到目标密文;将所得的目标密文的最后预设字节的内容作为目标MAC;
用所述会话密钥中的加密会话密钥分别对所述第一命令头、所述目标图像数据以及所述目标MAC进行第二加密计算,得到由加密后的第一命令头、加密后的目标图像数据以及加密后的目标MAC构成的加密传输数据;
所述安全元件,还用于若所述最大段号不等于所述最小段号,用所述会话密钥中的MAC会话密钥和预设的初始向量对所得的解密段进行第一加密计算,得到初始密文,将所得的初始密文的最后预设字节的内容作为第一向量;若该解密段包含第N-1个解密块,则将所得的解密段的第1个解密块和第N-1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;若该解密段不包含第N-1个解密块,则将所得的解密段的第1个解密块进行去填充,并将去填充后的解密段返回给所述微控制单元;
所述微控制单元,还用于在接收到去填充后的解密段后,将初始加密段的下一加密段作为初始加密段,重新执行判断初始加密段的段号是否大于最大段号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910097738.7A CN109922047B (zh) | 2019-01-31 | 2019-01-31 | 一种图像传输系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910097738.7A CN109922047B (zh) | 2019-01-31 | 2019-01-31 | 一种图像传输系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109922047A CN109922047A (zh) | 2019-06-21 |
CN109922047B true CN109922047B (zh) | 2021-11-19 |
Family
ID=66961211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910097738.7A Active CN109922047B (zh) | 2019-01-31 | 2019-01-31 | 一种图像传输系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109922047B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460580B (zh) * | 2019-07-11 | 2022-02-22 | 中国银联股份有限公司 | 图像采集装置、服务器及加、解密方法 |
CN110719522B (zh) * | 2019-10-31 | 2021-12-24 | 广州视源电子科技股份有限公司 | 一种视频显示方法、装置、存储介质及电子设备 |
CN111726345B (zh) * | 2020-06-15 | 2021-07-06 | 电子科技大学 | 基于授权认证的视频实时人脸加密解密方法 |
CN112861815A (zh) * | 2021-03-29 | 2021-05-28 | 威海华菱光电股份有限公司 | 生物特征采集装置和生物特征识别系统 |
CN113922961A (zh) * | 2021-11-11 | 2022-01-11 | 成都合盛智联科技有限公司 | 一种智慧安防社区平台数据下发与汇聚中的数据加解密传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752102A (zh) * | 2012-07-02 | 2012-10-24 | 珠海全志科技股份有限公司 | 数据包分段加密传输处理方法和装置 |
CN103354498A (zh) * | 2013-05-31 | 2013-10-16 | 北京鹏宇成软件技术有限公司 | 一种基于身份的文件加密传输方法 |
CN104935593A (zh) * | 2015-06-16 | 2015-09-23 | 杭州华三通信技术有限公司 | 数据报文的传输方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9331990B2 (en) * | 2003-12-22 | 2016-05-03 | Assa Abloy Ab | Trusted and unsupervised digital certificate generation using a security token |
US8473756B2 (en) * | 2008-01-07 | 2013-06-25 | Security First Corp. | Systems and methods for securing data using multi-factor or keyed dispersal |
CN102325137B (zh) * | 2011-09-09 | 2014-08-13 | 南京大学 | 一种结合水印技术的媒体安全分发方法 |
CN102801529B (zh) * | 2012-08-27 | 2015-11-04 | 飞天诚信科技股份有限公司 | 一种卡片安全通讯的方法 |
CN103326866B (zh) * | 2013-06-29 | 2016-12-28 | 安科智慧城市技术(中国)有限公司 | 一种基于设备mac地址的认证方法及系统 |
CN104601563B (zh) * | 2015-01-06 | 2017-09-15 | 南京信息工程大学 | 基于mle的可公开验证云存储数据持有性的方法 |
CN106612506A (zh) * | 2015-10-27 | 2017-05-03 | 国网智能电网研究院 | 一种输电线路状态在线监测系统中wsn节点安全交互方法 |
CN105426709B (zh) * | 2015-11-12 | 2016-10-12 | 福建北卡科技有限公司 | 基于jpeg图像信息隐藏的私密信息通信方法与系统 |
-
2019
- 2019-01-31 CN CN201910097738.7A patent/CN109922047B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752102A (zh) * | 2012-07-02 | 2012-10-24 | 珠海全志科技股份有限公司 | 数据包分段加密传输处理方法和装置 |
CN103354498A (zh) * | 2013-05-31 | 2013-10-16 | 北京鹏宇成软件技术有限公司 | 一种基于身份的文件加密传输方法 |
CN104935593A (zh) * | 2015-06-16 | 2015-09-23 | 杭州华三通信技术有限公司 | 数据报文的传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109922047A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109922047B (zh) | 一种图像传输系统及方法 | |
CN109903433B (zh) | 一种基于人脸识别的门禁系统及门禁控制方法 | |
CN108471404B (zh) | 文件共享方法、装置、计算机设备和存储介质 | |
CN107948736A (zh) | 一种音视频证据保全方法及系统 | |
CN109714360B (zh) | 一种智能网关及网关通信处理方法 | |
KR20150035971A (ko) | 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 프로토콜 | |
CN104023013A (zh) | 数据传输方法、服务端和客户端 | |
WO2014114191A1 (zh) | 一种智能卡安全通讯的方法 | |
KR102017758B1 (ko) | 의료 기기, 게이트웨이 기기 및 이를 이용한 프로토콜 보안 방법 | |
CN110690956B (zh) | 双向认证方法及系统、服务器和终端 | |
CN110611670A (zh) | 一种api请求的加密方法及装置 | |
CN111435913A (zh) | 一种物联网终端的身份认证方法、装置和存储介质 | |
CN103581683B (zh) | Jpeg图像加密传输方法 | |
CN111970114B (zh) | 文件加密方法、系统、服务器和存储介质 | |
CN112672342B (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
CN104836784A (zh) | 一种信息处理方法、客户端和服务器 | |
JP6473876B2 (ja) | セキュアネットワーク通信方法 | |
CN106453391A (zh) | 一种重复长数据加密传输的方法及系统 | |
CN106131008B (zh) | 视音频监控设备及其安全认证方法、视音频展示设备 | |
CN112073115A (zh) | 基于Lora的低轨卫星物联网注册安全验证方法、物联网终端、网络服务器和用户服务器 | |
CN112311533A (zh) | 终端身份认证方法、系统以及存储介质 | |
CN111079178B (zh) | 一种可信电子病历脱敏和回溯方法 | |
CN114900304A (zh) | 数字签名方法和装置、电子设备和计算机可读存储介质 | |
CN114500064B (zh) | 一种通信安全验证方法、装置、存储介质及电子设备 | |
KR102219086B1 (ko) | 드론(Unnamed Aerial vehicle)시스템을 위한 HMAC기반의 송신원 인증 및 비밀키 공유 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |