키 선택 벡터
Key selection vectorKSV(Key Selection Vector)는 라이센스 허여자 또는 이의 지정자가 채택자에게 배포하는 장치 키 집합과 관련된 숫자 식별자로, HDC 복사 방지 시스템의 일부로 라이센스 제품의 인증 및 취소를 지원하는 데 사용된다. KSV는 비밀키를 생성하는데 사용되며, 특히 HDCP의 인증제한과정에서 사용된다. 제한 인증은 컴퓨팅 자원이 제한된 장치에 대한 AKE 방법이다. 이 방법은 모든 종류의 장치(DV 레코더 또는 D-VHS 레코더 등)와 그것과 통신하는 장치를 복사하여 보호된 콘텐츠를 인증하는 데 사용된다. 제한 인증 프로토콜은 비대칭 키 관리와 공통 키 암호화를 사용하며, 임의의 도전에 대응하기 위해 공유 비밀과 해시함수의 이용에 의존한다.[1]
인증 프로토콜 제한
인증 제한의 목적은 기기가 다른 장치와 공유되는 비밀을 가지고 있다는 것을 증명하는 것이다. 한 기기는 공유 비밀과 다중 해시를 결합하여 응답이 생성되는 임의의 도전에 의해 다른 기기는 인증한다. 형식적으로 키 선택 벡터는 20개의 0과 20개의 0을 포함하는 40비트 벡터로서 무작위 도전을 지정하는 데 사용된다. Device Key Set는 40 56비트 값의 집합이며, 이 프로토콜에 대한 공유 비밀의 집합이다.
인증 과정에서 쌍방(송신기와 수신기)이 KSV를 교환한다. 그런 다음 각 장치는 다른 장치에서 수신한 KSV에 따라 자체 장치 비밀 키(부호 없는 추가 모듈 2를 추가한다. KSV의 특정 비트를 1로 설정하면 해당 비밀 키가 추가에 사용되며 그렇지 않으면 무시된다. 각 키 세트에 대해 KSV(Key Selection Vector)라는 특수 키가 생성된다. 각 KSV에는 정확히 20비트가 0으로, 20비트가 1로 설정되어 있다. 키와 KSV는 이 과정에서 두 장치 모두 56비트 숫자를 동일하게 얻을 수 있는 방식으로 생성된다. 그 번호는 나중에 암호화 과정에서 사용된다.
KSV의 고유성 및 폐기
유효한 키가 손상될 수 있으므로(예를 들어 역 엔지니어링 하드웨어를 통해 Hacked), HDCP 체계는 키를 폐기하는 메커니즘을 포함한다. KSV 값은 각 키 집합에 고유하므로 각 장치에 고유하다. 그러면 HDCP 시스템은 이러한 값을 해지 목록과 비교할 수 있으며, 송신기나 수신기가 해지 목록에 나타나면 인증이 실패한다. 해지 목록에 대한 업데이트는 새 미디어와 함께 제공되며 장치의 해지 목록에 자동으로 통합된다. 키 세트가 노출되거나 복사될 경우 손상이 제한될 수 있다는 의미다.
이 취소 과정은 기기가 동일한 제조자와 모델의 기기라 하더라도 다른 기기에는 영향을 미치지 않는다. KSV 값은 이런 의미에서 일련번호와 유사하다. 이 시스템이 어떻게 작동하는지를 보여주는 예로서, 두 고객이 같은 날에 같은 모델의 텔레비전을 같은 가게에서 구입하고, 첫 번째 고객이 텔레비전을 해킹한다면, 다른 고객의 텔레비전의 콘텐츠 재생 능력에 영향을 주지 않고 첫 번째 고객의 키가 취소될 수 있다.
인증 제한에 대한 공격
공격자가 40개의 선형 독립 벡터( 키 ...( 키(즉, KSV를 기반으로 기기의 Device Key Set를 추가하여 생성된 벡터)를 찾을 수 있는 경우, 주어진 Device Key Set를 사용하여 모든 장치의 HDCP 시스템을 완전히 깨뜨릴 수 있다. 이때 KSV의 비밀키 배열을 추출할 수 있어 HDCP 인증 프로토콜에서 사용하는 공유 비밀에 접근할 수 있다. KSV에서 생성된 키는 주어진 시스템에서 선형적으로 생성되기 때문에(즉, KSV에서 키를 얻는 것은 매트릭스 곱셈으로 볼 수 있음), 어떤 사람은 40-50의 다른 시스템에서 장치 키 세트 매트릭스를 결정할 수 있다( 1 } ....). 및관련 KSV(이것은 프로토콜의 공개 정보임).
추출된 키가 선형적으로 독립적이지 않은 다른 경우, 개인 키가 발견된 ( KSV의 범위 내에 있는 새 XKey를 생성할 수 있다(선형 조합을 취함). 그러나 KSV가 20과 0을 가져야 하는 필수 재산을 만족한다는 보장은 없다.[2]
방정식 설정
선형적으로 독립된 의 Xkeys의 이름을 장치 키 집합의 키 행렬로 지정가 있다고 가정하면, 40개의 알 수 없는 것에 대해 일련의 n개의 선형 방정식을 제공한다.
[Xkeys] * (A1)ksv = [(A1)keys] * Xksv[Xkeys] * (A2)ksv = [(A2)keys] * Xksv...[Xkeys] * (A40)ksv = [(A40)keys] * Xksv
By having acknowledgment on all the KSVs, and assuming the secret key vectors ()keys are known, the above algorithm can be used to find the secret keys to produce a new derived key from arbitrary new KSV. If the space spanned by the ()KSVs doesn't span the full 40 dimensional 공간, 이것은 KSV가 공간을 넘지 않도록 설계되지 않았거나 전체 공간에 걸쳐 있는 벡터 세트를 찾으려면 적은 수의 추가 키만 필요하기 때문에 괜찮다. 각 추가 장치는 기존 세트에 선형적으로 종속될 가능성이 낮다. (대략 1/2^[40-차원 공간). 이 선형 의존 확률 분석은 Simon's Algorithm)[2]의 분석과 유사하다.
참고 항목
참조
- ^ Digital Content Protection, LLC. (July 8, 2009). "High-bandwidth Digital Content Protection System" (PDF).
{{cite web}}: CS1 maint : url-status (링크) - ^ a b Irwin, Keith (August 2, 2001). "Four Simple Attacks on HDCP".
{{cite web}}: CS1 maint : url-status (링크)