Changes

45 bytes added ,  07:05, 27 May 2013
no edit summary
Line 3: Line 3:  
== Download Play protocol ==
 
== Download Play protocol ==
   −
The Download Play protocol for 3DS is completely different from the DS Wireless Multiboot (WMB) protocol. While the DS WMB protocol used to send program code in plaintext over wireless, the Download Play protocol is now using WPA2 encryption with 128-bit AES CTR to broadcast the application.
+
The Download Play protocol for 3DS is completely different from the DS Wireless Multiboot (WMB) protocol. While the DS WMB protocol used to send program code in plaintext over wireless, the Download Play protocol is now uses WPA2 CCMP(which uses 128-bit AES CTR) to broadcast the application. This UDS encryption layer is implemented by [[NWM_Services|NWM]] module.
    
The broad-casted beacons have static Nintendo tag data, broad-casted at a rate of 0.102400/s. WPA2 data frames are broad-casted as well, the size of these varies.
 
The broad-casted beacons have static Nintendo tag data, broad-casted at a rate of 0.102400/s. WPA2 data frames are broad-casted as well, the size of these varies.
After a client authenticates to the host, the host sends an association response, with a random ASCII hex SSID, like: "EB6FAB77". After that the systems communicate and transfer the binary with WPA2 encrypted data frames.
+
After a client authenticates to the host, the host sends an association response, with a random ASCII hex SSID, like: "EB6FAB77". After that the systems communicate and transfer the binary with CCMP encrypted data frames.
    
This is a dump of the Nintendo tag of the beacon from Monkey ball 3D, with vendor 001f32. The data contained in this vendor tag is encrypted:
 
This is a dump of the Nintendo tag of the beacon from Monkey ball 3D, with vendor 001f32. The data contained in this vendor tag is encrypted:
Line 19: Line 19:  
  080: 25 f2 56 c4 19 88 64 13 78 68 e2
 
  080: 25 f2 56 c4 19 88 64 13 78 68 e2
   −
== WPA2 Passphrase ==
+
== CCMP Key ==
The WPA2 passphrase is generated by the [[NWM_Services|NWM]] module.
+
The CCMP key is generated by the [[NWM_Services|NWM]] module.
   −
The WPA2 passphrase used for communications with the booted Download Play executable is a separate passphrase, generated by the NWM module where the input passphrase is a random hex string.
+
The CCMP key used for communications with the booted Download Play executable is a separate key, generated by the NWM module where the input passphrase is a random hex string.
    
== Broadcasted application data ==
 
== Broadcasted application data ==
Line 32: Line 32:  
* The first time is using 128-bit AES CTR encryption for the ExeFS of the CXI format,
 
* The first time is using 128-bit AES CTR encryption for the ExeFS of the CXI format,
 
* the second time is using 128-bit AES CBC encryption in the archive data,
 
* the second time is using 128-bit AES CBC encryption in the archive data,
* and the third time is using 128-bit AES CTR for the WPA2 encryption.
+
* and the third time is using 128-bit AES CTR for the CCMP encryption.
    
== Remote Distribution of System-Updates ==
 
== Remote Distribution of System-Updates ==
    
As part of the child distribution process, a 3DS acting as the server in a local Download Play session, can send firmware updates to another 3DS unit acting as the client, through first sending the system update package then instructing the client to install reboot and reinstantiate a connection (which it caches information about temporarily) remotely, if it finds system updates are necessary before distributing the child-application. ( eg. multiplayer game or a demo. ) Like "update" partitions on CTR Cards, this is not an "automatic feature" and not implemented for all Download Play titles.
 
As part of the child distribution process, a 3DS acting as the server in a local Download Play session, can send firmware updates to another 3DS unit acting as the client, through first sending the system update package then instructing the client to install reboot and reinstantiate a connection (which it caches information about temporarily) remotely, if it finds system updates are necessary before distributing the child-application. ( eg. multiplayer game or a demo. ) Like "update" partitions on CTR Cards, this is not an "automatic feature" and not implemented for all Download Play titles.