用户在安排会议时选择会议类型。在允许等候区中的参加者加入时以及在会议期间,主持人可以看到每个参加者的身份验证状态。还有一个会议中所有当前参加者通用的会议代码,他们可以使用该代码来验证其会议是否已被不受欢迎的第三方Meddler In Middle (MITM)攻击拦截。

与会议主持人共享以下信息:

验证身份

带有身份验证的端到端加密为端到端加密会议提供了额外的安全性。

当参加者或设备加入共享MLS(消息传递层安全性)组时,他们将证书展示给其他组成员,然后其他组成员根据颁发证书的颁发机构(CA)验证证书。通过确认证书有效,CA将验证参加者的身份,会议将显示参加者/设备为已验证状态。

Webex应用程序用户根据Webex身份存储进行身份验证,验证成功时会向其发放访问令牌。如果他们需要证书来验证其在端到端加密会议中的身份,Webex CA将根据他们的访问令牌颁发证书。目前,我们不提供Webex Meetings用户获取第三方/外部CA颁发的证书的方法。

设备可使用内部 (Webex) CA 或外部 CA 颁发的证书进行身份验证:

  • 内部CA —Webex基于设备机器帐户的访问令牌颁发内部证书。证书由 Webex CA 签名。设备没有与用户相同的用户ID,因此Webex在写入设备证书的身份(通用名称(CN))时使用组织的域之一。

  • 外部CA —直接从所选的颁发者请求和购买设备证书。您必须使用只有您知道的密码对证书进行加密、直接上传和授权。

    Cisco不参与,因此可以保证真正的端到端加密和已验证身份,并防止理论上Cisco可能窃听您的会议/解密您的媒体。

内部颁发的设备证书

Webex 在设备启动后注册时向其颁发证书,并在必要时更新证书。设备证书包含帐户 ID 和域。

如果您的组织没有域,Webex CA 将颁发没有域的证书。

如果您的组织有多个域,您可以使用 Control Hub 告诉 Webex 设备要使用哪个域验证其身份。您也可以使用API xConfiguration会议EndToEndEncryption Identity Preferred :"example.com"

如果您有多个域并且未设置设备的首选域,Webex 将为您选择一个域。

内部颁发的设备证书

管理员可以用自己已与公共 CA 签名的证书来预配置设备。

证书必须基于 ECDSA P-256 密钥对,尽管其可以通过 RSA 密钥签名。

证书中的值由组织自行决定。公用名(CN)和使用者备用名称(SAN)将显示在Webex会议用户界面中,如 Webex Meetings身份验证的端到端加密 所述。

我们建议为每个设备使用单独的证书,并为每个设备使用唯一的CN。例如,拥有“example.com”域的组织使用“meeting-room-1.example.com”。

为了充分保护外部证书不被篡改,可使用客户端密码功能对各种 xcommand 进行加密和签名。

使用客户端密码时,可以通过xAPI安全地管理外部Webex身份证书。这目前仅限于在线设备。

Webex目前提供用于管理此功能的API命令。

设备

以下云注册Webex Room系列和Webex Desk系列设备可以加入E2EE会议:

  • Webex Board

  • Webex Desk Pro

  • Webex Desk

  • Webex Room Kit

  • Webex Room Kit Mini

以下设备无法加入E2EE会议:

  • Webex C 系列

  • Webex DX 系列

  • Webex EX 系列

  • Webex MX 系列

  • 第三方 SIP 设备

软件客户端

  • 适用于桌面和移动客户端的Webex应用程序可以加入E2EE会议。

  • Webex Web客户端无法加入E2EE会议。

  • 第三方SIP软客户端无法加入E2EE会议。

身份

  • 根据设计,我们不为您提供Control Hub选项来管理经过外部验证的设备身份。对于真正的端到端加密,只有您应该知道/访问机密和密钥。如果引入云服务来管理这些密钥,密钥将有被拦截的风险。

  • 目前,我们提供了一个“配方”,可帮助您根据行业标准的加密技术设计自己的工具,以协助请求或加密您的设备身份证书及其私钥。我们不希望存在真实的或设想的其他访问您密码或密钥的途径。

会议

  • E2EE会议当前最多支持1000名参加者。

  • 您可以在E2EE会议中共享新白板。与常规会议中的白板有一些不同:
    • 在E2EE会议中,用户无法访问在会议外创建的白板,包括私人白板、他人共享的白板以及Webex空间中的白板。
    • 在E2EE会议中创建的白板仅在会议期间可用。这些文件未保存,会议结束后无法访问。
    • 如果有人在E2EE会议中共享内容,您可以对其进行注释。有关注释的更多信息,请参阅 bex应用程序| 注释功能标记共享内容

管理界面

我们强烈建议您使用Control Hub来管理您的会议站点,因为Control Hub组织拥有整个组织的集中式身份。

  • Webex Meetings 41.7

  • 云注册Webex Room和Webex Desk系列设备,运行 10.6.1-RoomOS_August_2021

  • 在Control Hub中管理对会议站点的访问。

  • Control Hub 组织中一个或多个已验证域(如果您使用 Webex CA 颁发用于验证身份的设备证书)。

  • 必须打开协作会议室,人们才能从其视频系统加入。有关更多信息,请参阅允许视频系统加入Webex站点上的会议和活动

如果不需要外部验证的身份,可以跳过此步骤。

为了实现最高级别的安全性和身份验证,每个设备都应具有由受信任的公共证书颁发机构(CA)颁发的唯一证书。

您需要与 CA 沟通,以请求、购买和接收数字证书,并创建关联的私钥。请求证书时,使用以下参数:

  • 证书必须由知名的公共 CA 颁发和签名。

  • 唯一性:我们强烈建议每台设备使用唯一证书。如果您对所有设备使用同一证书,将影响安全性。

  • 通用名称 (CN) 和主题备用名称 (SAN):这些对 Webex 并不重要,但应该是人类可以读取并与设备关联的值。CN 将作为设备主要验证身份的方式向其他会议参加者显示,如果用户通过会议 UI 检查证书,他们将看到 SAN。您可能希望使用诸如 name.model@example.com之类的名称。

  • 文件格式:证书和密钥必须采用 .pem 格式。

  • 目的:证书必须用于 Webex 身份。

  • 生成密钥:证书必须基于 ECDSA P-256 密钥对(使用 P-256 曲线的椭圆曲线数字签名算法)。

    此要求不会扩展到签名密钥。CA 可以使用 RSA 密钥签名证书。

如果您不想在设备上使用外部验证的身份,可以跳过此步骤。

如果您使用的是新设备,请勿将其注册到 Webex。为安全起见,此时请勿将其连接至网络。

如果您有要升级以使用外部验证身份的现有设备,必须恢复设备出厂设置。

  • 如需保留现有配置,请保存现有配置。

  • 在设备不使用时安排一个窗口,或采用分阶段的方法。通知用户可预期的变化。

  • 确保对设备进行物理访问。如果您必须通过网络访问设备,请注意,密码以纯文本方式传输,会影响安全性。

完成这些步骤后, 视频系统加入Webex站点上的会议和活动

要确保您的设备媒体只能由设备加密而无法被任何人加密,您必须对设备的私钥进行加密。我们为设备设计了API,以便使用JSON Web Encryption (JWE)来管理加密密钥和证书。

为确保通过我们的云实现真正的端到端加密,我们不能参与证书和密钥的加密和上传。如果您需要此级别的安全性,您必须:

  1. 请求您的证书。

  2. 生成您证书的密钥对。

  3. 为每台设备创建(并保护)初始密码,以植入设备加密能力。

  4. 开发和维护您自己的工具,以便使用 JWE 标准加密文件。

    下面说明了您需要的过程和(非秘密)参数,以及在您选择的开发工具中应遵循的配方。我们还提供了一些测试数据和其生成的 JWE blob(与预期一致),帮助验证您的流程。

    使用Python3和JWCrypto库的不受支持的参考实现可根据要求从 Cisco 获得。

  5. 使用工具和设备的初始密码对证书和密钥进行连接和加密。

  6. 将生成的 JWE blob上传到设备。

  7. 将加密证书设置为用于 Webex 身份,并激活证书。

  8. (建议)提供用于(或分发)工具的接口,使设备用户能够更改初始密码并保护其媒体不受您的影响。

如何使用 JWE 格式

本节描述了我们期望如何将 JWE 创建为设备的输入,以便您可以构建自己的工具来从证书和密钥创建 blob。

请参考 SON Web Encryption (JWE) https://datatracker.ietf.org/doc/html/rfc7516 SON Web Signature (JWS) https://datatracker.ietf.org/doc/html/rfc7515

我们使用JSON文档的 序列化 创建JWE blobs。创建JWE blob时需要包含的参数包括:

  • JOSE Header (受保护)。在 JSON 对象签名和加密标头中,必须包含以下键值对:

    • "alg":"dir"

      直接算法是我们唯一支持用于加密有效负载的算法,您必须使用设备的初始客户端密码。

    • "enc":"A128GCM""enc":"A256GCM"

      我们支持这两种加密算法。

    • "cisco-action":"add""cisco-action":"popul""cisco-action":"activate""cisco-action":"deactivate"

      这是一个专有密钥,可包含四个值。我们引入此密钥,以便向目标设备表示加密数据的目的。这些值以使用加密数据的设备上的 xAPI 命令命名。

      我们将其命名为 cisco-action ,以减轻与未来JWE扩展的潜在冲突。

    • "cisco-kdf": { "version": "1", "salt": "base64URLEncodeRandom4+Bytes" }

      另一个专有密钥。我们使用您提供的值作为对设备上密钥派生的输入。版本 必须为 1 (密钥派生功能的版本)。salt 的值必须是至少4字节的base64 URL编码序列,您必须 随机选择。

  • WE加密密钥。该字段为空。设备从初始ClientSecret中获取该值。

  • WE初始化向量。必须提供 base64url 编码的初始化向量来解密有效负载。IV 必须是随机的 12 字节值(我们使用的是 AES-GCM 密码系列,该系列要求 IV 的长度为 12 字节)。

  • JWE AAD (其他经验证的数据)。您必须略过此字段,因为其在紧凑序列化中不受支持。

  • WE密文:这是要保密的加密负载。

    载荷可能为空。例如,要重置客户端密码,需要使用空值覆盖。

    根据您试图在设备上执行的操作,有不同类型的有效负载。不同的xAPI命令期望不同的有效载荷,您必须使用cisco操作 键指定有效载荷的用途,如下所示:

    • 使用“cisco-action”:“popul ” 时,密文为新的 Secret

    • 在""cisco-action":"add" 中,密文是携带证书及其私钥(连接)的PEM blob。

    • 通过""cisco-action":"activate" ,密文是我们激活用于设备标识验证的证书指纹(sha-1的十六进制表示)。

    • 在“"cisco-action":"deactivate" 中,密文是我们要停用用于设备身份验证的证书指纹(sha-1的十六进制表示)。

  • JWE 验证标记: 此字段包含验证标记,用于确定整个 JWE 紧凑序列化 blob 的完整性

我们如何从 ClientSecret 中衍生加密密钥

在第一次填充密码后,我们不接受纯文本密码且不输出纯文本密码。这是为了防止能够访问该设备的人进行潜在的字典攻击。

设备软件使用客户端密码作为密钥派生函数 (kdf) 的输入,然后使用派生的密钥在设备上进行内容解密/加密。

这意味着生成 JWE blob 的工具必须遵循相同的过程,以从客户端密码导出相同的加密/解密密钥。

设备使用 scrypt 进行密钥派生(请参阅https://en.wikipedia.org/wiki/Scrypt),所用参数如下:

  • CostFactor (N) 为 32768

  • BlockSizeFactor (r) 为 8

  • ParallelizationFactor (p) 为 1

  • Salt是至少4个字节的随机序列;在指定 cisco-kdf 参数时必须提供相同的salt

  • 密钥长度为 16 字节(如果您选择 AES-GCM 128 算法)或 32 字节(如果您选择 AES-GCM 256 算法)

  • 最大内存上限为 64 MB

此参数组是唯一与设备上密钥派生函数兼容的 scrypt 配置。设备上的此kdf称为“version”:"1",这是cisco-kdf 参数当前使用的唯一版本。

工作示例

您可以遵循以下示例,验证您的 JWE 加密过程是否与我们在设备上创建的过程相同。

示例场景是向设备添加 PEM blob(模拟添加证书,使用非常短的字符串而不是完整的证书 + 密钥)。本范例中的客户端密码是ossifrage

  1. 选择加密密码。本范例使用A128GCM (Galois计数器模式中具有128位键的AES)。如果愿意,您的工具可以使用 A256GCM

  2. 选择 salt(必须为至少 4 字节的随机序列)。本范例使用(十六进制字节)E5 E6 53 08 03 F8 33 F6。Base64url对序列进行编码,以获取 5eZTCAP4M_Y (删除base64填充)。

  3. 以下是创建内容加密密钥(cek)的scrypt 调用示例:

    cek=scrypt(password="ossifrage", salt=4字节序列, N=32768, r=8, p=1, keylength=16)

    派生的密钥应为 16 字节(十六进制),如下所示:95 9e ba 6d d1 22 01 05 78 fe 6a 9d 22 78 ff ac ,base64url编码至 lZ66bdEiAQV4_mqdInj_rA

  4. 选择 12 字节的随机序列用作初始化向量。本范例使用(十六进制) 34 b3 5d dd 5f 53 7b af 2d 92 95 83 ,base64url编码至 NLNd3V9Te68tkpWD

  5. 使用紧凑序列化创建 JOSE 标头(遵循我们在此处使用的参数顺序),然后进行 base64url 编码:

    {"alg":"dir","cisco-action":"add","cisco-kdf":{"salt":"5eZTCAP4M_ ","version":"1"},"enc":"A128GCM"}

    base64url编码的JOSE标头是eyJhbGciOiJkaXIiLCJjaXNjby1hY3Rpb24iOiJhZGQiLCJjaXNjby1rZGYiOnsic2FsdCI6IjVlWlRDQVA0TV9ZIiwidmVyc2lvbiI6IjEifSwiZW5jIjoiQTEyOEdDTSJ9

    这将是 JWE blob 的第一个元素。

  6. JWE blob 的第二个元素为空,因为我们没有提供 JWE 加密密钥。

  7. JWE blob的第三个元素是初始化向量NLNd3V9Te68tkpWD

  8. 使用 JWE 加密工具生成加密的有效负载和标记。在本例中,未加密的有效负载将是假的PEM blob 是PEM文件

    您应该使用的加密参数为:

    • 负载是 PEM文件

    • 加密密码为 AES 128 GCM

    • base64url 编码的 JOSE 标头作为附加身份验证数据 (AAD)

    Base64url对加密有效负载进行编码,这应会导致f5lLVuWNfKfmzYCo1YJfODhQ

    这是 JWE blob 中的第四个元素(JWE 密文)。

  9. Base64url对步骤8中生成的标签进行编码,这应会导致 PE-wDFWGXFFBeo928cfZ1Q

    这是 JWE blob 中的第五个元素。

  10. 用点将 JWE blob 的五个元素连接起来 (JOSEheader..IV.Ciphertext.Tag) ,得到:

    JhbGciOiJkaXIiLCJjaXNjby1hY3Rpb24iJhZGQiLCJjaXNjby1rZGYiOnsic2FsdCI6IjVlWlRDQVA0TV9ZIiwidmVyc2lvbiI6ISwiZW5jIjoiQTEyOEdDTSJ.。9NLNd3V9Te68tkpWD.f5lLVuWNfYCo1YJfODhQ.PE-wDFWGXFFBeo928cfZ1Q

  11. 如果您使用自己的工具派生了与我们在此处显示的相同的 base64url 编码值,则可以使用它们来保护设备的 E2E 加密和已验证身份。

  12. 此示例实际上不起作用,但原则上,您的下一步是使用上面创建的 JWE blob 作为添加证书的设备上的 xcommand 的输入:

    x命令安全证书添加 JhbGciOiJkaXIiLCJjaXNjby1hY3Rpb24iJhZGQiLCJjaXNjby1rZGYiOnsic2FsdCI6IjVlWlRDQVA0TV9ZIiwidmVyc2lvbiI6ISwiZW5jIjoiQTEyOEdDTSJ.。9NLNd3V9Te68tkpWD.f5lLW YCo1YJfODhQ.PE-wDFWGXFFBeo928cfZ1Q

零信任会议的会话类型可供所有会议站点使用,无需额外费用。其中一种会话类型称为 Pro-End to End Encryption_VOIPonly。这是公共服务名称,我们将来可能会更改。有关会话类型的当前名称,请参阅会话类型 ID于本文参考部分中。

您无需执行任何操作即可为您的站点获取此功能;您需要将新的会话类型(也称为会议权限)授予用户。您可以通过用户的配置页面单独执行此操作,也可以通过 CSV 导出/导入批量执行此操作。

1

登录 Control Hub 并转至服务 > 会议

2

单击站点,选择要更改设置的 Webex 站点,然后单击设置

3

通用设置下选择会话类型

4
您应该看到一个或多个端到端加密会话类型。请参考会话类型 ID 列表于本文参考部分中。例如,您可能会看到 Pro-End to End Encryption_VOIPonly

有一个名称非常相似的旧会话类型: 端到端加密。此会话类型包括对会议的非加密 PSTN 访问。确保您拥有 _VOIPonly版本 ,以确保端到端加密。您可以将鼠标悬停在会话代码列中的 PRO 链接上进行检查;对于本例,链接的目标应为 javascript:Show (652)

我们将来可能会更改这些会话类型的公共服务名称。

5

如果您还没有新的会话类型,请联系您的 Webex 代表。

下一步

对部分或所有用户启用此会话类型/会议权限。

1

登录 Hub,然后转至 >

2

选择要更新的用户帐户,然后选择 Meetings

3

设置应用于 下拉列表中,选择要更新的会议站点。

4

选中 Pro-End to End Encryption_VOIPonly 旁边的复选框。

5

关闭用户配置面板。

6

如有必要,对其他用户重复上述步骤。

要将该功能分配给多个用户,请使用下一个选项 多个用户启用E2EE会议

1

登录 Control Hub 并转至服务 > 会议

2

单击站点,选择要更改设置的Webex站点。

3

许可证和用户部分,单击批量管理

4

单击生成报告,等待我们准备文件。

5

文件就绪后,单击导出结果,然后单击下载。(您必须在单击“下载”后手动关闭该弹出窗口。)

6

打开下载的 CSV 文件进行编辑。

每个用户都有一行,MeetingPrivilege 列以逗号分隔的列表形式包含其会话类型标识。

7

对于希望授予新会话类型的每个用户,在 MeetingPrivilege 单元格的逗号分隔列表中添加 1561 作为新值。

Webex CSV文件格式参考 包含有关CSV文件用途和内容的详细信息。

8

在 Control Hub 中打开会议站点配置面板。

如果您已经位于会议站点列表页面,可能需要进行刷新。

9

许可证和用户部分,单击批量管理

10

单击导入并选择已编辑的 CSV,然后单击导入。文件上传时请稍候。

11

导入完成后,您可以单击导入结果,查看是否出现错误。

12

转至用户页面,打开其中一个用户,验证其拥有新的会话类型。

您可以使用 Webex Meetings Pro-End to End Encryption_VOIPonly 会话类型为会议录制文件添加水印,这样您就可以识别未经授权的机密会议录制文件的来源客户端或设备。

启用此功能后,会议音频将包含每个参与的客户端或设备的唯一标识符。您可以将音频录制文件上传到Control Hub,然后Control Hub分析录制文件并查找唯一标识符。您可以查看结果以了解哪个源客户端或设备录制了会议。

  • 要进行分析,录制文件必须是不超过500MB的AAC、MP3、M4A、WAV、MP4、AVI或MOV文件。
  • 录制文件必须超过100秒。
  • 您只能分析组织中人员主持的会议的录制文件。
  • 水印信息的保留期限与组织的会议信息相同。

向E2EE会议添加音频水印

  1. 登录 Control Hub,然后在 “管理”下选择“组织设置”
  2. 会议水印 部分,打开添加音频水印

    开启此功能后,使用 bex Meetings Pro-End to End Encryption_ IPonly会话 类型安排会议的用户会在“安全”部分中看到 水印 选项。

上传并分析带有水印的会议

  1. 在Control Hub中的 Monitoring下,选择Troubleshooting
  2. 单击水印分析
  3. 在列表中搜索或选择会议,然后单击分析
  4. 分析音频水印 窗口中,输入分析的名称。
  5. (可选)输入分析说明。
  6. 拖放要分析的音频文件,或单击选择文件 以浏览至音频文件。
  7. 单击 关闭.

    分析完成后,它将显示在分析水印 页面上的结果列表中。

  8. 在列表中选择会议以查看分析结果。单击下载按钮 下载结果。

功能限制

成功解码录制的水印涉及的因素包括录音设备与扬声器输出音频之间的距离、音频音量、环境噪音等。我们的水印技术对于多次编码具有额外的弹性,就像共享媒体时可能发生的那样。

此功能旨在允许在广泛但合理的情况下成功解码水印标识符。我们的目标是,放置在个人终端或笔记本电脑客户端附近的桌面上的录制设备,例如移动电话,始终应创建可导致成功分析的录制文件。当录制设备离开来源,或被遮蔽,无法听到完整的音频频谱时,成功分析的机会就会降低。

为了成功分析录制文件,需要合理捕捉会议音频。如果在托管客户端的同一台计算机上录制会议的音频,则不应存在限制。

如果您的设备已载入Control Hub组织,并且您希望使用Webex CA自动生成其识别证书,则无需恢复设备的出厂设置。

此程序选择设备用来标识自身的域,且仅在 Control Hub 组织中有多个域时才需要此程序。如果您拥有多个域,我们建议您对具有“经 Cisco 验证”身份的所有设备进行此操作。如果您不告诉Webex哪个域标识了设备,系统会自动选择一个域,其他会议参加者可能会认为该域不正确。

开始之前

如果您的设备尚未载入,请按照使用API或本地Web界面将设备注册到Cisco WebexBoard、桌面和协作室系列的云载入操作。您还应该在管理您的域中验证要用于标识设备的域。

1

登录 Control Hub,然后在 “管理”下选择“设备”

2

选择设备以打开其配置面板。

3

选择要用于标识此设备的域。

4

对其他设备重复上述步骤。

开始之前

  • 获取每个设备的CA签名证书和私有密钥(。pem 格式)。

  • 准备 选项卡下,阅读主题了解设备的外部身份流程

  • 准备一个与那里的信息有关的JWE加密工具。

  • 请确保使用工具生成给定长度的随机字节序列。

  • 确保有base64url编码字节或文本的工具。

  • 确保您有scrypt 实现。

  • 确保每个设备都有一个秘密单词或短语。

1

使用纯文本密码填写设备的 ClientSecret

首次填充秘密时,您将以纯文本形式提供。因此,我们建议在物理设备控制台上执行此操作。

  1. Base64url 对此设备的秘密短语进行编码。

  2. 在设备上打开 TShell。

  3. 运行 command Security ClientSecret Populate Secret: "MDEyMzQ1Njc4OWFiY2RlZg"

    上面的示例命令使用短语789abcdef 填充0123456密码。您需要选择自己的。

设备有其初始密码。请记住,您无法恢复设备,必须恢复设备出厂设置才能重新启动。
2

连接您的证书和私钥:

  1. 使用文本编辑器,打开 .pem 文件,将密钥 blob 粘贴到证书 blob,并将其另存为新的 .pem 文件。

    这是您将加密并放入JWE blob的有效负载文本。

3

创建一个 JWE blob,用作证书添加命令的输入:

  1. 创建至少 4 个字节的随机序列。这是您的 salt。

  2. 使用 scrypt 工具派生内容加密密钥。

    为此,您需要密码、salt 和密钥长度来匹配您选择的加密密码。还有一些其他固定值需要提供 (N = 32768,r = 8,p = 1)。设备使用相同的过程和值来派生相同的内容加密密钥。

  3. 创建 12 个字节的随机序列。这是您的初始化向量。

  4. 了解设备的外部身份流程中所述创建JOSE标头、设置algenccisco-kdf 密钥。使用JOSE标头中的key:value "cisco-action":"add" 设置"add"操作(因为我们正在将证书添加到设备)。

  5. Base64url 对 JOSE 标头进行编码。

  6. 使用 JWE 加密工具与所选密码和 base64url 编码的 JOSE 标头从连接 pem 文件中加密文本。

  7. Base64url 对初始化向量、加密的 PEM 有效负载和身份验证标记进行编码。

  8. 按如下所示构建 JWE blob(所有值都经 base64url 编码):

    JOSEHeader.。Init 。 PEM.AuthTag

4

在设备上打开 TShell 并运行(多行)添加命令:

xcommand Security Certificate Services添加已加密:真您的。.JWE.str.ing\n.\n
5

通过运行 xcommand Security Certificate Services Show 验证证书已添加

复制新证书的指纹。

6

Webex身份验证目的激活证书:

  1. 从证书本身或 xcommand Security Certificate Services Show 的输出读取证书指纹。

  2. 创建至少 4 字节的随机序列,并对该序列进行 base64url 编码。这是您的 salt。

  3. 使用 scrypt 工具派生内容加密密钥。

    为此,您需要密码、salt 和密钥长度来匹配您选择的加密密码。还有一些其他固定值需要提供 (N = 32768,r = 8,p = 1)。设备使用相同的过程和值来派生相同的内容加密密钥。

  4. 创建 12 字节的随机序列,并对该序列进行 base64url 编码。这是您的初始化向量。

  5. 了解设备的外部身份流程中所述创建JOSE标头、设置algenccisco-kdf 密钥。使用JOSE标头中的key:value"cisco-action":"activate" 设置"activate"操作(因为我们正在设备上激活证书)。

  6. Base64url 对 JOSE 标头进行编码。

  7. 使用 JWE 加密工具与所选密码和 base64url 编码的 JOSE 标头加密证书指纹。

    该工具应输出 16 或 32 字节的序列(取决于您选择的是 128 位还是 256 位 AES-GCM)以及身份验证标记。

  8. Base64Url 对加密指纹和身份验证标记进行编码。

  9. 按如下所示构建 JWE blob(所有值都经 base64url 编码):

    JOSEHeader.。Init 。 Fingerprint.AuthTag

  10. 在设备上打开 TShell 并运行以下激活命令:

     xcommand Security Certificate Service激活目的:Webex身份指纹:“您的。.JWE. 。指纹 

该设备有一个加密的、激活的、CA 颁发的证书,可用于在端到端加密的 Webex 会议中识别该设备。
7

将设备加入您的 Control Hub 组织。

1

安排正确类型的会议 (Webex Meetings Pro-End to End Encryption_VOIPonly)。

2

从 Webex Meetings 客户端作为主持人加入会议。

3

从经 Webex CA 验证身份的设备加入会议。

4

作为主持人,验证此设备以正确的身份图标出现在大厅中。

5

从经外部 CA 验证身份的设备加入会议。

6

作为主持人,验证此设备以正确的身份图标出现在大厅中。详细了解身份图标

7

以未经身份验证的会议参加者加入会议。

8

作为主持人,确保此参加者使用正确的身份图标显示于在大厅中。

9

作为主持人,允许或拒绝人员/设备。

10

通过检查证书,尽可能验证参加者/设备身份。

11

确保会议中的每个人都能看到相同的会议安全性代码。

12

与新参加者一起加入会议。

13

确保每个人都能看到相同的新会议安全代码。

  • 您是否要将端到端加密会议设置为缺省会议选项,或仅为某些用户启用该选项,或允许由所有主持人决定?当您决定了如何使用此功能后,请帮助将使用此功能的用户做好准备,尤其是针对会议的限制以及在会议中可能会发生的情况做好准备。

  • 您需要确保 Cisco 和其他任何人都无法解密您的内容或模拟您的设备吗?如果是,您需要来自公共 CA 的证书。

  • 如果您有不同级别的身份验证,请允许用户使用证书支持的身份相互验证。虽然在某些情况下参加者可能会以未经验证的身份显示(参加者应该知道如何对此进行检查),但未经验证人员可能并非冒名顶替者。

如果您使用外部 CA 颁发的设备证书,则您有责任监视、更新和重新应用证书。

如果您创建了初始密码,您需要清楚用户可能希望更改其设备密码。您可能需要创建界面/分发工具以允许他们进行此操作。

表1。 用于端到端加密会议的会话类型 ID

会话类型 ID

公共服务名称

638

E2E Encryption+VoIP only

652

Pro-End to End Encryption_VOIPonly

660

Pro 3 Free-End to End Encryption_VOIPonly

E2E 加密 + 身份

672

Pro 3 Free50-End to End Encryption_VOIPonly

673

Education Instructor E2E Encryption_VOIPonly

676

Broadworks Standard + 端到端加密

677

Broadworks Premium + 端到端加密

681

Schoology Free + 端到端加密

这些表格描述了我们为端到端加密会议和已验证身份而添加的 Webex 设备 API 命令。有关如何使用 API 的更多信息,请参阅访问 Webex Room 和桌面设备以及 Webex Boards 的 API

这些 xAPI 命令只能在满足以下任一条件的设备上使用:

  • 已注册到 Webex

  • 已在本地注册并使用 Webex Edge for Devices 链接到 Webex

表 2. 用于端到端加密会议和已验证身份的系统级别 API

API 调用

描述

xConfiguration会议EndToEndEncryption Identity Preferred : "example.com"

当管理员从 Control Hub 设置设备的首选域时,会进行此配置。仅在组织拥有超过一个域时必要。

设备从 Webex CA 请求证书时使用此域。然后域会识别设备。

当设备具有激活的外部颁发证书来标识自己时,此配置不适用。

xStatus会议EndToEnd 可用性

表明设备是否可加入端到端加密会议。云 API 对其进行调用,使配对的应用程序知道是否可以使用该设备加入。

xStatus会议EndToEndEncryption ExternalIdentity Verify

指示设备是否使用外部 验证(具有外部颁发的证书)。

xStatus会议EndToEndEncryption ExternalIdentity Identity

从外部颁发证书的公用名称读取的设备身份。

xStatus Conference EndToEndEncryption ExternalIdentity CertificateChain Certificate # 信息

从外部颁发的证书读取特定信息。

在显示的命令中,将 # 替换为证书编号。将特定信息 替换为:

  • 指纹

  • 有效期结束日期之后

  • 有效期开始日期

  • 主名

  • PublicKeyAlgorithm

  • 序列号

  • 签名算法

  • # 名称 证书主题列表(如电子邮件地址或域名)

  • 提供此证书的有效性状态(例如。有效过期)

xStatus会议EndToEndEncryption External 状态

设备外部身份的状态(例如:)。

xStatus会议EndToEndEncryption InternalIdentity Verify

表明设备是否具有由 Webex CA 颁发的有效证书。

xStatus会议EndToEndEncryption InternalIdentity Identity

从 Webex 颁发证书的公用名称读取的设备身份。

如果组织有域,则包含域名。

如果组织没有域,则为空。

如果设备所在的组织具有多个域,则这是来自PreferredDomain的值。

xStatus Conference EndToEndEncryption InternalIdentity CertificateChain Certificate # 信息

从 Webex 颁发的证书读取特定信息。

在显示的命令中,将 # 替换为证书编号。将特定信息 替换为:

  • 指纹

  • 有效期结束日期之后

  • 有效期开始日期

  • 主名

  • PublicKeyAlgorithm

  • 序列号

  • 签名算法

  • # 名称 证书主题列表(如电子邮件地址或域名)

  • 提供此证书的有效性状态(例如。有效过期)

表 3. 用于端到端加密会议和已验证身份的调用 API

API 调用

描述

x活动会议参加者列表参加者已添加

x活动会议参加者列表参加者已更新

xEvent会议参加者列表参加者已删除

这三个活动现在包括受影响参加者的 EndToEndEncryptionStatusEndToEndEncryptionIdentityEndToEndEncryptionCertInfo

表 4. 用于端到端加密会议和已验证身份的 ClientSecret 相关 API

API 调用

描述

xCommand Security ClientSecret填充密码: "base64url-enco "

xCommand Security ClientSecret填充密码:JWEblob

接受 base64url 编码的纯文本值,用于首次在设备上植入客户端密码。

要在第一次之后更新密码,必须提供一个 JWE blob,其中包含由旧密码加密的新密码。

xCommand Security Certificate Services添加 WEblob

添加证书(使用私钥)。

我们扩展了该命令,以接受包含加密的 PEM 数据的 JWE blob。

x命令安全证书服务激活目的:WebexIdentity FingerPrint:JWEblob

激活 WebexIdentity 的特定证书。为此目的,该命令要求在JWE blob中加密并序列化识别指纹。

x命令安全证书服务停用目的:WebexIdentity FingerPrint:JWEblob

停用 WebexIdentity 的特定证书。为此目的,该命令要求在JWE blob中加密并序列化识别指纹。