一种基于操作系统软件包的签名认证方法和系统与流程

专利2022-05-09  77


本发明涉及计算机操作系统技术领域,尤其涉及一种基于操作系统软件包的签名认证方法和系统。



背景技术:

操作系统多使用rpm管理软件包。rpm(red-hatpackagemanager)是一款开源的软件包管理工具,包括redhat、openlinux、s.u.s.e.以及turbolinux等linux的分发版本都有采用,可以算是公认的行业标准了。

rpm软件包管理框架支持数字证书验证功能,开源的rpm软件包管理方式相对宽松,任何单位或个人都能通过gpg工具生成自己的秘钥对,并对rpm软件包进行签名验签,存在rpm软件包被肆意签名的风险;其次,gpg是国际规范,采用加密算法都是国际算法,在自主可控性和安全性上存在隐患;最后,gpg规范中使用的加密秘钥存储在文件系统中,存在重大安全隐患。对于一款主打安全的操作系统而言,使用上述rpm软件包管理框架管理软件包无疑存在巨大风险,首先,软件包来源不可靠;其次,系统安全体系可能被破坏。



技术实现要素:

本发明针对现有rpm软件包管理框架存在较大安全隐患的问题,提出一种基于操作系统软件包的签名认证方法和系统。

为了实现上述目的,本发明采用以下技术方案:

本发明一方面提出一种基于操作系统软件包的签名认证方法,包括:

步骤1,由开发者通过开发平台生成rpm软件包;

步骤2,待rpm软件包生成后,由开发者生成对应的公私钥对,并基于公钥向ca中心请求签发数字证书;

步骤3,待签发数字证书完成后,采用私钥对rpm软件包进行签名,并将已签名的rpm软件包发布出去;

步骤4,使用者从发布平台获取已签名的rpm软件包,并将与该rpm软件包签名相关的所有数字证书导入本地操作系统中;

步骤5,本地操作系统遍历所有数字证书以实现该rpm软件包的验签工作;

步骤6,待数字证书t1能够成功验签rpm软件包时,借助根证书t0验证该数字证书t1是否有效,如果验证有效,即可基于rpm软件包实施安装作业。

进一步地,所述步骤2还包括:

由开发者生成对应的公私钥对,将私钥导入到签名硬件密码钥匙中,且导入后的私钥不能从签名硬件密码钥匙读取出。

进一步地,所述签名硬件密码钥匙内部集成多种国密的加解密算法,将开发者生成的私钥使用sm1算法加密后存储在签名硬件密码钥匙中。

进一步地,所述步骤3包括:

步骤3-1,使用sm3算法对rpm软件包计算哈希值,并将哈希值写入文件头相应的字段中;

步骤3-2,使用sm2算法对上述步骤3-1计算得到的哈希值进行私钥签名,将签名值写入文件头相应的字段中。

进一步地,所述步骤5包括:

步骤5-1,读取rpm软件包文件头相应字段中的哈希值和签名值;

步骤5-2,遍历本地操作系统中的存储数据库,并取出一个数字证书;

步骤5-3,使用该数字证书对文件头的签名值进行验签,如果本次验签成功,则进入步骤6;如果本次验签失败,则返回步骤5-2继续取出下一个数字证书并执行验签,直到验签成功,则进入步骤6,如果遍历完所有的数字证书仍不能验签成功,则结束后续流程并提示rpm软件包安装失败。

进一步地,所述步骤6包括:

步骤6-1,从本地操作系统的存储数据库中获取根证书t0,并使用根证书t0对需要验证的数字证书t1进行有效性验证;如果验证成功,则证明所述数字证书t1合法有效,即可实施rpm软件包安装作业,如果验证失败,则进入步骤6-2;

步骤6-2,遍历本地操作系统的存储数据库中除根证书t0和需要验证的数字证书t1之外的所有数字证书,并从中取出一个数字证书ti;

步骤6-3,使用该数字证书ti验证数字证书t1的有效性;

如果验证成功,则返回执行步骤6-1,并使用根证书t0对所述数字证书ti的有效性进行验证,如果验证成功,则证明所述数字证书t1合法有效,即可实施rpm软件包安装作业,如果验证失败,则返回执行步骤6-2,并遍历本地操作系统的存储数据库中除根证书t0、数字证书t1以及数字证书ti之外的所有数字证书,对数字证书ti进行有效性验证;

如果验证失败,返回执行步骤6-2,并从中取出下一个数字证书ti 1,并使用该数字证书ti 1验证数字证书t1的有效性。

进一步地,所述步骤6-1还包括:

如果数字证书t1是由根ca中心签发的,则数字证书t1包括根ca中心采用自己私钥签名的信息;在验证数字证书t1有效性时,采用根ca中心的根证书t0公钥对数字证书t1中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书t1是由根ca中心合法签发的,即可实施rpm软件包安装作业。

进一步地,所述步骤6-3还包括:

如果数字证书t1是一级子ca中心签发的,则数字证书t1包括一级子ca中心采用自己私钥签名的信息;如果数字证书ti是由根ca中心签发的,数字证书ti包括根ca中心采用自己私钥签名的信息;

在使用该数字证书ti验证数字证书t1的有效性时,采用一级子ca中心的一级子根证书t01公钥对数字证书t1中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书t1是由一级子ca中心合法签发的,如果验签失败,则说明数字证书t1不是由一级子ca中心合法签发的;

在使用根证书t0对所述数字证书ti的有效性进行验证时,采用根ca中心的根证书t0公钥对数字证书ti中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书ti是由根ca中心合法签发的,即可实施rpm软件包安装作业,如果验签失败,则说明数字证书ti不是由根ca中心合法签发的。

本发明另一方面还提出一种基于操作系统软件包的签名认证系统,用于实现上述一种基于操作系统软件包的签名认证方法,所述系统包括:

开发平台,用于使开发者生成rpm软件包;

发布平台,用于待rpm软件包生成后,由开发者生成对应的公私钥对,并基于公钥向ca中心请求签发数字证书;待签发数字证书完成后,采用私钥对rpm软件包进行签名,并将已签名的rpm软件包发布出去;

本地操作系统,用于由使用者从发布平台获取已签名的rpm软件包,并导入与该rpm软件包签名相关的所有数字证书;并遍历所有数字证书以实现该rpm软件包的验签工作;待数字证书t1能够成功验签rpm软件包时,借助根证书t0验证该数字证书t1是否有效,如果验证有效,即可基于rpm软件包实施安装作业。

进一步地,所述已签名的rpm软件包包括文件头和文件数据,所述文件头包括哈希值和签名值,所述哈希值是使用sm3算法对rpm软件包进行计算获得的;所述签名值是使用sm2算法对上述计算得到的哈希值进行私钥签名获得的。

与现有技术相比,本发明具有的有益效果:

1)本发明引入多级签名验签机制,用户在安全操作系统上安装rpm软件包时不仅需要验证签名的正确性,同时还要验证验签的数字证书是否由根证书“直接”或“间接”签发的,确保rpm软件包来源是可靠的;

2)本发明使用国密算法sm2算法对软件包进行签名验签,大大增加了密码的自主可控性和安全性;

3)本发明将签名私钥使用sm1算法加密存储在签名硬件密码钥匙中,进一步保证私钥的安全性;

4)rpm软件包的开发者对软件包进行签名,签名前将签名私钥导入到签名硬件密码钥匙内部,同时将验签公钥的数字证书发布出去。签名时,需要将签名硬件密码钥匙插入到计算机设备上。安装rpm软件包前,用户需要首先获得验签相关的所有数字证书,导入到本地操作系统中,安装时不仅要验证签名值还要验证签名证书是否是根证书“直接”或“间接”签发的。有鉴于此,只有通过根证书“直接”或“间接”签发的私钥签名的rpm软件包才能正常安装,有效防止恶意rpm软件包的扩散,保证了系统的安全性。

附图说明

图1为本发明一种基于操作系统软件包的签名认证方法的基本流程图;

图2为本发明的公私钥对生成及数字证书签发的具体工作流程图;

图3为本发明在rpm软件包签名和验签时的具体工作流程图;

图4为本发明rpm软件包的签名流程图;

图5为本发明rpm软件包的验签流程图;

图6为本发明的数字证书合法性验证流程图。

具体实施方式

下面结合附图和具体的实施例对本发明做进一步的解释说明:

如图1所示,本发明第一方面提出一种基于操作系统软件包的签名认证方法,所述方法包括以下步骤:

步骤1,由开发者通过开发平台生成rpm软件包;

步骤2,待rpm软件包生成后,由开发者生成对应的公私钥对,并基于公钥向ca中心请求签发数字证书;

步骤3,待签发数字证书完成后,采用私钥对rpm软件包进行签名,并将已签名的rpm软件包发布出去;

步骤4,使用者从发布平台获取已签名的rpm软件包,并将与该rpm软件包签名相关的所有数字证书导入本地操作系统中;

步骤5,本地操作系统遍历所有数字证书以实现该rpm软件包的验签工作;

步骤6,待某数字证书t1能够成功验签rpm软件包时,则进一步借助根证书t0验证该数字证书t1是否有效,如果验证有效,即可基于rpm软件包实施安装作业。

进一步地,如图2所示,上述步骤2,具体还包括:

由开发者生成对应的公私钥对,将私钥导入到签名硬件密码钥匙中,且导入后的私钥不能从签名硬件密码钥匙读取出。

进一步地,所述签名硬件密码钥匙内部集成多种国密的加解密算法,将开发者生成的私钥使用sm1算法加密后存储在签名硬件密码钥匙中。

在本发明中,通过合理的管理秘钥的存放,大大提高了rpm软件包管理的安全性。rpm软件开发者生成一对公私钥对,将私钥导入到签名硬件密码钥匙中。可以理解,签名硬件密码钥匙有多种存在形式,例如usb、pcie卡、tf卡等;签名硬件密码钥匙身份鉴别方式有多种形式,例如指纹、虹膜、口令等;具体的,所述签名硬件密码钥匙可以为usbkey设备,但不限于此。出于安全性的设计,导入后私钥不能从签名硬件密码钥匙取出,这是由硬件决定的,这样的设计大大增加了私钥的存储安全性。公钥由ca认证中心生成合法证书,发布到网络上供用户使用。当用户安装某个rpm软件包时,先要去获取rpm软件包签名对应的数字证书,并将该数字证书导入到本地操作系统中,本地操作系统可以导入多个数字证书。

如图3所示,在具体实施例中,rpm软件包发布之前,开发者使用硬件密码钥匙对rpm软件包签名,具体做如下处理:①使用sm3算法对rpm软件包计算哈希值,并将哈希值写入文件头相应的字段中;②使用sm2算法对步骤①计算得到的哈希值进行签名,将签名值写入文件头相应的字段中。rpm软件包使用者在安装rpm软件包时对rpm软件包进行验签,具体步骤如下:①从系统中取出每一个公钥证书;②使用该公钥证书对文件头的签名值进行验签;如果本次验签失败,程序会继续取出下一个公钥证书,并执行步骤②,直到验签成功或遍历完所有的公钥证书。③如果验签成功,则验证证书是否为合法证书。

在实际应用中,可以将对应的usbkey设备插入开发者本地的计算机设备上,此时计算机设备开始枚举外设的usbkey设备,并使用sm3算法计算哈希(hash)值并存储到文件扩展属性中;然后使用导入到usbkey设备中的私钥对hash值进行签名,并将签名值保存到文件扩展属性中。如图4所示。

进一步地,上述步骤3,具体包括:

步骤3-1,使用sm3算法对rpm软件包计算哈希值,并将哈希值写入文件头相应的字段中;

步骤3-2,使用sm2算法对上述步骤3-1计算得到的哈希值进行私钥签名,将签名值写入文件头相应的字段中。

可以理解,为了防止引入木马程序、破坏系统的安全体系,确保rpm软件包来源可靠,用户在安装rpm软件包时,需要对所安装的rpm软件包进行验签,只有验签正确的rpm软件包才允许被安装,具体验签流程如图5所示。

进一步地,上述步骤5,具体包括:

步骤5-1,读取rpm软件包文件头相应字段中的哈希值和签名值;

步骤5-2,遍历本地操作系统中的存储数据库,并取出一个数字证书;

步骤5-3,使用该数字证书对文件头的签名值进行验签,如果本次验签成功,则进入步骤6;如果本次验签失败,则返回步骤5-2继续取出下一个数字证书并执行验签,直到验签成功,则进入步骤6,如果遍历完所有的数字证书仍不能验签成功,则结束后续流程并提示rpm软件包安装失败。

为了防止他人伪造签名,本发明增加了对数字证书合法性的验证。数字证书合法性验证流程如图6所示:

进一步地,上述步骤6,具体包括:

步骤6-1,从本地操作系统的存储数据库中获取根证书t0,并使用根证书t0对需要验证的数字证书t1进行有效性验证;如果验证成功,则证明所述数字证书t1合法有效,即可实施rpm软件包安装作业,如果验证失败,则进入步骤6-2;

步骤6-2,遍历本地操作系统的存储数据库中除根证书t0和需要验证的数字证书t1之外的所有数字证书,并从中取出一个数字证书ti;

步骤6-3,使用该数字证书ti验证数字证书t1的有效性;

如果验证成功,则返回执行步骤6-1,并使用根证书t0对所述数字证书ti的有效性进行验证,如果验证成功,则证明所述数字证书t1合法有效,即可实施rpm软件包安装作业,如果验证失败,则返回执行步骤6-2,并遍历本地操作系统的存储数据库中除根证书t0、数字证书t1以及数字证书ti之外的所有数字证书,对数字证书ti进行有效性验证;

如果验证失败,返回执行步骤6-2,并从中取出下一个数字证书ti 1,并使用该数字证书ti 1验证数字证书t1的有效性。

进一步地,上述步骤6-1,具体还包括:

如果数字证书t1是由根ca中心签发的,则数字证书t1包括根ca中心采用自己私钥签名的信息;在验证数字证书t1有效性时,采用根ca中心的根证书t0公钥对数字证书t1中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书t1是由根ca中心合法签发的,即可实施rpm软件包安装作业。

进一步地,上述步骤6-3,具体还包括:

如果数字证书t1是一级子ca中心签发的,则数字证书t1包括一级子ca中心采用自己私钥签名的信息;如果数字证书ti是由根ca中心签发的,数字证书ti包括根ca中心采用自己私钥签名的信息;

在使用该数字证书ti验证数字证书t1的有效性时,采用一级子ca中心的一级子根证书t01公钥对数字证书t1中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书t1是由一级子ca中心合法签发的,如果验签失败,则说明数字证书t1不是由一级子ca中心合法签发的;

在使用根证书t0对所述数字证书ti的有效性进行验证时,采用根ca中心的根证书t0公钥对数字证书ti中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书ti是由根ca中心合法签发的,即可实施rpm软件包安装作业,如果验签失败,则说明数字证书ti不是由根ca中心合法签发的。

可以理解,对数字证书t1的有效性验证过程可能是多级验证,市级应用中,ca中心可以根据业务、职能需求分为:根ca中心、一级子ca中心、二级子ca中心、三级子ca中心…。根ca中心对应根证书t0,一级子ca中心对应一级子根证书t01,二级子ca中心对应二级子根证书t02,三级子ca中心对应三级子根证书t03…。上一级ca中心能够签发下一级ca中心的根证书,下一级的数字证书合法性验证过程则需要上一级ca中心的根证书,如果数字证书t1是三级子ca中心签发的“四级”数字证书,则具体验证流程为:(1)通过三级子ca中心的三级子根证书t03验证数字证书t1的有效性;(2)待验证成功后,通过二级子ca中心的二级子根证书t02验证三级子根证书t03的有效性;(3)待验证成功后,通过一级子ca中心的一级子根证书t01验证二级子根证书t02的有效性;(4)待验证成功后,通过根ca中心的根证书t0验证一级子根证书t01的有效性,待验证成功后,即可实施rpm软件包安装作业。综上,根ca中心为验证签名rpm软件包的数字证书的权威机构,无论多级验证的验证次数多少,只要最后能够通过根ca中心的根证书t0验证即可认为用于签名rpm软件包的数字证书是合法有效的。

本发明第二方面还提出一种基于操作系统软件包的签名认证系统,用于实现上述的一种基于操作系统软件包的签名认证方法,所述系统包括:

开发平台,用于使开发者生成rpm软件包;

发布平台,用于待rpm软件包生成后,由开发者生成对应的公私钥对,并基于公钥向ca中心请求签发数字证书;待签发数字证书完成后,采用私钥对rpm软件包进行签名,并将已签名的rpm软件包发布出去;

本地操作系统,用于由使用者从发布平台获取已签名的rpm软件包,并导入与该rpm软件包签名相关的所有数字证书;并遍历所有数字证书以实现该rpm软件包的验签工作;待某数字证书t1能够成功验签rpm软件包时,则进一步借助根证书t0验证该数字证书t1是否有效,如果验证有效,即可基于rpm软件包实施安装作业。

进一步地,所述已签名的rpm软件包包括文件头和文件数据,所述文件头包括哈希值和签名值,所述哈希值是使用sm3算法对rpm软件包进行计算获得的;所述签名值是使用sm2算法对上述计算得到的哈希值进行私钥签名获得的。

综上,本发明引入多级签名验签机制,用户在安全操作系统上安装rpm软件包时不仅需要验证签名的正确性,同时还要验证验签的数字证书是否由根证书“直接”或“间接”签发的,确保rpm软件包来源是可靠的。本发明使用国密算法sm2算法对软件包进行签名验签,大大增加了密码的自主可控性和安全性。本发明将签名私钥使用sm1算法加密存储在签名硬件密码钥匙中,进一步保证私钥的安全性。rpm软件包的开发者对软件包进行签名,签名前将签名私钥导入到签名硬件密码钥匙内部,同时将验签公钥的数字证书发布出去。签名时,需要将签名硬件密码钥匙插入到计算机设备上。安装rpm软件包前,用户需要首先获得验签相关的所有数字证书,导入到本地操作系统中,安装时不仅要验证签名值还要验证签名证书是否是根证书“直接”或“间接”签发的。有鉴于此,只有通过根证书“直接”或“间接”签发的私钥签名的rpm软件包才能正常安装,有效防止恶意rpm软件包的扩散,保证了系统的安全性。

以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。


技术特征:

1.一种基于操作系统软件包的签名认证方法,其特征在于,包括:

步骤1,由开发者通过开发平台生成rpm软件包;

步骤2,待rpm软件包生成后,由开发者生成对应的公私钥对,并基于公钥向ca中心请求签发数字证书;

步骤3,待签发数字证书完成后,采用私钥对rpm软件包进行签名,并将已签名的rpm软件包发布出去;

步骤4,使用者从发布平台获取已签名的rpm软件包,并将与该rpm软件包签名相关的所有数字证书导入本地操作系统中;

步骤5,本地操作系统遍历所有数字证书以实现该rpm软件包的验签工作;

步骤6,待数字证书t1能够成功验签rpm软件包时,借助根证书t0验证该数字证书t1是否有效,如果验证有效,即可基于rpm软件包实施安装作业。

2.根据权利要求1所述的一种基于操作系统软件包的签名认证方法,其特征在于,所述步骤2还包括:

由开发者生成对应的公私钥对,将私钥导入到签名硬件密码钥匙中,且导入后的私钥不能从签名硬件密码钥匙读取出。

3.根据权利要求2所述的一种基于操作系统软件包的签名认证方法,其特征在于,所述签名硬件密码钥匙内部集成多种国密的加解密算法,将开发者生成的私钥使用sm1算法加密后存储在签名硬件密码钥匙中。

4.根据权利要求1所述的一种基于操作系统软件包的签名认证方法,其特征在于,所述步骤3包括:

步骤3-1,使用sm3算法对rpm软件包计算哈希值,并将哈希值写入文件头相应的字段中;

步骤3-2,使用sm2算法对上述步骤3-1计算得到的哈希值进行私钥签名,将签名值写入文件头相应的字段中。

5.根据权利要求4所述的一种基于操作系统软件包的签名认证方法,其特征在于,所述步骤5包括:

步骤5-1,读取rpm软件包文件头相应字段中的哈希值和签名值;

步骤5-2,遍历本地操作系统中的存储数据库,并取出一个数字证书;

步骤5-3,使用该数字证书对文件头的签名值进行验签,如果本次验签成功,则进入步骤6;如果本次验签失败,则返回步骤5-2继续取出下一个数字证书并执行验签,直到验签成功,则进入步骤6,如果遍历完所有的数字证书仍不能验签成功,则结束后续流程并提示rpm软件包安装失败。

6.根据权利要求1所述的一种基于操作系统软件包的签名认证方法,其特征在于,所述步骤6包括:

步骤6-1,从本地操作系统的存储数据库中获取根证书t0,并使用根证书t0对需要验证的数字证书t1进行有效性验证;如果验证成功,则证明所述数字证书t1合法有效,即可实施rpm软件包安装作业,如果验证失败,则进入步骤6-2;

步骤6-2,遍历本地操作系统的存储数据库中除根证书t0和需要验证的数字证书t1之外的所有数字证书,并从中取出一个数字证书ti;

步骤6-3,使用该数字证书ti验证数字证书t1的有效性;

如果验证成功,则返回执行步骤6-1,并使用根证书t0对所述数字证书ti的有效性进行验证,如果验证成功,则证明所述数字证书t1合法有效,即可实施rpm软件包安装作业,如果验证失败,则返回执行步骤6-2,并遍历本地操作系统的存储数据库中除根证书t0、数字证书t1以及数字证书ti之外的所有数字证书,对数字证书ti进行有效性验证;

如果验证失败,返回执行步骤6-2,并从中取出下一个数字证书ti 1,并使用该数字证书ti 1验证数字证书t1的有效性。

7.根据权利要求6所述的一种基于操作系统软件包的签名认证方法,其特征在于,所述步骤6-1还包括:

如果数字证书t1是由根ca中心签发的,则数字证书t1包括根ca中心采用自己私钥签名的信息;在验证数字证书t1有效性时,采用根ca中心的根证书t0公钥对数字证书t1中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书t1是由根ca中心合法签发的,即可实施rpm软件包安装作业。

8.根据权利要求6所述的一种基于操作系统软件包的签名认证方法,其特征在于,所述步骤6-3还包括:

如果数字证书t1是一级子ca中心签发的,则数字证书t1包括一级子ca中心采用自己私钥签名的信息;如果数字证书ti是由根ca中心签发的,数字证书ti包括根ca中心采用自己私钥签名的信息;

在使用该数字证书ti验证数字证书t1的有效性时,采用一级子ca中心的一级子根证书t01公钥对数字证书t1中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书t1是由一级子ca中心合法签发的,如果验签失败,则说明数字证书t1不是由一级子ca中心合法签发的;

在使用根证书t0对所述数字证书ti的有效性进行验证时,采用根ca中心的根证书t0公钥对数字证书ti中的私钥签名信息进行验签,如果验签成功,则说明所述数字证书ti是由根ca中心合法签发的,即可实施rpm软件包安装作业,如果验签失败,则说明数字证书ti不是由根ca中心合法签发的。

9.一种基于操作系统软件包的签名认证系统,用于实现上述权利要求1至8任意一项所述的基于操作系统软件包的签名认证方法,其特征在于,所述系统包括:

开发平台,用于使开发者生成rpm软件包;

发布平台,用于待rpm软件包生成后,由开发者生成对应的公私钥对,并基于公钥向ca中心请求签发数字证书;待签发数字证书完成后,采用私钥对rpm软件包进行签名,并将已签名的rpm软件包发布出去;

本地操作系统,用于由使用者从发布平台获取已签名的rpm软件包,并导入与该rpm软件包签名相关的所有数字证书;并遍历所有数字证书以实现该rpm软件包的验签工作;待数字证书t1能够成功验签rpm软件包时,借助根证书t0验证该数字证书t1是否有效,如果验证有效,即可基于rpm软件包实施安装作业。

10.根据权利要求9所述的一种基于操作系统软件包的签名认证系统,其特征在于,所述已签名的rpm软件包包括文件头和文件数据,所述文件头包括哈希值和签名值,所述哈希值是使用sm3算法对rpm软件包进行计算获得的;所述签名值是使用sm2算法对上述计算得到的哈希值进行私钥签名获得的。

技术总结
本发明公开一种基于操作系统软件包的签名认证方法和系统,所述方法包括:由开发者通过开发平台生成RPM软件包;待RPM软件包生成后,由开发者生成对应的公私钥对,并基于公钥向CA中心请求签发数字证书;待签发数字证书完成后,采用私钥对RPM软件包进行签名,并将已签名的RPM软件包发布出去;使用者从发布平台获取已签名的RPM软件包,并将与该RPM软件包签名相关的所有数字证书导入本地操作系统中;本地操作系统遍历所有数字证书以实现该RPM软件包的验签工作;待数字证书T1能够成功验签RPM软件包时,借助根证书T0验证该数字证书T1是否有效,如果验证有效,即可基于RPM软件包实施安装作业。本发明可以确保RPM软件包来源的可靠性。

技术研发人员:宗澎;王超;黄勇;江淋;马骥
受保护的技术使用者:郑州信大捷安信息技术股份有限公司
技术研发日:2021.06.03
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-8334.html

最新回复(0)