# Send 加密

{% hint style="success" %}
协议对应的[官方文档地址](https://bitwarden.com/help/article/send-encryption/)
{% endhint %}

Send 是一种安全和短暂的机制，用于向任何人传输敏感信息，包括纯文本和文件。正如[关于 Send](/docs/password-manager/bitwarden-send/about-send.md) 一文所指出的，Send 是**端到端加密**的，这意味着加密（如下所述）和解密发生在客户端内。当您创建一个 Send 时：

1. 生成一个用于 Send 的新的 128 位秘钥。
2. 使用 HKDF-SHA256，从秘钥中派生出一个 512 位的加密密钥。
3. 派生的加密密钥用于 AES-256 加密 Send，包括其文件/文本数据和元数据（名称、文件名、备注等）。
4. 加密后的 Send 被上传到 Bitwarden 服务器，包括一个唯一的 Send ID，Bitwarden 会使用该 ID 来[识别要解密的 Send](/docs/password-manager/bitwarden-send/send-encryption.md#send-decryption)，但**不包括**加密密钥。

{% hint style="success" %}
任何用于保护 Send 的[密码](/docs/password-manager/bitwarden-send/send-privacy.md#send-passwords)都**不涉及 Send 的加密**和解密。密码纯粹是一种验证方式，但是在密码验证成功之前，将[阻止解密](/docs/password-manager/bitwarden-send/send-encryption.md#send-decryption)受密码保护的 Send。
{% endhint %}

## Send 解析 <a href="#send-anatomy" id="send-anatomy"></a>

打开 [Send 链接](/docs/password-manager/bitwarden-send/receive-a-send.md)即可解密 Send 内容，该链接由唯一的 Send ID 和衍生的加密密钥构成：

`https://vault.bitwarden.com/#/send_id/encryption_key`

这包括几个组件：

<table><thead><tr><th width="100">组件</th><th>示例</th></tr></thead><tbody><tr><td>协议</td><td>https://</td></tr><tr><td>域名</td><td>vault.bitwarden.com</td></tr><tr><td>锚点/碎片/哈希</td><td><p>锚点/碎片/哈希包含 URL 的 Send ID 和 Send 密钥。</p><p></p><p>在示例链接中，表示为 <code>#/send_id/encryption_key</code>。</p></td></tr></tbody></table>

锚点/碎片/哈希不会发送到服务器。该信息在浏览器本地用于识别和解密 Send 内容。

## Send 解密 <a href="#send-decryption" id="send-decryption"></a>

当您访问一个 Send 链接时：

1. 网页浏览器向 Bitwarden 服务器请求 Send 访问页面。
2. Bitwarden 服务器将 Send 访问页面作为网页密码库客户端返回。
3. 网页密码库客户端在本地解析包含 Send ID 和加密密钥的 URL 片段。
4. 网页密码库客户端根据解析后的 Send ID 向服务器请求数据。加密密钥**永远不会**包含在网络请求中。
5. Bitwarden服务器将加密后的 Send 返回给网页密码库客户端。
6. 网页密码库客户端使用加密密钥在本地对 Send 进行解密。

{% hint style="success" %}
如果 Send 是有[密码保护](/docs/password-manager/bitwarden-send/send-privacy.md#send-passwords)的，那么 Send 的解密将**被身份验证所阻止**。服务器验证密码，并且仅在密码正确的情况下才返回 Send。请勿将其与用于解密的密码相混淆。
{% endhint %}

## Send 安全性 <a href="#send-security" id="send-security"></a>

传输 Bitwarden Send 链接时，您可以使用一些可选的步骤来提高其安全性：

1. 为 Send 添加密码然后通过单独的渠道分享此密码。
2. 要求对指定的 Send 收件人进行电子邮箱验证。

{% hint style="success" %}
您可以发送不包含密钥的链接（即最后一个正斜杠之前的所有内容）并通过单独的通道发送密钥。这种额外的安全措施可以利用上述的两个选项。重新组装 Send URL 时，请确保同时包含 Send ID 和加密密钥。

例如：`https://vault.bitwarden.com/#/send/send_id/encryption_key`
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.ppgg.in/docs/password-manager/bitwarden-send/send-encryption.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
