基于系统级包管理的签名认证方法及服务器技术方案

技术编号:23891343 阅读:45 留言:0更新日期:2020-04-22 06:35
本发明专利技术提供一种基于系统级包管理的签名认证方法及服务器。所述方法包括:接收开发者发送的使用gpg密钥签名的软件包以及入库申请;对所述软件包进行签名验证;当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名;将签有官方仓库的gpg签名的软件包放入软件仓库中。本发明专利技术能够与系统级的包管理进行结合,实现系统级的签名认证,保证安全性。

【技术实现步骤摘要】
基于系统级包管理的签名认证方法及服务器
本专利技术涉及计算机
,尤其涉及一种基于系统级包管理的签名认证方法及服务器。
技术介绍
在一些对安全性要求较严的领域中,需要对系统安装软件包进行严格管控,只有符合要求并带有官方签名的软件包才能让用户进行安装。但目前常见的认证方式存在一些问题,一方面,不能与系统级的包管理进行结合,独立的认证容易被避开和出现漏洞;另一方面,认证机制没有深度集成进系统容易被删除或清理。
技术实现思路
本专利技术提供的基于系统级包管理的签名认证方法及服务器,能够与系统级的包管理进行结合,实现系统级的签名认证,保证安全性。第一方面,本专利技术提供一种基于系统级包管理的签名认证方法,包括:接收开发者发送的使用gpg密钥签名的软件包以及入库申请;对所述软件包进行签名验证;当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名;将签有官方仓库的gpg签名的软件包放入软件仓库中。可选地,所述接收开发者上传的使用gpg密钥签名的软件包包括:当开发者为第一次上传时,接收开发者上传的gpg公钥以及使用gpg密钥签名的软件包,并将所述gpg公钥进行保存。可选地,所述对所述软件包进行签名验证包括:首先查看所述软件包是否带有gpg签名,再根据上传者的身份信息,到gpg公钥库中匹配签名,确认开发者是否进行过身份登记入库,最后用身份匹配的gpg公钥对所述软件包进行签名认证,确认开发者身份是否真实。可选地,所述对所述软件包进行签名验证包括:搭建gpg签名验证环境;在搭建好签名验证环境后,使用密钥环中公钥对软件包的签名进行验证。可选地,所述擦除原有gpg签名包括:查看所述软件包的签名信息,根据签名信息找到对应的type信息,再进行擦除;对软件包进行擦除后,通过之前验证签名的命令进行验证是否擦除干净。第二方面,本专利技术提供一种服务器,包括:接收模块,用于接收开发者发送的使用gpg密钥签名的软件包以及入库申请;签名验证模块,用于对所述软件包进行签名验证;重新签名模块,用于当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名;入库模块,用于将签有官方仓库的gpg签名的软件包放入软件仓库中。可选地,所述接收模块,用于当开发者为第一次上传时,接收开发者上传的gpg公钥以及使用gpg密钥签名的软件包,并将所述gpg公钥进行保存。可选地,所述签名验证模块,用于首先查看所述软件包是否带有gpg签名,再根据上传者的身份信息,到gpg公钥库中匹配签名,确认开发者是否进行过身份登记入库,最后用身份匹配的gpg公钥对所述软件包进行签名认证,确认开发者身份是否真实。可选地,所述签名验证模块,用于搭建gpg签名验证环境;在搭建好签名验证环境后,使用密钥环中公钥对软件包的签名进行验证。可选地,所述重新签名模块,用于查看所述软件包的签名信息,根据签名信息找到对应的type信息,再进行擦除;对软件包进行擦除后,通过之前验证签名的命令进行验证是否擦除干净。第三方面,本专利技术提供一种用户设备,所述用户设备包括上述服务器。本专利技术实施例提供的基于系统级包管理的签名认证方法及服务器,接收开发者发送的使用gpg密钥签名的软件包以及入库申请,对所述软件包进行签名验证,当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名,将签有官方仓库的gpg签名的软件包放入软件仓库中,从而能够与系统级的包管理进行结合,实现系统级的签名认证,保证安全性。附图说明图1为本专利技术实施例提供的基于系统级包管理的签名认证方法的流程图;图2为本专利技术实施例提供的签名认证的整体架构示意图;图3为本专利技术实施例提供的deb包的签名结构示意图;图4为本专利技术实施例提供的服务器的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种基于系统级包管理的签名认证方法,如图1所示,所述方法包括:S11、接收开发者发送的使用gpg密钥签名的软件包以及入库申请。S12、对所述软件包进行签名验证。S13、当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名。S14、将签有官方仓库的gpg签名的软件包放入软件仓库中。本专利技术实施例提供的基于系统级包管理的签名认证方法,接收开发者发送的使用gpg密钥签名的软件包以及入库申请,对所述软件包进行签名验证,当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名,将签有官方仓库的gpg签名的软件包放入软件仓库中,从而能够与系统级的包管理进行结合,实现系统级的签名认证,保证安全性。下面结合图2对本专利技术实施例基于系统级包管理的签名认证方法进行详细说明。S21、开发者将软件包签名上传至服务器。首先,普通用户通过填写身份信息和上传自己的gpg公钥来申请成为开发者,若开发者还没有自己的gpg密钥,需要先生成gpg密钥,在命令终端通过gpg--gen-key命令生成自己的密钥。然后,开发者开发完软件后,用gpg密钥对软件包进行签名。运行debsigs--sign=origin-k[密钥标识ID][deb软件包]命令即可对软件包进行签名,debsigs使用源方式进行签名,生成的签名文件为_gpgorigin,密钥标识ID是指密钥指纹的最后两块8位数的ID。debsigs签名的结构如果图3所示,签名后软件包本身的签名验证过程是使用gpg生成一对密钥,用密钥对软件包进行签名,采用origin方式,形成_gpgorigin的签名文件,并且将公钥以证书的形式上传服务器。接着,开发者将带有签名的软件包上传并提交入库申请至服务器,等待服务器的审核。开发者可通过规定方式或邮件将已用gpg签名软件包发送给服务器管理员,若是第一次发送,开发者还需将自己的gpg公钥证书一起发送,服务器管理员将该开发者的gpg公钥保存进数据库,后续将介绍管理员用开发者的gpg公钥对开发者上传的软件包进行身份验证。S22、服务器对软件包进行签名验证。首先,服务器gpg签名验证环境搭建。导出用户上传签名包的公钥证书,将公钥存放为asc文件格式。在创建密钥环目录之后,将公钥导入至密钥环中,完成deb软件包验证前的公钥准备工作,具体步本文档来自技高网...

【技术保护点】
1.一种基于系统级包管理的签名认证方法,其特征在于,包括:/n接收开发者发送的使用gpg密钥签名的软件包以及入库申请;/n对所述软件包进行签名验证;/n当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名;/n将签有官方仓库的gpg签名的软件包放入软件仓库中。/n

【技术特征摘要】
1.一种基于系统级包管理的签名认证方法,其特征在于,包括:
接收开发者发送的使用gpg密钥签名的软件包以及入库申请;
对所述软件包进行签名验证;
当签名验证通过时,对所述软件包的格式及内容进行审查,审查通过后擦除原有gpg签名,并重新签上官方仓库的gpg签名;
将签有官方仓库的gpg签名的软件包放入软件仓库中。


2.根据权利要求1所述的方法,其特征在于,所述接收开发者上传的使用gpg密钥签名的软件包包括:当开发者为第一次上传时,接收开发者上传的gpg公钥以及使用gpg密钥签名的软件包,并将所述gpg公钥进行保存。


3.根据权利要求1所述的方法,其特征在于,所述对所述软件包进行签名验证包括:首先查看所述软件包是否带有gpg签名,再根据上传者的身份信息,到gpg公钥库中匹配签名,确认开发者是否进行过身份登记入库,最后用身份匹配的gpg公钥对所述软件包进行签名认证,确认开发者身份是否真实。


4.根据权利要求1或3所述的方法,其特征在于,所述对所述软件包进行签名验证包括:搭建gpg签名验证环境;在搭建好签名验证环境后,使用密钥环中公钥对软件包的签名进行验证。


5.根据权利要求1所述的方法,其特征在于,所述擦除原有gpg签名包括:查看所述软件包的签名信息,根据签名信息找到对应的type信息,再进行擦除;对软件包进行擦除后,通过之前验证签名的命令进行验证是否擦除干净。

【专利技术属性】
技术研发人员:于荣欢吴玲达黄晟赵忠文胡华全郝红星吕雅帅文波巩向武
申请(专利权)人:中国人民解放军战略支援部队航天工程大学天津麒麟信息技术有限公司
类型:发明
国别省市:北京;11

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

1