CN106534086A - 一种设备认证方法、终端设备、服务器及系统 - Google Patents
一种设备认证方法、终端设备、服务器及系统 Download PDFInfo
- Publication number
- CN106534086A CN106534086A CN201610933731.0A CN201610933731A CN106534086A CN 106534086 A CN106534086 A CN 106534086A CN 201610933731 A CN201610933731 A CN 201610933731A CN 106534086 A CN106534086 A CN 106534086A
- Authority
- CN
- China
- Prior art keywords
- server
- terminal unit
- signature
- message
- parsing
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种基于TLS连接的设备认证方法,包括:与服务器进行TLS连接;对业务层信息进行签名,得到相应的签名值;对签名值进行封装处理,得到封装后的消息,并将封装后的消息发送至服务器,以利用服务器对封装后的消息进行验证;若验证通过,则启动与服务器之间的数据访问进程,若验证失败,则断开与服务器之间的TLS连接。本申请在建立服务器与终端设备之间的TLS连接之后,将会对业务层信息进行签名,本申请中签名的对象是从业务层上获取的信息,由于业务层信息相较于EKM信息更加容易获取,由此提升了本申请中TLS安全通道的部署过程的可行性。另外,本申请还公开了一种终端设备、服务器以及设备认证系统。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于TLS连接的设备认证方法、终端设备、服务器及系统。
背景技术
TLS协议(TLS,即Transport Layer Security,安全传输层协议)作为一种能够为终端设备与服务器之间的数据传输过程提供保密性和数据完整性的协议,广泛应用于互联网网络传输中。在网络层次协议模型中,TLS协议位于传输层协议之上,应用层协议之下。该协议由两部分组成:记录协议和握手协议。其中,TLS握手协议可以实现通信双方的身份验证和密钥协商,从而保证传输的应用层数据无法被窃听、篡改;TLS记录协议完成加密后数据的传输。该协议在一定程度上可以阻止窃听、数据篡改等安全攻击。
然而在实际应用中,TLS仍存在许多安全漏洞,会受到各种攻击,例如中间人攻击等。此外,服务器为设备访问受保护的资源生成各种安全tokens(如登录口令,HTTPcookies,OAuth tokens)。拥有这些tokens的任何一方都可以访问受保护的资源。即使设备与服务器之间没有受到TLS攻击,但只要攻击者从用户机器或者服务端后台数据库导出这些tokens,就可以用这些tokens访问服务器,冒充合法用户,用户的资产和数据仍然受到威胁。
因此,有人就提出Token Binding协议,基于该协议建立终端设备与服务器之间的TLS安全通道,把安全tokens绑定到TLS。建立基于Token Binding协议的TLS安全连接,需要在设备与服务器握手阶段协商支持Token Binding扩展相关参数(签名算法、标识符等)。TLS连接建立后,设备为服务器生成一个密钥,对EKM信息(EKM,即Exported KeyingMaterial)进行签名,并发送由签名值和密钥的公钥组成的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连接的设备认证方法、终端设备、服务器及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
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所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610933731.0A CN106534086B (zh) | 2016-10-31 | 2016-10-31 | 一种设备认证方法、终端设备、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610933731.0A CN106534086B (zh) | 2016-10-31 | 2016-10-31 | 一种设备认证方法、终端设备、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106534086A true CN106534086A (zh) | 2017-03-22 |
CN106534086B CN106534086B (zh) | 2019-08-30 |
Family
ID=58291895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610933731.0A Active CN106534086B (zh) | 2016-10-31 | 2016-10-31 | 一种设备认证方法、终端设备、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106534086B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965315A (zh) * | 2018-08-01 | 2018-12-07 | 深圳市中信网安认证有限公司 | 一种终端设备的可信认证方法、装置及终端设备 |
CN110351092A (zh) * | 2019-06-11 | 2019-10-18 | 北京思源互联科技有限公司 | 数据包的传输方法和装置、存储介质、电子装置 |
WO2019227459A1 (en) * | 2018-06-01 | 2019-12-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and nodes for authentication of a tls connection |
CN111698086A (zh) * | 2020-06-12 | 2020-09-22 | 北京百度网讯科技有限公司 | 用于数据传输的方法和装置 |
CN111949967A (zh) * | 2020-08-31 | 2020-11-17 | Oppo广东移动通信有限公司 | 设备认证方法、装置、电子设备、服务器及存储介质 |
CN112115438A (zh) * | 2020-09-15 | 2020-12-22 | 安徽长泰信息安全服务有限公司 | 一种用于数据动态模糊化服务器的数据安全保护装置 |
WO2022104556A1 (zh) * | 2020-11-17 | 2022-05-27 | Oppo广东移动通信有限公司 | 设备认证方法、装置、电子设备、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294381A1 (en) * | 2005-06-22 | 2006-12-28 | Mitchell Douglas P | Method and apparatus for establishing a secure connection |
CN101242426A (zh) * | 2007-02-06 | 2008-08-13 | 华为技术有限公司 | 建立传输层安全连接的方法、系统及装置 |
CN102811224A (zh) * | 2012-08-02 | 2012-12-05 | 天津赢达信科技有限公司 | 一种ssl/tls连接的实现方法、装置及系统 |
CN105337977A (zh) * | 2015-11-16 | 2016-02-17 | 苏州通付盾信息技术有限公司 | 一种动态双向认证的安全移动通讯架构及其实现方法 |
CN105391693A (zh) * | 2015-10-20 | 2016-03-09 | 浪潮软件集团有限公司 | 一种智能终端授权的方法及装置 |
-
2016
- 2016-10-31 CN CN201610933731.0A patent/CN106534086B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294381A1 (en) * | 2005-06-22 | 2006-12-28 | Mitchell Douglas P | Method and apparatus for establishing a secure connection |
CN101242426A (zh) * | 2007-02-06 | 2008-08-13 | 华为技术有限公司 | 建立传输层安全连接的方法、系统及装置 |
CN102811224A (zh) * | 2012-08-02 | 2012-12-05 | 天津赢达信科技有限公司 | 一种ssl/tls连接的实现方法、装置及系统 |
CN105391693A (zh) * | 2015-10-20 | 2016-03-09 | 浪潮软件集团有限公司 | 一种智能终端授权的方法及装置 |
CN105337977A (zh) * | 2015-11-16 | 2016-02-17 | 苏州通付盾信息技术有限公司 | 一种动态双向认证的安全移动通讯架构及其实现方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019227459A1 (en) * | 2018-06-01 | 2019-12-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and nodes for authentication of a tls connection |
CN108965315A (zh) * | 2018-08-01 | 2018-12-07 | 深圳市中信网安认证有限公司 | 一种终端设备的可信认证方法、装置及终端设备 |
CN110351092A (zh) * | 2019-06-11 | 2019-10-18 | 北京思源互联科技有限公司 | 数据包的传输方法和装置、存储介质、电子装置 |
CN111698086A (zh) * | 2020-06-12 | 2020-09-22 | 北京百度网讯科技有限公司 | 用于数据传输的方法和装置 |
CN111949967A (zh) * | 2020-08-31 | 2020-11-17 | Oppo广东移动通信有限公司 | 设备认证方法、装置、电子设备、服务器及存储介质 |
CN111949967B (zh) * | 2020-08-31 | 2024-06-18 | Oppo广东移动通信有限公司 | 设备认证方法、装置、电子设备、服务器及存储介质 |
CN112115438A (zh) * | 2020-09-15 | 2020-12-22 | 安徽长泰信息安全服务有限公司 | 一种用于数据动态模糊化服务器的数据安全保护装置 |
WO2022104556A1 (zh) * | 2020-11-17 | 2022-05-27 | Oppo广东移动通信有限公司 | 设备认证方法、装置、电子设备、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106534086B (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN106534086A (zh) | 一种设备认证方法、终端设备、服务器及系统 | |
CN111416807B (zh) | 数据获取方法、装置及存储介质 | |
WO2018050081A1 (zh) | 设备身份认证的方法、装置、电子设备及存储介质 | |
CN109088870B (zh) | 一种新能源厂站发电单元采集终端安全接入平台的方法 | |
US11432150B2 (en) | Method and apparatus for authenticating network access of terminal | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
US11349831B2 (en) | Technique for downloading a network access profile | |
CN103118027B (zh) | 基于国密算法建立tls通道的方法 | |
CN104618108B (zh) | 安全通信系统 | |
US8868909B2 (en) | Method for authenticating a communication channel between a client and a server | |
CN104580190B (zh) | 安全浏览器的实现方法和安全浏览器装置 | |
CN107425983A (zh) | 一种基于web服务的统一身份认证方法及系统平台 | |
CN103297437A (zh) | 一种移动智能终端安全访问服务器的方法 | |
CN101808142B (zh) | 通过路由器或交换机实现可信网络连接的方法和装置 | |
US9398024B2 (en) | System and method for reliably authenticating an appliance | |
EP3367629A1 (en) | Electronic device verification | |
CN107786515B (zh) | 一种证书认证的方法和设备 | |
CN112733129B (zh) | 一种服务器带外管理的可信接入方法 | |
CN113438650B (zh) | 基于区块链的网络设备认证方法及系统 | |
CN113055357B (zh) | 单包验证通信链路可信的方法、装置、计算设备及存储介质 | |
CN113630244A (zh) | 面对通信传感网的端到端安全保障方法及边缘服务器 | |
CN109302425A (zh) | 身份认证方法及终端设备 | |
CN105681364B (zh) | 一种基于增强绑定的IPv6移动终端抗攻击方法 | |
CN111049798B (zh) | 一种信息处理方法、装置和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |