Flash Media Server:如何全面保护流?

时间:2011-10-12 11:09:40

标签: flash-media-server

我正在开发FMS的轻量级保护机制。目前,我可以使用主服务器提供的SSO令牌对用户进行身份验证。但是,对SSO令牌进行身份验证需要另一台服务器的WebService / RemoteObject,这对于大量并发用户来说既昂贵又不现实。因此,我为每个成功验证的用户创建了一个会话,将会话ID返回给用户,用户可以使用它进行进一步的连接。

我在此解决方案中需要关注的是会话劫持攻击。如果成功嗅探了客户的请求,冒名顶替者可以使用该会话ID来获取我的流。为了防止这种情况,我有两个解决方案:首先,每个客户端将创建两个到服务器的连接,一个用于控制消息的SSL(例如NetConnection.call函数),一个用于流数据。另一个是创建一个安全的RTMPE通道来获取流。两者都需要更强的处理能力(后者需要15%以上,不知道前者有多少)。

我的问题有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

如果没有FMS和SSO服务器之间的某些通信,就无法阻止会话令牌被劫持。

您可以做的最少是在客户端通过SSO端时创建一个使用令牌,存储它,当玩家连接到FMS时,您使该令牌无效。您可以使用redis + nginx设置来处理这些令牌,让您的SSO将它们存储在那里并在FMS上编写插件以使它们过期而不是使用WebServices或RemoteObjects。

快乐的编码! 8)