2013-04-28 3 views
1

PlayReady 및 AES-128과 같은 산업 표준 암호화 기술을 사용하여 HTTP 라이브 스트리밍을위한 파일의 더 작은 세그먼트를 암호화/해독 할 수 있습니까?HTTP 라이브 스트리밍을위한 부분 파일 암호화/복호화

iOS의 기본 HLS 구현이 AES-128 암호화와 어떻게 작동하는지, 즉 점진적으로 부분 세그먼트 (TS) 및 스트림 파일을 계속 다운로드 할 수 있는지 여부를 모르겠습니까? 아니면 전체 파일을 다운로드하고 전체 내용을 해독 한 다음 재생을 시작해야합니까?

내가 만난 PlayReady 클라이언트 중 일부에서는 후자의 접근 방식을 사용했습니다 (전체적으로 먼저 다운로드). 그러나 재생 대기 시간에 대한 끔찍한 타협처럼 보입니다. 보안을 달성하기 위해 (그리고 아마도 주위에 방법이 없을 수도 있습니다).

이 주제에 대한 약간의 조명이 도움이 될 것입니다. 감사!


P.S : 기술 문서 또는 설명서에 대한 언급이 유용 할 것입니다.

+0

난 정말이 질문을하지 않습니다

빠른 검색

나에게 그것을 읽는 HLS를 해독되는이 프로젝트를 발견했다. AES는 블록 사이퍼이므로 데이터를 해독하기 위해 둘 이상의 블록을 해독 할 필요가 없습니다. 이것은 HLS와 PlayReady에서 동일합니다. – vipw

+0

바로 그게 내가 몰랐던 것입니다. 데이터가 실제로 블록 단위로 암호화되었는지 여부입니다. 이 답변을 다시 게시 할 수 있다면 받아 들일 수 있습니다. 또한 블록 크기에 대한 정보를 공유 할 수 있다면 매우 도움이 될 것입니다. 일반적으로 암호화를 수행하는 데 사용되는 서버 측 소프트웨어에 구성 가능하거나 표준 크기가 있습니까? 고마워요 –

답변

1

AES는 128 비트 블록 크기의 블록 암호를 사용합니다. 따라서 암호 해독 프로그램이 키와 IV를 알고 있으면 첫 번째 블록에서 일반 텍스트를 반환 할 수 있습니다. 먼저 전체 세그먼트/조각을 해독 할 이유가 없습니다.

구현하기가 약간 더 쉽기 때문에 파일 기반으로 만 수행하는 PlayReady 구현을 추측합니다. 그러나 클라이언트가 해독을 시작하기 전에 전체 파일을 검색해야한다는 기술적 인 이유는 없습니다.

조각/세그먼트를 매우 크게 만들고 클라이언트 동작을 확인하여 클라이언트가 수행중인 작업을 확인할 수 있습니다. https://code.google.com/p/mlbtv-hls-nexdef/source/browse/trunk/mlb.c

+0

흥미 롭습니다. 감사! –