亚马逊AWS官方博客

AWS Wickr – 为有审计和监管要求的企业提供安全的端到端加密通信服务



我很高兴地宣布 AWS Wickr 现已推出,这是一种具有端到端加密的企业通信服务,使企业和公共部门组织能够更安全地进行通信,使客户能够满足电子发现、法律封存和 FOIA 请求等审计和监管要求。与许多企业通信工具不同,Wickr 使用端到端加密机制来确保您的消息、文件、语音或视频通话只能由其预定接收者访问。

灵活的管理控件使您的 Wickr 管理员可以轻松管理通信渠道并保留信息,以便在需要时满足监管要求。保留的信息存储在您选择的服务器上,完全在您的控制之下。

端到端加密
Wickr 提供两个或多个通信方之间的安全通信。这意味着该系统提供真实性和保密性:任何未经授权的一方都无法向系统注入消息;如果没有通信方之一提供,任何非预期方都不能访问或了解通信内容。

每条消息都获得唯一的 AES 加密密钥和唯一的 ECDH 公钥,用于与其他接收方协商密钥交换。消息内容(文本、文件、音频或视频)在发送设备(例如 iPhone)上使用消息特定的 AES 密钥进行加密。消息特定的 AES 密钥通过 Diffie-Hellman 椭圆曲线密钥交换(EDCH521)机制与接收方进行交换。这可确保只有预定接收方拥有消息特定的 AES 密钥来解密消息。

消息特定的密钥通过密钥派生函数传递,该函数将密钥交换绑定到接收方设备。接收方稍后将设备添加到其账户时(例如,除了 iPhone 之外,我还将 macOS 客户端添加到我的 Wickr 帐户),默认情况下,新设备不会看到消息历史记录。如果您手头有两台设备并配置了单点登录(SSO),则可以将历史记录从旧设备迁移到新设备。

我画了下图来说明密钥交换在较高的层面上是如何工作的。

wickr 密钥交换

Wickr 安全消息协议是开放且记录在案的,社区可以对其进行检查。我们在 Wickr 客户端中用于实现安全消息传送协议的源代码可供审核和审查

Wickr 客户端应用程序
Wickr 客户端应用程序对最终用户来说非常熟悉并且易于上手。它适用于 Windows、macOS、Linux、Android 和 iOS 设备。从首选应用商店下载并注册后,用户可以创建聊天室或向个人接收方发送消息。他们可能会使用表情符号来回复消息、交换文件以及进行音频和视频通话。

在这里,我在 macOS 上与厨房里 iOS 上的我建立联系。

Wickr 短信 Wickr 视频通话

Wickr 管理员版
Wickr 管理现已集成,可在 AWS 管理控制台中使用。您可以使用熟悉的 AWS Identity and Access Management(IAM)访问控制和策略来控制对 Wickr 管理的访问。它与 AWS Cloud Development Kit(AWS CDK)Amazon CloudWatch 集成以进行监控。

Wickr 管理员管理网络。网络是一组用户及其相关配置,类似于 Slack 工作区。可以手动添加或导入用户。大多数组织将通过现有身份系统联合用户。Wickr 会将用户与任何符合 OpenID Connect 标准的系统联合起来。

Wickr 网络也是 Wickr 管理员配置安全组以管理消息收发、呼叫、安全和联合身份验证设置的地方。它还允许 Wickr 管理员配置日志记录、数据留存和机器人。

首先,我在 AWS 管理控制台中选择 Wickr。然后,我选择 Create a network(创建网络)。我输入 Network name(网络名称)并选择 Continue(继续)。

来自 AWS 管理控制台的 Wickr Wickr - 创建网络

管理控制台的 Wickr 页面允许您配置 Wickr 网络、与其他 Wickr 网络的用户联合身份验证等等。

Wickr 控制台在此演示中,我不使用单点登录。我通过选择 Create new user(创建新用户)手动添加两个用户。添加后,用户将收到一封邀请电子邮件,其中包含指向客户端应用程序的链接。客户端应用程序要求用户在首次使用时确定密码。

客户控制的数据留存和机器人
Wickr 允许管理员有选择地将监管需要维护的信息保留到他们管理的安全、受控的数据存储中。除接收方外的其他任何人(包括 AWS)都无法访问用于解密对话或文档的密钥,从而使组织可以完全控制其数据。它可以帮助公共部门的组织使用 Wickr 来满足其安全协作需求。

数据留存是通过向对话添加一个过程来实现的,就像参与者一样。数据留存过程像任何接收方一样参与密钥交换,允许其解密消息。数据留存过程可以在任何地方运行:本地、Amazon Elastic Compute Cloud(Amazon EC2)虚拟机上或您选择的任何位置。在控制台中配置数据留存后,Wickr 管理员可以开始数据留存过程并向其 Wickr 网络注册。

Wickr Compliance Architecture 架构

数据留存过程可作为 Docker 容器使用,以便于部署。该过程将明文消息存储在您选择的存储设备上:本地或远程文件系统,或者 Amazon Simple Storage Service(Amazon S3)

为尝试此过程,我遵循文档说明进行操作。我打开 Wickr 管理页面,并在 Network Settings(网络设置)下选择 Data Retention(数据留存)。

Wickr 数据留存

我复制了 docker 命令、用户名密码(之前的屏幕截图中未显示)。然后,我连接到之前创建的 Linux EC2 实例。我创建了一个用于数据留存的本地目录,然后启动容器。

docker run -v 
       /home/ec2-user/retention_34908291_bot:/tmp/retention_34908291_bot
       --restart on-failure:5 
       --name="retention_34908291_bot"
       -it 
       -e WICKRIO_BOT_NAME='retention_34908291_bot'
       wickr/bot-retention-cloud:5.109.08.03

应用程序会提示输入在控制台中收集的用户名和密码。该过程开始后,我会返回控制台并激活屏幕底部的 Data Retention(数据留存)开关。

请注意,在此演示中,我选择将数据存储在本地文件系统上。实际上,您可能希望使用 S3 来安全地存储所有组织通信,加密静态数据,并使用已有的机制来控制对此数据的访问。数据留存过程本身支持与 AWS Secrets Manager 和 S3 的集成。

作为用户,我在 Wickr 聊天室里交换了几条消息。然后,作为管理员,我查看了捕获的数据。我可以观察到数据留存过程以 JSON 格式捕获了消息及其元数据。

Wickr 合规性数据

配置数据留存功能时,合规和安全官员可以在安全且受控的数据存储中审核和审查通信。

留存机器人并非 Wickr 唯一可用的机器人。Wickr Broadcast Bot 允许您向网络中的所有成员或特定安全组广播消息。开发人员可以使用 Wickr Bots 创建工作流程,从而自动执行基于聊天的工作流程,并将其与其他系统集成。同样,机器人是集成到对话或聊天室中的一个进程,可以接收消息并根据消息采取行动。开发人员使用 NodeJS 编写机器人。如网络管理员所定义,机器人进程安全地与 Wickr 网络集成。它们通常打包为 Docker 容器,以便于在您选择的位置部署。如果您是开发人员,请查看 Wickr 机器人开发人员文档以了解所有详细信息。

定价和可用性
Wickr 在美国东部(弗吉尼亚州北部)的 AWS 区域可用。

Wickr 在前 3 个月内免费提供给寻求更安全工作空间的个人和最多 30 位用户的团队。对于拥有 30 位以上用户的组织,标准方案为每位用户每月 5 美元起,高级方案为每位用户每月 15 美元起。高级方案增加了一些特性和保留功能,例如精细管理控制、长达 1 年的客户端数据到期计时器、数据留存和电子发现。像往常一样,没有预付费用或长期参与。您需要按用户和按月付费(可按年计费,请联系我们)。查看定价页面以了解详情。

立即创建您的第一个 Wickr 网络!

— seb