User Tools

Site Tools


atracdownload-wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
atracdownload-wiki [2010/06/10 08:39] megadiscmanatracdownload-wiki [2011/08/10 22:04] (current) alex
Line 25: Line 25:
  
  
-==== 1. UNKNOWN PURPOSE ====+==== 1. DISABLE TRACK PROTECTION FOR NEXT SESSION ====
  
   => 00 18 00 08 00 46 f0 03 01 03  2b ff 00 01 00 00 01   => 00 18 00 08 00 46 f0 03 01 03  2b ff 00 01 00 00 01
   <= 09 18 00 08 00 46 f0 03 01 03  2b 00 00 01 00 00 01   <= 09 18 00 08 00 46 f0 03 01 03  2b 00 00 01 00 00 01
  
 +This instruction tells the MD unit to not set the "protected" bit for following downloaded tracks. It is effective until reset with the same instruction, but having the last byte 00, or the end of the current session.
  
 ==== 2. START AUTHENTICATED SESSION ==== ==== 2. START AUTHENTICATED SESSION ====
  
-  => 00 18 00 08 00 46 f0 03 01 03  80 ff 00 00 00 00 00 +  => 00 18 00 08 00 46 f0 03 01 03  80 ff 
-  <= 09 18 00 08 00 46 f0 03 01 03  80 00 00 00 00 00 00+  <= 09 18 00 08 00 46 f0 03 01 03  80 00
  
 NOTE: You hear head movement (disc spinning up). NOTE: You hear head movement (disc spinning up).
Line 41: Line 42:
 ==== 3.  REQUEST FOR LEAF ID ==== ==== 3.  REQUEST FOR LEAF ID ====
  
-  => 00 18 00 08 00 46 f0 03 01 03  11 ff 00 00 00 00 00+  => 00 18 00 08 00 46 f0 03 01 03  11 ff
   <= 09 18 00 08 00 46 f0 03 01 03  11 00 01 00 00 21 cf 06 00 00   <= 09 18 00 08 00 46 f0 03 01 03  11 00 01 00 00 21 cf 06 00 00
  
Line 101: Line 102:
      $m(1) ... $m(8)      $m(1) ... $m(8)
   <= 09 18 00 08 00 46 f0 03 01 03 20 00 00 00 00   <= 09 18 00 08 00 46 f0 03 01 03 20 00 00 00 00
-     !m(1) ... !m(1)+     !m(1) ... !m(8)
  
 $m is a nonce from the host and !m is a nonce from the device. These two 8-byte-values are concatenated to form a 16-byte value. The Retail MAC without padding of that value, using the root key of the EKB transferred as key for the MAC will be the session key. $m is a nonce from the host and !m is a nonce from the device. These two 8-byte-values are concatenated to form a 16-byte value. The Retail MAC without padding of that value, using the root key of the EKB transferred as key for the MAC will be the session key.
Line 140: Line 141:
   <= 09 18 00 08 00 46 f0 03 01 03 28 ff 00 01   <= 09 18 00 08 00 46 f0 03 01 03 28 ff 00 01
      00 10 01 00 !t 00 $p $q 00 00 $r $s $t $u $v $w      00 10 01 00 !t 00 $p $q 00 00 $r $s $t $u $v $w
 +     $m(0) ... $m(32)
  
 The track number of the recorded track is returned in !t. The track number of the recorded track is returned in !t.
 +
 +$m(x) is DES CBC encrypted by the session key (IV zero), and after decryption contains the concatenation of
 +  - An 8 byte value identifying the track (needed on check-in to verify which copyrighted work will be deleted and adjust the check-out counter)
 +  - Four padding bytes (seen as 00 00 00 00 or 01 01 01 01)
 +  - The 20-byte Content ID
  
 NOTE: The data is split into blocks of 3f00 bytes each (except the NOTE: The data is split into blocks of 3f00 bytes each (except the
Line 148: Line 155:
   00 00 00 00 00 00 $u $v $k(1) ... $k(8) $i(1) ... $i(8)   00 00 00 00 00 00 $u $v $k(1) ... $k(8) $i(1) ... $i(8)
  
-where $u$v is the block size (usually 3f00), $k(1) ... $k(8) is the key for DES CBC encryption of the data in this block, and $i(1) ... $i(8) is the IV for the DES CBC encryption. The key itself is DES **decrypted** by the key encryption key, i.e. you have to **encrypt** it to get the plain key.+where $u$v is the block size (usually 3f00), $k(x) is the key for DES CBC encryption of the data in this block, and $i(x) is the IV for the DES CBC encryption. The key itself is DES **decrypted** by the key encryption key, i.e. you have to **encrypt** it to get the plain key.
  
 This means for the total nr of bytes: len + ((len+0x3eff)/3f00)*24 This means for the total nr of bytes: len + ((len+0x3eff)/3f00)*24
Line 169: Line 176:
      10 01 00 $t      10 01 00 $t
  
-$t is the track number.  $m(x) is possibly some Integrity Check Value.+$t is the track number.  $m(x) is a simple authorization value: It's 0000000000000000 DES encrypted by the session key.
  
 ==== 10. FORGET SESSION KEY ==== ==== 10. FORGET SESSION KEY ====
Line 178: Line 185:
 ==== 11. END AUTHENTICATED SESSION ==== ==== 11. END AUTHENTICATED SESSION ====
  
-  => 00 18 00 08 00 46 f0 03 01 03 81 ff 00 00 00 +  => 00 18 00 08 00 46 f0 03 01 03 81 ff 
-  <= 09 18 00 08 00 46 f0 03 01 03 81 00 00 00 00+  <= 09 18 00 08 00 46 f0 03 01 03 81 00
  
  
atracdownload-wiki.1276159168.txt.gz · Last modified: 2010/06/10 08:39 by megadiscman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki