User Token Manager

From PS3 Developer wiki
Revision as of 21:20, 25 September 2012 by Mysis (talk | contribs) (kudos to graf/glevand for this reverse engineering)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

0x25000 - User Token Manager

Packet ID Description
0x25001 Encrypt User Token
0x25002 Decrypt User Token
0x25003 (Lv2) Decrypt User Token
0x25004 (Lv2)
0x25005 (Lv2) Encrypt User Token

User Token

  • Before User Token Manager encrypts a received user token it checks it's format.
  • User Tokens are processed by spu_utoken_processor.self
  • Before User Token is processed, User Token Manager reads IDPS by sending SS requests to Indi Info Manager (packet ids 0x17001 and 0x17002). Indi Info Manager runs in HV Process 5.

User Token Format

stuct user_token_attr
    uint32_t type;                                 /* 0x00000001, value != 0x00000001 means attribute list ends here */
    uint32_t size;                                 /* 8 + sizeof(data) */
    /* data follows here, size of data may be 0 */

struct user_token
    uint32_t magic;                                /* 0x73757400 = "sut\0" */
    uint32_t format_version;                       /* 0x00000001 */
    uint64_t size;
    uint8_t idps[16];
    uint64_t expire_date;
    uint64_t capability;
        stuct user_token_attr attrs[0];
        uint8_t dummy[3072];
    } attrs;
    /* 0xC30 */
    uint8_t digest[20];