2012-11-15 22 views
1

一个架构问题。嵌入Flash媒体服务(Red5)和授权

我的网站需要允许用户录制视频并将其上传到“网站”。我一直在寻找一个合适的位,似乎我使用某种媒体服务器来实现这一目标。在我将这个辅助服务器引入系统时(我试图将驻留在该服务器上的Flash应用程序嵌入到由该站点提供的HTML中),我发现这扩大了安全范围。令我感到害怕的是攻击者试图自己嵌入Flash应用程序或试图冒充客户端(或其他我还没有想到的东西!)。

因此,我想知道人们如何用这样的架构来保护他们的应用程序。当然,我可以做的建议here,现在一个体面的创可贴,但afaik域技术可以在技术上被客户伪造。

我可以分开网站的身份验证给我一个WebServer,一个AuthServer和一个MediaServer使媒体服务器分开授权。让用户登录到这两个站点显然是繁重的,并传递用户的登录信誉,并确保所有连接听起来很丑陋,并且不愿意最佳实践。

据我所见,我最好的选择是auth服务器创建的某种临时令牌。因此,该网站在登录后踢出auth服务器,以生成该站点可以传递给媒体服务器的令牌(作为flash vars的一部分),MediaServer本身可以用来对auth服务器进行双重检查。

我对Red5,Flash和Web安全性比较陌生,所以我想知道下面的内容是否理智,安全和/或必要。此外,如果有人知道用于这种认证系统的体面的工具,以及是否有一些已经在ASP.NET认证中为此目的踢脚线。

回答

1

解决方案提供在您的链接...你应该读我的第二个评论。 第一个关于虚拟主机是错误的!我的评论确实告诉你(至少有一个)解决方案来保护你的应用程序。

例如,您可以将连接方法中的SESSION_ID传递给Red5。在调用记录或回放方法之前,用户将从另一个webservice调用中获取SESSION_ID。

SESSION_ID甚至可能是某种临时标记,它只对15分钟有效,并且只能对该视频使用一次。你实现这个目标有多远,这是你的机制需要多么安全的问题。

塞巴斯蒂安

+0

一个很好的安全参考实现可能是OAuth规范。如果你真的想付出很多努力,我会建议尝试应用一些标准的API,如果你使用的是普通模式,使用纯HTML5的HTTP Streaming可能更容易合并。 –