发明名称 |
System and method for obfuscating data using instructions as a source of pseudorandom values |
摘要 |
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for obfuscating data using instructions as a source of pseudorandom values. Obfuscation is performed by receiving instructions and data and compiling the instructions and the data into an executable file having a text section and a data section. The text section can include instructions and the data section can include data segments. The system obfuscates the data section iteratively by generating a hash of an address for a respective data segment, and based on the hash, identifying a corresponding address in the text section that includes at least one instruction. The system retrieves a mask key from the corresponding address and applies the mask key to the respective data segment, yielding a masked data segment. In one embodiment, integrity verification of obfuscated data is performed without exposing the data in an unprotected state by utilizing multiple mask keys. |
申请公布号 |
US9116765(B2) |
申请公布日期 |
2015.08.25 |
申请号 |
US201113308515 |
申请日期 |
2011.11.30 |
申请人 |
Apple Inc. |
发明人 |
McLachlan Jon;Myles Gideon M.;Lerouge Julien |
分类号 |
H04L29/00;G06F7/58;G06F21/54 |
主分类号 |
H04L29/00 |
代理机构 |
Novak Druce Connolly Bove + Quigg LLP |
代理人 |
Novak Druce Connolly Bove + Quigg LLP |
主权项 |
1. A method comprising:
receiving a first executable file containing a text section and a second executable file containing a data section, wherein the text section comprises instructions, and wherein the data section comprises obfuscated data; deriving a mask key comprising at least one instruction from the text section in the first executable file based on a memory location of a masked data segment of the data section in the second executable file; applying the mask key to the masked data segment to yield an unmasked data segment; and performing an operation on the unmasked data segment. |
地址 |
Cupertino CA US |