12
HDCP1.4+ Material for Certification 10 August 2012 Sony Corporation

HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

  • Upload
    ledang

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

HDCP1.4+Material for Certification

10 August 2012

Sony Corporation

2012/8/10Sony Confidential1

Page 2: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

Introduction - What’s HDCP1.4+?• HDCP1.4:

• Specification:

• http://www.digital-cp.com/files/static_page_files/DAD40C4C-1A4B-B294-D0E92C72CFE974A0/HDCP%20Specification%20Rev1_4_Secure.pdf

• Licensing(Compliance Rule and Robustness Rule):

• HDCP License Agreement:

• http://www.digital-cp.com/files/static_page_files/26D315BF-1A4B-B294-D04BB484EE81591E/HDCP%20License%20Agreement0831_2011_clean%20_2_.pdf

• Addendum to HDCP License Agreement

• http://www.digital-cp.com/files/static_page_files/62BFCBA3-1A4B-B294-D09C885021187455/HDCP%202%200%20Addendum_Clean_FINAL2_04_30_11_ver2.pdf

• HDCP1.4 Purported Hack:

• It was reported that HDCP1.4 Master Key was published.

• HDCP1.4 technology provider, i.e. Intel confirmed the ability of the published Master Key to generate interoperable device key sets.

• HDCP1.4+:

• Some technical schemes will be added to enhance HDCP1.4. Note that all the HDCP1.4 schemes are applied as they are.

• In other words, HDCP1.4+ = HDCP1.4 & additional schemes.

• Compliance and Robustness Rule of HDCP1.4+ are same as latest HDCP (i.e. HDCP License Agreement and Addendum to HDCP License Agreement)

2012/8/10Sony Confidential2

Page 3: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

HDCP1.4• HDCP1.4 (Slide#3):

• Data for HDCP1.4 Authentication (D1.4auth):

• Includes pseudo-random value(An), Key Selection Vector(KSV) etc. which are exchanged between Source and Sink as defined in HDCP1.4 specification.

• 1st step:

• D1.4auth are exchanged between Source and Sink as plain-text by HDCP1.4 Authentication scheme to share session key(Km/Km’).

• 2nd step:

• Stream data is encrypted by Source and decrypted by Sink using key derived from D1.4auth.

• HDCP1.4 Purported Hack:

• It was guessed that any session key(Km/Km’) can be calculated if the following conditions are met:

• Some sets (40?) of HDCP1.4 Device Key Sets are available,

• Reverse engineering or purchase from licensor?

• D1.4auth between Source and Sink is available.

• Monitoring is easy because D1.4auth is transferred as plain-text.

• If Session Key(Km/Km’) and D1.4auth are available, HDCP1.4 protected stream can be decrypted. This means that man-in -the-middle-attack would be successful.

2012/8/10Sony Confidential3

Page 4: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

HDCP1.4 (Illustrated)

2012/8/10Sony Confidential4

Source Device(A) Sink Device(B)

HDCP1.4 Authentication1. Shar e Sessi on Key ( Km/ Km’ )

2. St r eam Encr ypt i onHDCP1.4 Encryption

Pl ai n baseband st r eam

Pl ai n baseband st r eam

HDCP Enc

HDCP Dec

D1. 4aut h

D1. 4auth

D1. 4aut h: Dat a f or HDCP1. 4 Aut hent i cat i on

Page 5: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

HDCP1.4+• Problem for HDCP1.4:

• If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decrypted by the man-in-the-middle attack.

• Countermeasure:

• Use Kauth' instead of An

• Kauth is shared securely between Source and Sink by Additional Authentication as described later.

• The least significant 64-bit of x-coordinate of Kauth is used as Kauth’.

• Effect:

• 64-bit pseudo-random value An (i.e. Kauth’ in case of HDCP1.4+) can be protected from attacker.

• An is defined in HDCP1.4 specification, 2.2.1 First Part of Authentication Protocol.

• This means that an attacker cannot perform the HDCP Cipher successfully to decrypt HDCP1.4 protected contents.

• HDCP Cipher is defined in HDCP1.4 specification, 4 HDCP Cipher.

• Only way to attack would be a brute force attack for 64-bit key.

• Other data (e.g. KSV) than An could be monitored between Source and Sink during the normal HDCP1.4 Authentication, because most HDCP1.4+ capable Source/Sink are assumed to support both 1.4 and 1.4+.

• On the other hand, Kauth’ cannot be monitored because this value is shared by more robust Additional Authentication.

2012/8/10Sony Confidential5

Page 6: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

HDCP1.4+ (Illustrated)

2012/8/10Sony Confidential6

Source Device(A) Sink Device(B)

Additional Authentication

HDCP1.4 Authentication

0. Shar e Addi t i onal Sessi on Key ( Kaut h)

1. Shar e Sessi on Key ( Km/ Km’ )

2. St r eam Encr ypt i onHDCP1.4 Encryption

Replace An with Kauth’

HDCP Enc

HDCP Dec

Pl ai n baseband st r eam

Pl ai n baseband st r eam

Kaut h Kaut h

D1. 4aut h ( i ncl .

An)

D1. 4aut h ( i ncl . An)

D1. 4aut h’

D1. 4aut h: Dat a f or HDCP1. 4 Aut hent i cat i onKaut h’ : The l east si gni f i cant 64- bi t of x- coor di nat e of Kaut hD1. 4aut h’ : D1. 4aut h whose An i s r epl aced by Kaut h’

Replace An with Kauth’

D1. 4aut h’

Page 7: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

Additional Authentication• Purpose:

• To share Additional Session Key(Kauth) which is used instead of An

• Overview:

• Diffie-Hellman key distribution method using ECDSA algorithm

• Widely available method in various services

• Bit length of ECDSA private key is 160 bits.

• Both Source and Sink have the following issued by CA(Licensor):

• ECDSA private key (Secrecy required)

• ECDSA public key certificate signed by CA(Licensor)

• Revocation List is also issued by CA(Licensor).

• Source will stop transferring data if Sink is revoked.

• After the authentication, shared data will be Kauth.

2012/8/10Sony Confidential7

Page 8: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

Additional Authentication (Illustrated)

2012/8/10Sony Confidential8

Source(A) Sink(B)

Revocation List

Brand||Bcert

Arand||Acert

Av||Asig

Bv||Bsig

Apr i v: Pr i vat e key f or A

Acer t : Cer t i f i cat e f or A

Gener at e r andom number Br and

Ver i f y Bcer t and check i f t hi s i s i ncl uded i n

Revocat i on Li stGener at e r andom

number Ar andVer i f y Acer t

Gener at e r andom number Ak

Av=Ak GAsi g=Si gn( Apr i v, Br and| |

Av)

Gener at e r andom number BkBv=Bk GBsi g=Si gn( Bpr i v, Ar and| |Bv)

Ver i f y( Apub, Asi g, Br and| | Av)

Ver i f y( Bpub, Bsi g, Ar and| | Bv)

Kaut h= Ak Bv

Thi s i s based on Di f f i e- Hel l man key di st r i but i on usi ng ECDSA.

G: Base Poi nt of El l i pt i c Cur ve

Kaut h= Ak Bv

Bpr i v: Pr i vat e key f or B

Bcer t : Cer t i f i cat e f or B

Private key and Certificate are securely stored in device in

advance.

Updated if it is newer and the signature is

verified

Page 9: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

Replace An with Kauth’• Purpose:

• To protect An from an attacker

• Overview:

• Kauth is shared between Source and Sink by robust Additional Authentication.

• Kauth is a 320-bit value of (160-bit x-coordinate, 160-bit y-coordinate).

• To support current HDCP1.4 scheme as it is, An is exchanged between Source and Sink by HDCP1.4 Authentication. However, An is not used for HDCP1.4 Encryption/Decryption.

• Kauth’ (the least significant 64-bit of x-coordinate of Kauth) is used instead of An during HDCP1.4 process.

2012/8/10Sony Confidential9

Page 10: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

Replace An with Kauth’ (Illustrated)

2012/8/10Sony Confidential10

Source(A) Sink(B)

Fi r st Par t of HDCP1. 4 Aut hent i cat i on Pr ot ocol

( r ef er t o HDCP1. 4 speci f i cat i on, Fi gur e 2- 1)

Initiate Authentication:An, Aksv

Bksv

Gener at e r andom number An

( Ks, M0, R0) = hdcpBl kCi pher ( Km,

REPEATER | | Kaut h’ )

Additional Authentication

Shar e Kaut h

Shar e Kaut h

( Ks’ , M0’ , R0’ ) = hdcpBl kCi pher ( Km’, REPEATER | | Kaut h’ )

Pl ai n- t ext

Page 11: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

Revocation List for Additional Authentication

• Purpose:

• To revoke Sink by Source

• Overview:

• Revocation List is securely stored (i.e. cannot be replaced by an attacker) in Source device when shipping. Also, stored Revocation List is updated when Source device encounters a newer Revocation List.

• Before storing, Source device verifies the signature of the Revocation List signed by CA(Licensor).

• How is new Revocation List delivered?:

• Download latest revocation list with content

• Note:

• HDCP revocation of Source by Sink does not work.

• HDCP is optional for data transmission from Source device, because private contents are transferred as plain-text. Evil Source device would send pirated contents as plain-text, in other words, HDCP would not be initiated. That is why revocation does not work.

2012/8/10Sony Confidential11

Page 12: HDCP1.4+ - WikiLeaks • Problem for HDCP1.4: • If an attacker has sufficient sets of HDCP1.4 Device Key Set, HDCP1.4 protected stream can be decr ypted by the man-in-the-middle

Revocation List for Additional Authentication (Illustrated)

2012/8/10Sony Confidential12

Source(A) Sink(B)Server

Content, Revocation List

Revocation List

Version compariso

n

DownloadedRevocation List

StoredRevocation List

Replace stored RL by downloaded RL, if downloaded RL is

newer

Signature verification If

verified

Additional AuthenticationCheck if Sink is included in

RL

Revocation List