我对密码学知之甚少,但我想找出如何在 iPhone 上加密 HTTP 直播流并进行解密。
苹果的 HTTP 加密文档如下:
包含流段的媒体文件可以单独加密。当使用加密时,相应密钥文件的引用会出现在索引文件中,以便客户端可以检索密钥进行解密。
当索引文件中列出密钥文件时,该密钥文件包含必须用于解密索引文件中列出的后续媒体文件的密码键。目前,HTTP Live Streaming 支持使用 16 个八位字节的 AES-128 加密。密钥文件的格式是这些 16 个八位字节的二进制格式的打包数组。
可从 Apple 获得的媒体流分段器提供加密,并支持三种配置加密的模式。
第一种模式允许您指定磁盘上现有密钥文件的路径。在此模式下,分段器将现有密钥文件的 URL 插入索引文件中。它使用此密钥加密所有媒体文件。
第二种模式指示分段器生成一个随机密钥文件,将其保存在指定位置,并在索引文件中引用它。使用此随机生成的密钥加密所有媒体文件。
第三种模式指示分段器生成一个随机密钥文件,将其保存在指定位置,引用它在索引文件中,并然后重新生成并引用每个 n 个文件的新密钥文件。此模式称为密钥轮换。每组 n 个文件使用不同的键加密。
您可以使用 HTTP 或 HTTPS 提供密钥文件。您还可以选择使用自己的基于会话的身份验证方案来保护密钥文件的传递。
使用加密方法 1,这是我认为需要做的:
1. 使用密码器生成密钥,并使密钥可供分段器使用。 2. 分段器将密钥的 URL 插入索引文件中。 3. 将此密码存储在 iPhone 中(钥匙串?)。 4. 将电影播放器指向 m3u8 播放列表的 URL,该播放列表引用此索引文件。 5. 如何输入密码以自动解密流?
有人能帮助我理清思路吗?
苹果的 HTTP 加密文档如下:
包含流段的媒体文件可以单独加密。当使用加密时,相应密钥文件的引用会出现在索引文件中,以便客户端可以检索密钥进行解密。
当索引文件中列出密钥文件时,该密钥文件包含必须用于解密索引文件中列出的后续媒体文件的密码键。目前,HTTP Live Streaming 支持使用 16 个八位字节的 AES-128 加密。密钥文件的格式是这些 16 个八位字节的二进制格式的打包数组。
可从 Apple 获得的媒体流分段器提供加密,并支持三种配置加密的模式。
第一种模式允许您指定磁盘上现有密钥文件的路径。在此模式下,分段器将现有密钥文件的 URL 插入索引文件中。它使用此密钥加密所有媒体文件。
第二种模式指示分段器生成一个随机密钥文件,将其保存在指定位置,并在索引文件中引用它。使用此随机生成的密钥加密所有媒体文件。
第三种模式指示分段器生成一个随机密钥文件,将其保存在指定位置,引用它在索引文件中,并然后重新生成并引用每个 n 个文件的新密钥文件。此模式称为密钥轮换。每组 n 个文件使用不同的键加密。
您可以使用 HTTP 或 HTTPS 提供密钥文件。您还可以选择使用自己的基于会话的身份验证方案来保护密钥文件的传递。
使用加密方法 1,这是我认为需要做的:
1. 使用密码器生成密钥,并使密钥可供分段器使用。 2. 分段器将密钥的 URL 插入索引文件中。 3. 将此密码存储在 iPhone 中(钥匙串?)。 4. 将电影播放器指向 m3u8 播放列表的 URL,该播放列表引用此索引文件。 5. 如何输入密码以自动解密流?
有人能帮助我理清思路吗?