一种设备认证方法、终端设备、服务器及系统.pdf

上传人:g**** 文档编号:1504790 上传时间:2018-06-18 格式:PDF 页数:16 大小:1.11MB
返回 下载 相关 举报
摘要
申请专利号:

CN201610933731.0

申请日:

2016.10.31

公开号:

CN106534086A

公开日:

2017.03.22

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/06申请日:20161031|||公开

IPC分类号:

H04L29/06

主分类号:

H04L29/06

申请人:

深圳数字电视国家工程实验室股份有限公司

发明人:

吕海峰; 余小龙; 李新国

地址:

518057 广东省深圳市南山区高新技术产业园高新南一道015号国微研发大楼4层北侧E室

优先权:

专利代理机构:

深圳市深佳知识产权代理事务所(普通合伙) 44285

代理人:

王仲凯

PDF下载: PDF下载
内容摘要

本申请公开了一种基于TLS连接的设备认证方法,包括:与服务器进行TLS连接;对业务层信息进行签名,得到相应的签名值;对签名值进行封装处理,得到封装后的消息,并将封装后的消息发送至服务器,以利用服务器对封装后的消息进行验证;若验证通过,则启动与服务器之间的数据访问进程,若验证失败,则断开与服务器之间的TLS连接。本申请在建立服务器与终端设备之间的TLS连接之后,将会对业务层信息进行签名,本申请中签名的对象是从业务层上获取的信息,由于业务层信息相较于EKM信息更加容易获取,由此提升了本申请中TLS安全通道的部署过程的可行性。另外,本申请还公开了一种终端设备、服务器以及设备认证系统。

权利要求书

1.一种基于TLS连接的设备认证方法,其特征在于,应用于终端设备,包括:与服务器进行TLS连接;对业务层信息进行签名,得到相应的签名值;其中,所述业务层信息为能够从业务层上获取的信息;对所述签名值进行封装处理,得到封装后的消息,并将所述封装后的消息发送至所述服务器,以利用所述服务器对所述封装后的消息进行验证;若验证通过,则启动与所述服务器之间的数据访问进程,若验证失败,则断开与所述服务器之间的TLS连接。2.根据权利要求1所述的设备认证方法,其特征在于,所述对业务层信息进行签名,得到相应的签名值的过程,包括:获取公私密钥对;利用预设的数字签名算法以及所述公私密钥对中的私钥,对所述业务层信息进行数字签名,得到所述签名值。3.根据权利要求2所述的设备认证方法,其特征在于,所述对所述业务层信息进行数字签名,得到所述签名值的过程,包括:对所述终端设备与所述服务器之间的TLS连接信息、所述终端设备的设备信息以及当前的签名新鲜值进行数字签名,得到所述签名值,并对当前的签名新鲜值进行更新。4.根据权利要求3所述的设备认证方法,其特征在于,所述TLS连接信息包括所述服务器的服务器证书以及所述服务器对应的URL地址;所述终端设备的设备信息包括所述终端设备的MAC地址。5.根据权利要求4所述的设备认证方法,其特征在于,所述对所述签名值进行封装处理,得到封装后的消息的过程,包括:对所述签名值、所述服务器的服务器证书、所述服务器对应的URL地址、所述终端设备的MAC地址、所述公私密钥对中的公钥以及当前的签名新鲜值进行统一封装处理,得到所述封装后的消息。6.一种基于TLS连接的设备认证方法,其特征在于,应用于服务器,包括:与终端设备进行TLS连接; -->获取所述终端设备通过对预先生成的签名值进行封装处理后得到的封装后的消息;其中,所述签名值为所述终端设备通过对业务层信息进行签名后生成的签名值;其中,所述业务层信息为能够从业务层上获取的信息;对所述封装后的消息进行验证,若验证通过,则启动与所述终端设备之间的数据访问进程,若验证失败,则断开与所述终端设备之间的TLS连接。7.根据权利要求6所述的设备认证方法,其特征在于,所述封装后的消息为所述终端设备对所述签名值、所述服务器的服务器证书、所述服务器对应的URL地址、所述终端设备的MAC地址、公私密钥对中的公钥以及当前的签名新鲜值进行统一封装处理后得到的消息;其中,所述公私密钥对中的私钥为所述终端设备在对所述业务层信息进行签名时所使用的密钥。8.根据权利要求7所述的设备认证方法,其特征在于,若对所述封装后的消息进行的验证为首次验证,则所述对所述封装后的消息进行验证的过程,包括:步骤S31:对所述封装后的消息进行解析,得到解析后的第一签名值、解析后的第一服务器证书、解析后的第一URL地址、解析后的第一MAC地址、解析后的第一公钥以及解析后的第一签名新鲜值;步骤S32:利用所述解析后的第一公钥,对所述解析后的第一签名值进行验签,若验签失败,则断开与所述终端设备之间的TLS连接,若验签通过,则进入步骤S33;步骤S33:判断所述解析后的第一服务器证书与所述服务器的服务器证书之间以及所述解析后的第一URL地址与所述服务器对应的URL地址之间是否均一致,如果否,则断开与所述终端设备之间的TLS连接,如果是,则进入步骤S34;步骤S34:判断所述解析后的第一签名新鲜值是否是当前最新的签名新鲜值,如果否,则断开与所述终端设备之间的TLS连接,如果是,则判定本次验证通过,并进入步骤S35;步骤S35:保存所述解析后的第一公钥和所述解析后的第一签名新鲜值,以及为所述终端设备生成一个设备ID号,并对该设备ID号进行保存以及将该设备ID号发送至所述终端设备进行保存,然后启动与所述终端设备之间的数据访问进程。9.根据权利要求8所述的设备认证方法,其特征在于,若对所述封装后的消息进行的验证为非首次验证,则在对所述封装后的消息进行验证之前,还包括:获取所述终端设备发送的由自身保存的设备ID号。10.根据权利要求9所述的设备认证方法,其特征在于,若对所述封装后的消息进行的验证为非首次验证,则所述对所述封装后的消息进行验证的过程,包括:步骤S41:对所述封装后的消息进行解析,得到解析后的第二签名值、解析后的第二服务器证书、解析后的第二URL地址、解析后的第二MAC地址、解析后的第二公钥以及解析后的第二签名新鲜值;步骤S42:利用所述解析后的第二公钥,对所述解析后的第二签名值进行验签,若验签失败,则断开与所述终端设备之间的TLS连接,若验签通过,则进入步骤S43;步骤S43:判断所述解析后的第二服务器证书与所述服务器的服务器证书之间以及所述解析后的第二URL地址与所述服务器对应的URL地址之间是否均一致,如果否,则断开与所述终端设备之间的TLS连接,如果是,则进入步骤S44; -->步骤S44:判断所述解析后的第二公钥与所述服务器中保存的公钥之间以及由所述终端设备发送的设备ID号与所述服务器中保存的设备ID号之间是否均一致,如果否,则断开与所述终端设备之间的TLS连接,如果是,则进入步骤S45;步骤S45:判断所述解析后的第二签名新鲜值是否是当前最新的签名新鲜值,如果否,则断开与所述终端设备之间的TLS连接,如果是,则判定本次验证通过,并进入步骤S46;步骤S46:保存所述解析后的第二签名新鲜值,然后启动与所述终端设备之间的数据访问进程。11.一种终端设备,其特征在于,包括:服务器连接模块,用于与服务器进行TLS连接;安全模块,用于对业务层信息进行签名,得到相应的签名值;其中,所述业务层信息为能够从业务层上获取的信息;封装模块,用于对所述签名值进行封装处理,得到封装后的消息;消息发送模块,用于将所述封装后的消息发送至所述服务器,以利用所述服务器对所述封装后的消息进行验证;验证响应模块,用于当验证通过,则启动与所述服务器之间的数据访问进程,若验证失败,则断开与所述服务器之间的TLS连接。12.一种服务器,其特征在于,包括:设备连接模块,用于与终端设备进行TLS连接;信息获取模块,用于获取所述终端设备通过对预先生成的签名值进行封装处理后得到的封装后的消息;其中,所述签名值为所述终端设备通过对业务层信息进行签名后生成的签名值;其中,所述业务层信息为能够从业务层上获取的信息;消息验证模块,用于对所述封装后的消息进行验证;连接控制模块,用于当所述消息验证模块的验证通过,则启动与所述终端设备之间的数据访问进程,若验证失败,则断开与所述终端设备之间的TLS连接。13.一种基于TLS连接的设备认证系统,其特征在于,包括如权利要求11所述的终端设备和如权利要求12所述的服务器。 -->

说明书

一种设备认证方法、终端设备、服务器及系统

技术领域

本发明涉及网络安全技术领域,特别涉及一种基于TLS连接的设备认证方法、终端
设备、服务器及系统。

背景技术

TLS协议(TLS,即Transport Layer Security,安全传输层协议)作为一种能够为
终端设备与服务器之间的数据传输过程提供保密性和数据完整性的协议,广泛应用于互联
网网络传输中。在网络层次协议模型中,TLS协议位于传输层协议之上,应用层协议之下。该
协议由两部分组成:记录协议和握手协议。其中,TLS握手协议可以实现通信双方的身份验
证和密钥协商,从而保证传输的应用层数据无法被窃听、篡改;TLS记录协议完成加密后数
据的传输。该协议在一定程度上可以阻止窃听、数据篡改等安全攻击。

然而在实际应用中,TLS仍存在许多安全漏洞,会受到各种攻击,例如中间人攻击
等。此外,服务器为设备访问受保护的资源生成各种安全tokens(如登录口令,HTTP
cookies,OAuth tokens)。拥有这些tokens的任何一方都可以访问受保护的资源。即使设备
与服务器之间没有受到TLS攻击,但只要攻击者从用户机器或者服务端后台数据库导出这
些tokens,就可以用这些tokens访问服务器,冒充合法用户,用户的资产和数据仍然受到威
胁。

因此,有人就提出Token Binding协议,基于该协议建立终端设备与服务器之间的
TLS安全通道,把安全tokens绑定到TLS。建立基于Token Binding协议的TLS安全连接,需要
在设备与服务器握手阶段协商支持Token Binding扩展相关参数(签名算法、标识符等)。
TLS连接建立后,设备为服务器生成一个密钥,对EKM信息(EKM,即Exported Keying
Material)进行签名,并发送由签名值和密钥的公钥组成的tokenbinding message给服务
器;服务器验证签名,以认证设备合法身份,其作用可近似看成TLS双向认证。这种方法不仅
能有效防止中间人攻击,避免攻击者冒充合法用户访问服务器,而且对设备的认证也是在
业务层进行,在一定程度上提升了设备与服务器部署安全通道的灵活性。

然而,上述构造认证设备的签名消息需要依赖EKM信息,而EKM信息是在传输层设
备与服务器进行握手过程中计算得出,由于业务层与传输层是分离的,导致现实中服务端
难以在业务层上获取到在传输层握手阶段所生成的EKM信息,从而导致基于Token Binding
协议来部署TLS安全通道的可行性较差。

综上所述可以看出,如何提升TLS安全通道的部署过程的可行性是目前亟待解决
的问题。

发明内容

有鉴于此,本发明的目的在于提供一种基于TLS连接的设备认证方法、终端设备、
服务器及系统,提升了TLS安全通道的部署过程的可行性。其具体方案如下:

一种基于TLS连接的设备认证方法,应用于终端设备,包括:

与服务器进行TLS连接;

对业务层信息进行签名,得到相应的签名值;其中,所述业务层信息为能够从业务
层上获取的信息;

对所述签名值进行封装处理,得到封装后的消息,并将所述封装后的消息发送至
所述服务器,以利用所述服务器对所述封装后的消息进行验证;

若验证通过,则启动与所述服务器之间的数据访问进程,若验证失败,则断开与所
述服务器之间的TLS连接。

优选的,所述对业务层信息进行签名,得到相应的签名值的过程,包括:

获取公私密钥对;

利用预设的数字签名算法以及所述公私密钥对中的私钥,对所述业务层信息进行
数字签名,得到所述签名值。

优选的,所述对所述业务层信息进行数字签名,得到所述签名值的过程,包括:

对所述终端设备与所述服务器之间的TLS连接信息、所述终端设备的设备信息以
及当前的签名新鲜值进行数字签名,得到所述签名值,并对当前的签名新鲜值进行更新。

优选的,所述TLS连接信息包括所述服务器的服务器证书以及所述服务器对应的
URL地址;所述终端设备的设备信息包括所述终端设备的MAC地址。

优选的,所述对所述签名值进行封装处理,得到封装后的消息的过程,包括:

对所述签名值、所述服务器的服务器证书、所述服务器对应的URL地址、所述终端
设备的MAC地址、所述公私密钥对中的公钥以及当前的签名新鲜值进行统一封装处理,得到
所述封装后的消息。

本发明还公开了另一种基于TLS连接的设备认证方法,应用于服务器,包括:

与终端设备进行TLS连接;

获取所述终端设备通过对预先生成的签名值进行封装处理后得到的封装后的消
息;其中,所述签名值为所述终端设备通过对业务层信息进行签名后生成的签名值;其中,
所述业务层信息为能够从业务层上获取的信息;

对所述封装后的消息进行验证,若验证通过,则启动与所述终端设备之间的数据
访问进程,若验证失败,则断开与所述终端设备之间的TLS连接。

优选的,所述封装后的消息为所述终端设备对所述签名值、所述服务器的服务器
证书、所述服务器对应的URL地址、所述终端设备的MAC地址、公私密钥对中的公钥以及当前
的签名新鲜值进行统一封装处理后得到的消息;其中,所述公私密钥对中的私钥为所述终
端设备在对所述业务层信息进行签名时所使用的密钥。

优选的,若对所述封装后的消息进行的验证为首次验证,则所述对所述封装后的
消息进行验证的过程,包括:

步骤S31:对所述封装后的消息进行解析,得到解析后的第一签名值、解析后的第
一服务器证书、解析后的第一URL地址、解析后的第一MAC地址、解析后的第一公钥以及解析
后的第一签名新鲜值;

步骤S32:利用所述解析后的第一公钥,对所述解析后的第一签名值进行验签,若
验签失败,则断开与所述终端设备之间的TLS连接,若验签通过,则进入步骤S33;

步骤S33:判断所述解析后的第一服务器证书与所述服务器的服务器证书之间以
及所述解析后的第一URL地址与所述服务器对应的URL地址之间是否均一致,如果否,则断
开与所述终端设备之间的TLS连接,如果是,则进入步骤S34;

步骤S34:判断所述解析后的第一签名新鲜值是否是当前最新的签名新鲜值,如果
否,则断开与所述终端设备之间的TLS连接,如果是,则判定本次验证通过,并进入步骤S35;

步骤S35:保存所述解析后的第一公钥和所述解析后的第一签名新鲜值,以及为所
述终端设备生成一个设备ID号,并对该设备ID号进行保存以及将该设备ID号发送至所述终
端设备进行保存,然后启动与所述终端设备之间的数据访问进程。

优选的,若对所述封装后的消息进行的验证为非首次验证,则在对所述封装后的
消息进行验证之前,还包括:

获取所述终端设备发送的由自身保存的设备ID号。

优选的,若对所述封装后的消息进行的验证为非首次验证,则所述对所述封装后
的消息进行验证的过程,包括:

步骤S41:对所述封装后的消息进行解析,得到解析后的第二签名值、解析后的第
二服务器证书、解析后的第二URL地址、解析后的第二MAC地址、解析后的第二公钥以及解析
后的第二签名新鲜值;

步骤S42:利用所述解析后的第二公钥,对所述解析后的第二签名值进行验签,若
验签失败,则断开与所述终端设备之间的TLS连接,若验签通过,则进入步骤S43;

步骤S43:判断所述解析后的第二服务器证书与所述服务器的服务器证书之间以
及所述解析后的第二URL地址与所述服务器对应的URL地址之间是否均一致,如果否,则断
开与所述终端设备之间的TLS连接,如果是,则进入步骤S44;

步骤S44:判断所述解析后的第二公钥与所述服务器中保存的公钥之间以及由所
述终端设备发送的设备ID号与所述服务器中保存的设备ID号之间是否均一致,如果否,则
断开与所述终端设备之间的TLS连接,如果是,则进入步骤S45;

步骤S45:判断所述解析后的第二签名新鲜值是否是当前最新的签名新鲜值,如果
否,则断开与所述终端设备之间的TLS连接,如果是,则判定本次验证通过,并进入步骤S46;

步骤S46:保存所述解析后的第二签名新鲜值,然后启动与所述终端设备之间的数
据访问进程。

本发明还相应公开了一种终端设备,包括:

服务器连接模块,用于与服务器进行TLS连接;

安全模块,用于对业务层信息进行签名,得到相应的签名值;其中,所述业务层信
息为能够从业务层上获取的信息;

封装模块,用于对所述签名值进行封装处理,得到封装后的消息;

消息发送模块,用于将所述封装后的消息发送至所述服务器,以利用所述服务器
对所述封装后的消息进行验证;

验证响应模块,用于当验证通过,则启动与所述服务器之间的数据访问进程,若验
证失败,则断开与所述服务器之间的TLS连接。

本发明还相应公开了一种服务器,包括:

设备连接模块,用于与终端设备进行TLS连接;

信息获取模块,用于获取所述终端设备通过对预先生成的签名值进行封装处理后
得到的封装后的消息;其中,所述签名值为所述终端设备通过对业务层信息进行签名后生
成的签名值;其中,所述业务层信息为能够从业务层上获取的信息;

消息验证模块,用于对所述封装后的消息进行验证;

连接控制模块,用于当所述消息验证模块的验证通过,则启动与所述终端设备之
间的数据访问进程,若验证失败,则断开与所述终端设备之间的TLS连接。

本发明还进一步公开了一种基于TLS连接的设备认证系统,包括前述公开的终端
设备以及服务器。

本发明中,在建立服务器与终端设备之间的TLS连接之后,将会对业务层信息进行
签名,相对于现有技术中对EKM信息进行签名的技术方案,本发明中签名的对象是从业务层
上获取的信息,由于业务层上的信息相较于EKM信息更加容易获取,所以使得本发明中TLS
安全通道的部署过程也更加地容易,也即,本发明提升了TLS安全通道的部署过程的可行
性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。

图1为本发明实施例公开的一种基于TLS连接的设备认证方法流程图;

图2为本发明实施例公开的另一种基于TLS连接的设备认证方法流程图;

图3为本发明实施例公开的一种终端设备结构示意图;

图4为本发明实施例公开的一种服务器结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。

本发明实施例公开了一种基于TLS连接的设备认证方法,应用于终端设备,参见图
1所示,该方法包括:

步骤S11:与服务器进行TLS连接。

也即,先建立终端设备与服务器之间的TLS连接。具体的,终端设备可根据预先获
取的服务器对应的URL地址,向服务器发起TLS连接请求,进而搭建双方之间的初始TLS连
接。关于搭建终端设备和服务器之间的初始TLS连接的技术细节可参考现有技术中的相关
技术方案,在此不进行赘述。

步骤S12:对业务层信息进行签名,得到相应的签名值;其中,上述业务层信息为能
够从业务层上获取的信息。

步骤S13:对签名值进行封装处理,得到封装后的消息,并将封装后的消息发送至
服务器,以利用服务器对封装后的消息进行验证。

可以理解的是,服务器在获取到封装后的消息之后,需要先对封装后的消息进行
解析处理,然后对解析后得到的消息展开验证过程。

步骤S14:若验证通过,则启动与服务器之间的数据访问进程,若验证失败,则断开
与服务器之间的TLS连接。

本实施例中,若服务器对封装后的消息的验证通过,则意味着通过了对终端设备
的认证过程,由此完成了服务器和终端设备之间TLS安全通道的部署,利用该TLS安全通道,
便可允许终端设备与服务器之间进行数据访问。若服务器对封装后的消息的验证失败,则
意味着对终端设备的认证过程失败,由此便需要断开终端设备与服务器之间的TLS连接。

本发明实施例中,在建立服务器与终端设备之间的TLS连接之后,将会对业务层信
息进行签名,相对于现有技术中对EKM信息进行签名的技术方案,本发明实施例中签名的对
象是从业务层上获取的信息,由于业务层上的信息相较于EKM信息更加容易获取,所以使得
本发明实施例中TLS安全通道的部署过程也更加地容易,也即,本发明实施例提升了TLS安
全通道的部署过程的可行性。

本发明实施例公开了一种具体的设备认证方法,相对于上一实施例,本实施例对
技术方案作了进一步的说明和优化。具体的:

上一实施例中,在建立终端设备与服务器之间的TLS连接后,需要对业务层信息进
行签名,得到相应的签名值。

其中,上述对业务层信息进行签名,得到相应的签名值的过程,具体包括:

获取公私密钥对,然后利用预设的数字签名算法以及公私密钥对中的私钥,对上
述业务层信息进行数字签名,得到签名值。

需要说明的是,上述公私密钥对是预先在终端设备中创建的密钥对,其中包括公
钥和私钥。上述数字签名算法是非对称加密算法,如RSA加密算法、ECC加密算法和SM2加密
算法等。

具体的,上述对业务层信息进行数字签名,得到签名值的过程,具体包括:

对终端设备与服务器之间的TLS连接信息、终端设备的设备信息以及当前的签名
新鲜值进行数字签名,得到签名值,并对当前的签名新鲜值进行更新。

需要说明的是,上述签名新鲜值是一种用来判定某个签名的新旧程度的指标,其
可以由终端设备中的单调计数器来产生。其中,单调计数器可以是单调递增的计数器,也可
以是单调递减的计数器。如果终端设备中的单调计数器是单调递增的计数器,那么每当终
端设备生成一个新的签名值,相应的当前的签名新鲜值将会递增1。同理,如果终端设备中
的单调计数器是单调递减的计数器,那么每当终端设备生成一个新的签名值,相应的当前
的签名新鲜值将会递减1。

本实施例中,终端设备中用来进行数字签名的可以是一个预先增加的安全模块,
并且,上述公私密钥对具体也可以由该安全模块生成。其中,该安全模块可以是TEE(即
Trusted Execution Environment)、安全IC(即IntegratedCircuit)或者是用于增强保护
的软件实体。

另外,本实施例中的TLS连接信息具体可以包括服务器的服务器证书以及服务器
对应的URL地址,而上述终端设备的设备信息具体可以包括终端设备的MAC地址。当然,除此
之外,上述TLS连接信息还可以进一步包括服务器域名的IP地址和/或TLS版本号和/或TLS
套件,而上述终端设备的设备信息还可以进一步包括上述安全模块的自身的序列号和/或
终端设备自身的硬件序列号。

上一实施例中,在得到签名值后,需要对签名值进行封装处理,得到封装后的消
息。其中,上述对签名值进行封装处理,得到封装后的消息的过程,具体可以包括:

对上述签名值、服务器的服务器证书、服务器对应的URL地址、终端设备的MAC地
址、上述公私密钥对中的公钥以及当前的签名新鲜值进行统一封装处理,得到封装后的消
息。

当然,本实施例也可以在上述封装对象中增加其他类型的信息,例如增加服务器
域名的IP地址和终端设备的硬件序列号,也即,上述对签名值进行封装处理,得到封装后的
消息的过程,具体也可以为:对上述签名值、服务器的服务器证书、服务器对应的URL地址、
服务器域名的IP地址、终端设备的MAC地址、终端设备的硬件序列号、上述公私密钥对中的
公钥以及当前的签名新鲜值进行统一封装处理,得到封装后的消息。

可以理解的是,上述封装后的消息中包括的封装对象的种类越多,后续服务器在
对上述封装后的消息进行验证的对象也就越多,例如,如果上述封装过程中增加了服务器
域名的IP地址这一封装对象,则后续服务器在对该封装过程所得到的消息进行验证的时
候,则需要增加对服务器域名的IP地址的验证,同理,如果上述封装过程中增加了终端设备
的硬件序列号这一封装对象,则后续服务器在对该封装过程所得到的消息进行验证的时
候,则需要增加对终端设备的硬件序列号的验证。

本发明实施例还公开了另一种基于TLS连接的设备认证方法,应用于服务器,参见
图2所示,该方法包括:

步骤S21:与终端设备进行TLS连接。

也即,先建立终端设备与服务器之间的TLS连接。

步骤S22:获取终端设备通过对预先生成的签名值进行封装处理后得到的封装后
的消息;其中,签名值为终端设备通过对业务层信息进行签名后生成的签名值;其中,上述
业务层信息为能够从业务层上获取的信息。

也即,服务器获取终端设备发送的上述封装后的消息。上述封装后的消息为终端
设备对签名值进行封装处理后得到的消息。

步骤S23:对封装后的消息进行验证,若验证通过,则启动与终端设备之间的数据
访问进程,若验证失败,则断开与终端设备之间的TLS连接。

可以理解的是,服务器在对封装后的消息进行验证之前,需要先对封装后的消息
进行解析处理。

本实施例中,若服务器对封装后的消息的验证通过,则意味着通过了对终端设备
的认证过程,由此完成了服务器和终端设备之间TLS安全通道的部署,利用该TLS安全通道,
便可允许终端设备与服务器之间进行数据访问。若服务器对封装后的消息的验证失败,则
意味着对终端设备的认证过程失败,由此便需要断开终端设备与服务器之间的TLS连接。

本发明实施例中,在建立服务器与终端设备之间的TLS连接之后,将会对业务层信
息进行签名,相对于现有技术中对EKM信息进行签名的技术方案,本发明实施例中签名的对
象是从业务层上获取的信息,由于业务层上的信息相较于EKM信息更加容易获取,所以使得
本发明实施例中TLS安全通道的部署过程也更加地容易,也即,本发明实施例提升了TLS安
全通道的部署过程的可行性。

需要说明的是,本实施例中,上述终端设备对业务层信息进行签名的过程,具体包
括:获取公私密钥对,然后利用预设的数字签名算法以及上述公私密钥对中的私钥,对终端
设备与服务器之间的TLS连接信息、终端设备的设备信息以及当前的签名新鲜值进行数字
签名,得到签名值,并对当前的签名新鲜值进行更新。

本实施例中,终端设备中用来进行数字签名的可以是一个预先增加的安全模块,
并且,上述公私密钥对具体也可以由该安全模块生成。其中,该安全模块可以是TEE、安全IC
或者是用于增强保护的软件实体。

本实施例中,上述TLS连接信息具体可以包括服务器的服务器证书以及服务器对
应的URL地址,而上述终端设备的设备信息具体可以包括终端设备的MAC地址。

另外,上述封装后的消息为终端设备对签名值、服务器的服务器证书、服务器对应
的URL地址、终端设备的MAC地址、上述公私密钥对中的公钥以及当前的签名新鲜值进行统
一封装处理后得到的消息。

本实施例中,若对封装后的消息进行的验证为首次验证,则对封装后的消息进行
验证的过程,具体包括下面步骤S31至S35:

步骤S31:对封装后的消息进行解析,得到解析后的第一签名值、解析后的第一服
务器证书、解析后的第一URL地址、解析后的第一MAC地址、解析后的第一公钥以及解析后的
第一签名新鲜值。

步骤S32:利用解析后的第一公钥,对解析后的第一签名值进行验签,若验签失败,
则断开与终端设备之间的TLS连接,若验签通过,则进入步骤S33。

其中,利用解析后的第一公钥,对解析后的第一签名值进行验签的目的是为了确
定上述解析后的第一签名值中的服务器证书、服务器对应的URL地址、终端设备的MAC地址
以及当前的签名新鲜值是否完整,如果缺少任意一项或几项,均认定验签失败,否则认定验
签通过。

步骤S33:判断解析后的第一服务器证书与服务器的服务器证书之间以及解析后
的第一URL地址与服务器对应的URL地址之间是否均一致,如果否,则断开与终端设备之间
的TLS连接,如果是,则进入步骤S34。

步骤S34:判断解析后的第一签名新鲜值是否是当前最新的签名新鲜值,如果否,
则断开与终端设备之间的TLS连接,如果是,则判定本次验证通过,并进入步骤S35。

需要说明的是,若终端设备中的单调计数器是单调递增的计数器,这要求服务器
中的计数器也必须是单调递增的计数器,这种情况下,上述判断解析后的第一签名新鲜值
是否是当前最新的签名新鲜值的具体过程是判断解析后的第一签名新鲜值是否大于服务
器计数器的当前计数值,如果是,则判定解析后的第一签名新鲜值是当前最新的签名新鲜
值,反之,则判定解析后的第一签名新鲜值不是当前最新的签名新鲜值。

同理,如果终端设备中的单调计数器是单调递减的计数器,这要求服务器中的计
数器也必须是单调递减的计数器,这种情况下,上述判断解析后的第一签名新鲜值是否是
当前最新的签名新鲜值的具体过程是判断解析后的第一签名新鲜值是否小于服务器计数
器的当前计数值,如果是,则判定解析后的第一签名新鲜值是当前最新的签名新鲜值,反
之,则判定解析后的第一签名新鲜值不是当前最新的签名新鲜值。

步骤S35:保存解析后的第一公钥和解析后的第一签名新鲜值,以及为终端设备生
成一个设备ID号,并对该设备ID号进行保存以及将该设备ID号发送至终端设备进行保存,
然后启动与终端设备之间的数据访问进程。

可见,服务器为终端设备生成相应的设备ID号后,将会在服务器内部对该设备ID
号进行保存,并且也会将该设备ID号发送至终端设备进行保存。

本实施例中,若对封装后的消息进行的验证为非首次验证,则在对封装后的消息
进行验证之前,还包括:

获取终端设备发送的由自身保存的设备ID号。

相应的,本实施例中,若对封装后的消息进行的验证为非首次验证,则对封装后的
消息进行验证的过程,包括下面步骤S41至S46:

步骤S41:对封装后的消息进行解析,得到解析后的第二签名值、解析后的第二服
务器证书、解析后的第二URL地址、解析后的第二MAC地址、解析后的第二公钥以及解析后的
第二签名新鲜值。

步骤S42:利用解析后的第二公钥,对解析后的第二签名值进行验签,若验签失败,
则断开与终端设备之间的TLS连接,若验签通过,则进入步骤S43。

步骤S43:判断解析后的第二服务器证书与服务器的服务器证书之间以及解析后
的第二URL地址与服务器对应的URL地址之间是否均一致,如果否,则断开与终端设备之间
的TLS连接,如果是,则进入步骤S44。

步骤S44:判断解析后的第二公钥与服务器中保存的公钥之间以及由终端设备发
送的设备ID号与服务器中保存的设备ID号之间是否均一致,如果否,则断开与终端设备之
间的TLS连接,如果是,则进入步骤S45。

可以理解的是,上述服务器中保存的公钥是指服务器在对终端设备发送的封装后
的消息进行首次验证并且验证通过的时候,所保存下来的公钥。而上述服务器中保存的设
备ID号是指服务器在对终端设备发送的封装后的消息进行首次验证并且验证通过的时候,
为终端设备生成的并且保存下来的设备ID号。

步骤S45:判断解析后的第二签名新鲜值是否是当前最新的签名新鲜值,如果否,
则断开与终端设备之间的TLS连接,如果是,则判定本次验证通过,并进入步骤S46。

步骤S46:保存解析后的第二签名新鲜值,然后启动与终端设备之间的数据访问进
程。

本实施例中,上述TLS连接信息除了可以包括服务器的服务器证书以及服务器对
应的URL地址,还可以进一步包括服务器域名的IP地址和/或TLS版本号和/或TLS套件;而上
述终端设备的设备信息除了可以包括终端设备的MAC地址,还可以进一步包括上述安全模
块的自身的序列号和/或终端设备自身的硬件序列号。

本实施例中,上述封装过程所涉及的封装对象除了可以具体包括上述签名值、服
务器的服务器证书、服务器对应的URL地址、终端设备的MAC地址、上述公私密钥对中的公钥
以及当前的签名新鲜值,还可以在上述封装对象中增加其他类型的信息,例如增加服务器
域名的IP地址和终端设备的硬件序列号,也即,上述封装后的消息具体还可以是对上述签
名值、服务器的服务器证书、服务器对应的URL地址、服务器域名的IP地址、终端设备的MAC
地址、终端设备的硬件序列号、上述公私密钥对中的公钥以及当前的签名新鲜值进行统一
封装处理后得到的消息。

可以理解的是,上述封装后的消息中包括的封装对象的种类越多,后续服务器在
对上述封装后的消息进行验证的对象也就越多,例如,如果上述封装过程中增加了服务器
域名的IP地址这一封装对象,则后续服务器在对该封装过程所得到的消息进行验证的时
候,则需要增加对服务器域名的IP地址的验证,也即,若上述封装后的消息中增加了服务器
域名的IP地址这一封装对象,那么对该封装后的消息进行解析后所得到的信息中,将会包
括解析后的IP地址,然后需要增加对该解析后的IP地址的验证,也即需要验证该解析后的
IP地址是否符合当前服务器许可的IP地址,只有在该解析后的IP地址符合当前服务器许可
的IP地址的情况下,本次验证方有可能通过,否则,本次验证将不会得到通过。

同理,如果上述封装过程中增加了终端设备的硬件序列号这一封装对象,则后续
服务器在对该封装过程所得到的消息进行验证的时候,则需要增加对终端设备的硬件序列
号的验证,也即,若上述封装后的消息中增加了终端设备的硬件序列号这一封装对象,那么
对该封装后的消息进行解析后所得到的信息中,将会包括解析后的硬件序列号,然后需要
增加对该解析后的硬件序列号的验证,也即需要验证该解析后的硬件序列号是否符合当前
服务器许可的硬件序列号,只有在该解析后的硬件序列号符合当前服务器许可的硬件序列
号的情况下,本次验证方有可能通过,否则,本次验证将不会得到通过。

本发明实施例还公开了一种终端设备,参见图3所示,该终端设备包括:

服务器连接模块31,用于与服务器进行TLS连接;

安全模块32,用于对业务层信息进行签名,得到相应的签名值;其中,上述业务层
信息为能够从业务层上获取的信息;

封装模块33,用于对签名值进行封装处理,得到封装后的消息;

消息发送模块34,用于将封装后的消息发送至服务器,以利用服务器对封装后的
消息进行验证;

验证响应模块35,用于当验证通过,则启动与服务器之间的数据访问进程,若验证
失败,则断开与服务器之间的TLS连接。

其中,本实施例中的终端设备具体可以预设通信客户端的设备,其中,上述预设通
信客户端可以是浏览器客户端,也可以是APP应用等。需要进一步指出的是,上述服务器连
接模块31、消息发送模块34和验证响应模块35均可以设置于上述预设通信客户端中。

进一步的,上述安全模块32具体可以是TEE、安全IC或者是用于增强保护的软件实
体。

关于上述各个模块更加具体的工作过程可参考前述实施例中公开的相应内容,在
此不再进行赘述。

本发明实施例还公开了一种服务器,参见图4所示,该服务器包括:

设备连接模块41,用于与终端设备进行TLS连接;

信息获取模块42,用于获取终端设备通过对预先生成的签名值进行封装处理后得
到的封装后的消息;其中,签名值为终端设备通过对业务层信息进行签名后生成的签名值;
其中,上述业务层信息为能够从业务层上获取的信息;

消息验证模块43,用于对封装后的消息进行验证;

连接控制模块44,用于当消息验证模块的验证通过,则启动与终端设备之间的数
据访问进程,若验证失败,则断开与终端设备之间的TLS连接。

其中,本实施例中的服务器具体可以包括通信服务器和业务服务器。其中,上述设
备连接模块41、信息获取模块42和连接控制模块44可以设置于通信服务器中,而上述消息
验证模块43则可以设置于业务服务器中。

关于上述各个模块更加具体的工作过程可参考前述实施例中公开的相应内容,在
此不再进行赘述。

进一步的,本发明还公开了一种基于TLS连接的设备认证系统,包括前述实施例中
公开的终端设备和服务器。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将
一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者
设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种基于TLS连接的设备认证方法、终端设备、服务器及系
统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上
实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技
术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本
说明书内容不应理解为对本发明的限制。

一种设备认证方法、终端设备、服务器及系统.pdf_第1页
第1页 / 共16页
一种设备认证方法、终端设备、服务器及系统.pdf_第2页
第2页 / 共16页
一种设备认证方法、终端设备、服务器及系统.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种设备认证方法、终端设备、服务器及系统.pdf》由会员分享,可在线阅读,更多相关《一种设备认证方法、终端设备、服务器及系统.pdf(16页珍藏版)》请在专利查询网上搜索。

本申请公开了一种基于TLS连接的设备认证方法,包括:与服务器进行TLS连接;对业务层信息进行签名,得到相应的签名值;对签名值进行封装处理,得到封装后的消息,并将封装后的消息发送至服务器,以利用服务器对封装后的消息进行验证;若验证通过,则启动与服务器之间的数据访问进程,若验证失败,则断开与服务器之间的TLS连接。本申请在建立服务器与终端设备之间的TLS连接之后,将会对业务层信息进行签名,本申请中签名。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1