可信计算设备的认证方法、设备和服务器与流程

未命名 09-10 阅读:104 评论:0


1.本技术属于计算机技术领域,尤其涉及一种可信计算设备的认证方法、设备和服务器。


背景技术:

2.可信计算是为了解决计算机和网络结构上的不安全,从根本上提高安全性的技术方法,它是从逻辑正确验证、计算体系结构和计算模式等方面的技术创新,以解决逻辑缺陷不被攻击者所利用的问题,形成攻防矛盾的统一体,确保完成计算任务的逻辑组合不被篡改和破坏,实现可信运行。
3.相关技术中,在对可信计算设备接入使用之前,通常需要对该可信计算设备进行可信认证,以保障所接入的可信计算设备安全可信。


技术实现要素:

4.本技术实施例提供了可信计算设备的认证方法、设备和服务器,旨在解决相关技术中,在对可信计算设备接入使用之前,通常需要对该可信计算设备进行可信认证,以保障所接入的可信计算设备安全可信的问题。
5.第一方面,本技术实施例提供了一种可信计算设备的认证方法,应用于可信计算设备,该方法包括:
6.获取可信计算设备中的可信网卡的网卡信息,其中,网卡信息包括网卡类型;
7.根据网卡类型对网卡信息进行处理,得到待认证信息;
8.向区块链发送包括待认证信息的认证请求,其中,认证请求用于触发区块链基于待认证信息对可信计算设备进行认证。
9.第二方面,本技术实施例提供了一种可信计算设备的认证装置,应用于可信计算设备,该装置包括:
10.信息获取单元,用于获取可信计算设备中的可信网卡的网卡信息,其中,网卡信息包括网卡类型;
11.信息处理单元,用于根据网卡类型对网卡信息进行处理,得到待认证信息;
12.请求发送单元,用于向区块链发送包括待认证信息的认证请求,其中,认证请求用于触发区块链基于待认证信息对可信计算设备进行认证。
13.第三方面,本技术实施例提供了另一种可信计算设备的认证方法,应用于区块链,该方法包括:
14.接收可信计算设备发送的认证请求,认证请求包括待认证信息,可信计算设备包括可信网卡,待认证信息为可信计算设备根据可信网卡的网卡类型对可信网卡的网卡信息进行处理得到;
15.基于待认证信息对可信计算设备进行认证。
16.第四方面,本技术实施例提供了另一种可信计算设备的认证装置,应用于区块链,
该装置包括:
17.请求接收单元,用于接收可信计算设备发送的认证请求,认证请求包括待认证信息,可信计算设备包括可信网卡,待认证信息为可信计算设备根据可信网卡的网卡类型对可信网卡的网卡信息进行处理得到;
18.认证执行单元,用于基于待认证信息对可信计算设备进行认证。
19.第五方面,本技术实施例提供了一种可信计算设备,包括操作系统、第一存储器、第一处理器以及存储在第一存储器中并可在第一处理器上运行的第一计算机程序,可信计算设备还包括可信网卡,可信网卡用于控制接入可信计算设备的数据输入源和/或数据输出源;第一处理器执行第一计算机程序时,实现上述第一方面的可信计算设备的认证方法的步骤;
20.其中,可信计算设备还包括可信模组和可信沙箱;
21.可信模组用于对可信计算设备中的目标软件和目标信息进行校验,目标软件包括操作系统软件和沙箱软件,目标信息为从区块链接收的信息;
22.可信沙箱用于提供可信计算空间,其中,可信沙箱中运行的沙箱程序为经过区块链校验的程序。
23.第六方面,本技术实施例提供了一种服务器,包括第二存储器、第二处理器以及存储在第二存储器中并可在第二处理器上运行的第二计算机程序,其特征在于,第二处理器执行第二计算机程序时,实现上述第三方面的可信计算设备的认证方法的步骤。
24.本技术实施例与相关技术相比存在的有益效果是:通过对可信计算设备中的可信网卡的网卡信息进行处理,得到待认证信息,将该待认证信息发送至区块链,实现区块链可以基于该待认证信息对可信计算设备进行可信认证,可以实现在对可信计算设备接入使用之前,对该可信计算设备进行可信认证,从而保障所接入的该可信计算设备安全可信。另外,与直接对可信计算设备进行认证相比,区块链通过对可信计算设备中的可信网卡进行认证以实现对可信计算设备进行认证,认证方式更为简便易于实现,有助于提高对可信计算设备的认证效率。
附图说明
25.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是本技术一实施例提供的可信计算设备的认证方法的流程示意图;
27.图2是本技术一实施例提供的用于得到待认证信息的流程示意图;
28.图3是本技术另一实施例提供的用于得到待认证信息的流程示意图;
29.图4是本技术另一实施例提供的可信计算设备的认证方法的流程示意图;
30.图5是本技术一实施例提供的可信计算设备的认证装置的结构示意图;
31.图6是本技术另一实施例提供的可信计算设备的认证装置的结构示意图;
32.图7是本技术一实施例提供的可信计算设备的结构示意图;
33.图8是本技术一实施例提供的服务器的结构示意图。
具体实施方式
34.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
35.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
36.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
37.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0038]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0039]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0040]
为了说明本技术的技术方案,下面通过以下实施例来进行说明。
[0041]
参阅图1,本技术实施例提供一种可信计算设备的认证方法的流程示意图。图1所示的可信计算设备的认证方法的执行主体通常为可信计算设备,该可信计算设备可以实现成终端也可以实现成服务器,该可信计算设备的认证方法可以通过如下步骤101至步骤103实现。
[0042]
步骤101,获取可信计算设备中的可信网卡的网卡信息。
[0043]
其中,网卡信息包括网卡类型。其中,网卡类型用于指示可信网卡的类型。
[0044]
实践中,网卡类型可以包括基础网卡类型和定制网卡类型。其中,上述基础网卡类型指示对应网卡为基础网卡,上述定制网卡类型指示对应网卡为定制网卡。上述基础网卡通常为一般通用的网卡,上述定制网卡通常为定制的网卡。
[0045]
在可信网卡为基础网卡时,上述网卡信息中,通常还可以包括可信网卡的如下至少一项信息:媒体存取控制位址(media access control address,mac)、支持协议信息、传输模式信息、连接接口信息、互联网协议地址(internet protocol address,ip)以及子网掩码。其中,上述支持协议信息用于指示可信网卡所支持的通信协议。上述传输模式信息用于指示可信网卡所支持的传输模式。连接接口信息用于指示可信网卡的通信接口。
[0046]
在可信网卡为定制网卡时,上述网卡信息中,通常还包括可信网卡的如下信息:网卡标识、标识签名和签名公钥。其中,网卡标识通常为可信网卡的唯一身份标识,标识签名
通常为网卡标识的签名,签名公钥通常用于对网卡标识和标识签名进行验签。实践中,签名公钥对网卡标识和标识签名进行验签时,可以采用签名公钥对网卡标识进行签名,得到一个签名信息,若所得到的签名信息与标识签名相符,比如,所得到的签名信息与标识签名一致,则认为签名公钥可以用于对网卡标识和标识签名进行验签。
[0047]
实践中,可信网卡通过控制接入可信计算设备的数据输入源和/或数据输出源,实现控制可信计算设备在安全可信的环境下运行。实际应用中,可信计算设备通常通过可信网卡实现由区块链对该可信计算设备进行控制。作为示例,区块链可以通过可信网卡向该可信计算设备发送控制指令,使得可信计算设备运行该控制指令对应的操作。
[0048]
在本实施例中,在可信计算设备启动时,该可信计算设备可以通过网卡驱动程序,获取该可信计算设备中的可信网卡的网卡信息。
[0049]
步骤102,根据网卡类型对网卡信息进行处理,得到待认证信息。
[0050]
其中,上述待认证信息通常是用于对可信计算设备进行认证的信息。
[0051]
这里,可信计算设备可以对网卡信息,执行与网卡类型对应的处理操作,以得到待认证信息。
[0052]
在一些可选的实现方式中,可信计算设备可以对网卡信息执行如下步骤201-步骤203的处理操作,以得到待认证信息。图2为本技术实施例提供的用于得到待认证信息的流程示意图。
[0053]
步骤201,在网卡类型为基础网卡类型时,对网卡信息进行哈希计算得到网卡哈希。
[0054]
这里,可信计算设备可以采用可信计算设备中的预设哈希算法计算网卡信息的哈希值,从而得到上述网卡哈希。其中,上述预设哈希算法通常是预先设定的哈希算法,作为示例,上述预设哈希算法可以是sha256算法。
[0055]
步骤202,对网卡哈希进行签名,得到哈希签名。
[0056]
这里,可信计算设备可以采用可信计算设备中预先存储的签名私钥对上述网卡哈希进行签名,从而得到上述哈希签名。
[0057]
步骤203,将网卡信息、网卡哈希和哈希签名确定为待认证信息。
[0058]
这里,可信计算设备可以将网卡信息、网卡哈希、哈希签名共同确定为待认证信息。
[0059]
在一些可选的实现方式中,可信计算设备可以对网卡信息执行如下步骤301-步骤302的处理操作,以得到待认证信息。图3为本技术实施例提供的用于得到待认证信息的流程示意图。
[0060]
步骤301,在网卡类型为定制网卡类型时,将网卡标识、标识签名和签名公钥输入预设零知识证明电路,得到证明信息。
[0061]
其中,预设零知识证明电路用于约束网卡标识和标识签名可通过签名公钥验签。其中,网卡标识和标识签名可通过签名公钥验签通常是指,签名公钥可以用于对网卡标识和标识签名进行验签。具体地,若采用签名公钥对网卡标识进行签名所得到的签名信息,与标识签名一致,则认为签名公钥可以用于对网卡标识和标识签名进行验签。
[0062]
这里,可信计算设备中可以预先存储有上述预设零知识证明电路。该预设零知识证明电路通常是满足目标约束关系的逻辑电路,且上述目标约束关系即为签名公钥可以用
于对网卡标识和标识签名进行验签。
[0063]
实践中,可信计算设备可以将网卡标识、标识签名和签名公钥输入预设零知识证明电路,从而得到上述证明信息。该证明信息通常可以描述网卡标识、标识签名和签名公钥之间的约束关系。
[0064]
步骤302,将证明信息、标识签名和签名公钥确定为待认证信息。
[0065]
这里,可信计算设备可以将上述证明信息、上述标识签名和签名公钥共同确定为待认证信息。
[0066]
需要说明的是,针对不同类型的可信网卡,对网卡信息进行处理的操作不同,所得到的待认证信息也不同,对可信网卡进行认证的方式也不同。本实施例可以对不同类型的可信网卡以不同的认证方式进行认证,实用性以及兼容性都较高。
[0067]
步骤103,向区块链发送包括待认证信息的认证请求。
[0068]
其中,认证请求用于触发区块链基于待认证信息对可信计算设备进行认证。
[0069]
这里,可信计算设备可以通过网络向区块链发送认证请求。这样,区块链在接收到认证请求之后,可以基于认证请求中的待认证信息,对可信计算设备进行认证。实践中,区块链可以通过用于执行网卡认证的智能合约,实现对可信计算设备进行认证。
[0070]
本实施例提供的可信计算设备的认证方法,通过对可信计算设备中的可信网卡的网卡信息进行处理,得到待认证信息,将该待认证信息发送至区块链,实现区块链可以基于该待认证信息对可信计算设备进行可信认证,可以实现在对可信计算设备接入使用之前,对该可信计算设备进行可信认证,从而保障所接入的该可信计算设备安全可信。另外,与直接对可信计算设备进行认证相比,区块链通过对可信计算设备中的可信网卡进行认证以实现对可信计算设备进行认证,认证方式更为简便易于实现,有助于提高对可信计算设备的认证效率。
[0071]
在本实施例的一些可选的实现方式中,上述步骤201中,对网卡信息进行哈希计算得到网卡哈希,包括:按照预设格式将网卡信息所包括的各项信息进行拼接,得到拼接数据,将网卡信息切换为拼接数据,以及对切换后的网卡信息进行哈希计算得到网卡哈希。
[0072]
其中,上述预设格式通常是预先设定的用于对各项信息拼接的格式。作为示例,上述预设格式可以为对象简谱格式(javascript object notation,json),也可以为下划线格式,还可以为空格格式等。进一步举例来说,若上述预设格式为下划线格式,若网卡信息包括网卡类型、mac地址和ip地址,则所得到的拼接数据可以为:网卡类型_mac地址_ip地址。实践中,上述拼接数据通常实现为一字符串。
[0073]
这里,可信计算设备可以按照上述预设格式,将网卡信息所包括的各项信息拼接,得到拼接数据,然后,可以将该拼接数据作为网卡信息。由于将多项信息拼接成拼接数据,且拼接数据通常实现为一字符串,又由于对一个字符串进行处理的计算量,明显小于对多项信息进行处理的计算量,因此,本实施例中将网卡信息切换上述拼接数据,有助于减少计算量,从而提高数据处理效率。
[0074]
在本实施例的一些可选的实现方式中,区块链基于待认证信息对可信计算设备进行认证,可以包括:区块链对网卡信息进行哈希计算得到认证哈希,对认证哈希进行签名得到认证签名,以及在待认证信息满足预设认证条件时,确定可信计算设备认证通过。
[0075]
其中,预设认证条件包括以下至少一项:认证哈希与网卡哈希相符、认证签名与哈
希签名相符、网卡信息中的mac地址的格式符合预设地址格式。
[0076]
实践中,预设地址格式通常是物理网卡对应的mac地址格式。这里,通过对mac地址格式进行验证,可以实现验证可信计算设备中的硬件是否可信。
[0077]
这里,区块链基于待认证信息对可信计算设备进行认证的过程中,若待认证信息包括网卡信息、网卡哈希和哈希签名,此时,区块链可以采用区块链中存储的哈希算法计算网卡信息的哈希值,从而得到认证哈希。其中,区块链中存储的哈希算法通常与可信计算设备中的上述预设哈希算法相同。
[0078]
之后,区块链可以采用区块链中预先存储的签名公钥对认证哈希进行签名,从而得到认证签名。实践中,区块链中预先存储的签名公钥通常与可信计算设备中存储的签名私钥相适配。
[0079]
实际应用中,在可信计算设备可信的情况下,由区块链计算得到的认证哈希通常与可信计算设备计算得到的网卡哈希相同,由区块链计算得到的认证签名通常与可信计算设备计算得到的哈希签名相同,且网卡信息中的mac地址的格式符合预设地址格式。
[0080]
需要说明的是,在认证哈希与网卡哈希相符且认证签名与哈希签名相符时,区块链可以确定可信计算设备中的软件系统可信。在网卡信息中的mac地址的格式符合预设地址格式时,区块链可以确定可信计算设备中的硬件也可信。在认证哈希与网卡哈希相符、认证签名与哈希签名相符且网卡信息中的mac地址的格式符合预设地址格式时,区块链可以确定可信计算设备中的软件系统可信,且可信计算设备中的硬件也可信。
[0081]
在本实施例的一些可选的实现方式中,区块链基于待认证信息对可信计算设备进行认证,包括:区块链将证明信息、标识签名和签名公钥输入预设验证电路,得到验证结果,以及在验证结果指示验证通过时,确定可信计算设备认证通过。
[0082]
其中,预设验证电路与预设零知识证明电路相适配。预设验证电路通常是预先设定的用于验证的逻辑电路。实际应用中,预设验证电路与预设零知识证明电路通常为相同的逻辑电路。
[0083]
这里,区块链基于待认证信息对可信计算设备进行认证的过程中,若待认证信息包括证明信息、标识签名和签名公钥,区块链可以将证明信息、标识签名和签名公钥输入预设验证电路,以得到验证结果。其中,该验证结果用于指示验证通过或者不通过。
[0084]
实际应用中,若验证结果为0,可以指示验证通过,也即是网卡标识、标识签名和签名公钥满足目标约束关系,若验证结果不为0,指示验证不通过,也即是网卡标识、标识签名和签名公钥不满足目标约束关系。上述目标约束关系为指示签名公钥可以用于对网卡标识和标识签名进行验签的约束关系。
[0085]
实践中,通过零知识证明的方式对可信计算设备进行认证,可以在区块链不知道可信网卡的网卡标识的情况下对可信计算设备进行有效认证,也即是可信网卡的身份信息无需透露给区块链或者其它设备,便可完成认证,可以保障可信网卡的信息安全,认证安全性更高。
[0086]
在本实施例的一些可选的实现方式中,区块链基于待认证信息对可信计算设备进行认证之后,还包括:若可信计算设备认证通过,则区块链将可信计算设备与可信网卡绑定。
[0087]
其中,将可信计算设备与可信网卡绑定通常是,将可信计算设备的信息与可信网
卡的信息关联存储。
[0088]
这里,在可信计算设备认证通过之后,区块链可以将可信计算设备与可信网卡进行绑定。需要说明的是,区块链将可信计算设备与可信网卡进行绑定,可以避免可信计算设备随意替换可信网卡,从而进一步保障可信计算设备的运行环境的安全性。
[0089]
进一步参考图4,图4为本技术实施例提供的另一可信计算设备的认证方法的流程示意图。图4所示的可信计算设备的认证方法的执行主体通常为区块链,具体可以为区块链上的各个节点。实际应用中,每个节点可以实现成终端也可以实现成服务器。图4中,该可信计算设备的认证方法可以通过如下步骤401至步骤402实现。
[0090]
步骤401,接收可信计算设备发送的认证请求。
[0091]
其中,认证请求包括待认证信息,可信计算设备包括可信网卡,待认证信息为可信计算设备根据可信网卡的网卡类型对可信网卡的网卡信息进行处理得到。
[0092]
步骤402,基于待认证信息对可信计算设备进行认证。
[0093]
本实施例提供的可信计算设备的认证方法,通过对可信计算设备中的可信网卡的网卡信息进行处理,得到待认证信息,将该待认证信息发送至区块链,实现区块链可以基于该待认证信息对可信计算设备进行可信认证,可以实现在对可信计算设备接入使用之前,对该可信计算设备进行可信认证,从而保障所接入的该可信计算设备安全可信。另外,与直接对可信计算设备进行认证相比,区块链通过对可信计算设备中的可信网卡进行认证以实现对可信计算设备进行认证,认证方式更为简便易于实现,有助于提高对可信计算设备的认证效率。
[0094]
需要说明的是,由于上述可信计算设备侧的认证方法,与上述区块链侧的认证方法基于同一构思,其具体功能及带来的技术效果,具体可参见上述可信计算设备侧的认证方法实施例部分,此处不再赘述。
[0095]
在一些可选的实现方式中,基于待认证信息对可信计算设备进行认证,可以包括:在待认证信息包括网卡信息、网卡哈希和哈希签名时,对网卡信息进行哈希计算得到认证哈希,对认证哈希进行签名得到认证签名,以及在待认证信息满足预设认证条件时,确定可信计算设备认证通过。
[0096]
其中,预设认证条件包括以下至少一项:认证哈希与网卡哈希相符、认证签名与哈希签名相符、网卡信息中的mac地址的格式符合预设地址格式。
[0097]
实践中,预设地址格式通常是物理网卡对应的mac地址格式。这里,通过对mac地址格式进行验证,可以实现验证可信计算设备中的硬件是否可信。
[0098]
这里,区块链基于待认证信息对可信计算设备进行认证的过程中,若待认证信息包括网卡信息、网卡哈希和哈希签名,此时,区块链可以采用区块链中存储的哈希算法计算网卡信息的哈希值,从而得到认证哈希。其中,区块链中存储的哈希算法通常与可信计算设备中的上述预设哈希算法相同。
[0099]
之后,区块链可以采用区块链中预先存储的签名公钥对认证哈希进行签名,从而得到认证签名。实践中,区块链中预先存储的签名公钥通常与可信计算设备中存储的签名私钥相适配。
[0100]
实际应用中,在可信计算设备可信的情况下,由区块链计算得到的认证哈希通常与可信计算设备计算得到的网卡哈希相同,由区块链计算得到的认证签名通常与可信计算
设备计算得到的哈希签名相同,且网卡信息中的mac地址的格式符合预设地址格式。
[0101]
需要说明的是,在认证哈希与网卡哈希相符且认证签名与哈希签名相符时,区块链可以确定可信计算设备中的软件系统可信。在网卡信息中的mac地址的格式符合预设地址格式时,区块链可以确定可信计算设备中的硬件也可信。在认证哈希与网卡哈希相符、认证签名与哈希签名相符且网卡信息中的mac地址的格式符合预设地址格式时,区块链可以确定可信计算设备中的软件系统可信,且可信计算设备中的硬件也可信。
[0102]
在一些可选的实现方式中,基于待认证信息对可信计算设备进行认证,可以包括:在待认证信息包括证明信息、标识签名和签名公钥时,将证明信息、标识签名和签名公钥输入预设验证电路,得到验证结果,以及在验证结果指示验证通过时,确定可信计算设备认证通过。
[0103]
其中,预设验证电路与预设零知识证明电路相适配。预设验证电路通常是预先设定的用于验证的逻辑电路。实际应用中,预设验证电路与预设零知识证明电路通常为相同的逻辑电路。
[0104]
这里,区块链基于待认证信息对可信计算设备进行认证的过程中,若待认证信息包括证明信息、标识签名和签名公钥,区块链可以将证明信息、标识签名和签名公钥输入预设验证电路,以得到验证结果。其中,该验证结果用于指示验证通过或者不通过。
[0105]
实际应用中,若验证结果为0,可以指示验证通过,也即是网卡标识、标识签名和签名公钥满足目标约束关系,若验证结果不为0,指示验证不通过,也即是网卡标识、标识签名和签名公钥不满足目标约束关系。上述目标约束关系为指示签名公钥可以用于对网卡标识和标识签名进行验签的约束关系。
[0106]
实践中,通过零知识证明的方式对可信计算设备进行认证,可以在区块链不知道可信网卡的网卡标识的情况下对可信计算设备进行有效认证,也即是可信网卡的身份信息无需透露给区块链或者其它设备,便可完成认证,可以保障可信网卡的信息安全,认证安全性更高。
[0107]
在一些可选的实现方式中,上述可信计算设备的认证方法,还可以包括:若可信计算设备认证通过,则将可信计算设备与可信网卡绑定。
[0108]
其中,将可信计算设备与可信网卡绑定通常是,将可信计算设备的信息与可信网卡的信息关联存储。
[0109]
这里,在可信计算设备认证通过之后,区块链可以将可信计算设备与可信网卡进行绑定。需要说明的是,区块链将可信计算设备与可信网卡进行绑定,可以避免可信计算设备随意替换可信网卡,从而进一步保障可信计算设备的运行环境的安全性。
[0110]
对应于上文可信计算设备侧的认证方法,图5示出了本技术实施例提供的可信计算设备的认证装置500的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。结合图5,本技术实施例提供的可信计算设备的认证装置500可以包括信息获取单元501、信息处理单元502和请求发送单元503。
[0111]
信息获取单元501,用于获取可信计算设备中的可信网卡的网卡信息,其中,网卡信息包括网卡类型;
[0112]
信息处理单元502,用于根据网卡类型对网卡信息进行处理,得到待认证信息;
[0113]
请求发送单元503,用于向区块链发送包括待认证信息的认证请求,其中,认证请
求用于触发区块链基于待认证信息对可信计算设备进行认证。
[0114]
在一些实施例中,网卡类型包括基础网卡类型和定制网卡类型;在网卡类型为基础网卡类型时,网卡信息还包括mac地址;在网卡类型为定制网卡类型时,网卡信息还包括网卡标识、标识签名和签名公钥。
[0115]
在一些实施例中,信息处理单元502,具体用于在网卡类型为基础网卡类型时,对网卡信息进行哈希计算得到网卡哈希;对网卡哈希进行签名,得到哈希签名;将网卡信息、网卡哈希和哈希签名确定为待认证信息。
[0116]
在一些实施例中,信息处理单元502,具体用于在网卡类型为定制网卡类型时,将网卡标识、标识签名和签名公钥输入预设零知识证明电路,得到证明信息,其中,预设零知识证明电路用于约束网卡标识和标识签名可通过签名公钥验签;将证明信息、标识签名和签名公钥确定为待认证信息。
[0117]
在一些实施例中,信息处理单元502中,对网卡信息进行哈希计算得到网卡哈希,包括:按照预设格式将网卡信息所包括的各项信息进行拼接,得到拼接数据,将网卡信息切换为拼接数据,以及对切换后的网卡信息进行哈希计算得到网卡哈希。
[0118]
本实施例提供的装置,通过对可信计算设备中的可信网卡的网卡信息进行处理,得到待认证信息,将该待认证信息发送至区块链,实现区块链可以基于该待认证信息对可信计算设备进行可信认证,可以实现在对可信计算设备接入使用之前,对该可信计算设备进行可信认证,从而保障所接入的该可信计算设备安全可信。另外,与直接对可信计算设备进行认证相比,区块链通过对可信计算设备中的可信网卡进行认证以实现对可信计算设备进行认证,认证方式更为简便易于实现,有助于提高对可信计算设备的认证效率。
[0119]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术可信计算设备侧的认证方法基于同一构思,其具体功能及带来的技术效果,具体可参见可信计算设备侧的认证方法实施例部分,此处不再赘述。
[0120]
对应于上文区块链侧的认证方法,图6示出了本技术实施例提供的可信计算设备的认证装置600的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。结合图6,本技术实施例提供的可信计算设备的认证装置600可以包括请求接收单元601和认证执行单元602。
[0121]
请求接收单元601,用于接收可信计算设备发送的认证请求,认证请求包括待认证信息,可信计算设备包括可信网卡,待认证信息为可信计算设备根据可信网卡的网卡类型对可信网卡的网卡信息进行处理得到;
[0122]
认证执行单元602,用于基于待认证信息对可信计算设备进行认证。
[0123]
在一些实施例中,认证执行单元602,具体用于在待认证信息包括网卡信息、网卡哈希和哈希签名时,对网卡信息进行哈希计算得到认证哈希,对认证哈希进行签名得到认证签名,以及在待认证信息满足预设认证条件时,确定可信计算设备认证通过;其中,预设认证条件包括以下至少一项:认证哈希与网卡哈希相符、认证签名与哈希签名相符、网卡信息中的mac地址的格式符合预设地址格式。
[0124]
在一些实施例中,认证执行单元602,具体用于在待认证信息包括证明信息、标识签名和签名公钥时,将证明信息、标识签名和签名公钥输入预设验证电路,得到验证结果,以及在验证结果指示验证通过时,确定可信计算设备认证通过;其中,预设验证电路与预设
零知识证明电路相适配。
[0125]
在一些实施例中,装置还包括信息绑定单元,用于若可信计算设备认证通过,则将可信计算设备与可信网卡绑定。
[0126]
本实施例提供的装置,通过对可信计算设备中的可信网卡的网卡信息进行处理,得到待认证信息,将该待认证信息发送至区块链,实现区块链可以基于该待认证信息对可信计算设备进行可信认证,可以实现在对可信计算设备接入使用之前,对该可信计算设备进行可信认证,从而保障所接入的该可信计算设备安全可信。另外,与直接对可信计算设备进行认证相比,区块链通过对可信计算设备中的可信网卡进行认证以实现对可信计算设备进行认证,认证方式更为简便易于实现,有助于提高对可信计算设备的认证效率。
[0127]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术区块链侧的认证方法基于同一构思,其具体功能及带来的技术效果,具体可参见区块链侧的认证方法实施例部分,此处不再赘述。
[0128]
图7为本技术一实施例提供的可信计算设备700的结构示意图。如图7所示,该实施例的可信计算设备700包括:操作系统707、可信网卡704、至少一个第一处理器701(图7中仅示出一个处理器)、第一存储器702以及存储在第一存储器702中并可在至少一个第一处理器701上运行的第一计算机程序703,例如可信计算设备的认证程序。第一处理器701执行第一计算机程序703时实现上述可信计算设备侧的各个可信计算设备的认证方法的步骤。第一处理器701执行第一计算机程序703时实现上述可信计算设备侧各装置实施例中各模块/单元的功能,例如图5所示信息获取单元501、信息处理单元502和请求发送单元503的功能。
[0129]
本实施例中,可信网卡用于控制接入可信计算设备的数据输入源和/或数据输出源。实践中,可信网卡通过控制接入可信计算设备的数据输入源和/或数据输出源,实现控制可信计算设备在安全可信的环境下运行。实际应用中,可信计算设备通常通过可信网卡实现由区块链对该可信计算设备进行控制。作为示例,区块链可以通过可信网卡向该可信计算设备发送控制指令,使得可信计算设备运行该控制指令对应的操作。
[0130]
结合图7,可信计算设备还可以包括可信模组705和可信沙箱706。
[0131]
其中,可信模组705用于对可信计算设备中的目标软件和目标信息进行校验,目标软件包括操作系统软件和沙箱软件,目标信息为从区块链接收的信息。
[0132]
其中,上述操作系统软件通常是用于实现操作系统功能的软件。上述沙箱软件通常为用于实现可信沙箱的功能的软件。目标信息可以是控制信息,控制信息可以实现为控制指令也可以实现为用于指示所需执行的任务的任务信息。
[0133]
实践中,可信模组通常是在操作系统启动时,对操作系统软件进行校验,以及在可信沙箱启动时,对沙箱软件进行校验。另外,可信模组还可以在可信沙箱中运行的沙箱程序启动时,对沙箱程序进行校验。
[0134]
作为示例,可信模组可以通过如下方式对目标软件进行校验:计算目标软件的哈希值,比如,md5值,将预先存储的目标软件的哈希值与计算得到的哈希值进行比较,若预先存储的哈希值与计算得到的哈希值一致,则认为目标软件校验通过,此时,目标软件安全可信。反之,若预先存储的哈希值与计算得到的哈希值不一致,则认为目标软件校验不通过,此时,目标软件可能被篡改。
[0135]
作为示例,可信模组可以通过如下方式对目标信息进行校验:可信计算设备中可
以预先存储各区块链节点的公钥,在可信计算设备接收到某个区块链节点发送的目标信息时,可以采用该区块链节点的公钥对所接收的目标信息进行校验,以确定该目标信息是否来自区块链,比如,若公钥可以对目标信息成功解密,则校验通过,反之,若不能成功解密则校验不通过。可信模组对目标信息进行校验,可以实现可信计算设备只对来自区块链的控制进行响应,将可信计算设备的控制权外移至区块链中,可以实现对可信计算设备的可信控制。
[0136]
在一些应用场景中,可信模组可以包括可信基本输入输出组件(basic input output system,bios)、可信密码组件和可信认证组件。其中,可信bios组件用于对可信计算设备中的目标软件进行校验,目标软件包括操作系统软件和沙箱软件。可信认证组件用于对可信计算设备中的目标信息进行校验,目标信息为从区块链接收的信息。可信密码组件用于实现可信计算设备的数据签名、密码派生、数据解密、身份认证等。
[0137]
其中,可信沙箱706用于提供可信计算空间。其中,可信沙箱中运行的沙箱程序为经过区块链校验的程序。沙箱程序为可信沙箱中运行的程序。
[0138]
实践中,可信沙箱是可信计算设备的最小执行单元。可信计算设备中可以具有一个或多个可信沙箱。在可信计算设备在区块链的控制下对来自模型方设备的数据处理模型和来自数据方设备的数据进行融合处理时,可信沙箱可以提供将上述数据处理模型和数据进行融合的可信融合执行空间。
[0139]
实际应用中,可信沙箱通常具有以下特点:第一,可信沙箱中运行的沙箱程序为经过区块链校验的程序,不可伪造。第二,沙箱程序启动时,由可信模组对其进行校验,具体地,可以由可信模组中的可信bios组件对其进行校验。第三,沙箱程序对外不提供入口。第四,沙箱程序产生的临时数据以密文的形式存储在硬盘中。第五,沙箱程序执行结束时沙箱程序所产生的数据会被销毁。
[0140]
作为示例,可信计算设备可以通过如下方式对沙箱程序进行校验:可信计算设备可以计算沙箱程序的哈希值,以及将计算得到的哈希值发送至区块链中,由区块链查找是否存在该沙箱程序的哈希值,若存在,则校验通过,否则校验不通过。
[0141]
需要说明的是,沙箱程序为经过区块链校验的程序,可以实现在沙箱中运行安全可信的沙箱程序,进一步保障数据计算安全。
[0142]
在本实施例的一些可选的实现方式中,可信计算设备无可用的接触式数据传输接口。
[0143]
其中,上述接触式数据传输接口可以包括但不限于鼠标接口、键盘接口等。
[0144]
这里,上述无可用的接触式数据传输接口,可以是可信计算设备上不存在接触式数据传输接口;也可以是可信计算设备上存在接触式数据传输接口,但所有的接触式数据传输接口被禁用。
[0145]
在本实施例的一些可选的实现方式中,可信计算设备有可用的接触式数据传输接口且通过接触式数据传输接口输入的接口数据被区块链认证通过时,可信计算设备将接口数据确定为有效数据。
[0146]
这里,在可信计算设备有可用的接触式数据传输接口的情况下,为了保障可信计算设备的数据安全,可信计算设备在接收到接触式数据传输接口输入的接口数据时,可以将该接口数据发送至区块链中,由区块链对该接口数据进行认证,比如,可以由区块链中各
节点进行投票,若各节点针对该接口数据均投票通过,则认为该接口数据被区块链认证通过,此时,可信计算设备将接口数据确定为有效数据,可以对该接口数据进行响应。
[0147]
需要说明的是,可信计算设备由区块链对接口数据进行认证,且只有接口数据被区块链认证通过时,将接口数据确定为有效数据,可以实现可信计算设备只对被区块链认可的接口数据进行响应,将可信计算设备的控制权外移至区块链中,可以实现对可信计算设备的可信控制。
[0148]
图8为本技术一实施例提供的服务器800的结构示意图。如图8所示,该实施例的服务器800包括:至少一个第二处理器801(图8中仅示出一个处理器)、第二存储器802以及存储在第二存储器802中并可在至少一个第二处理器801上运行的第二计算机程序803,例如可信计算设备的认证程序。第二处理器801执行第二计算机程序803时实现上述服务器侧的各个可信计算设备的认证方法的步骤。第二处理器801执行第二计算机程序803时实现上述服务器侧各装置实施例中各模块/单元的功能,例如图6所示请求接收单元601和认证执行单元602的功能。
[0149]
示例性的,计算机程序(比如第一计算机程序703和第二计算机程序803)可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段。例如,第一计算机程序703可以被分割成信息获取单元、信息处理单元和请求发送单元,第二计算机程序803可以被分割成请求接收单元和认证执行单元,各单元具体功能在上述实施例中已有描述,此处不再赘述。
[0150]
所称处理器(例如,第一处理器701和第二处理器801)可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0151]
第一存储器702可以是可信计算设备700的内部存储单元,例如可信计算设备700的硬盘或内存。第一存储器702用于存储计算机程序以及可信计算设备700所需的其他程序和数据。第一存储器702还可以用于暂时地存储已经输出或者将要输出的数据。
[0152]
第二存储器802可以是服务器800的内部存储单元,例如服务器800的硬盘或内存。第二存储器802也可以是服务器800的外部存储设备,例如服务器800上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,第二存储器802还可以既包括服务器800的内部存储单元也包括外部存储设备。第二存储器802用于存储计算机程序以及服务器800所需的其他程序和数据。第二存储器802还可以用于暂时地存储已经输出或者将要输出的数据。
[0153]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元
既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0154]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0155]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0156]
在本技术所提供的实施例中,应该理解到,所揭露的装置/可信计算设备/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/可信计算设备/服务器实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0157]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0158]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0159]
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0160]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种可信计算设备的认证方法,其特征在于,所述方法包括:获取所述可信计算设备中的可信网卡的网卡信息,其中,所述网卡信息包括网卡类型;根据所述网卡类型对所述网卡信息进行处理,得到待认证信息;向区块链发送包括所述待认证信息的认证请求,其中,所述认证请求用于触发所述区块链基于所述待认证信息对所述可信计算设备进行认证。2.根据权利要求1所述的可信计算设备的认证方法,其特征在于,在所述网卡类型为基础网卡类型时,所述网卡信息还包括mac地址;以及所述根据所述网卡类型对所述网卡信息进行处理,得到待认证信息,包括:对所述网卡信息进行哈希计算得到网卡哈希;对所述网卡哈希进行签名,得到哈希签名;将所述网卡信息、所述网卡哈希和所述哈希签名确定为所述待认证信息。3.根据权利要求1所述的可信计算设备的认证方法,其特征在于,在所述网卡类型为定制网卡类型时,所述网卡信息还包括网卡标识、标识签名和签名公钥;以及所述根据所述网卡类型对所述网卡信息进行处理,得到待认证信息,包括:将所述网卡标识、所述标识签名和所述签名公钥输入预设零知识证明电路,得到证明信息,其中,所述预设零知识证明电路用于约束所述网卡标识和所述标识签名可通过所述签名公钥验签;将所述证明信息、所述标识签名和所述签名公钥确定为所述待认证信息。4.根据权利要求2所述的可信计算设备的认证方法,其特征在于,所述对所述网卡信息进行哈希计算得到网卡哈希,包括:按照预设格式将所述网卡信息所包括的各项信息进行拼接,得到拼接数据,将所述网卡信息切换为所述拼接数据,以及对切换后的所述网卡信息进行哈希计算得到所述网卡哈希。5.一种可信计算设备的认证方法,其特征在于,所述方法包括:接收可信计算设备发送的认证请求,所述认证请求包括待认证信息,所述可信计算设备包括可信网卡,所述待认证信息为所述可信计算设备根据所述可信网卡的网卡类型对所述可信网卡的网卡信息进行处理得到;基于所述待认证信息对所述可信计算设备进行认证。6.根据权利要求5所述的可信计算设备的认证方法,其特征在于,所述基于所述待认证信息对所述可信计算设备进行认证,包括:在所述待认证信息包括网卡信息、网卡哈希和哈希签名时,对所述网卡信息进行哈希计算得到认证哈希,对所述认证哈希进行签名得到认证签名,以及在所述待认证信息满足预设认证条件时,确定所述可信计算设备认证通过;其中,所述预设认证条件包括以下至少一项:所述认证哈希与所述网卡哈希相符、所述认证签名与所述哈希签名相符、所述网卡信息中的mac地址的格式符合预设地址格式。7.根据权利要求5所述的可信计算设备的认证方法,其特征在于,所述基于所述待认证信息对所述可信计算设备进行认证,包括:在所述待认证信息包括证明信息、标识签名和签名公钥时,将所述证明信息、所述标识签名和所述签名公钥输入预设验证电路,得到验证结果,以及在所述验证结果指示验证通
过时,确定所述可信计算设备认证通过;其中,所述预设验证电路与预设零知识证明电路相适配。8.一种可信计算设备,包括操作系统、第一存储器、第一处理器以及存储在所述第一存储器中并可在所述第一处理器上运行的第一计算机程序,其特征在于,所述可信计算设备还包括可信网卡,所述可信网卡用于控制接入所述可信计算设备的数据输入源和/或数据输出源;所述第一处理器执行所述第一计算机程序时,实现如权利要求1至4中任一项所述的可信计算设备的认证方法;其中,所述可信计算设备还包括可信模组和可信沙箱;所述可信模组用于对所述可信计算设备中的目标软件和目标信息进行校验,所述目标软件包括操作系统软件和沙箱软件,所述目标信息为从区块链接收的信息;所述可信沙箱用于提供可信计算空间,其中,所述可信沙箱中运行的沙箱程序为经过区块链校验的程序。9.根据权利要求8所述的可信计算设备,其特征在于,所述可信计算设备无可用的接触式数据传输接口;或者,所述可信计算设备有可用的接触式数据传输接口且通过所述接触式数据传输接口输入的接口数据被所述区块链认证通过时,所述可信计算设备将所述接口数据确定为有效数据。10.一种服务器,包括第二存储器、第二处理器以及存储在所述第二存储器中并可在所述第二处理器上运行的第二计算机程序,其特征在于,所述第二处理器执行所述第二计算机程序时,实现如权利要求5至7中任一项所述的可信计算设备的认证方法。

技术总结
本申请适用于计算机技术领域,提供了可信计算设备的认证方法、设备和服务器,其中,方法包括:获取可信计算设备中的可信网卡的网卡信息,其中,网卡信息包括网卡类型;根据网卡类型对网卡信息进行处理,得到待认证信息;向区块链发送包括待认证信息的认证请求,其中,认证请求用于触发区块链基于待认证信息对可信计算设备进行认证。本申请中,通过对可信计算设备中的可信网卡的网卡信息进行处理,得到待认证信息,将该待认证信息发送至区块链,实现区块链可以基于该待认证信息对可信计算设备进行可信认证,可以实现在对可信计算设备接入使用之前,对该可信计算设备进行可信认证,从而保障所接入的该可信计算设备安全可信。保障所接入的该可信计算设备安全可信。保障所接入的该可信计算设备安全可信。


技术研发人员:邱炜伟 汪小益 刘敬 胡麦芳 尚璇
受保护的技术使用者:杭州趣链科技有限公司
技术研发日:2023.06.20
技术公布日:2023/9/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐