加密和授权的多播

时间:2012-07-11 03:44:34

标签: security encryption ssl multicast

我有一台服务器(将被称为'A'),它将多播传输到某些终端站。 我希望只有那些有幸看到这些信息的人才能真正看到它。

有第三方服务器('B')管理与'A'和终端站的单播通信以及与它们两者的SSL。

我的目标是实施安全多播: 两个必要的恩赐:

  1. 必须是多播。
  2. 我想要应用程序级别的安全性(而不是网络或传输)

  3. 问题:

    1. 有没有这样的实施?我试过搜索“安全组播”等,并且只遇到了IP组播安全性。我想要一个应用实现。如果是这样,你能推荐一些以及如何使用它们吗?

    2. 我考虑过生成一个特殊的对称密钥 - 在'A'和'B'的通信期间以及在'B'和终端站的对话期间=将它(通过SSL)传递给终端站。

      一个。这是个好主意吗?

      湾我看到的一个问题是,由于电台的数量,显示密钥变得更容易。我想过每小时换一把钥匙。我将通过发送多播消息通知站点密钥已经改变:(sequence_number,encrypted_message) - 这样每次密钥改变时,sequence_number ++。

    3. 您如何看待实施?有更好的想法吗?

2 个答案:

答案 0 :(得分:1)

我写了一个名为UFTP(http://uftp-multicast.sourceforge.net)的应用程序,它正是这样做的。

在密钥管理方面,每个多播会话在发送方和每个接收方之间执行类似TLS的密钥交换,然后使用每个接收方的协商密钥发送用于加密数据的组密钥。通过对每个会话进行密钥协商,可以消除与重新键入中间会话相关的复杂问题。

通过密钥指纹识别完成验证,指纹在带外传送。这比基于证书的系统更简单,并且可以最大限度地减少开销。每个发送者和接收者都有一个RSA或ECDHA密钥,由它们识别。

答案 1 :(得分:0)

您所描述的是PKI的简单应用:

  • 每个站创建一个RSA密钥对,并将其公钥发送到服务器。
  • 服务器生成随机对称密钥,并使用此对称密钥加密多播消息。应该为每条消息生成新的对称密钥,但通常这不是什么大问题。
  • 使用每个站的公共RSA密钥加密对称密钥。所有这些加密的产品(即加密的会话密钥)与加密数据合并,并组成组播分组。

不幸的是,这种方案会对组播消息造成大量额外的数据负载,但这是由密钥长度引起的,并且在不牺牲安全性的情况下不能减少长度。