Kryptoanalyse PowerVu TVVerschlüsselung

Es wird gezeigt dass der Security-Chip Schwachstellen enthält die das Ermitteln des Schlüssels ermöglichen
10.03.2010 (Version 1.0) aktuelle Version auf http://colibri.de.ms/ => o!erVu

"olibri #colibri$d%b&l'cos.com>

............10 /mpfehlun2en ........................................................................................'stem heraus2efunden !urde............. /inleitun2 ......................2E/L 1....?E6L 7......................ch!achstellen ein2e2an2en.............................................................................................................@ <e' "han2e (nterruption +ttack .......................chluss !erden noch :N2lichkeiten auf2eJei2t !ie sich die .............................................eeds) ...................tream cipher ........atelliten (2?./(-C)4 -B+)+.....................3 6as bisher 2eschah ....9E6L 30...................7 8er /ntschl5sselun2sal2orithmus im 8etail ...........................0E6L 2>..................................ch!achstellen ... <ommando 1 (4et .................. Bb bei den anderen ro%idern die auch o!erVu %er!enden der 2leiche .................A.........................? .......................9 /": /ntschl5sselun2 ........................................ch!achstellen enthMltL die kombiniert aus2enutJt das /rmitteln des /ntschl5sselun2sschl5ssels ermN2licht...............Kryptoanalyse PowerVu TV-Verschlüsselung ()*+...........................................................................1.......V/01/("*)(.................'stem 4rob5ersicht ...................atellit aus2esendet................../........................0E6L 19................................D...............9 ..........ecurit'3"hip) der Jum /ntschl5sseln der F+merican Gorces )et!orkH (+G)) ro2ramme %er!endet !erden kann auf ....... 1um ....................... 8ie .) !erden ro2ramme 5ber o!erVu %erschl5sselt ab2estrahlt......................................................................................................... 8ann !ird 2eJei2t !ie der /ntschl5sselun2sal2orithmus funktioniert..... /s !urde heraus2efunden dass der ........ * und =undes!ehr -V (=6 -V) 5ber GreIuenJ 11097 *......................................... <0A /()..................................................0E6L 3>.......................ch!achstellen) Jum /insatJ kommt konnte ich nicht pr5fen..............................0E/ sendet beispiels!eise F+merican Gorces )et!orkH (+G)) 5ber GreIuenJ 10>>9 * K 110@......................0E/L 7.......chl5ssel lautet aber nicht...........ch!achstellen beheben lassen.................................................................................ch!achstellen !erden hier beschriebenL !ie der ermittelte ....................... der inte2rierte ............................................... (m Gol2enden !ird beschrieben !as bereits in der Ver2an2enheit 5ber das o!erVu ....................................-.............................................................ch!achstellen untersucht.................... +nschlieOend !ird auf die ........ ! ...............................9E6L ....9E6L 70...................................."*......................................2 o!erVu3.......0E6L 22............... *ier !urde der o!erVu 0ecei%er 8@237 (bJ!........ecurit'3"hip (mit den 2leichen .......................... <ommando 0 (4et =ase "6) .......................> /:: /ntschl5sselun2 ..................................... Dber *ot =ird 13.......................................................@ -imin2 +ttack ...... +ber auch 5ber andere .............................../ B6/0VC -V3V/0..............................................C)4 /ini2e -V und 0adio ro2ramme !erden mit dem <r'ptos'stem o!erVu %erschl5sselt 5ber ............................?E/L 0...............................ecurit'3"hip 2leich mehrere .

:it einem /:: kann auch die Greischaltun2 (-iers) der ro2ramme 2eMndert !erden.< ist dabei lan2lebi2er. +l2o :.tream F/ntitlement "ontrol :essa2eH (/":) mit 5bertra2en.Kryptoanalyse PowerVu TV-Verschlüsselung B6/0VC3. 8ie /:: akete enthalten %erschl5sselte (nfos f5r den . alle 10 . " .chl5ssel !ird 5ber einen separaten .ecurit'3"hip einen neuen :.ecurit'3"hip !eiter.A.ecurit'3"hip besitJt bei der +uslieferun2 einen anderen /::3<e' und er kann anschlieOend nicht mehr 2eMndert !erden.3 .atellit mit dem 8/. /ntschl5sselt !ird ein /:: mit dem /::3<e'.. 8er %erschl5sselte 8/.peicher (// 0B:) schreibt.eriennummer des .ie an den .ession <e'H (:.< Jukommen Ju lassen !ird 5ber einen separaten .3. Peder .3. (m Cnterschied Ju den /":s die f5r alle bestimmt sindL enthalten die /::s immer als +dresse die un%erschl5sselte .ekunden 2eMndert.tream F/ntitlement :ana2ement :essa2eH (/::) akete 5bertra2en.a. Video und +udio) !ird %or dem +ussenden 5ber .3+l2orithmus (/"=3 :odus) %erschl5sselt.ecurit'3"hip 0ecei%er 8ecr'pted Video/+udio ABBILDUNG 1: SCHLÜSSELHIRARCHIE 8as ro2ramm (u.("*1uerst mal 2rob die (nfo !ie die o!erVu /ntschl5sselun2 funktioniert. 8er :.) / /::3<e' o!erVu +l2o 8/. 8ieser entschl5sselt mit dem F:ulti . 8er 0ecei%er empfMn2t die %erschl5sselten /": akete und leitet .<) (also ein /":3<e') dann das /": aket und 2ibt den entschl5sselten 8/. 8er 8/.chl5ssel !ird ca.ecurit'3"hips f5r den sie bestimmt sind.-/: 40B=D/0. /ncr'pted Video/+udio /ncr'pted /": /ncr'pted /:: o!erVu +l2o .chl5ssel an den 0ecei%er Jur5ck (falls JusMtJlich eine Greischaltun2 f5r das ro2ramm %orlie2t) der damit das ro2ramm entschl5sselt.ecurit'3"hip der diese nach der /ntschl5sselun2 in seinen nichtfl5chti2en . /r !ird %ermutlich nur alle paar :onate (oder Pahre) 2e!echselt. Cm dem .< / /":3<e' . /s kNnnen also 2eJielt einJelne ro2ramme 2esperrt und andere frei2eschaltet !erden.

peJiell das <apitel .tack 5berschreibt %erhindert !ird.chnittstelle aus2ibt als <ommando dem (. /s !urde 2eJei2t !ie ein /": in J!ei (.200.tack./3 0+: lie2t hinter dem ./3./3<ommandos 2esplittet !erden muss (4et=ase"6 und 4et. :it all den (nfos konnte man bereits J.chl5ssel hat er entfernt./3<ommandos auf2elistet die in der Girm!are 2efunden !urden. *ier !urde speJiell die Girm!are des 0ecei%ers und die ph'sikalische .ecurit' /lementH ((./ das (. hat dann der =enutJer "inosana in einem Gorum die 8atei Fp%ufull.Mn2e der fol2enden 8aten enthMlt./ schicken und die +nt!orten beobachten kann. cmp S023h bhi mot77>? T 7737 +1 23 (2) (f .*/0 4/. F o!erVu "onditional +ccess s'stemH im o!erVu. unterst5tJt (8+ V -he (nteracti%e 8isassembler die .ecurit'3"hipL der bei o!erVu auch als F(nternal . 8ie /:: und /": . /s !urde auch ein . /s !urden die (. 8as (.de./ "hip interfaceH und das passende -ool F o!erVu3(. .eQeH Jur Verf52un2 2estellt mit der man %erschiedenen <ommandos Jum (.atellitenempfan2skarte auf2eJeichnetes Video offline entschl5sseln.chutJ Ju um2ehen hat er einen modifiJierten -@11 4litcher %er!endet und direkt nach dem ./3 "hip ist kein simples // 0B:L sondern er hat die 2leichen +nschl5sse !ie der "hip einer ./3./ unterst5tJt mehr <ommandos (die aber im normalen 4ebrauch nicht benNti2t !erden) als in der 0ecei%er3Girm!are %orhanden sind./ pr5ft im )ormalfall das erste <ommandob'te das die . 8urch den /insatJ eines 8isassemblers (J.?09 " C und 8aten also das interne // 0B: und 0B:.icherheitsproblem da immer noch ein frei2eschaltetes (. .ecrets. 8er /":3<e' lMsst sich nMmlich auch ermitteln ohne ein /Qploit in das (.eeds) und !ie die +nt!orten Ju einem 8/.?09 " C) konnten !eitere /rkenntnisse 2e!onnen !erden.ch!achstellen um die es in diesem 8okument 2eht sind aber +ndere.3<e' Jusammen2esetJt !erden m5ssen.ie enthMlt die (.chnittstelle %om .02./ 5ber2eben hat. +m 2?.chaltplan f5r ein F " to (. 8er (. (m (.peicher auslieOt und 5ber die serielle (./ an einen " anschlieOen und ein mit einer 8V=3s ./) beJeichnet !irdL anal'siert. (st die .pannun2s%ersor2un2 bei 2leichJeiti2er Underun2 der -aktfreIuenJL dadurch kommt es Jum Dbersprin2en des =efehls.ektion meine /rkenntnisse %erNffentlicht. bei einem defekten 0ecei%er aber intakten und frei2eschaltenen (.Mn2enb'te 2rNsser als 23h dann bricht das (. =(.peicher in dem ein empfan2enes <ommando Jur spMteren +us!ertun2 ab2ele2t !ird der .Kryptoanalyse PowerVu TV-Verschlüsselung 6+. /in 4litch ist hier eine kurJJeiti2e Underun2 in der (.martcard (V""L 4)8L 0esetL -akt und 8aten). 8as (.JipH 2epostet./3-ool.endes des . # . 8G sollte %or dem 6eiterlesen durch2elesen !erden. 22 70 (3) #error> Cm diesen o%erflo! . 8as ist Redoch kein ."*+* =ereits 2009 habe ich unter http://colibri./ mit einem Gehler abL damit ein =uffer o%erflo! der den ./ benNti2t !ird./ Ju laden.=./ 5bersprin2t bei einem 4lich einen =efehl in diesem Gall den obi2en bhi3=efehl (branch if hi2her) der einen Gehler aus2ibtL statt !eitere 8aten Ju empfan2en. 8as (./) > 0Q23L error T 773.=.ms in der o!erVu . 6ie er den 4litcher modifiJiert hat hat er aber nicht %erraten. +n2eblich kam der an diese internen 8aten in dem der ein kleines ro2ramm das den kompletten .Mn2enb'tes einen 4litch aus2elNst. 8ie ./3Girm!are f5r die .

hift re2ister 0 2> 9. 7 .chiebere2ister Jur5ck2eschrieben.3) Verkn5pfun2 2eschrieben.chiebere2isters WB0 ()r. $ ..telle nach rechts 2eschoben. 6ie fol2endes =ild Jei2t ist die 2roOe .7) %erkn5pft und das 0esultat !ieder an die 2leiche . =its des . 8as /r2ebnis !ird dann mit =it 2> des . .4B0(-*:C.tream cipherL die /": und die /:: /ntschl5sselun2 beschrieben.chiebere2isters !erden durch die .3=oQ "r'pted bits in 1 2 lain bits out ABBILDUNG 2: STREAM CIPHER 1ur (nitialisierun2 !ird der . G5r Redes Ju entschl5sselndes =it !ird fol2endes 2emacht: 8ie 9.+.2) %erkn5pft. (m Gol2enden !erden der .3) %erkn5pft.chiebere2ister 2eladen.peicherplatJ2r5nden aus kleineren . 8er alte (nhalt %on =it 99 2eht dabei %erloren und ins =it 0 !ird das 0esultat der WB0 ()r. 8as 0esultat ist das entschl5sselte =it. 8as /r2ebnis !ird dann mit dem =it 0 des .C)4."*. 8ieses =it !ird dann mit dem nMchsten %erschl5sselten =it WB0 ()r.3=oQ die 9.3=oQ auf 1 =it reduJiert.Kryptoanalyse PowerVu TV-Verschlüsselung 8/0 /)-. 1uletJt !ird dann noch das .chiebere2isters WB0 ()r. (: 8/-+(. =its 3 99 .tream cipher. 8ieses =it !ird dann mit dem =it 99 des .chiebere2isters WB0 ()r. =it lan2e .D.chl5ssel (also /": oder /::3<e') in das 9.telle ins .chiebere2ister um eine .1) %erkn5pft./.3=oQen (mit unterschiedlichen (nhalten) auf2ebaut.-0/+: "( */0 8er o!erVu +l2orithmus %er!endet als <ern fol2enden . =its in 1 =it um!andelt aus .

chl5ssel f5r die Video3 /ntschl5sselun2 (oder =ase "6 mit +udio 1 . 8ie ersten beiden ='tes /":X0.0QGY ist %erschl5sselt.. 8er 0ecei%er %erkn5pft dann das =ase "6 mit dem Video .3=oQ 1 =it > =its ././ "6) 8er /": -eil im <ommando 0 ist 10h ='tes lan2.3=oQ 1 =it ABBILDUNG 3: AUFBAU DER GROSSEN S-BOX 8ie .3=oQ die ? =its in 1 =it um!andelt benNti2t 32 ='tes.8L +udio2L Ctilit' und V=(.3. =its :iQ bit order > =its ./ mit einem leeren <ommando ? anfordern.3=oQ 1 =it > =its ."*./ <ommando 0 an das (. 7 /in2an2sbits bestimmen den (ndeQ des 1. 8as (.3=oQen die > =its in 1 =it um!andeln benNti2en nur Re!eils 1. 8G %oraus./.3. :N2lich sind dabei . 8as 2ibt darauf hin die %om aktuellen -V3 ro2ramm benutJten ..chl5ssel f5r die +udio 13/ntschl5sselun2) Ju bekommen.=+.3=oQ 1 =it > =its .ecrets. ='tes.3=oQ .3=oQ 1 =it 1 =it > =its .D.1Y sind un%erschl5sselt. 8en ersten -eil sendet er 5ber das (.C)4 8ie fol2ende =eschreibun2 setJt <enntnisse des oben er!Mhnten o!erVu.chl5ssel das /": entschl5sselt !erden muss. % .Kryptoanalyse PowerVu TV-Verschlüsselung 9././ 2ibt darauf das =ase "6 Jur5ck. /": /)-. 8er 0est /":X2. =enNti2t der 0ecei%er noch .. 8er 0ecei%er teilt das /": in J!ei -eile auf.3=oQ 1 =it > =its .eeds f5r VideoL +udio1L *.3=oQ 1 =it > =its .eed um den 8/. 8ie un%erschl5sselten ='tes enthalten (nfos mit !elchem .3=oQ 1 =it > =its .eeds f5r +udio 3 und +udio 7 kann er sie %om (. ='te +rra's und die %erbleibenden 3 /in2an2sbits bestimmen das =it des /r2ebnisb'tes das %er!endet !erden soll. 8ie eine . <B::+)8B 0 (4/. 9 /in2an2sbits bestimmen den (ndeQ des 32 ='te +rra's und die %erbleibenden 3 /in2an2sbits bestimmen das =it des /r2ebnisb'tes das %er!endet !erden soll.eed um den 8/.eed 6erte Jur5ck. 8ann sendet der 0ecei%er den J!eiten -eil 5ber das <ommando 1 an das (.

.-. asst die ... . 6ird aktuell der /V/)3<e' %er!endet und es soll auf einen neuen . /":X0Y =it 7 3 2 0 1 0 0 0 0 1 1 1 1 /":X1Y =it 7 3 2 /":3.Kryptoanalyse PowerVu TV-Verschlüsselung 8as kann ent!eder ein statischer (nicht 5ber ein /:: updatebarer) 0B:/// 0B: ."0 EE:0"$% //:09G0 //:0. G5r die /ntschl5sselun2 des <ommando 1 /":s !ird der 1ustand des . & .i2naturb'te muss mit /":X0Y identisch sein /":XGY .i2natur passt. Galls die ..eeds Jur5ck2e2eben. /":XGY und /":X?Y m5ssen identisch sein. /":X18hY und /":X0Y m5ssen identisch sein.i2natur nichtL dann !ird kein =ase "6 Jur5ck2e2eben.chl5ssel bekommen haben. /":X>Y und /":X0Y m5ssen identisch sein. 8ann !erden die /":s statt mit dem /V/)3<e' mit dem B883<e' %erschl5sselt. /":X1/hY und /":X1Y m5ssen identisch sein.chiebere2isters +/-.chl5ssel 2e!echselt !erden dann !ird 5ber ein /:: der B883<e' 2eMndert./ ob die .i2natur passt./ den neuen .9Y .Y ='te %er2lichen. 9 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 TABELLE 1: &ELCHER SCHLÜSSELT'P VER&ENDET &ERDEN SOLL KANN DAS ISE AN EINIGEN BITS VOM ECM(0))1* ERKENNEN /":X2.9Y !ird f5r die . <B::+)8B 1 (4/. )ach der /ntschl5sselun2 pr5ft das (. =ei +G) !ird %on den 7 %om (.ind sie identisch dann !urde die 0eihenfol2e der /":s nicht %erMndert und es !urde auch kein /": aus2elassen.//8./Y =ase "6 +dresse 0B::70@7 //:10+7 EE:0"#C //:09/? //:0. 8ie ersten beiden ='tes /":X0. )ach ein paar 6ochen sollte dann Redes (.i2naturb'te muss mit /":X?Y identisch sein TABELLE 2: NACH DER ENTSCHLÜSSELUNG )ach der /ntschl5sselun2 pr5ft das (. /":X2.97 //:0.chl5ssel 1 0 -'p 0B:3<e' // 0B:3<e' EVEN-Key BID 0! /V/)3<e' (=(8 1) /V/)3<e' (=(8 2) /V/)3<e' (=(8 3) ODD-Key BID 0! B883<e' (=(8 1) B883<e' (=(8 2) B883<e' (=(8 3) /":X?."? > .) 8er /": -eil im <ommando 1 ist 1Gh ='tes lan2./ ob die . =its) des . 9 0 0 1 1 1 1 1 1 1 1 1 0 > .Y ='te.1GY ist %erschl5sselt./ das /":X.chiebere2isters +. =ei +G) habe ich nur die beiden 6erte +0 00 (/V/)3<e' =(8 0) und =0 00 (B883<e' =(8 0) 2esehen. dem /ntschl5sseln des /":s !ird 2esichert und spMter %or dem /ntschl5sselun2s%or2an2 im <ommando 1 und ? Re!eils !iederher2estellt.eed3=erechnun2 im <ommando 1 benNti2t.i2natur nicht passt !erden keine .Y ='te muss mit dem nMchsten <ommando 0 /":X9Y identisch sein /":X>Y .chl5ssel sein der 5ber ein /:: 2eMndert !erden kann. 8er 0est /":X2...eed=ase /":X.0 mit dem /":3<e' initialisiertL sondern der 1ustand %er!endet !ie er nach der /ntschl5sselun2 des /":s beim <ommando 0 !ar.chl5ssel oder ein /V/)/B88 ./ unterst5tJen F=ouIuet (8sH (=(8s) anscheinend nur =(8 0 %er!endet.1Y die die "hannel3(8 enthalten sind un%erschl5sselt. +uOerdem merkt sich das (. 8er 1ustand (die 9. <ommt eine neues <ommando 0 !ird das aktuelle /":X9Y ='te mit dem %orheri2en /":X.9" //:0.

C)4 8er /:: -eil im <ommando 3 ist 1=h ='tes lan2.. 8er linke -eil ist der (V 6ert.Kryptoanalyse PowerVu TV-Verschlüsselung 1ur =erechnun2 eines . IV Ty1 V/6e7 A86/7 1 HSD A86/7 2 U0/4 VBI A86/7 3 A86/7 % IV &e20 A. 8ie =(8 berechnet sich aus (/::X0Y K 0Q0G). 8er 0est /::X1.eed (2 ='tes) V=( .D. B/03 4./.Mn2e %on +h =its (22f.1+hY ist %erschl5sselt. BID N2) 0 EMM-S-.. Gol2ende +bbildun2 Jei2t !ie die %erschiedenen . 32 =its lan2). 8ie =(8 2ibt an !elcher der 7 /:: . /r hat immer eine feste .8 .eed=ase %om <ommando 0 (7 ='tes bJ!.eeds das f52t das (.eed (7 ='tes) +udio 1L2L3 und 7 . (V (+h =its) . 8as erste ='te /::X0Y ist un%erschl5sselt.4933e4.62e33e /: ISE //:0977 ' .eeds berechnet !erden.eed=ase (7 ='tes) /ntschl5sselun2 Video .eed (2 ='tes) ABBILDUNG %: ENTSCHLÜSSELUNG DER SEEDS /:: /)-. =ei +G) !ird anscheinend immer nur =(8 0 %er!endet. links mit 0 auff5llen) und er lMsst sich !ie in der fol2enden -abelle dar2estellt berechnen./ J!ei -eile Jusammen."*.+5! ( (ECM[10h] & 1Fh) <<3) ( (ECM[11h] & 3Fh) <<3) ( (ECM[12h] & 1Fh) <<3) ( (ECM[13h] & 3Fh) <<3) ( (ECM[14h] & 0Fh) <<3) (((ECM[15h] & F8h)>>3)<<3) ( (ECM[19h] & 3Fh) <<3) ( (ECM[1Ah] & 3Fh) <<3) | | | | | | | | 0 1 2 1 4 5 1 1 TABELLE 3: BERECHNUNG DER IV &ERTE 8er rechte -eil ist die .eed (3 ='tes) Ctil .chl5ssel f5r die /ntschl5sselun2 %er!endet !erden soll.eed (7 ='tes) *.

/ ist dass die 1eit die es benNti2t um ein /": Ju entschl5sseln nicht konstant istL sondern neben dem %erschl5sselten /": auch %om /":3.Kryptoanalyse PowerVu TV-Verschlüsselung 1 2 3 //:0992 //:09."*6+"*.Nschen oder ro2rammieren muss laut 8atasheet Re!eils 10 ms 2e!artet !erden.tream cipher !ird J.. Vermutlich darf ein <ommando nicht beliebi2 lan2e dauernL sondern das (. Gol2ende -abelle Jei2t !elches 2esetJte =it im .at"omp <ommando 3 schreibt nur einen -eil sofort ins // 0B:.i2natur nicht !ird das /:: i2noriert.ch!achstelle beim (.1+hY muss identisch mit den letJten 3 ='tes der (. /r 2ibt an !elche (nformationen im /:: enthalten sind. ./ )ach der /ntschl5sselun2 !ird die .=. :it dem anschlieOenden <ommando 7 !ird dann der J!ischen2espeicherte -eil ebenfalls ins // 0B: 2eschrieben. 8er andere -eil !ird im 0+: J!ischen2espeichert.0 //:09.tream cipher !elche VerJN2erun2 um Q -akte %erursacht. 8er /::3-'p entspricht (/::X2Y K >Gh). -(:()4 +--+"< /ine .ch!achstelle ausJunutJen benNti2t man J. /::X1?h.tartbit des ersten ='tes der +nt!ort ermitteln kann.40 /%en -iers und /%en /":3<e' Bdd -iers und Bdd /":3<e' /%en /Qtended -iers und /%en =lackout codes Bdd /Qtended -iers und Bdd =lackout codes =lackout codesL .=. (m ./3.chl5ssel abhMn2t./ muss innerhalb einer kurJen 1eit +nt!orten. Cm die .chaltun2 die die +nJahl der -aktimpulse J!ischen dem letJen ='te des <ommandos und dem . EMM-Ty1 0 1 2 3 < E+0. ( . //:0>/G brclr 0L b'te$91L loc$>G7 //:0>G2 ora S7 T benNti2t 2 -akte JusMtJlich //:0>G7 loc$>G7: //:0>G7 sta b'te$9" )ur !enn das =it 2esetJt ist !ird JusMtJlich der =efehl Hora S7Z aus2ef5hrt und die Verarbeitun2 benNti2t somit 2 -akte lMn2er als !enn das =it 2elNscht ist. ein 7 ='te =lock kann 2leichJeiti2 2elNscht (alle =its auf 0 setJen) oder pro2rammiert (eini2e =its auf 1 setJen) !erden. fol2ende =efehlsfol2e %er!endet den 1ustand %on =it 0 %on ='te 91h auf =it 2 %on ='te 9"h Ju kopieren.-/.. :aQ. )ach dem .eriennummer (siehe <ommando 20h) sein.. eine elektronische .chl5ssel ermN2lichen.ocation und . asst die ./) (m Gol2enden sind J!ei +n2riffe beschrieben die Reder f5r sich 2enommen J!ar kein .i2natur 2epr5ft. 8urch das +ufteilen der // 0B: Cpdates auf J!ei <ommandos 3 K 7 kann ein <ommando schneller ab2eschlossen !erden.icherheitsproblem darstelltL Redoch kombiniert das /rmitteln des /":3.

+53B/0 T.=0>e2?@5e28+5 Ae++ B/0 5e3e0?0 /30 11 2 9 2 .9>9 Pahre) durchprobieren Ju m5ssen das paktisch nicht mN2lich istL nur Re!eils einen 32 =it <e' (=17 -a2e) und einen 27 =it <e' (=>./3// 0B: kann man maQ. .e3 B/0 E25eB+/3 6e2 XOR N2)3 Ve2=+91C8+5 De6e3 6e2 "< B/03 /: S-. 8ie =its im // 0B: lassen sich auOerdem nur setJenL sind also nur %on 0 auf 1 pro2rammierbar.. 8ann !5rde er f5r 9./eBe2e5/30e2 De6e3 E/+5.2>. <e's (also 1.Nschbefehl und der neue 6ert !ird direkt pro2rammiert. :inuten 17 -a2e 10 Pahre 2. *at ein // 0B: ='te J.791 Pahre 19.+53B/0 6e2 $?81 S-B7E C2y10e6 E/+5. S-. (n der raQis sind alter und neuer .?@7 Pahre 313.Nschbefehl %er!endet !erden.>?> Pahre .=. :inuten) durchprobieren Ju m5ssen. 8as (.ekunden 3./ kann man sich auch ein /": 5ber <ommando 0 Ju einem =ase"6 entschl5sseln lassen.ekunden durchprobieren. den 6ert 30h kann man es direkt auf 39h MndernL aber nicht auf 09h.ekunden >2 . )* .4933e44. 6enn ein neuer /":3<e' der > ='te (9. +n2enommen ein "omputer kann . =its) lan2 ist in das // 0B: 2eschrieben !irdL dann !erden die > ='tes nicht 2leichJeiti2 pro2rammiert. =its) pro 1? ./ %er2leicht also erst mal ob auch =its 2elNscht !erden m5ssenL falls Ra dann lNscht das (.2>./ erst einen // 0B: =lock und pro2rammiert dann den neuen 6ertL falls nein dann entfMllt der .chl5ssel total unterschiedlichL es !ird also immer auch ein . =its in der raQis Ju lan2e brauchen (siehe -abelle)L da Redes =it mehr die benNti2te 1eit %erdoppelt.993.Kryptoanalyse PowerVu TV-Verschlüsselung &e4-. 7 ='te 2leichJeiti2 schreiben.+53B/0 6e2 $?81 S-B7E A835. (ns (. =ei einem frei2eschaltenen (. /s !erden also statt > ='tesL erst 7 ='tes und dann nochmal 3 ='tes 2eschrieben. )ur theoretisch kann man RetJt am "omputer alle mN2lichen /":3<e's durchprobieren bis das 2leiche =ase"6 Jur5ck2e2eben !ird. =it <e' (=.+5e /+ B/03 1< 1# 1$ 2% 32 %0 %$ "% "" "< Be+@0/50e Fe/0 1? . </A "*+)4/ ()-/00C -(B) +--+"< 8er +l2orithmus ist bekannt.ekunden >.9>9 Pahre 8ie <e' "han2e (nterruption +ttack ermN2licht es statt einen lan2en 9.

4933e4 Ne8e2 S-.4933e4 o!er off +lter .inken <e' schreiben und 10 ms !arten 0echten <e' lNschen und 10 ms !arten 0echten <e' schreiben und 10 ms !arten [ +nt!ort senden 00 00 00 00 +lter .chl5ssel Ne8e2 S-.inker .chl5ssel ABBILDUNG <: MGGLICHER FEITPUNKT FÜR DIE HKE' CHANGE INTERRUPTION ATTACKI UM DEN RECHTEN TEIL DES NEUEN SCHLÜSSELS FU ERMITTELN DAFU &IRD DER KE' VON NEU NACH ALT GE&ECHSELT! Cnterbricht man die Versor2un2sspannun2 an der in +bbildun2 9 2eJei2ten .chl5ssel +lter .inken <e' lNschen und 10 ms !arten .telleL besteht der .chl5ssel nicht mehr aus 9.Kryptoanalyse PowerVu TV-Verschlüsselung Gol2endes =ild Jei2t !ie sich intern der .4933e4 Ne8e2 S-.inken <e' schreiben und 10 ms !arten 0echten <e' lNschen und 10 ms !arten 0echten <e' schreiben und 10 ms !arten [ +nt!ort senden 00 00 00 00 Ne8e2 S-.chl5ssel Ne8e2 S-.4933e4 Ne8e2 S-.4933e4 +lter .4933e4 ABBILDUNG ": MGGLICHER FEITPUNKT FÜR DIE HKE' CHANGE INTERRUPTION ATTACKI UM DEN LINKEN TEIL DES NEUEN SCHLÜSSELS FU ERMITTELN . .chl5ssel 0echter . )) .chl5ssel (7 ='te) <ommando empfan2en [ .inker .4933e4 0echter .chl5ssel 00 00 00 o!er off Ne8e2 S-.chl5ssel (3 ='te) +lter .inken <e' lNschen und 10 ms !arten .chl5ssel stufen!eise Mndert.chl5ssel (7 ='te) <ommando empfan2en [ .chl5ssel (3 ='te) Ne8e2 S-.chl5ssel +lter . unbekannten =its (!as das /rmitteln in der raQis unmN2lich macht)L sondern nur noch aus 32 unbekannten =its (die rechten 27 =its sind 2eJielt auf 0 2eMndert !orden).4933e4 00 00 00 +lter .chl5ssel +lter .

:an kann also f5r das =estimmen des linken .chl5ssels auf 0 Mndern. :it unterschiedlichen /": . :an kann also RetJt beliebi2 J!ischen alten und neuen .chleife).piel.chl5ssel enthMlt.chl5sselMnderun2 2eMndert hat.Nschen der rechten . 6ichti2 ist dass diese beiden unterschiedlichen /::s %om 2leichen .chl5ssel beJeichnet) und ein !eiteres /:: das einen andern . (ch kann mit dem ermittelten ehemali2en /:: .pannun2 !Mhrend der ./ auf 0 setJt.chl5ssel beJeichnet)L das kann tatsMchlich ein alter .eite die .chl5sselteil des neuen .tunde die /::s auf2eJeichnet und 2leich anschieOend auch 1 :inute den kompletten -ransponder (also die Video und +udio . 8as <ommando 7 muss immer anschlieOend fol2en dabei !ird der /": . 1 )! .chl5ssel enthMlt (hier als neuer . :an kann daJu ent!eder direkt am (.chl5ssel enthMlt (hier als alter . -estdaten mit /":L Video und +udio) und ein aktuelles /:: das einen un25lti2en ./ 2eschickt dabei !ird ein -eil der 8aten !ie -iers bereits ins // 0B: 2eschrieben. (ch habe daJu immer !ieder mal J.=. 8ie er!Mhnte Cnterbrechun2 erfol2t immer im <ommando 7. =ei einer 8V=s3<arte !ird man da2e2en Cpdates f5r alle (. PetJt kommt die Ju%or beschriebene -imin2 +ttack ins .chl5ssel seinL aber auch ein 2anJ neuer un25lti2er .chl5sselt'p sind (also beide /V/)3<e' oder beide B883<e') und somit im 2leichen // 0B: =ereich 2espeichert !erden./ mit einem "3 ro2ramm die 5bertra2enen <ommandos 5ber die serielle . )ur auf die beiden /": *eader ='tes muss man achten (+000 f5r /V/)3<e' bJ!./ .chl5ssel nach dem Cnterbrechen der .chl5sselteil auf 0 setJen (linker -eil enthMlt neuen .chl5ssel !echseln und !ie fol2t einen . lauter )ullen %er!enden. 1um +bschalten braucht man eine /lektronik die in der .chl5ssel sein der bei o!erVu aus2esendet !ird !enn ein +bo aus2elaufen ist. )ach Redem +bbruch des /::s schickt man ein /": mit immer 2leichen (nhalts und bestimmt 5ber die -imin2 +ttack die =earbeitun2sJeit.atellitenempfan2skarte (8V=s3<arte) am " aufJeichnen.ch5ssel ins // 0B: 2eschrieben.chleifendurch2an2 um 1 ms.chl5ssel): • • neues /:: schicken altes /:: schicken und nach dem .Nschen der linken .Kryptoanalyse PowerVu TV-Verschlüsselung G5r diesen +n2riff muss man 2 /:: auf2eJeichnet haben. 0echten . (ch habe also ein altes /:: (incl.treams der o!erVu ro2ramme und auch die Ju2ehNri2en /":s pro ro2ramm) um -estdaten Jur Verf52un2 Ju haben.pannun2 ausschalten . :it ihr lMsst sich feststellen ob sich der ./ !ird man nur die /::s ab2reifen kNnnen die auch f5r diese (.chl5sselteil auf 0 setJen (rechter -eil enthMlt neuen . 8iese !erden in einer /ndlosscheife aus2estrahlt. 1 .eite die . =ei Q = 1000 ms beendet man die .chnittstelle aufJeichnen oder man kann die /::s mit einer .pannun2 ausschalten hasen der 8och !ie ermittelt man den richti2en +bschaltJeitpunkt\ :an kann Ra %on auOen einJelnen schritt!eisen .chl5sseln dauert Ra die /":3/ntschl5sselun2 (<ommando 0) unterschiedlich lan2e. (ch hatte mit dem /:: lo22en per 8V=s3<arte an2efan2en be%or ich mir einen ab2elaufenen nicht mehr frei2eschaltenen o!erVu 0ecei%er 2ebraucht 2ekauft habe./ sehen.chl5ssel nur den damali2en kurJen mit auf2eJeichneten Videostream entschl5sselnL aber keine aktuellen ro2ramme.eriennummer bestimmt sind.a2e ist nach Q -akten oder nach Q ms nach dem letJten <ommando den V"" in %om (.chleife ein altes /:: schicken und dann das neue /::1 (Jum /rmitteln des rechten .chl5sselteils erst neues /:: dann +ltes) nach Q ms abbrechen (Q erhNht man bei Redem . :an benNti2t also ein /:: das den Ju ermittelnden .=.chl5sselteils in einer . 8irekt am (. =000 f5r B883<e')L als fol2ende %erschl5sselte /": 8aten kann man J.chl5ssel): • • altes /:: schicken neues /:: schicken und nach dem .chl5sselMnderun2 nicht sehen.inken . /in /:: !ird 5ber <ommando 3 Jum (.

chl5ssel den linken 7 ='te .chl5ssel (da bei 0 ms noch keine ./ indi%iduelle /:: . :an sieht das bei @00 msL ?00 msL [L 300 ms die 2leiche -aktanJahl ermittelt !urdeL somit ist bei 300 ms bereits erstmals der neue .+?./ indi%iduellen /:: . :an sieht das bei 100 ms und auch bei 200 ms die 2leiche -aktanJahl ermittelt !urdeL somit ist bei 200 ms immer noch der alte .chl5sselMnderun2 statt2efunden haben kann). 6ir sind RetJt so!eit %om neuen .chl5sselMnderun2 %er2eht ist bei Redem (. 8ie (3 ] 10 ms) 1!ischenJustMnde lie2en en2 beieinanderL da2e2en %er2eht %orne und %or allem hinten raus %iel mehr 1eit ohne das sich der .4/eJe+6e ECM E+03-.chl5ssel akti%.0Gh 19.0Gh 19. 8ie /": -aktanJahl bei 1000 ms entspricht immer dem neuen .Kryptoanalyse PowerVu TV-Verschlüsselung =eim 1ms 0aster braucht man 1000 Versuche.=0.chl5ssel Mndert.chl5ssel hat und die 1eit die die /:: /ntschl5sselun2 benNti2t %om . :an schreibt sich eine Gunktion die die /": /ntschl5sselun2 %on <ommando 0 (4et =ase"6) beherrscht.0Gh 19.chl5ssel akti%. )ur diesen =ereich braucht man RetJt noch mit 1 ms . 8ie /": -aktanJahl 6ert bei 0 ms entspricht immer dem alten .chl5sselteil oder den rechten 3 ='te .4 6/e 6/e .chl5ssel (da es ausreichend 1eit !ar die . 3 f5r das spMtere 2eJielte auf 0 setJen eines . 8ie fol2ende -abelle enthMlt fikti%e =eispiel!erte.8+5 0 100 200 300 %00 "00 <00 #00 $00 K00 1000 T. Fe/0 /: :3 >72 6e2 EMM U+0e2B2e-. 8ie 1eit die %or der .0Gh 19. :an muss die -abellen also J!eimal ermitteln.+3-.4933e48+5 Be+@0/50 199+>h 199+>h 199+>h 19.0Gh 19. Cm die // 0B: Cmpro2rammierun2en mN2lichst 2erin2 Ju halten kann man Juerst mit einem 100 ms 0aster probieren. 8ie .0Gh 19. /inmal f5r den 6echsel %om alten /:: aufs )eue und einmal f5r den 6echsel %om neuen /:: aufs +lte um spMter beide .chl5sselteile ermitteln Ju kNnnen.0Gh 19. 8ie Gunktion soll als (nput fol2ende 8aten 5bernehmen: • • einen > ='te lan2en /":3<e' das %erschl5sselte /": 8ie Gunktion soll als Butput fol2ende 8aten Jur Verf52un2 stellen: • • das entschl5sselte /": eine relati%e -akt%erJN2erun2 )" .chl5sselteil 2eJielt auf )ull setJten Ju kNnnen. PetJt portiert man den o!erVu +l2orithmus auf den ".chl5sselL sondern auch %om %erschl5sselten /:: selbst abhMn2i2.0Gh S-.chritten feinabtasten um die 3 et!a 10 ms 2rossen 1!ischenblNcke Ju finden.chl5sselteils.chl5sselMnderun2 komplett durchJuf5hren). :an notiert sich dann die :itte %on 1!ischenblock 1 bJ!..chl5ssel abhMn2t.4933e4 +lter <e' +lter <e' +lter <e' )euer <e' )euer <e' )euer <e' )euer <e' )euer <e' )euer <e' )euer <e' )euer <e' ABBILDUNG #: FIKTIVE BEISPIEL&ERTE MS UND TAKTANFAHL! 8ie 1eit f5r die /:: /ntschl5sselun2 ist nicht nur %om (./ andersL da Redes (.chl5sselMnderun2 hat also J!ischen 200 ms und 300 ms statt2efunden.

/ 2ebraucht hat und der relati%en -aktanJahl die unsere Gunktion ermittelt hat berechnet !erden.eite F00 00 00 00F ist PetJt ist der . ro Ju entschl5sselnden =it !erden die JusMtJlichen -akte die ein 2esetJtes =it an bestimmten .chl5ssel F00 00 00 00 00 00 00H braucht. 98 81 2" G0 /9 @. 8ie -aktanJahl %om (.chl5sseln: • • • • • • • 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 02 00 00 00 00 00 00 03 [ 00 00 00 00 GG GG G" 00 00 00 00 GG GG G8 )# ./ f5r dasselbe /": und ebenfalls den .chl5sselteile auf 0 setJen.chl5ssel im (. 8aJu Mndert man den . PetJt 2eht^s ans =estimmen der beiden . PetJt erJeu2t man ein /": mit dem 2e!5nschten /V/) oder B88 *eader und JufMlli2en (nicht nur )ullen) (nhalt J. PetJt kann die 8ifferenJ J!ischen der absoluten -aktanJahl die das (.chl5ssel komplett 0 und die -aktanJahl die das (.eite F00 00 00F ist 8ann die linke .chl5ssel F00 00 00 00 00 00 00H entschl5sseln./ ermittelten -aktanJahl ab.chl5ssel hat und die rechte .eite auf 0 setJen: • +ltes /:: senden und unterbrechen !enn die linke ./ f5r dasselbe /": benNti2t kann ermittelt !erden.chl5ssel F00 00 00 00 00 00 00H berechnen.eite auf 0 setJen: • • +ltes /:: senden )eues /:: senden und unterbrechen !enn die linke ./ und der Gunktion mit den .chl5ssel F00 00 00 00H ist und der rechte .tellen und die JusMtJlichen -akte sind unter -imin2 +ttack in der -abelle dar2estellt. 1uerst die rechte . 6ir schicken dann ein JufMlli2es /": ans (. +0 00 7@ 8" 9. 8ie 8ifferenJ Jieht man ab RetJt immer automatisch %on der %om (./ und merken uns die -aktanJahl.=. 77 "+ 9? >+ ?+ 8ann lMsst man sich man sich %on der Gunktion die relati%e -akt%erJN2erun2 f5r dieses /": und den .tellen %erursacht aufsummiert.eite den neuen . 8ann entschl5sseln !ir mit unserer Gunktion das 2leiche /": mit allen in Gra2e kommenden . 8ie . 8aJu m5ssen !ir beide .Kryptoanalyse PowerVu TV-Verschlüsselung 6ie unter -imin2 +ttack beschrieben ist die +nJahl der -akte die die /": /ntschl5sselun2 benNti2t abhMn2i2 %om %erschl5sselten /": und dem /": <e'. PetJt benNti2en !ir noch die -aktanJahl die das (.chl5sselteile.chl5sselteil dem neuen ./ so das der linke ./ und der Gunktion muss identisch sein. 8iese -akt%erJN2erun2 lMsst sich auch in einer Variable in unserer Gunktion emulieren.chl5ssel entspricht. 8en Vor2an2 !iederholt man mit ein paar anderen JufMlli2en 6erten f5r das /:: und lMsst es !ieder %om (.

i2natur im <ommando und der berechneten .) mN2lichen .chl5sselkandidaten in eine 8atei. 8ann !Mhlen !ir eines neues JufMlli2es /": schicken es Jum (.chl5ssel ohne dem . ] 29. Galls Remand sie bereits aus dem (nternet kannte (22f. ] 29.chl5ssel auch %on der Gunktion entschl5sseln. =ei Redem 8urch2an2 nimmt die +nJahl der %erbleibenden . /s !urde ='te f5r ='te %er2lichen und bei dem ersten Cnterschied das <ommando ab2ebrochen. ] 29.martcards brauchten f5r den Ver2leich der .i2natur unterschiedlich lan2e. -heoretisch kann man anschlieOend so2ar ein auf2eJeichnetes Video einem " ro2ramm und dem ermittelten .chl5sseln besteht !ird es lMn2er als beim rechten -eil dauern.chl5ssel 5bri2. ] 29. . )ur bei den .o konnte man .chl5sselkandidaten die !ir Ju%or in eine 8atei 2eschrieben haben.chl5ssel./ schicken und sich %om einem echten /": 5ber <ommando 0 das =ase"6 2eben lassen.chl5ssel.ecurit' "hip entschl5sseln. (mmer !enn die -aktanJahl unser Gunktion mit der Ju%or ermittelten (. G5r den linken -eil %erfMhrt man entsprechend. Cralte a'-V . )ur die 0echte %ariieren !ir./ habenL landen in einer !eiteren .t5ck die richti2en .) . 2 +ls +bschlusstest kann man ein neues /:: ohne Cnterbrechun2 ans (. 8ann probieren !ir nicht mehr alle mN2lichen (29.chl5sseln die die 2leiche -aktanJahl !ie das (.Kryptoanalyse PowerVu TV-Verschlüsselung • • 00 00 00 00 GG GG G/ 00 00 00 00 GG GG GG 8ie linke 7 ='te lan2e . ] 29. )ach ein paar 8urch2Mn2en bleibt nur noch ein . ./ -aktanJahl 5bereinstimmt schreiben !ir den mN2lichen . +nschlieOend lMsst man sich das /": mit dem ermittelten . auch unter einem anderen )amen) !5rde ich mich 5ber einen . 2 )$ . =ei der <e' "han2e (nterruption +ttack !as es andersL die kannte ich noch nicht und musste sie erst selbst ent!ickeln. 4enerell ist Ra die -imin2 +ttack bereits seit 2eraumer 1eit bekannt.eite ist dabei immer 0.etJt man die beiden ermittelten -eile Jusammen hat man den 2esuchten .i2naturb'tes bestimmen und das <ommando !urde letJtendlich %on der . 8as ist der rechte -eil %on dem 2esuchten .chl5sselkandidatendatei.martcard an2enommen und aus2ef5hrt.chl5sselL sondern nur die .ink freuen.chl5ssel rapide ab. 8ie beiden =ase"6s m5ssen identisch sein. 8a der linke -eil aus (29./ und notieren uns !ieder die 0eferenJtaktanJahl.t5ck f5r .

C)4/) Cm das /rmitteln des .eere laufen Ju lassen muss der /ntschl5sselun2sal2orithmus immer die 2leiche 1eit benNti2en.=.chl5sselupdate !ieder auf true.ch5ssels 5ber den hier beschriebenen 6e2 Ju %erhindern 2en52t es ei2entlich nur eine der beiden .aufen Ju lassen kNnnte man J. Vor .chl5ssels !ird dann das Gla2 J. )% . fol2endes tun: (m // 0B: ein Gla2 F<e'(sValidH mitf5hren. if(%ariable1 == 0) _ %ariable2 = 9T ` else _ dumm'$%ariable = 0T ` Cm die <e' "han2e (nterruption +ttack ins leere . !ie fol2t aus2e!ertet: (f(<e'(sValid) _ ///ntschl5sselun2 durchf5hren ` else _ //<ommando mit Gehler abbrechen ` Galls "inosana das (.ch!achstellen Ju behebenL trotJdem sollte man nat5rlich beide beheben.=.chl5sselupdates !ird es auf false 2esetJt. +lso !enn Versor2un2sspannun2 oder -akt auOerhalb des erlaubten =ereichs sindL dann intern einen 0eset auslNsen./ !irklich mit *ilfe %on einem 4litch aus2elesen hatL sollte man das (. Cm die -imin2 +ttack ins ./ nat5rlich auch resistent da2e2en machen. <e'(sValidL false .Kryptoanalyse PowerVu TV-Verschlüsselung /: G/*. )ach dem .chl5ssel lNschen und schreiben <e'(sValidL true Vor Reder =enutJun2 des . =enNti2t man aber if +n!eisun2en !ie fol2ende if(%ariable1 == 0) _ %ariable2 = 9T ` 8ann sollte man einen else 1!ei2 %er!enden der eQakt die 2leiche Verarbeitun2sJeit benNti2t !ie der if 1!ei2.