Шифрование AES 128 для HTTP-потока iPhone - PullRequest
5 голосов
/ 22 февраля 2010

Я почти ничего не знаю о криптографии, но я хотел бы выяснить, как шифровать HTTP прямой эфир и расшифровка на iphone.

Документы Apple для шифрования HTTP читаются следующим образом:

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

Медиа-файлы, содержащие сегменты потока, могут быть зашифрованы индивидуально. При использовании шифрования ссылки на соответствующие файлы ключей появляются в индексном файле, чтобы клиент мог получить ключи для дешифрования.

Когда файл ключа указан в файле индекса, файл ключа содержит ключ шифра, который должен использоваться для дешифрования последующих файлов мультимедиа, перечисленных в файле индекса. В настоящее время HTTP Live Streaming поддерживает шифрование AES-128 с использованием 16-октетных ключей. Формат файла ключей представляет собой упакованный массив из этих 16 октетов в двоичном формате.

Сегментер медиапотока, доступный от Apple, обеспечивает шифрование и поддерживает три режима для настройки шифрования.

Первый режим позволяет указать путь к существующему файлу ключа на диске. В этом режиме сегментатор вставляет URL-адрес существующего ключевого файла в индексный файл. Он шифрует все медиа-файлы с помощью этого ключа.

Второй режим инструктирует сегментер генерировать файл случайного ключа, сохранять его в указанном месте и ссылаться на него в индексном файле. Все мультимедийные файлы зашифрованы с использованием этого случайно сгенерированного ключа.

Третий режим инструктирует сегментатор генерировать файл случайного ключа, сохранять его в указанном месте, ссылаться на него в индексном файле, а затем заново генерировать и ссылаться на новый файл ключа каждые n файлов. Этот режим называется поворотом ключа. Каждая группа из n файлов зашифрована с использованием другого ключа.

Вы можете обслуживать ключевые файлы, используя HTTP или HTTPS. Вы также можете защитить доставку файлов ключей, используя собственную схему аутентификации на основе сеанса.

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

Используя метод шифрования 1, я думаю, что мне нужно сделать следующее:

  1. сгенерируйте ключ, используя шифр, и сделайте ключ доступным для сегментатора
  2. Сегментер вставляет URL ключа в индексный файл
  3. сохранить этот шифр в iphone (брелок?)
  4. указывает проигрыватель фильма на URL списка воспроизведения m3u8, который ссылается на этот индексный файл
  5. ввести шифр как-нибудь, чтобы автоматически расшифровать поток?

Кто-нибудь может помочь поднять здесь туман?

Спасибо !!!!

1 Ответ

2 голосов
/ 26 февраля 2010

Это довольно много, как обращаться с зашифрованной потоковой передачей:

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

Кроме того, приложение должно подключиться к домену https перед запуском фильма, чтобы он мог передавать свои учетные данные, и эти учетные данные могут быть кэшированы для MPMoviePlayer.

Плеер поддерживает дайджест-аутентификацию, но не аутентификацию клиента SSL с использованием клиентские сертификаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...