Editing ENCDEC Device Reverse Engineering
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
=Introduction= | =Introduction= | ||
* The following information was reverse engineered from LV1, Storage Manager in LPAR1, sb_iso_spu_module.self and sv_iso_spu_module.self. | * The following information was reverse engineered from LV1, Storage Manager in LPAR1, sb_iso_spu_module.self and sv_iso_spu_module.self. | ||
Line 8: | Line 7: | ||
* I'm using this driver to set/clear my ATA and VFLASH keys. | * I'm using this driver to set/clear my ATA and VFLASH keys. | ||
* Tested on Linux 3.5.1. | * Tested on Linux 3.5.1. | ||
=Establish Secure Communication Channel= | =Establish Secure Communication Channel= | ||
Line 25: | Line 14: | ||
* ENCDEC commands, e.g. to set ATA keys, are encrypted with the session key and AES-CBC-192. | * ENCDEC commands, e.g. to set ATA keys, are encrypted with the session key and AES-CBC-192. | ||
* Before a secure communication channel is established, host and ENCDEC device use static AES-CBC-192 keys to encrypt communication data. The static keys can be found e.g. in sb_iso_spu_module.self or sv_iso_spu_module.self. | * Before a secure communication channel is established, host and ENCDEC device use static AES-CBC-192 keys to encrypt communication data. The static keys can be found e.g. in sb_iso_spu_module.self or sv_iso_spu_module.self. | ||
* During the communication, host and ENCDEC device use random IVs which are sent unencrypted together with encrypted payload. | * During the communication, host and ENCDEC device use random IVs which are sent unencrypted together with encrypted payload. | ||
=Set ATA Keys= | =Set ATA Keys= | ||
=Set ENCDEC Keys= | =Set ENCDEC Keys= | ||