一种基于SGX的非中心身份认证方法技术

技术编号:24862835 阅读:22 留言:0更新日期:2020-07-10 19:13
本发明专利技术公开了一种基于SGX的非中心身份认证方法,包括:身份认证区块链网络和身份认证区块链客户端的SGX加密模块;通过SGX软件防护扩展指令生成可信空间,可信空间加密储存保护身份认证数据以及身份认证操作函数,同时为身份认证操作函数提供安全可信的运行空间;身份认证区块链网络节点实现非中心化处理由客户端(身份认证的发起者)向身份认证区块链网络发起的身份认证请求。本发明专利技术的非中心身份认证方法具有公正、安全、高效、可追溯的功能。

【技术实现步骤摘要】
一种基于SGX的非中心身份认证方法
本专利技术属于区块链应用领域,具体涉及一种基于SGX的非中心身份认证方法。
技术介绍
传统的身份认证和身份识别始终依赖中央服务器,客户端必须向其发送密码进行验证,这种中心化的身份验证方法存在一些安全漏洞。如果授权服务器(OAuth)或身份提供商(SAML)因任何原因不可用或者受到破坏,客户端将无法进行身份认证。例如,假设应用程序A允许用户使用他们的脸书账户登录,但如果脸书身份认证系统遭到入侵无法使用,应用程序A的用户将无法登录,而这种情况则完全不受应用程序A团队的控制。应用程序A团队将陷入困境,只能等待脸书的修复身份认证系统。传统身份认证以来于中央实体,这就让应用程序和服务存在了安全风险和服务缺陷,主要表现为两个方面。第一,中心化身份认证使认证系统健壮性降低,中央服务器收到外界不法分子攻击,容易直接被破坏,无备选认证系统进行认证,使整个系统陷入瘫痪状态,直到中央服务器修复完成。第二,中心化身份认证权力过于集中,降低了身份认证的信任性,只要中心身份认证服务器被他人控制,身份认证将不受控制,造成的经济损失将无法估量。非中心化身份认证是提高身份安全性手段之一。区块链技术是一种利用去中心化和去信任方式集体维护一本数据簿的可靠性的技术方案。从技术上来说呢,它是一个分布式储存的数据块,每一个块上面都会包含一整条区块链的信息。在整个区块链网络中整个网络没有中心统治者,信息和合约无伪造,集体维护监督,区块链上的信息必须不可撤销,不能随意销毁,并且区块链信息可验证、可追溯。区块链技术的这些特点为非中心化身份认证提供了技术支持和安全保障。SGX(IntelSoftwareGuardExtensions)是一套CPU指令,可支持应用创建可信空间(电脑操作系统中称作:Enclave):应用地址空间中受保护的区域,它可确保终端操作系统环境上信息内容的机密性和完整性。试图从软件角度访问Enclave的内存内容是不被允许的,即使是高级特权软件(如主操作系统,虚拟机监控器等)都不允许访问。Enclave的安全边界只包含CPU和它自身。SGX创建的可信空间Enclave也可以理解为一个可信执行环境TEE(TrustedExecutionEnvironment)。SGX中一个CPU可以运行多个安全Enclaves,支持并发执行。本专利技术中提出基于SGX的非中心身份认证方法对用户进行身份验证,由非中心化的身份认证区块链替代中央服务器认证。基于SGX的非中心身份认证方法中当身份认证区块链中一个节点受到其他恶意攻击破坏时,还有其他节点正常运行,确保身份认证正常进行。同时,于SGX的非中心身份认证方法通过SGX软件防护扩展指令生成可信空间,可信空间加密储存保护身份认证数据以及身份认证操作函数,同时为身份认证操作函数提供安全可信的运行空间。身份认证区块链网络和身份认证区块链客户端的SGX加密模块;通过SGX软件防护扩展指令生成可信空间,可信空间加密储存保护身份认证数据以及身份认证操作函数,同时为身份认证操作函数提供安全可信的运行空间;身份认证区块链网络节点实现非中心化处理由客户端(身份认证的发起者)向身份认证区块链网络发起的身份认证请求。本专利技术的非中心身份认证方法具有公正、安全、高效、可追溯的功能。
技术实现思路
本专利技术基于上述背景和现有技术所存在的问题,拟设计基于SGX的非中心身份认证方法,其能够非中心化的身份认证区块链替代中央服务器认证,提高了身份认证系统的可靠性和健壮性。本专利技术还引入SGX软件保护方法,提高用户身份认证数据的安全性。一种基于SGX的非中心身份认证方法,包括:(1)根据区块链技术原理构建非中心身份认证区块链网络。(2)将身份认证数据存入SGX加密模块。其中,通过区块链客户端的SGX软件防护扩展指令生成可信空间,可信空间加密储存保护身份认证数据以及身份认证操作函数。(3)身份认证区块链网络处理身份认证。其中,以身份认证的不同机构或个人作为非中心化身份认证的节点,构建身份认证区块链网络。其中,参与身份认证节点不少于三个。其中,身份认证区块链网络节点实现非中心化处理由客户端(身份认证的发起者)向身份认证区块链网络发起的身份认证请求。优选的是,SGX防护身份认证信息加密模块,基于SGX软件防护扩展指令生成可信空间,并生成用于验证所述可信空间访问权限的访问密钥;所述可信空间用于存储身份认证数据以及身份认证操作函数。优选的是身份认证模块,接受并解密身份认证请求消息,通过所述访问密钥访问SGX防护认证信息加密模块,调用其中的身份认证函数,实现对身份认证请求进行处理即认证被认证身份的真伪。其中,客户端在向身份认证区块链网络传输认证信息时,采用RSA算法和AES算法相结合加密传输数据。优选的是验证共识模块,接受所述随机指定认证区块链节点广播的初步认证结果和区块,通过访问密钥访问SGX加密模块,调用验证共识函数,实现对身份认证的结果的验证,并获得认证区块链中已经共识的节点数。优选的是数据更新模块,当身份认证区块链网络需要对认证信息进行更新更正时,区块链客户端调用数据更新模块中的数据更新函数对存储的身份认证数据进行更新操作。优选的,所述的SGX防护身份认证信息加密模块包括:(a)借助Intel处理器的SGX技术,通过CPU的硬件模式切换,系统进入可信模式执行;(b)生成身份认证数据和认证信息操作函数的密钥凭证,SGX技术提供了一种较为先进的密钥加密方法,其密钥由SGX版本密钥、CPU机器密钥和Intel官方分配给用户的密钥在密钥生成算法下生成的全新密钥,使用此密钥对需要加载的应用程序的代码和数据进行加密。;(c)用户空间的SGXLoader加载器加载身份认证数据和认证信息操作函数以及二者的密钥凭证,为加载至Enclave做准备;(d)在IntelSGX可信模式下动态申请构建一个Enclave。(e)将需要加载的程序和数据以EPC(EnclavePageCache,中文:可信缓存页面)的形式首先通过密钥凭证解密。(f)通过SGX指令证明解密后的程序和数据可信,并将其加载到Enclave中,然后对加载进Enclave中的每个EPC内容进行复制。(g)启动Enclave初始化程序,禁止继续加载和验证EPC,生成Enclave身份凭证,并对此凭证进行加密,作为Enclave的访问密钥。(h)SGX的隔离完成,通过硬件隔离的Enclave中的镜像程序开始执行,构建基于SGX技术的硬件隔离完成。一种基于SGX的非中心身份认证方法,步骤(2)包括:(2-1)生成身份认证数据和认证信息操作函数的密钥凭证,将身份认证数据和认证信息操作函数与所述密钥凭证上载到SGXLoader加载器;所述认证信息操作函数包括身份认证函数、验证共识函数和更新数据函数;(2-2)通过SGX驱动器对上载的身份认证数据和认证信息操作函数以及其密钥凭证进行参数度量本文档来自技高网
...

【技术保护点】
1.一种基于SGX的非中心身份认证方法,其特征在于,包括:/n(1)根据区块链技术原理构建非中心身份认证区块链网络;/n(2)在身份认证区块链节点客户端利用SGX软件生成可信空间,并将身份认证相关数据、函数存入SGX的可信空间;/n(3)身份认证区块链网络处理身份认证请求事件。/n

【技术特征摘要】
1.一种基于SGX的非中心身份认证方法,其特征在于,包括:
(1)根据区块链技术原理构建非中心身份认证区块链网络;
(2)在身份认证区块链节点客户端利用SGX软件生成可信空间,并将身份认证相关数据、函数存入SGX的可信空间;
(3)身份认证区块链网络处理身份认证请求事件。


2.根据权利要求1所述的基于SGX的非中心身份认证方法,其特征在于,步骤(1)中包括:
以身份认证的不同机构或个人作为非中心化身份认证的节点,构建身份认证区块链网络。其中,参与身份认证节点不少于三个。


3.根据权利要求1所述的基于SGX的非中心身份认证方法,其特征在于,步骤(2)中包括:
SGX防护身份认证信息加密模块,基于SGX软件通过防护扩展指令生成一个被保护的内容容器,即所述可信空间并生成用于验证所述可信空间访问权限的密钥凭证;所述用于存储身份认证数据以及身份认证操作函数;
身份认证模块,接受并解密身份认证请求消息,通过所述访问密钥访问可信空间Enclave,调用其中的身份认证函数,实现对身份认证请求进行的处理;
验证共识模块,接受所述随机指定认证区块链节点广播的初步认证结果和区块,通过所述访问密钥访问可信空间,调用验证共识函数,实现对身份认证的结果的验证,并获得认证区块链中已经共识的节点数;
数据更新模块,对存储的身份认证数据进行更新操作。


4.根据权利要求3所述的基于SGX的非中心身份认证方法,其特征在于,所述SGX防护身份认证信息加密模块包括:
(a)采用Intel处理器的SGX技术,通过CPU的硬件模式切换,系统进入可信模式执行;
(b)生成身份认证数据和认证信息操作函数的密钥凭证,对需要加载的应用程序的代码和数据进行加密;
(c)用户空间的SGXLoader加载器加载身份认证数据和认证信息操作函数以及二者的密钥凭证,为加载至可信空间做准备;
(d)在可信模式下动态申请构建一个可信空间;
(e)将需要加载的程序和数据以可信缓存页面的形式首先通过密钥凭证解密;
(f)通过SGX指令证明解密后的程序和数据可信,并将其加载到可信空间中,然后对加载进可信空间中的每个可信缓存页面内容进行复制;
(g)启动可信空间初始化程序,禁止继续加载和验证可信缓存页面,生成可信空间身份凭证,并对此凭证进行加密,作为可信空间的访问密钥;
(h)SGX的隔离完成,通过硬件隔离的可...

【专利技术属性】
技术研发人员:黄步添焦颖颖刘振广陈建海张宏鑫
申请(专利权)人:杭州云象网络技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1