

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Transfer Family 中管理 SSH 和 PGP 密钥
<a name="key-management"></a>

在本节中，您可以找到有关 SSH 密钥的信息，包括如何生成密钥以及如何轮换的信息。有关使用 Transfer Family Amazon Lambda 来管理密钥的详细信息，请参阅博客文章 “使用[Amazon Transfer Family 和启用用户自助服务密钥管理](https://www.amazonaws.cn/blogs/storage/enabling-user-self-service-key-management-with-aws-transfer-family-and-aws-lambda/)” Amazon Lambda。有关自动部署和管理拥有多个 SSH 密钥的用户，请参阅[Transfer Family terraform 模块](terraform.md)。

**注意**  
Amazon Transfer Family 接受用于 SSH 身份验证的 RSA、ECDSA 和 ED25519 密钥。

本节还介绍如何生成与管理 Pretty Good Privacy (PGP) 密钥。

有关所有支持的加密和密钥算法的全面概述，包括针对不同用例的建议，请参阅[加密和密钥算法概述](#encryption-algorithms-overview)。

## 加密和密钥算法概述
<a name="encryption-algorithms-overview"></a>

Amazon Transfer Family 支持用于不同目的的不同类型的算法。了解针对您的特定用例使用哪些算法有助于确保文件传输的安全性和兼容性。


**算法快速参考**  

| 使用场景 | 推荐算法 | 符合 FIPS | 注意 | 
| --- | --- | --- | --- | 
| SSH/SFTP 身份验证 | RSA (rsa-sha2-256/512)、ECDSA 或 ED25519 | RSA：是的，ECDSA：是，：否 ED25519 | 与所有 SSH 客户端和服务器兼容 | 
| PGP 密钥生成 | RSA 或 ECC (NIST) | 是 | 用于工作流程解密 | 
| PGP 文件加密 | AES-256 | 是 | 由 PGP 软件决定 | 

## SSH 身份验证算法
<a name="ssh-authentication-algorithms"></a>

这些算法用于在客户端和 Amazon Transfer Family 服务器之间进行 SSH/SFTP 身份验证。在为用户身份验证或服务器主机密钥生成 SSH 密钥对时，请选择其中一个。

RSA（推荐）  
**与所有 SSH 客户端和服务器兼容，并且符合 FIPS。**与 SHA-2 哈希一起使用可增强安全性：  
+ `rsa-sha2-256`-推荐用于大多数用例
+ `rsa-sha2-512`-更高的安全性选项

ED25519  
**现代而高效。**密钥大小更小，安全性强：  
+ `ssh-ed25519`-快速安全，但不符合 FIPS

ECDSA  
**椭圆曲线选项。**安全性和性能的良好平衡：  
+ `ecdsa-sha2-nistp256`-标准曲线
+ `ecdsa-sha2-nistp384`-更高的安全性曲线
+ `ecdsa-sha2-nistp521`-最高安全性曲线

**注意**  
我们 SHA1 支持`ssh-rsa`较旧的安全策略。有关更多信息，请参阅 [加密算法](security-policies.md#cryptographic-algorithms)。

**选择正确的 SSH 算法**
+ **对于大多数用户：将** RSA 与或一起`rsa-sha2-256`使用 `rsa-sha2-512`
+ **为了符合 FIPS 标准：**使用 RSA 或 ECDSA 算法
+ **适用于现代环境：** ED25519 提供卓越的安全性和性能

## PGP 加密和解密算法
<a name="pgp-encryption-algorithms"></a>

PGP（Pretty Good Privacy）使用两种类型的算法协同工作来加密和解密工作流程中的文件：

1. **密钥对算法**-用于生成用于加密和数字签名的密 public/private 钥对

1. **对称算法**-用于加密实际文件数据（key pair 算法加密对称密钥）

### PGP key pair 算法
<a name="pgp-key-algorithms"></a>

生成用于工作流解密的 PGP 密钥对时，请选择以下算法之一：

RSA（推荐）  
**建议大多数用户使用。**广泛支持、成熟且符合 FIPS 标准。在安全性和兼容性之间取得了良好的平衡。

ECC（椭圆曲线密码学）  
在保持强大安全性的同时，密钥大小较小，**比 RSA 更高效**：  
+ **NIST 曲线**-广泛支持标准曲线且符合 FIPS
+ **BrainPool 曲线**-针对特定合规要求的替代曲线
+ **Curve25519**-现代高性能曲线提供强大的安全性和高效的计算

ElGamal  
**传统算法。**支持与旧系统兼容。使用 RSA 或 ECC 进行新的实现。

有关生成 PGP 密钥的详细说明，请参阅[生成 PGP 密钥](generate-pgp-keys.md)。

### PGP 对称加密算法
<a name="pgp-symmetric-algorithms"></a>

这些算法会加密您的实际文件数据。使用的算法取决于 PGP 软件创建 PGP 文件的方式：

**符合 FIPS 的算法（建议在受监管的环境中使用）**
+ **AES-128、AES-192、AES-256**-高级加密标准（推荐）
+ **3DES**-三重数据加密标准（旧版，尽可能使用 AES）

**其他支持的算法**
+ IDEA、 CAST5、Blowfish、DES TwoFish、、CAMELLIA-128、CAMELLIA-192、CAMELLIA-256

**注意**  
使用 Amazon Transfer Family 工作流程时，您不会直接选择对称算法，而是由用于创建加密文件的 PGP 软件决定的。但是，您可以将 PGP 软件配置为首选符合 FIPS 的算法，例如 AES-256。

有关支持的对称算法的更多信息，请参见[支持的对称加密算法](nominal-steps-workflow.md#symmetric-algorithms)。