CN117896167A - 服务器、终端和安全系统 - Google Patents

服务器、终端和安全系统 Download PDF

Info

Publication number
CN117896167A
CN117896167A CN202410143482.XA CN202410143482A CN117896167A CN 117896167 A CN117896167 A CN 117896167A CN 202410143482 A CN202410143482 A CN 202410143482A CN 117896167 A CN117896167 A CN 117896167A
Authority
CN
China
Prior art keywords
terminal
server
key
information
management module
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.)
Pending
Application number
CN202410143482.XA
Other languages
English (en)
Inventor
王兴军
孔文辉
郑昕然
李搏
张彪
张家鑫
常鑫
王兴文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Xinxin Ruan Information Technology Co ltd
Shenzhen International Graduate School of Tsinghua University
Original Assignee
Shenzhen Xinxin Ruan Information Technology Co ltd
Shenzhen International Graduate School of Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Xinxin Ruan Information Technology Co ltd, Shenzhen International Graduate School of Tsinghua University filed Critical Shenzhen Xinxin Ruan Information Technology Co ltd
Priority to CN202410143482.XA priority Critical patent/CN117896167A/zh
Publication of CN117896167A publication Critical patent/CN117896167A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种服务器、终端和安全系统,该服务器包括:认证与密钥管理模块、多方安全计算引擎和安全通道管理模块;其中,认证与密钥管理模块,用于对终端进行身份验证,并生成与所述终端对应的第一私钥和所述第一私钥对应的第一公钥;基于终端的第二公钥和第一私钥生成第一会话密钥;多方安全计算引擎,用于验证终端的指纹信息以及配合多个终端对服务器进行身份验证;安全通道管理模块,用于与终端建立安全通道,基于第一会话密钥对通信数据进行加密,并将加密后的通信数据利用安全通道向终端发送。本发明的方案可以有效解决终端和服务器通信的安全问题,具有灵活性高和成本低的优势。

Description

服务器、终端和安全系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种服务器、终端和安全系统。
背景技术
随着信息技术的快速发展和互联网的广泛应用,终端设备(如电视机、智能手机、平板电脑、物联网设备等)已经成为人们生活和工作中不可或缺的一部分。然而,随之而来的是终端设备面临的安全挑战不断增加。
传统的终端安全方案主要依赖于本地安全软件和固定的防御策略,或者是以硬件为主的安全措施,如硬件加密、安全芯片等,或者在计算平台上使用软硬件方法构建一个安全隔离区域,例如可信执行环境TEE,以提高终端设备的安全性。这使得防御措施通常受限于本地设备的计算能力和存储容量,或者依赖于专用硬件,缺乏灵活性和扩展能力,难以应对不断变化的安全要求;传统的硬件信任根通常采用预装、固化的方式,一旦发现硬件或软件层面存在安全风险或漏洞,修复过程通常需要更换整个设备,维护成本高,安全标准升级困难。此外,本地安全方法往往只能看到单一终端设备的安全状态,缺乏全局性的监测和分析,难以发现整体的威胁态势。
发明内容
针对现有技术存在的问题,本发明实施例提供一种服务器、终端和安全系统。
本发明提供一种服务器,包括:
认证与密钥管理模块、多方安全计算引擎和安全通道管理模块;
其中,所述认证与密钥管理模块,用于对终端进行身份验证,并生成与所述终端对应的第一私钥和所述第一私钥对应的第一公钥;基于所述终端的第二公钥和所述第一私钥生成第一会话密钥;
所述多方安全计算引擎,用于验证所述终端的指纹信息以及配合多个终端对服务器进行身份验证;
所述安全通道管理模块,用于与所述终端建立安全通道,基于所述第一会话密钥对通信数据进行加密,并将加密后的通信数据利用所述安全通道向所述终端发送。
本发明还提供一种终端,包括:
密钥生成管理模块、动态认证模块和安全通道管理模块;
其中,所述密钥生成管理模块,用于生成第二私钥和所述第二私钥对应的第二公钥;基于所述服务器的第一公钥和所述第二私钥生成第二会话密钥;
所述动态认证模块,用于对所述服务器和所述终端进行双向身份验证,以及基于所述终端的指纹信息和所述终端使用过程中产生的行为信息,对所述终端进行信任评估与持续认证;
所述安全通道管理模块,用于接收所述服务器发送的加密后的通信数据,并基于所述第二会话密钥向服务器发送加密后的通信数据。
本发明还提供一种安全系统,包括:
如上述任一种所述的服务器,以及如上述任一种所述的终端。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述服务器或终端执行的方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述服务器或终端执行的方法。
本发明提供的服务器、终端和安全系统,该服务器包括:认证与密钥管理模块、多方安全计算引擎和安全通道管理模块;其中,所述认证与密钥管理模块,用于对所述终端进行身份验证,并生成与终端对应的第一私钥和所述第一私钥对应的第一公钥;基于所述终端的第二公钥和所述第一私钥生成第一会话密钥;多方安全计算引擎,用于验证所述终端的指纹信息以及配合多个终端对服务器进行身份验证;安全通道管理模块,用于与所述终端建立安全通道,基于所述第一会话密钥对通信数据进行加密,并将加密后的通信数据利用所述安全通道向所述终端发送,通过将服务器与终端安全管理相结合,实现对终端设备的全面、实时监测和灵活响应,从而有效提升终端设备的整体安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的服务器的结构示意图之一;
图2是本发明提供的服务器身份认证原理示意图之一;
图3是本发明提供的服务器身份认证原理示意图之二;
图4是本发明提供的交互流程示意图;
图5是本发明提供的终端身份认证原理示意图;
图6是本发明提供的指纹层级信息示意图;
图7A是本发明提供的服务器的结构示意图之二;
图7B是本发明提供的监控管理原理示意图;
图8是本发明提供的代码混淆流程示意图;
图9是本发明提供的终端的结构示意图之一;
图10是本发明提供的电视终端的实现原理示意图;
图11是本发明提供的系统架构示意图之一;
图12是本发明提供的系统架构示意图之二;
图13是本发明提供的密钥层级示意图;
图14是本发明提供的服务器的结构示意图之三;
图15是本发明提供的终端的结构示意图之二。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例涉及的应用场景进行介绍:
本发明实施例的应用场景可以是通信系统,该通信系统涉及到的通信主体有服务器,终端。其中,服务器负责验证用户终端的身份真实性,并实现与用户终端的安全交互。终端也可验证服务器的身份真实性,请求访问资源,并和服务器进行信息交互。
1、传统安全方法主要依赖于本地设备的安全软件和资源,这使得防御措施受限于本地设备的计算能力和存储容量。此外,本地安全方法往往只能看到单一终端设备的安全状态,缺乏全局性的监测和分析,难以发现整体的威胁态势。
2、缺乏灵活性。硬件安全方案通常是静态的,难以灵活应对不断变化的网络威胁。一旦硬件安全措施被破解或绕过,更新和升级相对困难,导致终端设备的长期安全性受到威胁。
3、硬件成本高昂。高度依赖硬件的安全解决方案通常伴随着昂贵的成本,不仅包括硬件设备本身的制造和购置费用,还包括维护和升级的费用,这对终端设备的大规模普及产生了一定的制约。
4、对多样化终端的适应性不足。由于不同终端设备的硬件特性存在较大差异,硬件为主的安全方案在适应性上存在一定挑战,这使得同一安全模型难以应用于不同类型的终端设备。
为解决上述问题,本发明实施例旨在提供一种云端服务器、终端的安全系统,通过将云端服务器与终端安全管理相结合,实现对终端设备的全面、实时监测和灵活响应,从而有效提升终端设备的整体安全性。
本发明实施例的方法还可以运行在可信执行环境(Trusted ExecutionEnvironment,TEE)框架内,以提升TEE的安全性;
将安全执行环境(Secured Execution Environment,SEE)作为一个可信应用(TA)嵌入TEE中,增加系统的安全性;TEE通常在出厂时内置了信任根,但并非所有的TEE都预置了信任根或者信任根过于单一、简单,存在安全隐患,在这种情况下,SEE可以作为信任根的替代方案。
一般而言,终端与云端需要有双向的连接通道,但是当该双向连接通道中断时,终端仍能够自主地运行并完成各自模块的相应功能;仅密钥交换与认证(包括持续认证)的过程需要该双向连接,其他功能模块在双向连接通道中断时,能够保持自主运行,完成相应的功能;具体的,终端利用最后一次与云端通信的信息保持功能的运行,直到连接恢复时再进行终端和云端的信息同步与更新。
下面结合图1-图15以具体的实施例对本发明实施例的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1是本发明提供的服务器的结构示意图之一。如图1所示,本实施例提供的服务器,包括:
认证与密钥管理模块、多方安全计算引擎和安全通道管理模块;
其中,所述认证与密钥管理模块,用于对终端进行身份验证,并生成与所述终端对应的第一私钥和所述第一私钥对应的第一公钥;基于所述终端的第二公钥和所述第一私钥生成第一会话密钥;
所述多方安全计算引擎,用于验证所述终端的指纹信息以及配合多个终端对服务器进行身份验证;
所述安全通道管理模块,用于与所述终端建立安全通道,基于所述第一会话密钥对通信数据进行加密,并将加密后的通信数据利用所述安全通道向所述终端发送。
具体的,安全系统中的认证与密钥管理是确保系统安全性的关键方面,旨在保护敏感数据和执行关键任务。采用基于指纹信息或至少一个层级的信息生成密钥,以及终端身份认证机制,建立云端服务器与终端唯一绑定的可信连接以及基于零信任网络架构管理终端的信任机制。
多方安全计算引擎,用于验证所述终端的指纹信息以及配合多个终端对服务器进行身份验证,例如通过零知识证明和秘密分享技术实现具体的验证功能。
利用零知识证明嵌入终端的指纹信息,同时终端向服务器上传证明信息和终端的第二公钥。例如,终端基于指纹信息生成证明信息,并将公钥、加密后的指纹信息、证明信息上传至服务器,后续用零知识证明验证终端身份的正确性。
在认证与密钥管理过程中,基于终端的第二公钥和服务器生成的与该终端对应的第一私钥,得到第一会话密钥,基于第一会话密钥,建立安全通道,例如虚拟专用网络(Virtual Private Network,VPN)。安全通道是指在通信过程中建立起来的一种安全通道,确保通信的机密性、完整性和认证。在一个安全通道中,信息传输是经过加密保护的,只有授权的参与者才能解密和理解通信内容。安全通道的管理包含身份验证、密钥协商、加密通信、完整性保护、前向保密性、抗抵赖等功能。
可选地,第一私钥和第一公钥对是与终端对应的,不同的终端对应的第一私钥和第一公钥对可以不同,安全性更高。
本实施例的服务器,包括:认证与密钥管理模块、多方安全计算引擎和安全通道管理模块;其中,所述认证与密钥管理模块,用于对所述终端进行身份验证,并生成与终端对应的第一私钥和所述第一私钥对应的第一公钥;基于所述终端的第二公钥和所述第一私钥生成第一会话密钥;多方安全计算引擎,用于验证所述终端的指纹信息以及配合多个终端对服务器进行身份验证;安全通道管理模块,用于与所述终端建立安全通道,基于所述第一会话密钥对通信数据进行加密,并将加密后的通信数据利用所述安全通道向所述终端发送,通过将服务器与终端安全管理相结合,实现对终端设备的全面、实时监测和灵活响应,从而有效提升终端设备的整体安全性。
可选地,所述多方安全计算引擎,具体用于:
根据第一中间数以及所述第二公钥进行加密,得到第二中间数,所述第一中间数为将所述终端的指纹信息转换为有限域的元素后加密得到的;
根据所述第二中间数、所述第一中间数和所述第二公钥对证明信息进行验证,以实现对指纹信息的验证;所述证明信息为所述终端对所述指纹信息和所述第二公钥进行绑定的证明信息。
具体的,可以利用秘密分享方案实现对服务器的身份验证,秘密分享方案的核心是产生出对终端专用的公私钥对(第一公钥和第一私钥),并且该公私钥对通过秘密分享的方法埋下陷门,用于多个终端对服务器进行身份验证。
利用零知识证明嵌入终端Ti的指纹信息fpi,同时向服务器上传证明信息π、加密后的指纹信息和第二公钥PKi。为了满足使用的需求,本实施例可以使用一轮的零知识证明,即非交互式的零知识证明。例如对指纹信息fpi进行处理,转换为有限域上的元素m,并可以应用椭圆曲线密码算法进行加密,得到第一中间数M=m·G,在其它实施例中M也可以使用其它加密算法实现,例如离散对数加密算法、格加密算法等,本发明实施例对此并不限定。
终端Ti计算第二中间数,例如可以使用哈希算法:c=hash(PKi,M),然后基于有限域的元素m,第二中间数c和第二私钥SKi计算证明信息,例如π=m+c×SKi,终端上传三元组信息(PKi,M,π)到服务器。
后续的零知识证明过程如下:服务器先计算c,然后验证零知识证明信息π的正确性,即验证接收到的π·G是否等于m+c×PKi
上述实施方式中,通过零知识证明的方法,可以将第二公钥和指纹信息绑定,实现方案简单,效率和安全性较高。
可选地,所述密钥管理模块,用于向所述终端发送加密后的第一随机数和第一公钥,所述第一随机数用于对所述服务器和/或所述终端进行身份验证。
具体的,服务器是通信过程中的主体,存储了大量终端的机密信息,在现有的众多方案中均假设服务器的绝对真实和安全性,其若被假冒,会对众多终端Ti的权益及安全性造成严重威胁,在本发明实施例中,终端可以通过第一随机数和第一秘密来对服务器的身份进行验证,避免该安全问题。
可选地,所述终端向所述服务器发送验证请求;
所述终端接收所述服务器基于所述验证请求发送的加密后的第一随机数;
所述终端基于所述加密后的第一随机数对所述服务器进行身份验证。
如图2所示,对于通过第一随机数来对服务器的身份进行验证来说,例如可以使用心跳验证法,各终端要求服务器出具之前下发的第一随机数/>(可称为心跳)的加密后的版本,如/>各终端根据服务器出具的/>进行验证,若服务器出具的/>与终端之前接收到的/>加密后的版本一致,则得分,不一致则不得分,统计各个终端计算的得分,若大于预设阈值,则服务器通过验证,否则验证失败。这里终端的数量N1和预设阈值可以根据安全性要求来设置。N1和预设阈值设置的越大则安全性越强。这里假设假的服务器的能力为真实服务器的/>那么假的服务器成功通过验证的概率约为/>
所述多方安全计算引擎,还用于:
建立n-1次多项式;n为大于1的整数;
对所述n-1次多项式中0次幂的系数进行加密,得到所述第一秘密,并将所述第一秘密发送给所述终端;所述第一秘密用于对所述服务器进行身份验证;
可选地,终端接收所述服务器发送的第一秘密;所述第一秘密用于对所述服务器进行身份验证;
所述终端基于多个第二终端的身份信息和所述第二公钥作为秘密份额,利用拉格朗日插值方式,得到第二秘密;所述多个第二终端包括所述终端;
若所述第二秘密与所述第一秘密一致,则确定所述服务器的身份验证成功。
具体的,可以通过秘密分享的方法埋下陷门,方便对服务器的后期验证。例如,构造n-1次多项式f(x)=a0+a1x+…+anxn-1,在该多项式中a0作为各方需要恢复出来的秘密用于对服务器的验证,系数ai(i∈{1,2,…,n})使用随机数生成的方法选取,a0也可以是随机数。
服务器还需要公布加密后的秘密A0=a0·G,即第一秘密。例如第一私钥SK′i可以取SK′i=f(IDi),(IDi,SK′i)可以作为一份秘密份额,可选地,第一公钥PK′i可以基于SK′i加密得到,例如通过使用椭圆曲线上的点乘法运算,将基点G乘以第一私钥得到第一公钥,即PK′i=SK′i·G。
可选地,该第一秘密可以是服务器广播公布的。如图3所示,n个终端Ti选取验证功能进入验证区,各自贡献出接收到的第一公钥PK′i,PK′i=SK′i·G,将(IDi,PK′i)作为一个秘密份额使用拉格朗日插值多项式,即可恢复出原多项式中系数a0通过基点加密后的第二秘密A′0,若恢复的A′0与之前服务器公布的A0一致则验证成功,否则验证失败。
上述实施方式中,通过不同方式可以实现对服务器的身份验证,提高了安全性,灵活性较大。
示例性地,如图4所示,该方法包括如下步骤:
步骤1、终端向服务器上传第二公钥;
步骤2、服务器生成与终端对应的第一私钥,第一私钥对应的第一公钥,以及与终端对应的第一随机数;
步骤3、服务器向终端发送第一公钥,以及基于第二公钥加密后的第一随机数;
步骤4、终端基于第二私钥对加密后的第一随机数进行解密,得到第一随机数;
步骤5、终端向服务器上传基于第二会话密钥加密后的指纹信息;第二会话密钥为基于第一公钥和第二私钥得到的;
步骤6、服务器基于第一会话密钥对加密后的指纹信息进行解密,并存储;第一会话密钥为基于第二公钥和第一私钥得到的;
步骤7、服务器基于第一会话密钥对业务密钥(或者业务授权信息)进行加密后发送给终端。
可选地,如图5所示,该方法还包括:
终端在接收到所述服务器的验证请求后,向所述服务器发送加密后的指纹信息和/或加密后的第一随机数。
具体的,为了保护合法终端Ti的正当权益即抵抗假的T′i攻击,服务器可以通过不断验证Ti的指纹信息fpi来确定终端的身份,服务器可以要求终端Ti上传其所拥有的fpi的加密值,服务器将其解密后与服务器端之前存储的指纹信息进行匹配,如果匹配成功,则终端Ti的身份验证通过。此外除了验证终端Ti的指纹信息fpi来确定终端的身份,还可以通过第一随机数来进行Ti身份的验证,作为指纹信息fpi验证的补充手段,例如终端发送第一随机数/>的加密值,服务器将其解密之后与之前生成的第一随机数进行匹配,如果匹配成功,则终端Ti的身份验证通过。
上述实施方式中,通过指纹信息或第一随机数,可以实现对终端的身份验证,实现方案简单,效率和安全性较高。
可选地,如图6所示,所述指纹信息为基于至少一个层级的信息生成的,所述至少一个层级包括以下至少一项:电子器件层,网络和协议层,插件层,行为认证层;所述电子器件层的信息为所述终端的电子器件固有的信息,所述网络协议层的信息为网络协议类的配置信息,插件层的信息为所述终端中安装的插件和/或驱动的信息,所述行为认证层的信息为基于用户与所述终端的交互行为或终端与服务器的交互行为产生的信息;
所述终端的身份信息为根据所述终端的指纹信息或至少一个层级的信息加密得到的。
具体的,指纹信息的生成需要结合至少一个层级的信息,包括以下至少一项:电子器件层,网络和协议层,插件层,行为认证层;
例如可以选择一个适当的密钥生成算法如哈希算法来产生和终端深度绑定的指纹信息。为了避免碰撞,第二私钥的生成可以选取其中至少一个层级的信息或者直接根据指纹信息,通过任一种加密算法来实现。
可选地,电子器件层的信息是指终端内部固有的电子器件的物理数据,例如包括中央处理器CPU、寄存器、声卡、网卡、加解扰器、加解密器、底层寄存器等各种硬件设备的信息、系统时间和时钟漂移、永久cookies等。
网络和协议层的信息是指终端的各种网络和协议类的配置信息,包括但不限于媒体访问控制(Media Access Control,MAC)地址、域名系统(Domain Name System,DNS)解析配置信息、传输控制协议(Transmission Control Protocol,TCP)/IP配置信息、地理位置信息、TCP/IP配置信息、无线局域网(例如IEEE 802.11)配置信息等。
插件层的信息例如包括终端中实现多种功能所安装的各种插件和/或驱动信息,例如包括联网操作时下载的各种插件和/或驱动信息、终端本地已安装的各种插件和/或驱动的信息、操作系统及相关软件的版本信息。
行为认证层的信息为用户与终端的各种交互行为或终端与服务器的各种交互行为而产生的行为数据信息,例如包括可测量的系统性能、硬件传感器的校准误差、各种日志信息、用户历史浏览记录数据、使用遥控器的力度或速度,由于终端的行为多样,行为认证层的信息允许具有一定的容错性。
在一种可能的实现方式中,在终端使用第二会话密钥加密并上传指纹信息后,服务器存储该指纹信息。例如,当服务器需要验证终端的真实身份时,可以设置各项层级所占的权重,对的指纹信息进行验证,只要在合理误差范围内,即可通过验证。每隔一段时间,服务器会提取终端的指纹信息,计算与上次提取的指纹信息的距离相似度,如果距离相似度大于一定范围(该范围由具体应用场景的安全等级确定),则该终端的指纹出现异常,需要被重新认证或进行阻拦。其次终端在本地生成自己的公私钥对,并与服务器建立认证关系,且通过安全的指纹信息增强了密钥的安全性。在持续认证过程中,服务器通过随机数序列挑战或选取终端的历史行为信息进行检验,通过检验终端的应答信息与服务器存储的信息是否一致,实现对终端的基于行为的持续认证,并更新指纹信息。
具体的,持续认证的步骤如下:
S1:在终端使用过程中,服务器随机选择时间戳T1,构建一个上一轮挑战时间戳T0之前和之后均包括的固定长度的随机数序列R,使用第一会话密钥加密发送给终端。
S2:终端在收到挑战后解密出时间戳T1与随机数序列R,校验时间戳T1的新鲜度。若时间戳不新鲜,进入步骤S6;否则,根据终端与服务器之间的交互行为所生成的日志记录,使用随机数序列R选取日志信息序列L,计算每一条日志的哈希结果,构建哈希序列HL
S3:若电子器件层、网络和协议层和插件层所包含的指纹信息在上一轮至本轮间无变化,将标志位F置0,计算终端指纹信息fp0的哈希结果否则,将标志位F置1,计算旧指纹信息fp0和新指纹信息fp1的哈希结果/>和/>
S4:终端通过第二会话密钥向服务器发送加密后的消息,包括:当前时间戳T2、哈希序列HL、标志位F、指纹信息哈希值若标志位F为1,则还需要发送新指纹信息fp1
S5:服务器收到应答后解密消息,校验时间戳新鲜度,验证哈希序列HL与随机数序列R选取的日志记录的哈希结果是否一致,并验证指纹信息哈希值的结果是否一致,若标志位F为1,还需要在服务器中更新终端的指纹信息为fp1并验证哈希结果。若上述校验均无误,则应答有效,完成本次认证,否则,进入步骤S6。
S6:认证失败,重新进行挑战应答。
在本发明实施例提供的基于层次指纹的持续认证方法中,相较于相关技术仅在用户登录时进行一次认证,本发明基于构建的层次指纹信息,可以对终端设备进行初步认证及后续的持续认证,可以有效防范后续因设备状态变化、未授权访问等原因导致的潜在威胁,进而提高了服务器与终端设备之间的通信安全性。
为了实现终端的行为评估,本发明引入了信任管理模型(TMM)作为实现动态行为感知的安全保障机制,通过在对象之间建立弹性的信任关系来降低恶意节点和受危害节点的交互风险,使设备安全评估不局限于基于加密机制的0和1的二元决策问题。TMM模型由信任存储、信任收集、异常监控和信任更新四个核心组件组成,搭载在服务器中。信任存储模块记录各终端的历史信任值;信任收集模块用于收集终端的行为数据作为信任评估的证据;异常监控模块用于识别与行为模型不符的异常模式;信任更新模块根据异常监控模块提供的信任评价,对终端的信任值进行更新。
可选地,所述安全通道管理模块,具体用于:
在所述认证模块对所述终端进行身份验证通过后,建立所述安全通道;
基于所述第一会话密钥以及完整性保护算法对通信数据进行加密;
所述密钥管理模块,具体用于在所述认证模块对所述终端进行身份验证通过后,更新所述第一会话密钥。
具体的,安全通道管理模块可以实现如下至少一种功能:
1、身份验证。在安全通道建立的过程中,通信的两端需要进行身份验证,以确保参与通信的实体是可信的,这可以通过使用数字证书、用户名密码、应用程序编程接口API密钥等方式实现。本发明实施例的认证与密钥管理模块中,可以通过终端的指纹信息以及终端和服务器的共识信息心跳(第一随机数)来进行验证,该方法相对于传统的身份验证方式具有更强的安全性,能够保证参与通信实体的可信性。
2、密钥协商。在安全握手过程中,通信的两端协商生成用于加密和解密通信数据的会话密钥。在本发明实施例的认证与密钥管理模块中,已建立了一个服务器与终端的共识会话密钥RKi·SKi′,即第一会话密钥。安全系统中假设密钥是临时的,每次交互可以重新生成新的会话密钥以提高安全性。同时,为了减少通信代价,通信双方也可以在身份验证后直接更新会话密钥。
3、加密通信。使用会话密钥对通信数据进行加密,以确保即使在网络传输中数据被截获,攻击者也无法理解加密的通信内容。
4、完整性保护。本发明实施例的方案中利用完整性保护机制,例如消息摘要或数字签名,以防止数据在传输过程中被篡改。接收方可以使用相同的算法验证数据的完整性,以增强方案的安全性。
5、前向保密性。前向保密性(Forward Secrecy)是指在加密系统中,即使长期密钥被泄漏,过去的通信也仍然是安全的。SEE中系统每次通信的会话密钥均会更新,即使敌手获取了服务器或终端的公私钥信息,也无法解密过去已经进行的通信。
6、抗抵赖。抗抵赖(Non-Repudiation)是指通信的一方无法否认自己的行为,即发送方不能否认发送过的消息,接收方也不能否认接收过的消息。本发明实施例的方案在每次通信中利用完整性保护机制以实现抗抵赖的功能。
可选地,如图7A所示,该服务器还包括:
监控管理模块,用于对所述终端中运行的安全执行环境SEE系统进行监控;
所述监控管理模块具体用于执行以下至少一项:
对所述终端进行启动和关闭;
对所述终端的安全执行环境SEE系统进行上下文切换;
对所述终端进行资源分配和管理;
对所述终端进行安全访问控制;
故障处理;
辅助所述终端进行安全更新。
具体的,如图7B所示,本发明实施例中基于云安全机制和零信任网络架构,在云端设立终端可信软件的监视器(Monitor),监督和管理终端软件的可信、安全、可靠的运行。
在云端、终端体系架构中,云端服务器负责用户注册、业务开通、注册信息(用户、终端及运营商等信息)的存储上传,监视管理组件被分为服务器侧的监控管理模块(如图7B中的安全与威胁监控管理器),以及终端侧的运行环境监督器两个部分,分别搭载在云端和终端。云端的安全与威胁监控管理器负责验证终端运行环境监督器的完整性、安全性和可用性,终端的监督器负责管理在终端中执行的代码,通过代码保护和执行监控策略确保只有经过认证的代码和数据被加载和执行,从而建立可信的执行环境。
为实现云端和终端的行为监管,监控管理模块需要包含启动和关闭、安全的上下文切换、资源分配和管理、密钥管理、故障处理和安全更新等功能。
1、启动和关闭
监控管理模块负责受监管设备的启动和关闭过程。在启动时,它需要验证当前的受监管设备内部组件的完整性,确保只有受信任的代码和数据被加载。在关闭时,监控管理模块会执行清理操作,确保退出过程是安全的,不会留下敏感信息。
2、安全的上下文切换
在进行上下文切换时,监控管理模块负责保存或恢复当前执行环境的上下文信息,包括寄存器状态、内存映射和其他相关状态,以确保从一个环境切换到另一个环境时的无缝过渡。在切换之前,监控管理模块需要执行一些额外的安全性检查,确保切换的目标执行环境是合法的、经过认证的,并有权访问相应的资源。此外,由于本发明实施例的方案中设备认证具有时效性,因此监控管理模块需要同步执行环境的时钟,以确保时间戳和计时操作的可信性。
3、资源分配和管理
监控管理模块需要保证运行的应用程序和服务能够有效地利用系统资源并保持安全性,包括内存管理、CPU时间片分配等。此外,监控管理模块通过下发终端对应的第一公钥和更新代码混淆的变换码表,确保代码执行受到安全保护。监控管理模块还需要监测和记录资源使用情况,以支持审计和追踪,确保资源分配可控和透明。
4、密钥管理
监控管理模块需要生成、存储和维护在待监控终端中用于行为监控的密钥对,例如提供API允许待监控设备内部的应用程序请求新的密钥或访问已有密钥。为了防止恶意攻击或不安全的密钥生成,监控管理模块会执行访问控制策略,确保只有经过授权的内部组件可以请求或使用特定密钥。
5、故障处理
监控管理模块需要监控待监控设备的行为,并在发生故障或异常情况时采取适当的措施,例如记录日志、恢复状态以及向告警。故障处理与安全存储一起工作,将受监控设备的关键状态信息进行持久化,以便在故障恢复后重新建立正确状态。
6、安全更新
由于终端系统版本的更新,监控管理模块需要协助进行安全更新过程,确保更新的代码和数据的完整性和安全性。首先,监控管理模块会验证待更新的代码和数据的完整性和数字签名,确保其来源可信。然后,监控管理模块对当前的执行状态和数据进行备份,以便在更新失败时进行回滚。更新后,监控管理模块将尝试加载当前状态和数据以确保可用性。执行正确后,监控管理模块重启环境以激活已更新的系统。
以下对终端监视管理进行安全性分析:
本发明实施例的系统采用零信任原则设计,对受监管设备的每一次访问行为都进行身份认证与访问控制,并通过动态代码保护与执行监控机制检测设备运行状态,确保代码按要求执行。在本系统中,云端服务器完全受信或相对受信,而用户的终端由于安全暴露面较易受到敌手的恶意攻击。在该背景下,本发明实施例通过下述方案确保安全性:
(1)避免中间人攻击和数据窃听:监控管理模块之间的控制及上传的信息由事先经协商确定的会话密钥进行加密,避免敌手在信道中窃取关键信息。
(2)监控终端代码执行环境攻击:恶意代码注入、缓冲区溢出等可能威胁终端节点上的代码执行环境。本系统提出的动态代码混淆及代码执行监控方案,确保终端执行的代码被监控器监管。此外,终端采用沙盒化技术将执行环境隔离,限制对系统资源和敏感信息的访问。
可选地,该服务器还包括:
TA动态代码混淆与状态机管理器,用于通过安全执行环境混淆工具(SecurityExecution Environment Obfuscation Tool,SOT)对TA代码进行混淆加密。
具体的,TA动态代码混淆与状态机管理器,作为一种云端和终端相结合的动态代码保护及终端代码监控方案,通过安全执行环境混淆工具SOT对TA代码进行混淆加密,为终端提供可靠的代码运行安全保障。
可选地,该服务器还包括:
密钥与系统更新引擎,用于密钥和软件系统的更新,通过对所述终端的第二公钥进行向量承诺,得到承诺值,实现密钥的更新和保护;该引擎还用于对终端的引导加载程序BootLoader进行管理。
具体的,密钥更新是一个不可或缺的重要部分,它决定了系统的长期安全稳定。本发明实施例的方案引入向量承诺,向量承诺主要用于锁定密钥,防止密钥被篡改,且任何一方都能进行密钥的验证。本方案的优势是储存便利,在修改私钥时,上传的内容不泄露新私钥。
S1:首先对终端的第二公钥进行向量承诺,得到一个总承诺值,后续终端更新密钥或者注销身份均可基于该承诺值上进行。
S2:用户自己更新私钥,假设用户的终端Ti更新后的私钥为那么用户的终端仅需通过会话密钥上传/>即可。
S3:类似的,服务器也可以选取新的会话密钥,即选取新的PK′i,通过会话密钥下发,终端Ti将其与自己的私钥结合形成新的会话密钥。
S4:用户注销。由于存在用户不续费或者非法用户的情况,需要对部分用户进行删除,该功能只需要通过修改向量承诺中总承诺值,即删除该成员的子承诺与子证明,使用户的公钥彻底失效,其所拥有的会话密钥等也将失效。
S5:整个过程中,服务器与终端需要不断地同步时间,对时间戳进行更新和检测,保证时间戳的时效性和正确性。
可选地,该服务器还包括:
存储管理模块,用于存储、管理和更新所述终端的指纹信息以及与所述终端的交互数据。
具体的,云端的服务器负责存储每台注册终端的层级指纹和多个TA在终端的状态数据,用于终端持续认证、TA运行管理和抵御多种攻击。
存储管理模块包括终端指纹信息的存储、管理与更新功能。通过服务器与终端之间建立的可信安全通道来安全传输终端的指纹信息,并存储到服务器内,随着终端指纹的更新而更新。
可选地,该存储管理模块还可以包括:状态数据库;
云端的状态数据库需要存储所有终端产生的交互行为数据,这些数据在用户与终端间存在交互行为时或终端与服务器存在交互行为时产生,包括操作日志、订单信息、网站访问信息、浏览记录等。同时,云端数据库还存储终端监视管理组件记录的终端状态信息,包括代码密钥、混淆代码本、资源使用情况、运行日志等,保持云端与终端间的状态同步。
可选地,还可以利用存储保护技术提高数据存储的安全性,为了保证上述终端的指纹信息与各级状态数据库的存储内容安全性,采用存储保护技术确保存储介质中数据的安全性与完整性,该技术涉及以下几个方面:
(1)数据加密:通过使用加密算法将存储的数据转换为密文,以防止未经授权的访问者获取敏感信息。
(2)动态地址变换(Dynamic Address Translation,DAT):DAT技术通过在计算机系统中对内存地址进行转换和映射,以实现存储的保护和隔离。通过利用虚拟内存机制,定期变更页表等实现虚拟内存地址与物理内存地址映射的动态变化。
(3)存储访问控制:存储访问控制技术用于限制对存储介质的访问权限,确保只有经过授权的用户或系统可以读取、写入或修改存储数据。这可以通过访问控制列表(AccessControl Lists,ACL)、身份验证和授权机制等实现。
(4)存储完整性校验:存储完整性校验技术用于检测数据在存储过程中是否发生了损坏或篡改。常见的完整性校验方法包括校验和、哈希函数和消息认证码(MessageAuthentication Code,MAC)等。
可选地,上述服务器侧实现的功能可以通过安全执行环境SEE实现。
如图9所示,本发明实施例还提供一种终端,包括:
密钥生成管理模块、动态认证模块和安全通道管理模块;
其中,所述密钥生成管理模块,用于生成第二私钥和所述第二私钥对应的第二公钥;基于服务器的第一公钥和所述第二私钥生成第二会话密钥;
所述动态认证模块,用于对所述服务器和所述终端进行双向身份验证,以及基于所述终端的指纹信息和所述终端使用过程中产生的行为信息,对所述终端进行信任评估与持续认证;
所述安全通道管理模块,用于接收所述服务器发送的加密后的通信数据,并基于所述第二会话密钥向服务器发送加密后的通信数据。
可选地,还包括:
TA动态代码混淆与状态机管理器和运行环境监督器;
其中,所述TA动态代码混淆与状态机管理器,用于对所述终端的指令或代码进行加密、混淆和监测,并用专用加载器解析和加载执行程序。
所述运行环境监督器,用于对所述终端的运行环境进行动态扫描和监控;对内存进行分块哈希,实现异常行为的特征提取和恶意代码的监控。
具体的,TA动态代码混淆与状态机管理器,是一种云端和终端相结合的动态代码保护及终端代码监控方案,通过安全执行环境混淆工具SOT对TA代码进行混淆加密,为终端提供可靠的代码运行安全保障。
SOT工具,用于获取源代码,对所述源代码进行动态混淆并为所述源代码生成混淆种子;基于所述混淆种子对应的静态混淆方式对动态混淆后的所述源代码进行代码混淆,得到可信应用程序;状态管理器,用于在所述可信应用程序运行过程中进行状态监测,并根据状态监测结果执行对应的代码安全保护方案。
SOT基本框架分为两个部分:静态混淆和动态混淆。其中,静态代码混淆是通过各种混淆方式如:符号重命名、控制流混淆、数据流混淆、常量混淆、虚假代码插入、字符串加密、模糊逻辑、多层混淆、代码缩减、代码插入、花指令、反汇编混淆、抗别名检测等技术对代码进行混淆化,而动态混淆部分则是将钉子、心跳机制、时间戳等技术,融合进之前的静态代码混淆技术,通过终端结合云端的状态管理器实现静态混淆的动态化。在状态管理部分,终端和云端的状态管理器通过代码中插入的钉子、心跳机制、时间戳函数等机制对终端的代码行为进行监测,既能保障代码的正常运行状态,又能抵御多种代码攻击。相较于传统的代码混淆工具,SOT工具重构的代码具有更强的安全性以及更高的性能。
钉子是注入到源代码中的一段代码,可以在不影响源代码正常操作的前提下,增加额外的监测、控制、状态信息采集、云连接、混淆等功能,并起到代码安全保护的作用。
心跳机制是指在长连接过程中,应用程序通过每隔一段时间向终端和云端的状态管理器发送固定信息,使状态管理器能够确认应用程序的运行状态。
时间戳是一组包含所执行的指令或发生的事件与发生时间的编码信息。
混淆变码表是一个映射函数,将混淆种子取模后的结果映射到相对应的混淆方式;混淆种子可以是自定义的随机数字,也可以是独有的身份识别码等。
函数中转是一种间接的函数调用机制,使程序具有更为复杂的逻辑顺序,从而有效提高逆向工程的难度。
示例性地,如图8所示,本发明实施例中的TA动态代码混淆与状态机管理器通过SOT首先对源代码SC(Source Code)进行动态混淆,注入钉子、混淆变码表、心跳、时间戳机制的代码,并同时生成混淆种子,再把源代码和混淆种子输入到下一阶段的静态混淆过程中。SOT将按照混淆种子和混淆变码表,对源代码进行动态化的混淆,通过混淆变码表、函数中转、反汇编混淆、别名检测等混淆技术实现代码混淆化。SOT的输出为静态混淆和动态混淆后的SC’,若源代码是编译型语言,其将进一步被编译为机器码MC’(Machine Code),解释型语言则无需进行额外编译。SOT的输出将汇合成一个应用程序,在可信的终端环境里执行,得到可信应用程序TA(Trusted Application)。
SOT的状态管理分为云端管理器和终端管理器,两者通过安全信道进行交互,实时地针对TA进行运行状态的检测,并在发生可疑行为时进行警报和抵御措施,达到全天候的代码运行监控和保护。终端设备的状态管理器拥有对TA的管控能力,在侦测到异常的运行状态时,可以立即采取抵御措施,例如终止TA的运行,以降低损失和风险。
在终端离线操作时,即终端与云端没有网络通信连接的场景下,终端管理器仍可以自主、自持、自洽地对TA进行监测管控,实现终端离线并且独立的闭环状态管理机制。这种线下线上融合的弹性管控机制不仅提升了在面临网络中断问题时的鲁棒性,也增加了方案的灵活性,适用于不同种类的应用程序和通信场景。
可选地,运行环境监督器通过对内存的分块哈希,实现对异常行为的特征提取和恶意代码的监控;
所述异常行为的特征提取和恶意代码的监控,是通过对内存进行分块哈希,比对设备或行为之间的哈希值,从而识别出与异常行为相关的代码,建立异常行为特征库。当其他设备出现同样的异常时,能快速识别、定位并采取干预措施,提高系统安全性。
可选地,该终端还包括:
密钥与系统更新管理器,用于密钥和软件系统的更新,以及对所述终端的引导加载程序BootLoader进行管理;
软件安全执行管理模块,用于对目标软件进行加解密,对目标软件的运行状态进行动态签名校验与访问控制,或对目标存储区和寄存器访问扫描。
可选地,在所述终端与所述服务器的连接通道中断时,所述终端能够自主地运行并完成各个模块的相应功能。
一般而言,终端与云端需要有双向的连接通道,但是当该双向连接通道中断时,终端仍能够自主地运行并完成各个模块的相应功能。
可选地,密钥交换与认证(包括持续认证)的过程需要该双向连接,其他功能模块在双向连接通道中断时,能够保持自主运行,完成相应的功能;具体的,终端利用最后一次与云端的服务器通信的信息保持功能的运行,直到连接恢复时再进行终端和云端的服务器的信息同步与更新。
示例性地,终端的功能模块包括如下:
(1)动态认证:通过心跳+动态指纹实现多方终端与云端的双向动态认证。
(2)TA动态代码混淆与状态机管理器:静态混淆+动态混淆。
(3)运行环境监督器:监督器对运行环境进行动态扫描,对代码动态签名信息提取;监督器软件本身含有加固壳与云端进行强签名与动态认证管理。
(4)存储管理:对密钥等安全存储区进行访问控制、加解密、签名和周期扫描等安全管理。
(5)软件安全执行管理:对指定软件进行加解密、运行状态进行动态签名校验与访问控制、特定存储和寄存器访问扫描。
(6)普通域操作系统(Rish OS,ROS)接口管理:命令与信息包扫描、签名和认证等安全管理。
(7)SEE操作系统(SEE OS,SOS)的安全中间件:在Linux内核加载SEE功能模块、驱动与接口。
(8)密钥与系统更新管理器:用于密钥和软件系统的更新,以及BootLoader的管理。
可选地,终端数据存储器需要存储终端内监视管理组件在监控SOS和ROS(RishOS)运行交互过程中的所有状态信息,包括代码密钥、混淆代码本、资源使用情况、运行日志、安全更新与数据备份等,方便终端安全执行环境下的状态切换、存储、管理、执行等行为。
可选地,上述终端侧实现的功能可以通过安全执行环境SEE实现。
需要说明的是,终端侧还可以包括与服务器侧相同的功能模块,例如多方安全计算引擎,可以对服务器进行身份验证,终端侧与服务器侧具有相对应的功能。
示例性地,在有线电视直播领域,有线电视和IPTV目前的电视机+机顶盒的形态给用户体验造成了诸多不便:连线复杂、遥控器多、不同终端使用习惯不同。这一问题的原因主要是有线电视用户或IPTV用户只有通过机顶盒才能收看直播频道,设备间连线较多,且不同终端由不同运营商提供,终端页面与操控设计均不同,配置的遥控器也不通用,导致使用习惯不同,造成用户操作复杂。有线电视直连业务是广电总局电视机机顶盒一体化的同轴电缆直连电视机模式,可以比较有效的解决上述问题。
在有线电视直连的业务模式下,电视机终端通过互联网实现空中下载(Over-The-Air,OTA)系统软件升级,通过连接混合光纤同轴电缆(Hybrid Fiber-Coaxial,HFC)网络直接接收有线电视节目,在电视终端实现纯软件条件接入系统(Conditional AccessSystem,CAS)对直播节目的解扰授权。用户使用手机在电视终端扫码,并在手机上完成用户注册和订阅直播节目服务。该模式可能存在以下问题:1.在与公共互联网连接的电视终端如何保证CAS终端软件的安全,即如何实现远程条件接入CA根密钥分发、CAS运行的安全;2.如何保证内容密钥的安全,防止网络共享;3.如何保障CAS(及密钥)和其它终端软件的升级安全。
本发明实施例提出的安全执行环境SEE系统适用于有线电视直连模式的网络架构,能够有效解决当前电视直播业务的痛点问题和安全需求,并具有推广成本低的优势。该方案的整体工作流程如下:
S1:电视机厂商通过互联网对存量电视机进行升级,电视机通过WiFi/以太网接口与电视机OTA平台进行对接,获取有线电视直连终端软件,包括SEE软件和终端CAS软件。
S2:在电视机第一次OTA软件升级时,将SEE软件嵌入到电视机系统软件中,SEE将自动扫描电视机的硬件指纹信息,生成根随机数并以特定规则生成电视机唯一标识TVID,并生成与该电视机指纹绑定的认证公私钥对。
S3:有线直连电视订单管理系统的SEE前端与电视机终端中的SEE通过三次握手协议完成条件接入CA密钥交换和认证,并建立SEE安全通道,实现SEE前端管理系统与电视机终端的SEE进行保密通信。使用SEE安全通道建立认证中心与终端的信任连接,用于CAS的密钥分发、系统更新等应用。CAS终端系统(包括CA终端库和虚拟智能卡执行代码)运行在终端SEE中,并由SEE提供密钥存储安全机制。
S4:电视机通过TV通道接收归属地网络的服务器发送的授权信息,完成节目的解密解扰,实现直播节目的收看。
如图10所示,终端安全执行环境是加载在终端操作系统内的一个中间件,可以作为底层安全代码执行区域,能够连接所有与保护对象相关联的硬件接口,实现对可执行代码的保护以及对关联密钥进行访问控制保护。终端SEE建立与终端的特定连接关系,扫描和屏蔽外网信息,与SEE前端系统建立安全连接,仅允许特定信令的传输(包括认证、证书与许可证交换、状态扫描信息、下载升级、报警、其它控制信息等)。
终端安全执行环境的工作流程:
S1:提取终端的至少一个层级的信息,生成终端的身份信息(ID)和根密钥(指纹信息);
S2:与SEE服务器进行认证和密钥交换,建立安全通道;
S3:将CAS终端库等条件接入CA软件及固件下载到SEE中运行;
S4:通过SEE网关,提供CAS软件下载和升级、密钥管理等功能;
S5:建立与终端的特定连接关系,监督CAS软件在终端的安全运行,扫描和屏蔽外网信息。
本发明实施例还提高一种安全系统,包括:
如前述实施例中任一项所述的服务器,以及如前述实施例中任一项所述的终端。
可选地,该安全系统还可以包括:
SEE网关,用于与终端和服务器之间进行通信;
例如,SEE网关包括安全网关和监视管理器两个模块,其中安全网关支持防火墙、反向代理、威胁扫描等功能;监视管理器支持对终端的SEE运行状态监督、专用VPN等功能。
SEE网关中的监视管理器负责行为监管。为了实现组件之间的安全通信,通过部署虚拟专用网络(VPN)来建立加密隧道,即安全管理通道。
可选地,在每个监视管理器所在的位置部署VPN服务器,选择合适的VPN协议并配置认证机制和加密算法。生成唯一的密钥对,将公钥配置到服务器上,并确保私钥妥善保存在监视管理器中。
可选地,在每个监视管理器上配置相应的VPN客户端,包括连接到VPN服务器的地址和认证方式。通过启动VPN客户端,监视管理器建立到VPN服务器的安全连接,创建一个加密隧道。
可选地,通过该隧道实现监视管理器之间的安全通信,使用会话密钥,确保数据传输的机密性。监控、维护并定期更新密钥以增强安全性,同时监控VPN连接状态以确保可用性和安全性。
示例性地,图11中示出了一种SEE云端终端体系架构,例如图11中架构中,安全与威胁监控管理可以通过服务器和终端的监控管理模块实现,密钥与系统的更新管理可以通过服务器和终端的密钥与系统更新模块实现,密钥交互管理以及设备认证管理可以通过服务器和终端的认证与密钥管理模块实现,验证终端的指纹信息以及多个终端对服务器的身份验证可以通过服务器和终端的多方安全计算引擎实现,硬件/固件指纹生成以及设备ID/密钥生成管理可以通过终端的密钥生成管理模块实现。
图12中示出了一种SEE云端-网关-终端体系架构。
如图13所示,本发明实施例提出了密钥层级的构想,即三层密钥,第一层级为根密钥,如终端的指纹信息;第二层级为用户终端的第二私钥(静态主密钥)和服务器对用户终端专用的第一公钥(动态主密钥),该用户终端的第二私钥由根密钥作为种子随机生成,用户终端专用的第一公钥由服务器生成,第二私钥和用户终端专用的第一公钥组合形成会话密钥,用于服务器和终端之间的通信;第三层级为业务密钥,即服务器通过与终端产生的会话密钥来传递某种业务的专用密钥。
综上所述,SEE系统是一套终端安全软件解决方案,包括基于多层指纹和多方安全计算的信任根生成与管理机制、SEE安全操作系统SOS、应用代码保护工具、安全存储区保护机制、多方安全通道(MVPN)及安全执行环境监督机制等多个部件组成。
SEE系统采用后绑定机制,支持对出售后的终端硬件进行认证、授权和数据加密保护等业务安全管理,具有很高的灵活性和较低的推广使用成本。
SEE系统可不依赖于专用硬件、片上系统(System on a Chip,SoC)和一次性可编程(One Time Programmable,OTP)等,可以适用于几乎所有中央处理器CPU、SoC和终端硬件系统,通过多点浅锚定和动态认证提高信任根安全等级,也可以采用SoC和OTP预置密钥加强安全性。
SEE系统的网络软件体系强调多系统的互联互通和协议的互操作性,便于建立统一的标准化体系。
图13示例了一种服务器的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1310、通信接口(Communications Interface)1320、存储器(memory)1330和通信总线1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑指令,以执行前述服务器的各个模块的功能。
此外,上述的存储器1330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
图14示例了一种终端的实体结构示意图,如图14所示,该电子设备可以包括:处理器(processor)1410、通信接口(Communications Interface)1420、存储器(memory)1430和通信总线1440,其中,处理器1410,通信接口1420,存储器1430通过通信总线1440完成相互间的通信。处理器1410可以调用存储器1430中的逻辑指令,以执行前述终端的各个模块的功能。
此外,上述的存储器1430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述服务器所提供的功能,或终端提供的功能。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述服务器所提供的功能,或终端提供的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种服务器,其特征在于,包括:
认证与密钥管理模块、多方安全计算引擎和安全通道管理模块;
其中,所述认证与密钥管理模块,用于对终端进行身份验证,并生成与所述终端对应的第一私钥和所述第一私钥对应的第一公钥;基于所述终端的第二公钥和所述第一私钥生成第一会话密钥;
所述多方安全计算引擎,用于验证所述终端的指纹信息以及配合多个终端对服务器进行身份验证;
所述安全通道管理模块,用于与所述终端建立安全通道,基于所述第一会话密钥对通信数据进行加密,并将加密后的通信数据利用所述安全通道向所述终端发送。
2.根据权利要求1所述的服务器,其特征在于,
所述密钥管理模块,用于向所述终端发送加密后的第一随机数和第一公钥,所述第一随机数用于对所述服务器和/或所述终端进行身份验证。
3.根据权利要求2所述的服务器,其特征在于,
所述多方安全计算引擎,还用于:
建立n-1次多项式;n为大于1的整数;
对所述n-1次多项式中0次幂的系数进行加密,得到第一秘密,并将所述第一秘密发送给所述终端;所述第一秘密用于对所述服务器进行身份验证;
所述密钥管理模块,具体用于:
根据所述终端的身份信息以及所述多项式,生成所述第一私钥;
对所述第一私钥进行加密,得到所述第一公钥。
4.根据权利要求1-3任一项所述的服务器,其特征在于,
所述指纹信息为基于至少一个层级的信息生成的,所述至少一个层级包括以下至少一项:电子器件层,网络和协议层,插件层,行为认证层;所述电子器件层的信息为所述终端的电子器件固有的信息,所述网络协议层的信息为网络协议类的配置信息,插件层的信息为所述终端中安装的插件和/或驱动的信息,所述行为认证层的信息为基于用户与所述终端的交互行为或终端与服务器的交互行为产生的信息;
所述终端的身份信息为根据所述终端的指纹信息或至少一个层级的信息加密得到的。
5.根据权利要求1-3任一项所述的服务器,其特征在于,
所述安全通道管理模块,具体用于:
在所述认证模块对所述终端进行身份验证通过后,建立所述安全通道;
基于所述第一会话密钥以及完整性保护算法对通信数据进行加密;
所述密钥管理模块,具体用于在所述认证模块对所述终端进行身份验证通过后,更新所述第一会话密钥。
6.根据权利要求1-3任一项所述的服务器,其特征在于,
所述多方安全计算引擎,具体用于:
根据第一中间数以及所述第二公钥进行加密,得到第二中间数,所述第一中间数为将所述终端的指纹信息转换为有限域的元素后加密得到的;
根据所述第二中间数、所述第一中间数和所述第二公钥对证明信息进行验证;所述证明信息为所述终端对所述指纹信息和所述第二公钥进行绑定的证明信息。
7.根据权利要求1-3任一项所述的服务器,其特征在于,还包括:
监控管理模块,用于对所述终端中运行的安全执行环境系统进行监控;
所述监控管理模块具体用于执行以下至少一项:
对所述终端进行启动和关闭;
对所述终端的安全执行环境系统进行上下文切换;
对所述终端进行资源分配和管理;
对所述终端进行安全访问控制;
故障处理;
辅助所述终端进行安全更新。
8.根据权利要求1-3任一项所述的服务器,其特征在于,还包括:
TA动态代码混淆与状态机管理器,用于通过安全执行环境混淆工具SOT对TA代码进行混淆加密。
9.根据权利要求8所述的服务器,其特征在于,所述TA动态代码混淆与状态机管理器,还用于:
通过对源代码进行静态混淆和动态混淆,得到可信应用程序TA;
在TA运行过程中进行状态监测,并根据状态监测结果执行对应的代码安全保护方案。
10.根据权利要求1-3任一项所述的服务器,其特征在于,还包括:
密钥与系统更新引擎,用于密钥和软件系统的更新,并对终端的引导加载程序BootLoader进行管理。
11.根据权利要求1-3任一项所述的服务器,其特征在于,还包括:
存储管理模块,用于存储、管理和更新所述终端的指纹信息以及与所述终端的交互数据。
12.一种终端,其特征在于,包括:
密钥生成管理模块、动态认证模块和安全通道管理模块;
其中,所述密钥生成管理模块,用于生成第二私钥和所述第二私钥对应的第二公钥;基于服务器的第一公钥和所述第二私钥生成第二会话密钥;
所述动态认证模块,用于对所述服务器和所述终端进行双向身份验证,以及基于所述终端的指纹信息和所述终端使用过程中产生的行为信息,对所述终端进行信任评估与持续认证;
所述安全通道管理模块,用于接收所述服务器发送的加密后的通信数据,并基于所述第二会话密钥向服务器发送加密后的通信数据。
13.根据权利要求12所述的终端,其特征在于,还包括:
TA动态代码混淆与状态机管理器、运行环境监督器和多方安全计算引擎;
其中,所述TA动态代码混淆与状态机管理器,用于对所述终端的指令或代码进行加密、混淆和监测,并用专用加载器解析和加载执行程序;
所述运行环境监督器,用于对所述终端的运行环境进行动态扫描和监控;对内存进行分块哈希,实现异常行为的特征提取和恶意代码的监控;
所述多方安全计算引擎,用于验证所述终端的指纹信息以及对服务器的身份验证。
14.根据权利要求12或13所述的终端,其特征在于,还包括:
密钥与系统更新管理器,用于密钥和软件系统的更新,以及对所述终端的引导加载程序BootLoader进行管理;
软件安全执行管理模块,用于对目标软件进行加解密,对目标软件的运行状态进行动态签名校验与访问控制,或对目标存储区和寄存器访问扫描。
15.根据权利要求12或13所述的终端,其特征在于,
在所述终端与所述服务器的连接通道中断时,所述终端能够自主地运行并完成各个模块的相应功能。
16.一种安全系统,其特征在于,包括:
如权利要求1-11任一项所述的服务器,以及如权利要求12-15任一项所述的终端。
CN202410143482.XA 2024-01-31 2024-01-31 服务器、终端和安全系统 Pending CN117896167A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410143482.XA CN117896167A (zh) 2024-01-31 2024-01-31 服务器、终端和安全系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410143482.XA CN117896167A (zh) 2024-01-31 2024-01-31 服务器、终端和安全系统

Publications (1)

Publication Number Publication Date
CN117896167A true CN117896167A (zh) 2024-04-16

Family

ID=90642625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410143482.XA Pending CN117896167A (zh) 2024-01-31 2024-01-31 服务器、终端和安全系统

Country Status (1)

Country Link
CN (1) CN117896167A (zh)

Similar Documents

Publication Publication Date Title
CN110120869B (zh) 密钥管理系统及密钥服务节点
CN109361668B (zh) 一种数据可信传输方法
CN108768978B (zh) 一种基于sgx的远端存储服务方法及系统
US9703965B1 (en) Secure containers for flexible credential protection in devices
JP5860815B2 (ja) コンピューターポリシーを施行するためのシステムおよび方法
US20170351879A1 (en) Systems and methods for using extended hardware security modules
US20170366342A1 (en) Protecting the Integrity of Log Entries in a Distributed System
US11831753B2 (en) Secure distributed key management system
CN103138939A (zh) 云存储模式下基于可信平台模块的密钥使用次数管理方法
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN110932850B (zh) 通信加密方法及系统
CN106790045B (zh) 一种基于云环境分布式虚拟机代理装置及数据完整性保障方法
US11196558B1 (en) Systems, methods, and computer-readable media for protecting cryptographic keys
CN110362984B (zh) 多设备运行业务系统的方法及装置
CN107948235B (zh) 基于jar的云数据安全管理与审计装置
US20230037520A1 (en) Blockchain schema for secure data transmission
US11716367B2 (en) Apparatus for monitoring multicast group
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
CN116244750A (zh) 一种涉密信息维护方法、装置、设备及存储介质
US8699710B2 (en) Controlled security domains
CN109120621A (zh) 数据处理器
CN117896167A (zh) 服务器、终端和安全系统
CN114826702A (zh) 数据库访问密码加密方法、装置和计算机设备
Krishnan et al. Peer to peer file sharing by blockchain using IoT
KR20110085850A (ko) 수신제한 이미지 다운로드 장치 및 방법

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