一种设备的认证方法和装置与流程

文档序号:14717653发布日期:2018-06-16 01:53阅读:173来源:国知局
一种设备的认证方法和装置与流程

本发明涉及通信的技术领域,特别是涉及一种设备的认证方法和一种设备的认证装置。



背景技术:

互联网技术革命把人类带入虚拟世界,而物联网革命将虚拟世界带回现实,无论生活、工作,还是商业、工业场景中,虚拟世界和现实世界之间的界限将越来越模糊,设备组织的的网络系统越来越庞大。

在一个安全的网络系统中,身份认证是安全系统的一道关卡,设备在接入时,身份验证系统检验其身份是否与所宣称的一致,然后实现对于不同身份的访问控制,授权该身份的设备能够访问的资源。

因此,身份认证系统常常是黑客的攻击目标,身份认证系统被攻破后,网络系统将面临极大的安全威胁。

目前,在身份验证系统中,大多采用TOTP(Time-Based One-Time Password,基于时间的一次性密码)协议、群体认证协议、基于证书的认证协议等方式对于设备进行身份认证。

但是,这些身份认证的方式难以应用到物联网,导致物联网的身份认证操作困难。

例如,TOTP协议涉及多次递归迭代以及公私钥,导致资源消耗过大,而物联网场景下计算资源和能量供应都非常有限,无法提供足够的资源和能量支持,难以直接应用TOTP协议。

又例如,群体认证协议使得黑客可以在俘获若干节点后潜入群体中进行破解,物联网设备一般是无人值守的,且数量巨大,无法得到足够的运维支持,必须要单独运行,对于相关情况独立作出决策,难以直接应用群体认证协议。

又例如,基于证书的认证协议需要在设备存储相关证书,容易受到物理攻击,造成敏感信息泄漏,物联网设备很容易被黑客获得,并进行物理攻击,运行环境风险高,难以直接应用基于证书的认证协议。



技术实现要素:

本发明实施例提出了一种设备的认证方法和装置,以解决物联网的身份认证操作困难的问题。

依据本发明的一个方面,提供了一种设备的认证方法,应用在目标设备中,所述目标设备具有物理不可克隆函数部件,所述方法包括:

向服务器发送第一认证请求;

接收所述服务器针对所述认证请求发送的、根据所述物理不可克隆函数部件的激励响应对认证参数生成的认证响应;

根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数;

根据所述物理不可克隆函数部件的激励响应对对所述认证参数生成的第二认证请求;

将所述第二认证请求发送至所述服务器,以对所述目标设备进行认证。

可选地,所述向服务器发送第一认证请求,包括:

生成设备参数;

将所述设备参数封装至第一认证请求中;

将所述第一认证请求发送至服务器;

其中,所述设备参数包括如下的至少一个:

设备标识、第一数值、设备时间戳。

可选地,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

所述根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数,包括:

从所述认证响应中提取所述第一输入数据,以及,采用所述第一输出数据对第一目标消息进行加密获得的第一加密消息,所述第一目标消息包括所述设备参数与认证参数;

将所述第一输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第一输出数据;

采用所述第一输出数据对所述第一加密消息进行解密,获得设备候选数据;

基于所述设备候选数据与所述设备参数进行合法性校验;

当所述合法性校验成功时,从所述设备候选数据中识别所述认证参数。

可选地,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

所述根据所述物理不可克隆函数部件的激励响应对对所述认证参数生成的第二认证请求,包括:

生成第二目标消息;

采用所述设备标识对应的特征数据对所述第二目标消息进行加密,获得第二加密消息;

将设备标识与所述第二加密消息封装至第二认证请求中;

其中,所述第二目标消息包括如下的至少一个:

设备标识、设备时间戳、认证参数。

可选地,所述第二目标消息还包括第二数值、第二输出数据;

所述生成第二目标消息,包括:

生成第二数值;

采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据;

将所述第二输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第二输出数据,以由所述服务器采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

可选地,所述第二目标消息还包括第二数值、通信密钥;

所述生成第二目标消息,包括:

生成第二数值;

采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

可选地,还包括:

查询除所述通信密钥之外的处理数据;

删除所述处理数据。

根据本发明的另一方面,提供了一种设备的认证方法,应用在服务器中,包括:

接收目标设备发送的第一认证请求,所述目标设备具有物理不可克隆函数部件;

根据所述认证请求生成认证参数;

根据所述物理不可克隆函数部件的激励响应对认证参数生成认证响应,并发送至所述目标设备;

接收所述目标设备根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数并对所述认证参数生成的第二认证请求;

根据所述第二认证请求对所述目标设备进行认证。

可选地,所述第一认证请求中包括设备参数,所述设备参数包括如下的至少一个:

设备标识、第一数值、设备时间戳;

所述根据所述物理不可克隆函数部件的激励响应对认证参数生成认证响应,并发送至所述目标设备,包括:

查询所述设备标识对应的所述物理不可克隆函数部件的激励响应对,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

组合所述设备参数与所述认证参数,获得第一目标消息;

采用所述第一输出数据对所述第一目标消息进行加密,获得第一加密消息;

将所述第一输入数据、所述第一加密消息封装至认证响应中;

将所述认证响应发送至所述目标设备。

可选地,所述根据所述第二认证请求对所述目标设备进行认证,包括:

从所述第二认证请求中提取设备标识与第二加密消息;

查询所述设备标识对应的特征数据;

采用所述特征数据对所述第二加密消息进行解密,获得服务候选数据;

至少基于所述认证参数与所述服务候选数据进行合法性校验;

当所述合法性校验成功时,确定所述目标设备认证成功。

可选地,所述根据所述第二认证请求对所述目标设备进行认证,还包括:

从所述服务候选数据中识别第二数值与第二输出数据;

采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据;

采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

可选地,所述根据所述第二认证请求对所述目标设备进行认证,还包括:

从所述服务候选数据中识别第二数值;

采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

根据本发明的另一方面,提供了一种设备的认证装置,应用在目标设备中,所述目标设备具有物理不可克隆函数部件,所述装置包括:

第一认证请求发送模块,用于向服务器发送第一认证请求;

认证响应接收模块,用于接收所述服务器针对所述认证请求发送的、根据所述物理不可克隆函数部件的激励响应对认证参数生成的认证响应;

认证参数提取模块,用于根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数;

第二认证请求生成模块,用于根据所述物理不可克隆函数部件的激励响应对对所述认证参数生成的第二认证请求;

第二认证请求发送模块,用于将所述第二认证请求发送至所述服务器,以对所述目标设备进行认证。

可选地,所述第一认证请求发送模块包括:

设备参数生成子模块,用于生成设备参数;

第一认证请求封装子模块,用于将所述设备参数封装至第一认证请求中;

请求发送子模块,用于将所述第一认证请求发送至服务器;

其中,所述设备参数包括如下的至少一个:

设备标识、第一数值、设备时间戳。

可选地,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

所述认证参数提取模块包括:

响应参数提取子模块,用于从所述认证响应中提取所述第一输入数据,以及,采用所述第一输出数据对第一目标消息进行加密获得的第一加密消息,所述第一目标消息包括所述设备参数与认证参数;

部件调用子模块,用于将所述第一输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第一输出数据;

消息解密子模块,用于采用所述第一输出数据对所述第一加密消息进行解密,获得设备候选数据;

合法性校验子模块,用于基于所述设备候选数据与所述设备参数进行合法性校验;

认证参数识别子模块,用于当所述合法性校验成功时,从所述设备候选数据中识别所述认证参数。

可选地,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

所述第二认证请求生成模块包括:

目标消息生成子模块,用于生成第二目标消息;

消息加密子模块,用于采用所述设备标识对应的特征数据对所述第二目标消息进行加密,获得第二加密消息;

第二认证请求封装子模块,用于将设备标识与所述第二加密消息封装至第二认证请求中;

其中,所述第二目标消息包括如下的至少一个:

设备标识、设备时间戳、认证参数。

可选地,所述第二目标消息还包括第二数值、第二输出数据;

所述目标消息生成子模块包括:

数值生成单元,用于生成第二数值;

输入数据生成单元,用于采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据;

输出数据获得单元,用于将所述第二输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第二输出数据,以由所述服务器采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

可选地,所述第二目标消息还包括第二数值、通信密钥;

所述目标消息生成子模块包括:

数值生成单元,用于生成第二数值;

通信密钥生成单元,用于采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

可选地,还包括:

处理数据查询模块,用于查询除所述通信密钥之外的处理数据;

处理数据删除模块,用于删除所述处理数据。

根据本发明的另一方面,提供了一种设备的认证装置,应用在服务器中,包括:

第一认证请求接收模块,用于接收目标设备发送的第一认证请求,所述目标设备具有物理不可克隆函数部件;

认证参数生成模块,用于根据所述认证请求生成认证参数;

认证响应发送模块,用于根据所述物理不可克隆函数部件的激励响应对认证参数生成认证响应,并发送至所述目标设备;

第二认证请求接收模块,用于接收所述目标设备根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数并对所述认证参数生成的第二认证请求;

设备认证模块,用于根据所述第二认证请求对所述目标设备进行认证。

可选地,所述第一认证请求中包括设备参数,所述设备参数包括如下的至少一个:

设备标识、第一数值、设备时间戳;

所述认证响应发送模块包括:

激励响应对查询子模块,用于查询所述设备标识对应的的所述物理不可克隆函数部件的激励响应对,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

目标消息获得子模块,用于组合所述设备参数与所述认证参数,获得第一目标消息;

消息加密子模块,用于采用所述第一输出数据对所述第一目标消息进行加密,获得第一加密消息;

认证响应封装子模块,用于将所述第一输入数据、所述第一加密消息封装至认证响应中;

响应发送子模块,用于将所述认证响应发送至所述目标设备。

可选地,所述设备认证模块包括:

请求参数提取子模块,用于从所述第二认证请求中提取设备标识与第二加密消息;

特征数据查询子模块,用于查询所述设备标识对应的特征数据;

消息加密子模块,用于采用所述特征数据对所述第二加密消息进行解密,获得服务候选数据;

合法性校验子模块,用于至少基于所述认证参数与所述服务候选数据进行合法性校验;

认证确定子模块,用于当所述合法性校验成功时,确定所述目标设备认证成功。

可选地,所述设备认证模块还包括:

第一参数识别子模块,用于从所述服务候选数据中识别第二数值与第二输出数据;

输入数据生成子模块,用于采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据;

激励响应对更新子模块,用于采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

可选地,所述设备认证模块还包括:

第二参数识别子模块,用于从所述服务候选数据中识别第二数值;

通信密钥生成子模块,用于采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

本发明实施例包括以下优点:

在本发明实施例中,目标设备具有物理不可克隆函数部件,目标设备向服务器发送第一认证请求,服务器针对该认证请求、根据物理不可克隆函数部件的激励响应对认证参数生成的认证响应,并返回目标设备,目标设备根据物理不可克隆函数部件的激励响应对从第一认证响应中提取认证参数并对该认证参数生成的第二认证请求,发送至所述服务器,服务器通过解析该第二认证请求中的数据对目标设备进行认证,目标设备在认证的过程中不涉及公私钥,消耗的资源和能量小,每个目标设备保证了独立运行,防止群体破解,目标设备中无需存储相关证书,并不会造成敏感信息泄露,适用于物联网。

附图说明

图1是本发明一个实施例的一种设备的认证方法的步骤流程图;

图2是本发明一个实施例的另一种设备的认证方法的步骤流程图;

图3是本发明一个实施例的一种设备认证的示例图;

图4是本发明一个实施例的一种设备的认证装置的结构框图;

图5是本发明一个实施例的另一种设备的认证装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明一个实施例的一种设备的认证方法的步骤流程图,具体可以包括如下步骤:

步骤101,向服务器发送第一认证请求。

在具体实现中,本发明实施例可以应用在目标设备中,该目标设备可以为物联网设备,例如,自行车、电表、空气检测仪,等等。

目标设备具有物理不可克隆函数部件(Physical Unclonable Function,PUF),PUF是对一个物理实体输入一个激励,利用其不可避免的内在物理构造的随机差异输出一个唯一且不可预测的响应,使得形成一个物理不可克隆的函数,可以利用内在的物理构造来对其进行唯一性标识。

假设,C为PUF的输入数据,R为PUF的输出数据,对一个PUF来说,输入C得到R的输入输出对,称之为CRP(challenge response pair,激励响应对),那么,PUF具有如下特点:

1、同样的C输入同一个PUF得到同样的R,不同的C输入同一个PUF得到不同的R;

2、同样的C输入不同的PUF得到不同的R。

一般情况下,企图拆卸PUF的行为均可导致PUF彻底损毁,PUF并不依赖于密码学技术,而是基于制造和工艺上的物理限制,因此,极难甚至不可能被伪造,具有高度的安全性。

并且,目标设备的控制器与PUF连接紧密,因此,他们之间的通信默认是安全的。

PUF得到足够好的保护或者具有足够的鲁棒性,即使在恶劣环境下,依然可以正常工作,稳定输出,适用于物联网设备。

在本发明实施例中,基于物理不可克隆函数组件进行双向认证,虽然物联网设备资源有限,但是其资源足够接入服务器进行认证,因此,也适用于物联网设备。

目标设备在接入平台时,可以向平台(如物联网平台)中的服务器(如认证服务器、接入服务器等)发送第一认证请求,触发认证流程,以获取平台提供的服务。

在本发明的一个实施例中,步骤101可以包括如下子步骤:

子步骤S11,生成设备参数。

子步骤S12,将所述设备参数封装至第一认证请求中。

子步骤S13,将所述第一认证请求发送至服务器。

在本发明实施例中,目标设备可以生成设备参数,将其封装至第一认证请求中,并调用服务器提供的API(Application Programming Interface,应用程序编程接口)接口,将其发送至服务器。

在具体实现中,设备参数可以包括如下的至少一个:

设备标识、第一数值、设备时间戳。

其中,设备标识可以为唯一标示一个确定的设备的标识,如设备ID(identification、身份)等,第一数值可以通过随机等方式生成。

步骤102,接收所述服务器针对所述认证请求发送的、根据所述物理不可克隆函数部件的激励响应对认证参数生成的认证响应。

在本发明实施例中,服务器可以在其系统中设置一安全区域,通过安全的渠道获取目标设备中物理不可克隆函数部件PUF的任一激励响应对CRP,并存储在该安全区域存储中。

由于服务器存储的数据主要是物理不可克隆函数部件PUF的激励响应对CRP,存储量小,对服务器的负载较小,使得服务器可以承载大量的目标设备的认证服务。

可选地,在每次认证时,消耗一次激励响应对CRP,即该激励响应对CRP每使用一次即丢弃、并不会重复使用。

初始时,该激励响应对CRP可以在调用目标设备的理不可克隆函数部件PUF生成之后,通过TOTP或者生产线灌装等方式,传输至服务器,后续可以在每次认证时协商激励响应对CRP。

服务器在接收到目标设备的第一认证请求之后,则可以生成认证参数,查询该目标设备对应的协商激励响应对CRP,按照预定的方式采用该协商激励响应对CRP对该认证参数生成认证响应,并返回目标设备。

步骤103,根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数。

目标设备在接收到服务器的认证响应之后,则可以按照预定的方式,采用该激励响应对CRP从该认证响应中提取认证参数。

在本发明的一个实施例中,物理不可克隆函数部件PUF的激励响应对CRP包括第一输入数据与第一输出数据,则在本发明实施例中,步骤103可以包括如下子步骤:

子步骤S21,从所述认证响应中提取所述第一输入数据,以及,采用所述第一输出数据对第一目标消息进行加密获得的第一加密消息。

在本发明实施例中,服务器将设备参数与认证参数组成第一目标消息,即第一目标消息包括所述设备参数与认证参数。

以第一输出数据作为密钥,对第一目标消息进行加密,获得第一加密消息,并连同第一输入数据封装至认证响应,返回目标设备。

相应地,目标设备可以从认证响应中提取第一输入数据与第一目标消息。

子步骤S22,将所述第一输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第一输出数据。

目标设备在提取了第一输入数据之后,则可以将该第一输入数据输入至物理不可克隆函数部件PUF。

物理不可克隆函数部件PUF对该第一输入数据进行处理,输出第一输出数据。

子步骤S23,采用所述第一输出数据对所述第一加密消息进行解密,获得设备候选数据。

目标设备以第一输出数据作为密钥,对第一加密消息进行解密,从而获得设备候选数据。

子步骤S24,基于所述设备候选数据与所述设备参数进行合法性校验。

目标设备将本地的设备参数与服务器的设备候选数据进行对比,若两者匹配,则可以确认合法性校验成功,否则,确定合法性校验失败。

在一个示例中,本地的设备参数包括设备标识、第一数值、设备时间戳中的至少一个,相对应地,设备候选数据(第一目标消息)也包括设备标识、第一数值、设备时间戳中的至少一个。

由于服务器在组合第一目标消息时,确定了各字符串的位置,因此,目标设备可以判断本地的设备参数与设备候选数据之间是否符合如下的至少一个条件:

设备标识与其在设备候选数据对应的字符串相同,第一数值与在设备候选数据对应的字符串相同,设备时间戳与其在设备候选数据对应的字符串相同且设备时间戳与当前时间之间的时间差值在一定的阈值内。

如符合,则确定本地的设备参数与服务器的设备候选数据匹配。

子步骤S25,当所述合法性校验成功时,从所述设备候选数据中识别所述认证参数。

如果通过了合法性校验,则可以从设备候选数据中相应的位置提取字符串,确认为服务器的认证参数。

步骤104,根据所述物理不可克隆函数部件的激励响应对对所述认证参数生成的第二认证请求。

目标设备在提取了服务器的认证参数之后,则可以以目标设备对应的协商激励响应对CRP,按照预定的方式采用该协商激励响应对CRP对该认证参数生成第二认证请求,并发送至服务器。

在本发明的一个实施例中,物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据,则在本发明实施例中,步骤104可以包括如下子步骤:

子步骤S31,生成第二目标消息。

子步骤S32,采用所述设备标识对应的特征数据对所述第二目标消息进行加密,获得第二加密消息。

子步骤S33,将设备标识与所述第二加密消息封装至第二认证请求中。

在本发明的一个实施例中,第二目标消息包括如下的至少一个:

设备标识、设备时间戳、认证参数。

为了方便运算,目标设备可以以第一输出数据作为密钥(特征数据),对第二目标消息进行加密,获得第二加密消息,连同设备标识封装至第二认证请求中。

当然,除了第一输出数据之外,也可以采用其他数据作为(特征数据)对第二目标消息进行加密,例如,第一输入数据、第一输入数据与第一输出数据组合的数据、设备时间戳,等等,本发明实施例对此不加以限制。

本发明实施例在认证流程中加入设备时间戳,可以有效抵御重放攻击、中间人攻击等攻击行为,加入目标设备生成的第一数值、第三数值等数值,可以验证服务器是否确实接收到消息,进一步提高安全性。

在本发明的另一个实施例中,第二目标消息还包括第二数值、第二输出数据,则在本发明实施例中,子步骤S31进一步可以包括如下子步骤:

子步骤S311,生成第二数值。

子步骤S312,采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据。

子步骤S313,将所述第二输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第二输出数据,以由所述服务器采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

在本发明实施例中,目标设备可以通过随机等方式生成第二数值。

对于目标设备的第二数值、服务器的认证参数,则可以共同作为计算的参数,按照预先协商的第一生成方式生成第二输入数据。

在一个第一生成方式的示例中,可以将第二数值与认证参数进行组合,对组合之后的数据计算哈希值,作为第二输入数据。

将该第二输入数据输入至物理不可克隆函数部件PUF,物理不可克隆函数部件PUF对该第二输入数据进行处理,输出第二输出数据。

将第二输出数据发送至服务器之后,服务器按照该第一生成方式生成第二输入数据,更新该目标设备的激励响应对CRP,作为备份,用于下一次认证。

在本发明的另一个实施例中,第二目标消息还包括第二数值、通信密钥,则在本发明实施例中,子步骤S31进一步可以包括如下子步骤:

子步骤S314,生成第二数值。

子步骤S315,采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

在本发明实施例中,目标设备可以通过随机等方式生成第二数值。

对于目标设备的第二数值、服务器的认证参数,则可以共同作为计算的参数,按照预先协商的第二生成方式生成通信密钥,用于对与服务器所在平台通信的通信数据进行加解密。

在一个示例中,可以分别计算第二数值的哈希值、认证参数的哈希值,将第二数值的哈希值与认证参数的哈希值进行异或运算,异或运算的结果即为通信密钥。

在本发明实施例中,通信密钥独立于物理不可克隆函数部件生成,即便泄露了通信密钥,也不会对物理不可克隆函数部件的激励响应对产生影响,进一步提高了认证的安全性。

在本发明实施例中,可以查询除通信密钥之外的处理数据,该处理数据为处理身份认证所产生的数据,包括中间存储变量,例如,设备标识、第一数值、设备时间戳、认证参数、第一输入数据、第一输出数据、第二数值、第二输入数据、第二输出数据,等等。

删除处理数据,保留通信密钥,即目标设备不留存敏感信息,避免在黑客获取目标设备、进行物理攻击时泄露敏感数据,从而抵抗物理攻击。

步骤105,将所述第二认证请求发送至所述服务器,以对所述目标设备进行认证。

目标设备调用服务器提供的API接口,将第二认证请求发送至服务器。

服务器可以根据物理不可克隆函数部件的激励响应对对该第二认证请求进行解析,若解析出认证参数,则确认目标设备认证成功,否则,认证失败。

在本发明实施例中,目标设备具有物理不可克隆函数部件,目标设备向服务器发送第一认证请求,服务器针对该认证请求、根据物理不可克隆函数部件的激励响应对认证参数生成的认证响应,并返回目标设备,目标设备根据物理不可克隆函数部件的激励响应对从第一认证响应中提取认证参数并对该认证参数生成的第二认证请求,发送至所述服务器,服务器通过解析该第二认证请求中的数据对目标设备进行认证,目标设备在认证的过程中不涉及公私钥,消耗的资源和能量小,每个目标设备保证了独立运行,防止群体破解,目标设备中无需存储相关证书,并不会造成敏感信息泄露,适用于物联网。

参照图2,示出了本发明一个实施例的另一种设备的认证方法的步骤流程图,具体可以包括如下步骤:

步骤201,接收目标设备发送的第一认证请求。

在具体实现中,本发明实施例可以应用在服务器中,例如,平台(如物联网平台)的认证服务器、接入服务器,等等。

目标设备在接入平台时,可以向平台(如物联网平台)中的服务器(如认证服务器、接入服务器等)发送第一认证请求,触发认证流程,以获取平台提供的服务。

在本发明实施例中,目标设备具有物理不可克隆函数部件PUF。

步骤202,根据所述认证请求生成认证参数。

在具体实现中,服务器可以通过随机等方式生成认证参数。

步骤203,根据所述物理不可克隆函数部件的激励响应对认证参数生成认证响应,并发送至所述目标设备。

在本发明实施例中,服务器可以在其系统中设置一安全区域,通过安全的渠道获取目标设备中物理不可克隆函数部件PUF的任一激励响应对CRP,并存储在该安全区域存储中。

服务器在该安全区域查询该目标设备对应的协商激励响应对CRP,按照预定的方式采用该协商激励响应对CRP对该认证参数生成认证响应,并返回目标设备。

在本发明的一个实施例中,第一认证请求中包括设备参数,设备参数包括如下的至少一个:

设备标识、第一数值、设备时间戳。

则在本发明实施例中,步骤203可以包括如下子步骤:

子步骤S41,查询所述设备标识对应的所述物理不可克隆函数部件的激励响应对。

应用本发明实施例,服务器可以在安全区域中建立各个目标设备的设备标识与其物理不可克隆函数部件PUF的激励响应对CRP之间的映射关系。

因此,在本发明实施例中,若服务器接收到目标设备的第一认证请求,则可以从中提取设备标识,在在安全区域中查询该设备标识对应的激励响应对CRP。

其中,物理不可克隆函数部件PUF的激励响应对CRP包括第一输入数据与第一输出数据。

子步骤S42,组合所述设备参数与所述认证参数,获得第一目标消息。

服务器确定认参数与设备参数的位置,将其放置在该位置,从而组合为第一目标消息。

子步骤S43,采用所述第一输出数据对所述第一目标消息进行加密,获得第一加密消息。

服务器以第一输出数据作为密钥,对第一目标消息进行加密,加密的结果即为第一加密消息。

子步骤S44,将所述第一输入数据、所述第一加密消息封装至认证响应中。

子步骤S45,将所述认证响应发送至所述目标设备。

服务器将第一输入数据、第一加密消息封装至认证响应中,则可以返回目标设备。

步骤204,接收所述目标设备根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数并对所述认证参数生成的第二认证请求。

目标设备在接收到服务器的认证响应之后,则可以按照预定的方式,采用该激励响应对CRP从该认证响应中提取认证参数,以目标设备对应的协商激励响应对CRP,按照预定的方式采用该协商激励响应对CRP对该认证参数生成第二认证请求,并发送至服务器。

步骤205,根据所述第二认证请求对所述目标设备进行认证。

在本发明实施例中,可以根据物理不可克隆函数部件的激励响应对对该第二认证请求进行解析,若解析出认证参数,则确认目标设备认证成功,否则,认证失败。

在本发明的一个实施例中,步骤205可以包括如下子步骤:

子步骤S51,从所述第二认证请求中提取设备标识与第二加密消息。

子步骤S52,查询所述设备标识对应的特征数据。

子步骤S53,采用所述特征数据对所述第二加密消息进行解密,获得服务候选数据。

为了方便运算,服务器可以查询设备标识对应的物理不可克隆函数部件的激励响应对,以其中的第一输出数据作为密钥(特征数据),对第二加密消息进行解密,解密的结果即为服务候选数据。

当然,除了第一输出数据之外,也可以采用其他数据作为(特征数据)对第二加密消息进行解密,例如,第一输入数据、第一输入数据与第一输出数据组合的数据、设备时间戳,等等,本发明实施例对此不加以限制。

子步骤S54,至少基于所述认证参数与所述服务候选数据进行合法性校验。

子步骤S55,当所述合法性校验成功时,确定所述目标设备认证成功。

服务器至少将本地的认证参数与目标设备的服务候选数据进行对比,若两者匹配,则可以确认合法性校验成功,否则,确定合法性校验失败。

进一步地,为了提高准确率,可以掺入设备参数进行认证。

设备参数包括设备标识、设备时间戳中的至少一个,相对应地,服务候选数据(第二目标消息)也包括设备标识、设备时间戳中的至少一个。

由于目标设备在组合第二目标消息时,确定了各字符串的位置,因此,服务器可以判断本地的设备参数、认证参数与服务候选数据之间是否符合如下的至少一个条件:

设备标识与其在服务候选数据对应的字符串相同,认证参数与在服务候选数据对应的字符串相同,设备时间戳与其在服务候选数据对应的字符串相同且设备时间戳与当前时间之间的时间差值在一定的阈值内。

如符合,则确定服务候选数据与认证参数及设备参数匹配。

在本发明的另一个实施例中,步骤205还可以包括如下子步骤:

子步骤S61,从所述服务候选数据中识别第二数值与第二输出数据。

子步骤S62,采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据。

子步骤S63,采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

在本发明实施例,服务器可以从服务候选数据指定的位置中提取目标设备生成的第二数值与第二输出数据。

对于目标设备的第二数值、服务器的认证参数,则可以共同作为计算的参数,按照预先协商的第一生成方式生成第二输入数据。

在一个第一生成方式的示例中,可以将第二数值与认证参数进行组合,对组合之后的数据计算哈希值,作为第二输入数据。

将该第二输入数据输入至物理不可克隆函数部件PUF,物理不可克隆函数部件PUF对该第二输入数据进行处理,输出第二输出数据。

将第二输出数据发送至服务器之后,服务器按照该第一生成方式生成第二输入数据,更新该目标设备的激励响应对CRP,作为备份,用于下一次认证。

在本发明的另一个实施例中,步骤205还可以包括如下子步骤:

子步骤S71,从所述服务候选数据中识别第二数值。

子步骤S72,采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

在本发明实施例,服务器可以从服务候选数据指定的位置中提取目标设备生成的第二数值。

对于目标设备的第二数值、服务器的认证参数,则可以共同作为计算的参数,按照预先协商的第二生成方式生成通信密钥,服务器所在平台用于对与目标设备通信的通信数据进行加解密。

在一个示例中,可以分别计算第二数值的哈希值、认证参数的哈希值,将第二数值的哈希值与认证参数的哈希值进行异或运算,异或运算的结果即为通信密钥。

在本发明实施例中,目标设备具有物理不可克隆函数部件,目标设备向服务器发送第一认证请求,服务器针对该认证请求、根据物理不可克隆函数部件的激励响应对认证参数生成的认证响应,并返回目标设备,目标设备根据物理不可克隆函数部件的激励响应对从第一认证响应中提取认证参数并对该认证参数生成的第二认证请求,发送至所述服务器,服务器通过解析该第二认证请求中的数据对目标设备进行认证,目标设备在认证的过程中不涉及公私钥,消耗的资源和能量小,每个目标设备保证了独立运行,防止群体破解,目标设备中无需存储相关证书,并不会造成敏感信息泄露,适用于物联网。

为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发明实施例中的双向认证方法。

目标设备将第一输入数据Ci输入至PUF,输出第一输出数据Ri,服务器存储Ci与Ri,作为该PUF初始的CRP,并建立与该目标设备的ID的映射关系。

如图3所示,目标设备生成随机数N1(第一数值),记录时间戳TS,将ID、N1与TS封装至第一认证请求,发送至服务器,触发认证。

服务器接收到目标设备的第一认证请求,在本地存储中查找ID的相关记录,如果查询失败,则认证过程终止。查询成功,则从该信息读取预置的CRP,得到其中的Ci与Ri。

服务器生成随机数N2(认证参数),组成第一目标消息M1=(ID,N1,N2,TS),并使用Ri加密M1,得到第一加密消息Md,将Ci与Md封装至认证响应,发送至目标设备。

目标设备接收服务器的认证响应,读取其中的Ci与Md,将Ci输入至PUF中,得到Ri,并使用Ri对Md进行解密,校验解密后数据的合法性。

若校验失败,则终止认证。

若校验成功,则从解密之后的Md(即M1)中读取N2,生成随机数N3(第二数值)。

一方面,计算N2||N3的哈希值H(N2||N3),作为第二输入数据Ci+1,将该Ci+1输入至PUF中,得到第二输出数据Ri+1。

另一方面,计算N2的哈希值H(N2)与的N3哈希值H(N3),计算H(N2)⊕H(N3),作为和服务器之间共享的通信密钥,后续采用该通信密钥对通信数据进行加解密。

目标设备组装第二目标消息M2=(ID,N2,N3,Ri+1,TS),使用Ri加密M2得到第二加密消息Ms,将ID和Ms封装至第二认证请求,并发送至服务器。

此外,目标设备删除除通信密钥之外的所有计算结果,包括中间存储变量。

服务器接收目标设备的第二认证请求,从中提取ID与Ms,查询ID对应的Ri,使用Ri对Ms进行解密,校验内容和合法性。

若校验失败,则终止认证。

若校验成功,则认证成功。

之后,服务器从解密之后的Ms(即M2)中读取N3与Ri+1。

一方面,计算N2||N3的哈希值H(N2||N3),作为第二输入数据Ci+1,将该Ci+1输入至PUF中,得到第二输出数据Ri+1。

另一方面,计算N2的哈希值H(N2)与的N3哈希值H(N3),计算H(N2)⊕H(N3),作为和目标设备之间共享的通信密钥,后续采用该通信密钥对通信数据进行加解密。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图4,示出了本发明一个实施例的一种设备的认证装置的结构框图,应用在目标设备中,所述目标设备具有物理不可克隆函数部件,所述装置具体可以包括如下模块:

第一认证请求发送模块401,用于向服务器发送第一认证请求;

认证响应接收模块402,用于接收所述服务器针对所述认证请求发送的、根据所述物理不可克隆函数部件的激励响应对认证参数生成的认证响应;

认证参数提取模块403,用于根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数;

第二认证请求生成模块404,用于根据所述物理不可克隆函数部件的激励响应对对所述认证参数生成的第二认证请求;

第二认证请求发送模块405,用于将所述第二认证请求发送至所述服务器,以对所述目标设备进行认证。

在本发明的一个实施例中,所述第一认证请求发送模块401包括:

设备参数生成子模块,用于生成设备参数;

第一认证请求封装子模块,用于将所述设备参数封装至第一认证请求中;

请求发送子模块,用于将所述第一认证请求发送至服务器;

其中,所述设备参数包括如下的至少一个:

设备标识、第一数值、设备时间戳。

在本发明的一个实施例中,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

所述认证参数提取模块403包括:

响应参数提取子模块,用于从所述认证响应中提取所述第一输入数据,以及,采用所述第一输出数据对第一目标消息进行加密获得的第一加密消息,所述第一目标消息包括所述设备参数与认证参数;

部件调用子模块,用于将所述第一输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第一输出数据;

消息解密子模块,用于采用所述第一输出数据对所述第一加密消息进行解密,获得设备候选数据;

合法性校验子模块,用于基于所述设备候选数据与所述设备参数进行合法性校验;

认证参数识别子模块,用于当所述合法性校验成功时,从所述设备候选数据中识别所述认证参数。

在本发明的一个实施例中,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

所述第二认证请求生成模块404包括:

目标消息生成子模块,用于生成第二目标消息;

消息加密子模块,用于采用所述设备标识对应的特征数据对所述第二目标消息进行加密,获得第二加密消息;

第二认证请求封装子模块,用于将设备标识与所述第二加密消息封装至第二认证请求中;

其中,所述第二目标消息包括如下的至少一个:

设备标识、设备时间戳、认证参数。

在本发明的一个实施例中,所述第二目标消息还包括第二数值、第二输出数据;

所述目标消息生成子模块包括:

数值生成单元,用于生成第二数值;

输入数据生成单元,用于采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据;

输出数据获得单元,用于将所述第二输入数据输入至所述物理不可克隆函数部件进行处理,获得所述第二输出数据,以由所述服务器采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

在本发明的一个实施例中,所述第二目标消息还包括第二数值、通信密钥;

所述目标消息生成子模块包括:

数值生成单元,用于生成第二数值;

通信密钥生成单元,用于采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

在本发明的一个实施例中,还包括:

处理数据查询模块,用于查询除所述通信密钥之外的处理数据;

处理数据删除模块,用于删除所述处理数据。

参照图5,示出了本发明一个实施例的另一种设备的认证装置的结构框图,应用在服务器中,具体可以包括如下模块:

第一认证请求接收模块501,用于接收目标设备发送的第一认证请求,所述目标设备具有物理不可克隆函数部件;

认证参数生成模块502,用于根据所述认证请求生成认证参数;

认证响应发送模块503,用于根据所述物理不可克隆函数部件的激励响应对认证参数生成认证响应,并发送至所述目标设备;

第二认证请求接收模块504,用于接收所述目标设备根据所述物理不可克隆函数部件的激励响应对从所述第一认证响应中提取所述认证参数并对所述认证参数生成的第二认证请求;

设备认证模块505,用于根据所述第二认证请求对所述目标设备进行认证。

在本发明的一个实施例中,所述第一认证请求中包括设备参数,所述设备参数包括如下的至少一个:

设备标识、第一数值、设备时间戳;

所述认证响应发送模块503包括:

激励响应对查询子模块,用于查询所述设备标识对应的的所述物理不可克隆函数部件的激励响应对,所述物理不可克隆函数部件的激励响应对包括第一输入数据与第一输出数据;

目标消息获得子模块,用于组合所述设备参数与所述认证参数,获得第一目标消息;

消息加密子模块,用于采用所述第一输出数据对所述第一目标消息进行加密,获得第一加密消息;

认证响应封装子模块,用于将所述第一输入数据、所述第一加密消息封装至认证响应中;

响应发送子模块,用于将所述认证响应发送至所述目标设备。

在本发明的一个实施例中,所述设备认证模块505包括:

请求参数提取子模块,用于从所述第二认证请求中提取设备标识与第二加密消息;

特征数据查询子模块,用于查询所述设备标识对应的特征数据;

消息加密子模块,用于采用所述特征数据对所述第二加密消息进行解密,获得服务候选数据;

合法性校验子模块,用于至少基于所述认证参数与所述服务候选数据进行合法性校验;

认证确定子模块,用于当所述合法性校验成功时,确定所述目标设备认证成功。

在本发明的另一个实施例中,所述设备认证模块505还包括:

第一参数识别子模块,用于从所述服务候选数据中识别第二数值与第二输出数据;

输入数据生成子模块,用于采用所述第二数值与所述认证参数按照预设的第一生成方式生成第二输入数据;

激励响应对更新子模块,用于采用所述第二输入数据与所述第二输出数据更新所述物理不可克隆函数部件的激励响应对。

在本发明的另一个实施例中,所述设备认证模块505还包括:

第二参数识别子模块,用于从所述服务候选数据中识别第二数值;

通信密钥生成子模块,用于采用所述第二数值与所述认证参数按照预设的第二生成方式生成通信密钥。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

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

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

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