如何保护流密钥不被公开?

Posted

技术标签:

【中文标题】如何保护流密钥不被公开?【英文标题】:How to protect Streaming Key from public? 【发布时间】:2017-10-02 17:48:25 【问题描述】:

我正在将实时 RTMP 流从 OBS 发送到 Wowza Streaming Engine,并在我的网站上的 JW Player 中播放。我网站的成员将能够流式传输到他们自己的“频道”。

唯一的问题是,如果我网站上的查看者查看源,他/她可以访问流密钥。如果一个用户获得另一个用户的直播密钥,那么他们就可以直播到他们的频道。

保护这个流密钥的好方法是什么?

【问题讨论】:

查看 API 文档或 Google 以了解在没有密钥的情况下发出经过身份验证的流请求的方法。客户端要求服务器签署/验证请求,服务器提供一次性令牌。大多数 API 都有这个。 字面上搜索了一整天,找不到任何东西。许多流媒体平台都实现了这一点。他们有一个“私人”流媒体密钥,我假设是一个公共密钥。我只是不确定该怎么做。我认为这将是一个常见问题,因为任何人都可以在没有密码验证的情况下推送到您的 RTMP 服务器。 【参考方案1】:

您可以编写一个模块来执行基于服务器颁发的令牌的身份验证。出于类似目的,还存在一些商业模块的免费限制版本。这是一篇介绍如何开始工作的文章:https://streamtoolbox.com/hello-wowza-module-tutorial

【讨论】:

以上是关于如何保护流密钥不被公开?的主要内容,如果未能解决你的问题,请参考以下文章

如何保护 swf 文件不被查看?

如何保护我的jar资源不被提取?

在反应应用程序中保护 Firebase API 密钥以使其无法公开访问的最佳方法是啥? [复制]

密钥管理概述

Php代码如何实现代码保护,不被窃取?

如何保护 AWS CloudFormation 堆栈不被删除?