CN111901105A - 一种基于UEFI架构EDK2支持Openssl算法的方法与设备 - Google Patents
一种基于UEFI架构EDK2支持Openssl算法的方法与设备 Download PDFInfo
- Publication number
- CN111901105A CN111901105A CN202010698863.6A CN202010698863A CN111901105A CN 111901105 A CN111901105 A CN 111901105A CN 202010698863 A CN202010698863 A CN 202010698863A CN 111901105 A CN111901105 A CN 111901105A
- Authority
- CN
- China
- Prior art keywords
- content
- edk2
- user terminal
- public key
- test system
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Abstract
本申请的目的是提供一种基于UEFI架构EDK2支持Openssl算法的方案。该方案先将Openssl库移植到运行于用户终端设备上的EDK2,测试系统保存私钥,并将包含公钥的测试代码添加至EDK2,运行于所述用户终端设备,然后进行加解密验证,所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容。与现有技术相比,本申请将Openssl库移植到UEFI架构EDK2之后,解决EDK2支持Openssl RSA算法的问题,可以更加灵活方便地使用Openssl库支持的各种加解密算法,便于更好地保护用户的信息安全。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种基于UEFI架构EDK2支持OpensslRSA加解密的技术。
背景技术
随着智能终端设备的普及化,智能手机、平板电脑等电子产品逐渐成为人们日常生活中重要的组成部分。以智能手机为例,用户的照片、文档、各种应用的账号密码、使用记录等个人资料、隐私信息都会存储在手机之中,用户的信息安全问题逐渐引起大家的重视。高通平台UEFI架构的EDK2默认支持x509和数字证书的验签,但是该UEFI架构EDK2默认不支持基于Openssl算法功能,因此无法基于该UEFI架构EDK2实现完整的加解密和签名验签操作。这不利于保护用户的信息安全,而更好地保护用户的信息安全正是相关企业努力的方向。
发明内容
本申请的一个目的是提供一种基于UEFI架构EDK2支持Openssl算法的方法、设备及计算机可读介质。
根据本申请的一个方面,提供了一种基于UEFI架构EDK2支持Openssl算法的方法,其中,所述方法包括:
将Openssl库移植到EDK2,其中,所述EDK2运行于用户终端设备;
测试系统保存私钥,并将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备;
所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,进行加解密验证;
所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容,进行加解密验证。
根据本申请的另一个方面,还提供了一种基于UEFI架构EDK2支持Openssl算法的终端设备,其中,所述设备包括:
Openssl移植模块,将Openssl库移植到EDK2,其中,所述EDK2运行于用户终端设备;
密钥模块,测试系统保存私钥,并将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备;
第一验证模块,所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,进行加解密验证;
第二验证模块,所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容,进行加解密验证。
根据本申请的又一个方面,还提供了一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的基于UEFI架构EDK2支持Openssl算法的方法。
根据本申请的又一个方面,还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的基于UEFI架构EDK2支持Openssl算法的方法。
本申请提供的方案中,先将Openssl库移植到运行于用户终端设备上的EDK2,测试系统保存私钥,并将包含公钥的测试代码添加至EDK2,运行于所述用户终端设备,然后进行加解密验证,所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容。与现有技术相比,本申请将Openssl库移植到UEFI架构EDK2之后,解决EDK2支持Openssl算法的问题,可以更加灵活方便地使用Openssl库支持的各种加解密算法,便于更好地保护用户的信息安全。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其他特征、目的和优点将会变得更明显:
图1是根据本申请实施例的一种基于UEFI架构EDK2支持Openssl算法的方法流程图;
图2是根据本申请实施例的一种基于UEFI架构EDK2支持Openssl算法的软件开发流程图;
图3是根据本申请实施例的一种基于UEFI架构EDK2支持Openssl算法的设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了基于UEFI架构EDK2支持Openssl算法的方法,其中,UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)是一种详细描述类型接口的标准,EDK2(uEFI Development Kit,可扩展固件接口开发套件)是一套符合UEFI标准的实现,Openssl(Open Secure Sockets Layer,开放式安全套接层协议)是一个开放源代码的软件库包。OpensslRSA算法是一种非对称加密算法,可以支持公钥加密私钥解密,私钥签名公钥验签等安全相关的交互算法,应用十分广泛。高通平台UEFI架构的EDK2默认支持x509和数字证书的验签,它们属于Openssl库中的两种算法。
本申请将Openssl库移植到UEFI架构EDK2之后,解决EDK2支持Openssl完整算法的问题,使得Fastboot工具鉴权功能可以进行拓展,可以更加灵活方便地使用Openssl库支持的各种加解密算法,便于更好地保护用户的信息安全。
在实际场景中,执行该方法的设备可以是用户终端设备、网络设备或者用户终端设备与网络设备通过网络相集成所构成的设备。其中,所述用户终端设备包括但不限于智能手机、平板电脑、个人计算机(PC)等终端设备,所述网络设备包括但不限于网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图1是根据本申请实施例的一种基于UEFI架构EDK2支持Openssl算法的方法流程图,该方法包括步骤S101、步骤S102、步骤S103和步骤S104。
步骤S101,将Openssl库移植到EDK2,其中,所述EDK2运行于用户终端设备。
例如,获取所述Openssl库的方式可以是从官网(http://www.openssl.org/)下载开源的Openssl库,具体地,可以将所述Openssl库移植到edk2/QcomModulePkg/Library/OpenssllLib。EDK2默认不支持Openssl,因此需要解决编译环境不支持问题和库函数冲突问题。
在一个实施例中,所述步骤S101包括:将Openssl库移植到EDK2,按照UEFI规范添加到编译环境。解决环境冲突问题及库兼容问题。
步骤S102,测试系统保存私钥,并将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备。
例如,所述测试系统可以包括Linux系统、Ubuntu系统,其中,Ubuntu是一个以桌面应用为主的Linux操作系统;所述用户终端设备包括但不限于智能手机、平板电脑等终端设备。
OpensslRSA算法是一种非对称加密算法,可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。具体地,是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。
在一个实施例中,所述步骤S102包括:所述测试系统生成所述公钥和所述私钥,将所述公钥集成到测试代码中;并将所述测试代码添加至所述EDK2代码中,运行于所述用户终端设备;将所述私钥保存在所述测试系统中。例如,所述测试系统可以是Ubuntu系统,Ubuntu系统用命令生成公钥和私钥,所述私钥保存在Ubuntu系统中。具体地,Ubuntu系统生成私钥的命令可以是opensslgenrsa-out prikey.pem-f4 2048;生成公钥的命令可以是opensslrsa-in prikey.pem-pubout-out pubkey.pem。
在一个实施例中,所述步骤S102包括:将包含所述公钥的测试代码添加至所述EDK2的Fastboot代码中,其中,所述EDK2运行于所述用户终端设备。例如,可以在EDK2的Fastboot代码中添加测试代码,并将所述公钥集成到Fastboot测试代码中,将Fastboot测试程序添加至所述用户终端设备,Fastboot可以直观的输出字符串并可以通过屏幕显示。
步骤S103,所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,进行加解密验证。
例如,所述测试系统可以是Ubuntu系统,Ubuntu系统使用私钥解密的命令可以是opensslrsautl-decrypt-in hello.en-inkeytest_pri.key-out hello.de;使用公钥加密的命令可以是opensslrsautl-encrypt-in hello.txt-inkeytest_pub.key-pubin-outhello.en。
在一个实施例中,所述步骤S103包括:所述用户终端设备使用所述公钥加密第一待测内容得到第一加密内容,将所述第一加密内容发送至所述测试系统;所述测试系统使用所述私钥解密所述第一加密内容得到第一解密内容,对比所述第一待测内容与所述第一解密内容是否一致。
例如,如图2所示,测试代码添加RSA_public_encrypt(公钥加密API)加密一串字符串(即所述第一待测内容),加密后的内容用base64以字符的形式输出;在Ubuntu系统(即所述测试系统)中将测试代码加密后的字符内容(即所述第一加密内容)保存到文件中,使用私钥执行shell命令:opensslrsautl-decrypt-inkeypri.key-in b.txt,去解密文本内容(即所述第一加密内容),对比加密的字符串(即所述第一待测内容)和解密之后的字符串(即所述第一解密内容)是否一致。
其中,测试代码用到的API可以包括:
int RSA_public_encrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding);
int RSA_private_decrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding)
步骤S104,所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容,进行加解密验证。
在一个实施例中,所述步骤S104包括:所述测试系统使用所述私钥加密第二待测内容得到第二加密内容,将所述第二加密内容发送至所述用户终端设备;所述用户终端设备使用所述公钥解密所述第二加密内容得到第二解密内容,对比所述第二待测内容与所述第二解密内容是否一致。
例如,如图2所示,在Ubuntu系统(即所述测试系统)中用私钥执行加密命令:opensslrsautl-sign-in a.txt-inkeypri.key|base64>1.base64;测试代码添加RSA_public_decrypt(公钥解密API)去解密Ubuntu系统中私钥加密的内容的测试代码,并确认解密后的字符串(即所述第二解密内容)是否和加密的(即所述第二待测内容)一致。
其中,测试代码用到的API可以包括:
int RSA_private_encrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding);
int RSA_public_decrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding)
在一个实施例中,所述方法还包括:所述测试系统使用所述私钥对所述第三待测内容进行签名得到第三签名内容,将所述第三签名内容发送至所述用户终端设备;所述用户终端设备使用所述公钥对所述第三签名内容进行验签得到第三验签内容,对比所述第三待测内容与所述第三验签内容是否一致。
例如,所述测试系统可以是Ubuntu系统,Ubuntu系统使用私钥签名的命令可以是opensslrsautl-sign-in a.txt-inkeypri.key-out sign.txt;使用公钥验签的命令可以是opensslrsautl-verify-in sign.txt-pubin-inkeypub.key-out ok.txt。
其中,测试代码用到的API可以包括:
int RSA_sign(int type,const unsigned char*m,unsigned int m_len,unsigned char*sigret,unsigned int*siglen,RSA*rsa);
int RSA_verify(int type,const unsigned char*m,unsigned int m_len,unsigned char*sigbuf,unsigned int siglen,RSA*rsa)
图3是根据本申请实施例的一种基于UEFI架构EDK2支持Openssl算法的设备示意图,该设备包括Openssl移植模块301、密钥模块302、第一验证模块303和第二验证模块304。
Openssl移植模块301,将Openssl库移植到EDK2,其中,所述EDK2运行于用户终端设备。
例如,获取所述Openssl库的方式可以是从官网(http://www.openssl.org/)下载开源的Openssl库,具体地,可以将所述Openssl库移植到edk2/QcomModulePkg/Library/OpenssllLib。EDK2默认不支持Openssl,因此需要解决编译环境不支持问题和库函数冲突问题。
在一个实施例中,所述Openssl移植模块301包括:将Openssl库移植到EDK2,按照UEFI规范添加到编译环境。解决环境冲突问题及库兼容问题。
密钥模块302,测试系统保存私钥,并将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备。
例如,所述测试系统可以包括Linux系统、Ubuntu系统,其中,Ubuntu是一个以桌面应用为主的Linux操作系统;所述用户终端设备包括但不限于智能手机、平板电脑等终端设备。
OpensslRSA算法是一种非对称加密算法,可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。具体地,是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。
在一个实施例中,所述密钥模块302包括:所述测试系统生成所述公钥和所述私钥,将所述公钥集成到测试代码中;并将所述测试代码添加至所述EDK2代码中,运行于所述用户终端设备;将所述私钥保存在所述测试系统中。例如,所述测试系统可以是Ubuntu系统,Ubuntu系统用命令生成公钥和私钥,所述私钥保存在Ubuntu系统中。具体地,Ubuntu系统生成私钥的命令可以是opensslgenrsa-out prikey.pem-f4 2048;生成公钥的命令可以是opensslrsa-in prikey.pem-pubout-out pubkey.pem。
在一个实施例中,所述密钥模块302包括:将包含所述公钥的测试代码添加至所述EDK2的Fastboot代码中,其中,所述EDK2运行于所述用户终端设备。例如,可以在EDK2的Fastboot代码中添加测试代码,并将所述公钥集成到Fastboot测试代码中,将Fastboot测试程序添加至所述用户终端设备,Fastboot可以直观的输出字符串并可以通过屏幕显示。
第一验证模块303,所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,进行加解密验证。
例如,所述测试系统可以是Ubuntu系统,Ubuntu系统使用私钥解密的命令可以是opensslrsautl-decrypt-in hello.en-inkeytest_pri.key-out hello.de;使用公钥加密的命令可以是opensslrsautl-encrypt-in hello.txt-inkeytest_pub.key-pubin-outhello.en。
在一个实施例中,所述第一验证模块303包括:所述用户终端设备使用所述公钥加密第一待测内容得到第一加密内容,将所述第一加密内容发送至所述测试系统;所述测试系统使用所述私钥解密所述第一加密内容得到第一解密内容,对比所述第一待测内容与所述第一解密内容是否一致。
例如,如图2所示,测试代码添加RSA_public_encrypt(公钥加密API)加密一串字符串(即所述第一待测内容),加密后的内容用base64以字符的形式输出;在Ubuntu系统(即所述测试系统)中将测试代码加密后的字符内容(即所述第一加密内容)保存到文件中,使用私钥执行shell命令:opensslrsautl-decrypt-inkeypri.key-in b.txt,去解密文本内容(即所述第一加密内容),对比加密的字符串(即所述第一待测内容)和解密之后的字符串(即所述第一解密内容)是否一致。
其中,测试代码用到的API可以包括:
int RSA_public_encrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding);
int RSA_private_decrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding)
第二验证模块304,所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容,进行加解密验证。
在一个实施例中,所述第二验证模块304包括:所述测试系统使用所述私钥加密第二待测内容得到第二加密内容,将所述第二加密内容发送至所述用户终端设备;所述用户终端设备使用所述公钥解密所述第二加密内容得到第二解密内容,对比所述第二待测内容与所述第二解密内容是否一致。
例如,如图2所示,在Ubuntu系统(即所述测试系统)中用私钥执行加密命令:opensslrsautl-sign-in a.txt-inkeypri.key|base64>1.base64;测试代码添加RSA_public_decrypt(公钥解密API)去解密Ubuntu系统中私钥加密的内容的测试代码,并确认解密后的字符串(即所述第二解密内容)是否和加密的(即所述第二待测内容)一致。
其中,测试代码用到的API可以包括:
int RSA_private_encrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding);
int RSA_public_decrypt(int flen,unsigned char*from,unsigned char*to,RSA*rsa,int padding)
在一个实施例中,所述UEFI架构EDK2支持Openssl的设备还包括第三验证模块;所述第三验证模块包括:所述测试系统使用所述私钥对所述第三待测内容进行签名得到第三签名内容,将所述第三签名内容发送至所述用户终端设备;所述用户终端设备使用所述公钥对所述第三签名内容进行验签得到第三验签内容,对比所述第三待测内容与所述第三验签内容是否一致。
例如,所述测试系统可以是Ubuntu系统,Ubuntu系统使用私钥签名的命令可以是opensslrsautl-sign-in a.txt-inkeypri.key-out sign.txt;使用公钥验签的命令可以是opensslrsautl-verify-in sign.txt-pubin-inkeypub.key-out ok.txt。
其中,测试代码用到的API可以包括:
int RSA_sign(int type,const unsigned char*m,unsigned int m_len,unsigned char*sigret,unsigned int*siglen,RSA*rsa);
int RSA_verify(int type,const unsigned char*m,unsigned int m_len,unsigned char*sigbuf,unsigned int siglen,RSA*rsa)
综上所述,本申请可以使UEFI架构EDK2支持Openssl,实现EDK2完整的加密解密功能,可以更加灵活方便地使用Openssl库支持的各种加解密算法,便于更好地保护用户的信息安全。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,本申请的一些实施例提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述本申请的多个实施例的方法和/或技术方案。
此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种基于UEFI架构EDK2支持Openssl算法的方法,其中,所述方法包括:
将Openssl库移植到EDK2,其中,所述EDK2运行于用户终端设备;
测试系统保存私钥,并将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备;
所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,进行加解密验证;
所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容,进行加解密验证。
2.根据权利要求1所述的方法,其中,将Openssl库移植到EDK2,包括:
将Openssl库移植到EDK2,按照UEFI规范添加到编译环境。
3.根据权利要求1或2所述的方法,其中,将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备,包括:
将包含所述公钥的测试代码添加至所述EDK2的Fastboot代码中,其中,所述EDK2运行于所述用户终端设备。
4.根据权利要求1所述的方法,其中,所述测试系统保存私钥,并将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备,包括:
所述测试系统生成所述公钥和所述私钥,将所述公钥集成到测试代码中;并将所述测试代码添加至所述EDK2代码中,运行于所述用户终端设备;将所述私钥保存在所述测试系统中。
5.根据权利要求1所述的方法,其中,所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,进行加解密验证,包括:
所述用户终端设备使用所述公钥加密第一待测内容得到第一加密内容,将所述第一加密内容发送至所述测试系统;
所述测试系统使用所述私钥解密所述第一加密内容得到第一解密内容,对比所述第一待测内容与所述第一解密内容是否一致。
6.根据权利要求1所述的方法,其中,所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容,进行加解密验证,包括:
所述测试系统使用所述私钥加密第二待测内容得到第二加密内容,将所述第二加密内容发送至所述用户终端设备;
所述用户终端设备使用所述公钥解密所述第二加密内容得到第二解密内容,对比所述第二待测内容与所述第二解密内容是否一致。
7.根据权利要求1至6中任一项所述的方法,其中,所述方法还包括:
所述测试系统使用所述私钥对所述第三待测内容进行签名得到第三签名内容,将所述第三签名内容发送至所述用户终端设备;
所述用户终端设备使用所述公钥对所述第三签名内容进行验签得到第三验签内容,对比所述第三待测内容与所述第三验签内容是否一致。
8.一种基于UEFI架构EDK2支持Openssl算法的设备,其中,所述设备包括:
Openssl移植模块,将Openssl库移植到EDK2,其中,所述EDK2运行于用户终端设备;
密钥模块,测试系统保存私钥,并将包含公钥的测试代码添加至所述EDK2代码中,运行于所述用户终端设备;
第一验证模块,所述测试系统使用私钥解密所述用户终端设备使用公钥加密的内容,进行加解密验证;
第二验证模块,所述用户终端设备使用公钥解密所述测试系统使用私钥加密的内容,进行加解密验证。
9.一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010698863.6A CN111901105B (zh) | 2020-07-20 | 2020-07-20 | 一种基于UEFI架构EDK2支持Openssl算法的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010698863.6A CN111901105B (zh) | 2020-07-20 | 2020-07-20 | 一种基于UEFI架构EDK2支持Openssl算法的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111901105A true CN111901105A (zh) | 2020-11-06 |
CN111901105B CN111901105B (zh) | 2022-11-01 |
Family
ID=73189477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010698863.6A Active CN111901105B (zh) | 2020-07-20 | 2020-07-20 | 一种基于UEFI架构EDK2支持Openssl算法的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111901105B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783832A (zh) * | 2021-06-18 | 2021-12-10 | 中国地质大学(武汉) | 一种区块链常用密码学算法sdk包的开发制作方法及装置 |
CN116506188A (zh) * | 2023-05-04 | 2023-07-28 | 北京众谊越泰科技有限公司 | 一种基于b/s架构的非对称加密算法的操作方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007226545A (ja) * | 2006-02-23 | 2007-09-06 | Trinity Security Systems Inc | 情報管理装置、情報管理方法および情報管理プログラム |
CN103714299A (zh) * | 2013-12-25 | 2014-04-09 | 北京握奇数据系统有限公司 | 一种移动终端的文件加解密方法及系统 |
CN106462708A (zh) * | 2014-06-27 | 2017-02-22 | 英特尔公司 | 认证变量的管理 |
CN108055236A (zh) * | 2017-11-03 | 2018-05-18 | 深圳市轱辘车联数据技术有限公司 | 一种数据处理方法、车载设备及电子设备 |
CN109635522A (zh) * | 2018-11-13 | 2019-04-16 | 许继集团有限公司 | 一种动态库的防篡改方法及装置 |
CN110234102A (zh) * | 2018-07-13 | 2019-09-13 | Oppo广东移动通信有限公司 | 通信方法和设备 |
US20190340364A1 (en) * | 2018-05-04 | 2019-11-07 | Dell Products L.P. | Secure bios attribute system |
CN111431718A (zh) * | 2020-04-01 | 2020-07-17 | 中国人民解放军国防科技大学 | 基于tee扩展的计算机通用安全加密转换层方法及系统 |
-
2020
- 2020-07-20 CN CN202010698863.6A patent/CN111901105B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007226545A (ja) * | 2006-02-23 | 2007-09-06 | Trinity Security Systems Inc | 情報管理装置、情報管理方法および情報管理プログラム |
CN103714299A (zh) * | 2013-12-25 | 2014-04-09 | 北京握奇数据系统有限公司 | 一种移动终端的文件加解密方法及系统 |
CN106462708A (zh) * | 2014-06-27 | 2017-02-22 | 英特尔公司 | 认证变量的管理 |
CN108055236A (zh) * | 2017-11-03 | 2018-05-18 | 深圳市轱辘车联数据技术有限公司 | 一种数据处理方法、车载设备及电子设备 |
US20190340364A1 (en) * | 2018-05-04 | 2019-11-07 | Dell Products L.P. | Secure bios attribute system |
CN110234102A (zh) * | 2018-07-13 | 2019-09-13 | Oppo广东移动通信有限公司 | 通信方法和设备 |
CN109635522A (zh) * | 2018-11-13 | 2019-04-16 | 许继集团有限公司 | 一种动态库的防篡改方法及装置 |
CN111431718A (zh) * | 2020-04-01 | 2020-07-17 | 中国人民解放军国防科技大学 | 基于tee扩展的计算机通用安全加密转换层方法及系统 |
Non-Patent Citations (1)
Title |
---|
彭泉鑫: "基于UEFI的数字签名接口的设计和实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783832A (zh) * | 2021-06-18 | 2021-12-10 | 中国地质大学(武汉) | 一种区块链常用密码学算法sdk包的开发制作方法及装置 |
CN113783832B (zh) * | 2021-06-18 | 2022-09-23 | 中国地质大学(武汉) | 一种区块链常用密码学算法sdk包的开发制作方法及装置 |
CN116506188A (zh) * | 2023-05-04 | 2023-07-28 | 北京众谊越泰科技有限公司 | 一种基于b/s架构的非对称加密算法的操作方法和系统 |
CN116506188B (zh) * | 2023-05-04 | 2024-03-29 | 北京众谊越泰科技有限公司 | 一种基于b/s架构的非对称加密算法的操作方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111901105B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10917394B2 (en) | Data operations using a proxy encryption key | |
CN106778283B (zh) | 一种系统分区关键数据的保护方法及系统 | |
US20170295013A1 (en) | Method for fulfilling a cryptographic request requiring a value of a private key | |
US8489889B1 (en) | Method and apparatus for restricting access to encrypted data | |
US10083311B2 (en) | Cryptographic key | |
US20180227366A1 (en) | Providing access to a resource for a computer from within a restricted network | |
US20160314082A1 (en) | Application access control method and electronic apparatus implementing the same | |
TW201638798A (zh) | 用於在加密資料上進行查詢處理的資料庫伺服器及客戶端 | |
US8667281B1 (en) | Systems and methods for transferring authentication credentials | |
CN111901105B (zh) | 一种基于UEFI架构EDK2支持Openssl算法的方法与设备 | |
TW201942784A (zh) | 資料加密、解密方法及裝置 | |
US11791985B2 (en) | Tracking, storage and authentication of documented intellectual property | |
US11501016B1 (en) | Digital password protection | |
US10462113B1 (en) | Systems and methods for securing push authentications | |
US11934539B2 (en) | Method and apparatus for storing and processing application program information | |
US10049222B1 (en) | Establishing application trust levels using taint propagation | |
Nepal et al. | TruXy: Trusted storage cloud for scientific workflows | |
US9887979B1 (en) | Systems and methods for enabling users to launch applications without entering authentication credentials | |
CN112995109A (zh) | 数据加密系统、方法、数据处理方法、装置及电子设备 | |
CN108985109B (zh) | 一种数据存储方法及装置 | |
Kumar et al. | Data security and encryption technique for cloud storage | |
US20220014381A1 (en) | Message authentication code (mac) generation for live migration of encrypted virtual machiness | |
Rai et al. | Security and Auditing of Smart Devices: Managing Proliferation of Confidential Data on Corporate and BYOD Devices | |
US11265156B2 (en) | Secrets management using key agreement | |
US9537842B2 (en) | Secondary communications channel facilitating document security |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |