用于iPhone HTTP流的AES 128加密

时间:2010-02-22 16:02:35

标签: iphone streaming aes encryption

我对密码学几乎一无所知,但我想弄清楚如何加密 一个HTTP直播流并在iPhone上解密。

HTTP加密的苹果文档内容如下:

////////////////////////////

包含流段的媒体文件可以单独加密。使用加密时,对索引文件中会显示对相应密钥文件的引用,以便客户端可以检索密钥以进行解密。

当索引文件中列出密钥文件时,密钥文件包含一个密码密钥,该密钥必须用于解密索引文件中列出的后续媒体文件。目前,HTTP Live Streaming支持使用16个八位字节密钥进行AES-128加密。密钥文件的格式是二进制格式的这16个八位字节的压缩数组。

Apple提供的媒体流分段器提供加密功能,并支持三种配置加密的模式。

第一种模式允许您指定磁盘上现有密钥文件的路径。在此模式下,分段器将现有密钥文件的URL插入索引文件中。它使用此密钥加密所有媒体文件。

第二种模式指示分段器生成随机密钥文件,将其保存在指定位置,并在索引文件中引用它。使用此随机生成的密钥对所有媒体文件进行加密。

第三种模式指示分段器生成随机密钥文件,将其保存在指定位置,在索引文件中引用它,然后每n个文件重新生成并引用一个新的密钥文件。此模式称为键旋转。每组n个文件都使用不同的密钥加密。

您可以使用HTTP或HTTPS提供密钥文件。您还可以选择使用自己的基于会话的身份验证方案来保护密钥文件的传送。

/////////////////////////////////////////

使用加密方法1,我认为我需要这样做:

  1. 使用密码生成密钥,并使密钥可用于segmenter
  2. segmenter将密钥的URL插入索引文件
  3. 将此密码存储在iphone(keychain?)
  4. 将电影播放器​​指向引用此索引文件的m3u8播放列表的网址
  5. 以某种方式输入密码以自动解密流?
  6. 任何人都可以帮助解除雾气吗?

    感谢!!!!

1 个答案:

答案 0 :(得分:2)

这几乎说明了如何处理加密流媒体:

http://developer.apple.com/iphone/library/qa/qa2009/qa1661.html

此外,应用程序应在运行影片之前连接到https域, 以便它可以传递其凭据,并且可以缓存这些凭据 MPMoviePlayer。

播放器支持摘要式身份验证,但不支持使用SSL客户端身份验证 客户证书。