法律状态公告日
法律状态信息
法律状态
2022-07-29
公开
发明专利申请公布
技术领域
本发明属于计算机和信息安全技术领域,是一种能够建立TEE级别的密钥交换,并加速密钥分发交换的方法。
背景技术
伴随云计算技术与物联网技术的快速发展,人们正逐步迈向万物互联的智能世界。互联网金融、移动支付等对于数据隐私保护具有强烈要求的应用的数量呈现爆发式增长,这对于密码算法尤其是计算复杂度高的公钥密码算法提出了严峻的挑战。在以云计算技术为代表的服务侧,需要面对上亿级用户产生的海量数据,服务端需要在有限时间内完成这些用户的身份认证与数据保护。基于在线交易如此蓬勃发展的环境下,在线数据的保护和快速的进行加密认证与公钥交换成为了一个亟待解决的问题。
现有的传统公钥分发技术为了保证能够建立TEE(可信执行环境)级别的密钥交换,将密钥管理模块设计在可信执行环境中,通过富环境与可信执行环境之间端口通信来完成ECDH流程,如图1所示,其在建立通信的时候REE(富环境)与TEE(可信执行环境)之间进行了5次通信,双方的密钥管理模块各进行了生成公私密钥对和计算双方会话密钥SK,共计4次的实时计算,这就导致ECDH中实时生成公私钥而导致CPU开销巨大,以及富环境与可信执行环境交互次数过多,进而使得大幅度减少了CPU实时计算量较大,通信中双方的公钥交换速度慢且不够及时。
发明内容
本发明针对ECDH中实时生成公私钥而导致CPU开销巨大,以及富环境与可信执行环境交互次数过多情况提出一种在可信执行环境(TEE)中建立自适应公钥存储池的方法,大幅度减少了CPU实时计算量,加快了通信中双方的公钥交换。具体技术方案为:在通信双方的富环境中建立公钥池模块,与可信执行环境中的密钥管理模块相连接,实时获取公钥存储在公钥存储池中,并为每一对密钥进行唯一编号。建立通信时,请求方发送自己的公钥和此公钥对应的密钥编号,接收方接受公钥后,利用请求方公钥为自己的公钥和自己公钥对应的编号加密,并连同请求方的密钥编号一同发送给请求方,请求方根据密钥编号查找对应的私钥对数据进行解密,获得发送放的公钥和对应的编号。具体流程如下:
一种建立可信执行环境安全级别的密钥交换加速方法,其特征在于:所述密钥交换加速方法具体步骤如下:
步骤a,双方用户在富环境REE中通过专用安全接口接入公钥存储池;
步骤b,请求方发起连接建立请求,并开始同步从公钥存储池中获取安全的公钥;
步骤c,请求方开始请求对方公钥,并发送自己的一个公钥k1和对应的公钥编号f1,每个公私对应一个唯一密钥编号,对应其在公钥存储池中的具体位置;
步骤d,接收方验证请求方可信后,从公钥存储池中提取一个公钥k2,并储存记录公钥编号f2,将公钥k2和请求方密钥编号f1,经CA认证签名后,发送至请求方;
以下步骤双方同步进行:
步骤e,富环境中的CA认证模块将获得的对方公钥与己方公钥编号发送至可信执行环境中的安全认证模块TA;
步骤f,安全认证模块TA与密钥管理模块建立通信,通过密钥编号,从密钥管理模块中快速找到对应的私钥,通过对方公钥和己方私钥的计算,得到会话密钥SK;
步骤g,向CA返回success,表明可以使用会话密钥SK进行后续的通信。
步骤h,在当前公钥存储池的公钥进行数据通信的同时,继续从密钥管理模块中获取新的密钥对,公钥写入新的公钥存储池中,公钥存储池轮换使用,私钥保留在密钥管理模块中;
步骤i,当有新的连接请求建立时,继续从余量充足的公钥存储池中提取公钥,并更新公钥的编号,实现公私密钥的高速产生;更新公钥编号以实现高速切换公钥。
进一步地,对于交换密钥的双方,均包含富环境REE和可信执行环境TEE,其中在富环境REE中设有公钥存储池,安全认证模块CA和密钥监控模块,在可信执行环境TEE中设有密钥管理模块、安全认证模块TA。
进一步地,双方信息进行传输时,在彼此可信执行环境中通过国密算法产生公钥,传输公钥在富环境构建公钥存储池,同时对生成的密钥对进行唯一编号;请求方建立通信的同时发送自己的公钥并储存记录密钥编号。
进一步地,所述密钥管理模块构建在可信执行环境TEE中,用户通过安全认证模块CA提供的合法签名对产生的每个分发的公钥加密。
进一步地,所述公钥存储池,根据需要设置公钥更换模式。
进一步地,请求端和发送端根据公钥编号快速查询公钥,并对信息进行解密。
可以看出对比传统方法,此发明将REE与TEE的通信次数减少到了4次,并且在通信时无需实时生成公私密钥对,只需计算会话密钥SK,将实时计算次数减少到2次,并且在计算SK时无需等待一端结束,而是双方同步进行SK计算,大幅度加速并提升了密钥交换能力与安全性能。在以太网通信链路两端,安全认证模块CA和公钥存储池连接,在公钥存储池中给密钥编号,按需获取密钥。通信两端的公钥存储池是由可信执行环境的密钥管理模块生成,可避免密钥对生成后私钥的泄漏,接收方可以从公钥存储池中根据编号高速提取、切换密钥,可根据需要灵活设置密钥生成模式,可根据需要应对多种环境下的公钥分发,实现快速一对多,多对多的连接建立。请求端和发送端能根据密钥编号快速查询密钥对,并生成会话密钥。可根据设置公钥存储池更新频率,实现流量控制,压力抵抗。
附图说明
图1为本发明背景技术中所述的现有传统公钥分发技术的流程图。
图2为本发明实施例中所述的密钥交换加速方法的流程图。
具体实施方式
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
对比于图1的传统方法流程,本实施例提供的交换流程如图2所示,具体工作由2部份组成,流程如下:
(一)、密钥生成部分
密钥管理模块连接公钥存储池,将生成的密钥写入公钥储存池中,每个密钥对应一个唯一密钥编号,对应其在某个公钥存储池中的具体位置。可根据需要灵活设置密钥产生频率,可按需切换,可应对高速公钥分发需求,解密端根据编号快速查询私钥进行解密。
公钥存储池模块通过专用接口,接入密钥监控模块,随时保持和公钥存储池的通信状态,从公钥存储池接收剩余密钥数量,并按照设置好的阈值随时向密钥管理模块发送数量补充信息。
密钥管理模块中,可以根据密钥请求的时间,设置排队响应顺序和请求权重;若剩余密钥量无法响应密钥请求时,密钥监控模块发出密钥补充请求,密钥管理模块按照密钥请求权重值响应密钥补充请求;制定公钥存储池的高低两个阈值,当公钥存储池处于空闲时隙,且密钥剩余量低于低阈值时,进行密钥补充。
(二)、密钥交换部分,参照图2的流程中的步骤1至11。
S1,对于请求通信的甲方,由安全认证模块CA向自身的公钥存储池请求公钥以及对应编号。
S2,安全认证模块CA从公钥存储池中获取己方公钥k1,和该公钥对应编号f1。
S3,请求建立连接,请求方的安全认证模块CA将公钥k1和编号f1按经过签名认证后发送到接收方的安全认证模块CA。
S4,接收方的乙方到请求方公钥后,经CA安全认证后,类似于步骤S1,由其安全认证模块CA请求自身的公钥和对应编号。
S5,乙从自己的公钥存储池中取出一个公钥k2以及其编号f2。
S6,乙将得到的公钥k2以及编号f2经过CA认证签名后发送到甲。
以下步骤甲乙同步进行:
S7,双方的安全认证模块CA将接受到的对方公钥以及己方密钥编号发送到可信执行环境中的安全认证模块TA。
S8,安全认证模块TA将密钥编号发送到密钥管理模块中,请求对应的私钥。
S9,密钥管理模块通过密钥编号查找到对应私钥,并返回给安全认证模块TA。
S10,在安全认证模块TA中计算出甲乙双方通信需要的会话密钥SK。
S11,安全认证模块TA向CA发送success表示会话密钥SK计算成功,可以开始后续的通信。
上述步骤中,在当前公钥存储池的公钥进行数据通信的同时,如图2中的步骤
公钥存储池和密钥管理模块是从富环境REE到可信执行环境TEE建立的连接,不经过外部通信,能保证密钥产生的可靠性;通过密钥的编号进行传输解密可大大节约密钥的产生时间。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
机译: 在可信执行环境中加速应用程序执行的方法
机译: 副本可信执行环境:启用可信执行环境(TEE)的无缝复制 - 基于云中的切割
机译: 图形处理单元加速可信执行环境