Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

了解 OpenPGP 以及如何在 Junos OS 上执行安全包签名。

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

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

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

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 密钥。

  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 使用的签名密钥和信任锚点,从而为客户软件包提供额外的安全和自定义选项。