Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

OpenPGP 在 Junos OS 上实现安全包签名

了解如何在 Junos OS 上使用 OpenPGP 进行安全包签名,以确保软件包的真实性和完整性。

OpenPGP 概述

为了便于安全添加客户软件包,可以使用 OpenPGP(Pretty Good Privacy)进行自签名,并验证瞻博网络设备上安装或更新过程中涉及的软件或固件文件。OpenPGP 是一种广泛采用的加密标准,它使用非对称加密来提供数据的机密性、完整性和不可否认性。

您必须设置包含 GPG 安装的签名程序计算机,以生成私钥并对包进行签名。

您可以确保新创建的 OpenPGP 密钥的安全。任何有权访问私钥的人都可以在客户设备上运行的代码进行签名。

OpenPGP 的 Veriexec 功能

Junos OS 上的 Veriexec 功能强制要求所有软件都由有效的颁发机构(通常是 瞻博网络公司)签名。客户可以使用 OpenPGP(Pretty Good Privacy)对自己的软件包进行签名,以允许软件包在 Junos OS 上运行。

本节提供有关如何利用 OpenPGP 进行验证的分步演练,包括密钥生成、Junos 设备上的密钥安装、签名清单以及使用 OpenPGP 签名验证已签名的清单。

在生成 OpenPGP 密钥之前,请将 veriexec-openpgp.tgz 扩展 名添加到 Junos。要添加扩展,请在 Junos 设备上执行命令 request system software add veriexec-openpgp.tgz 。此命令可确保安装 OpenPGP 集成所需的组件,使其可供使用。

添加 veriexec-openpgp.tgz 扩展后,我们可以继续在签名器机器中生成 OpenPGP 密钥。

生成 OpenPGP 密钥的步骤

  1. 生成 OpenPGP 密钥:
    1. 打开终端或命令提示符。
    2. 执行以下命令以生成 RSA 密钥对:
    3. 这将生成一个密钥对并显示密钥 ID,稍后将用于验证。
  2. 在签名者计算机上导出公钥和私钥:
    1. 执行以下命令以导出签名者计算机上的公钥和私钥:

      保留扩展名为“.sec.asc”的导出私钥文件。

    2. ACA72B4719FD2523 替换为在步骤 1 中获取的密钥 ID。这些命令将生成公钥和私钥的 ASCII 装甲版本。
  3. 在 Junos 上安装公钥:
    1. 将公钥文件 (ACA72B4719FD2523.pub.asc) 复制到 Junos 设备。
    2. 在 Junos 设备上执行以下命令以安装公钥。
      这会将公钥添加到 veriexec 使用的信任存储中。
  4. 标志清单:

    若要对清单进行签名,您有两种选择,具体取决于您的要求。

    1. 选项 1:使用签名服务器:

      如果您有权访问 签名服务器,请按照下列步骤作:

      1. 创建或获取需要签名的清单文件(如清单)。

      2. 执行以下命令为清单生成和 OpenPGP 签名:

      3. 替换 server:port 为实际的签名服务器和端口。此命令使用 OpenPGP 对清单进行签名,并生成签名文件 (manifest.asc)

    2. 选项 2:在签名者计算机上使用 GPG 执行自签名:

      如果您希望使用 GPG 进行自我签名,请按照以下步骤作:

      1. 创建或获取需要签名的清单文件(如清单)。

      2. 执行以下命令以使用 OpenPGP 对清单进行签名并生成签名文件 (manifest.asc):

      3. 替换 server:port 为实际的签名服务器和端口。此命令使用 OpenPGP 对清单进行签名,并生成签名文件 (manifest.asc)

  5. 验证已签名的清单:
    1. 将已签名的清单文件(manifest 和 manifest.asc)复制到 Junos 设备。
    2. 在 Junos 设备上打开 Unix shell 或命令提示符。
    3. 执行以下命令以验证已签名的清单:

      /path/to/directory 替换为清单和关联文件所在的实际目录路径,将 /path/to/manifest 替换为清单文件的路径。Veriexec将使用公钥和相应的签名自动验证清单(包)。

    通过执行这些步骤,您可以利用 veriexec-openpgp 软件包来控制 Junos 使用的签名密钥和信任锚点,从而为客户软件包提供额外的安全和自定义选项。