SYSTEM AND METHOD FOR SOFTWARE DATA REFERENCE OBFUSCATION
    1.
    发明申请
    SYSTEM AND METHOD FOR SOFTWARE DATA REFERENCE OBFUSCATION 审中-公开
    用于软件数据参考的系统和方法

    公开(公告)号:US20110167407A1

    公开(公告)日:2011-07-07

    申请号:US12683145

    申请日:2010-01-06

    IPC分类号: G06F9/44

    CPC分类号: G06F21/14

    摘要: Disclosed herein are systems, methods, and computer-readable storage media for obfuscating software data references. The obfuscation process locates pointers to data within source code and loads the pointers into an ordered set of pools. The process further shuffles the pointers in the ordered set of pools and adds a function within the source code that when executed uses the ordered set of pools to retrieve the data. The obfuscation process utilizes pool entry shuffling, pool chaining shuffling and cross-pointer shuffling.

    摘要翻译: 本文公开了用于模糊软件数据引用的系统,方法和计算机可读存储介质。 混淆过程将指针指向源代码中的数据,并将指针加载到有序的池集中。 该过程进一步将指针排序在有序的池集中,并在源代码中添加一个函数,当执行时使用有序的池集来检索数据。 混淆过程利用池进入洗牌,池链接洗牌和交叉指针洗牌。

    Method and apparatus for computer code obfuscation and deobfuscation using boot installation
    2.
    发明授权
    Method and apparatus for computer code obfuscation and deobfuscation using boot installation 有权
    使用引导安装的计算机代码混淆和去模糊的方法和装置

    公开(公告)号:US08881290B2

    公开(公告)日:2014-11-04

    申请号:US13434619

    申请日:2012-03-29

    CPC分类号: G06F21/14 G06F21/577

    摘要: In the field of computer software, obfuscation techniques for enhancing software security are applied to compiled (object) software code. The obfuscation results here in different versions (instances) of the obfuscated code being provided to different installations (recipient computing devices). The complementary code execution uses a boot loader or boot installer-type program at each installation which contains the requisite logic. Typically, the obfuscation results in a different instance of the obfuscated code for each intended installation (recipient) but each instance being semantically equivalent to the others. This is accomplished in one version by generating a random value or other parameter during the obfuscation process, and using the value to select a particular version of the obfuscating process, and then communicating the value along with boot loader or installer program software.

    摘要翻译: 在计算机软件领域,用于增强软件安全性的混淆技术应用于编译(对象)软件代码。 这里的混淆结果在不同版本(实例)的混淆代码提供给不同的安装(收件人计算设备)。 互补代码执行在每个安装时使用引导加载程序或引导安装程序类型程序,其中包含必需的逻辑。 通常,混淆导致每个预期安装(接收者)的混淆代码的不同实例,但每个实例在语义上等同于其他安装。 这在一个版本中通过在混淆过程中产生随机值或其他参数来实现,并且使用该值来选择混淆过程的特定版本,然后与引导加载程序或安装程序软件一起传送该值。

    Computer object code obfuscation using boot installation
    3.
    发明授权
    Computer object code obfuscation using boot installation 有权
    使用引导安装的计算机对象代码模糊

    公开(公告)号:US08176337B2

    公开(公告)日:2012-05-08

    申请号:US12047207

    申请日:2008-03-12

    IPC分类号: G06F12/14 G06F9/45 G06F11/00

    CPC分类号: G06F21/14 G06F21/577

    摘要: In the field of computer software, obfuscation techniques for enhancing software security are applied to compiled (object) software code. The obfuscation results here in different versions (instances) of the obfuscated code being provided to different installations (recipient computing devices). The complementary code execution uses a boot loader or boot installer-type program at each installation which contains the requisite logic. Typically, the obfuscation results in a different instance of the obfuscated code for each intended installation (recipient) but each instance being semantically equivalent to the others. This is accomplished in one version by generating a random value or other parameter during the obfuscation process, and using the value to select a particular version of the obfuscating process, and then communicating the value along with boot loader or installer program software. This boot loader then selects which particular process to use for the code execution at the time of installation in accordance with the value. This results in different versions of the obfuscated code being provided to each recipient installation, which further enhances security of the code against reverse engineering by hackers.

    摘要翻译: 在计算机软件领域,用于增强软件安全性的混淆技术应用于编译(对象)软件代码。 这里的混淆结果在不同版本(实例)的混淆代码提供给不同的安装(收件人计算设备)。 互补代码执行在每个安装时使用引导加载程序或引导安装程序类型程序,其中包含必需的逻辑。 通常,混淆导致每个预期安装(接收者)的混淆代码的不同实例,但每个实例在语义上等同于其他安装。 这在一个版本中通过在混淆过程中产生随机值或其他参数来实现,并且使用该值来选择混淆过程的特定版本,然后与引导加载程序或安装程序软件一起传送该值。 然后,该引导加载程序根据该值选择在安装时用于执行代码的特定进程。 这导致了向每个接收方安装提供了不同版本的混淆代码,这进一步增强了代码的安全性,防止了黑客的反向工程。

    System and method for obfuscating constants in a computer program
    4.
    发明授权
    System and method for obfuscating constants in a computer program 有权
    用于在计算机程序中模糊常数的系统和方法

    公开(公告)号:US08874928B2

    公开(公告)日:2014-10-28

    申请号:US12263183

    申请日:2008-10-31

    摘要: Disclosed herein are systems, computer-implemented methods, and tangible computer-readable media for obfuscating constants in a binary. The method includes generating a table of constants, allocating an array in source code, compiling the source code to a binary, transforming the table of constants to match Pcode entries in an indirection table so that each constant in the table of constants can be fetched by an entry in the indirection table. A Pcode is a data representation of a set of instructions populating the indirection table with offsets toward the table of constants storing the indirection table in the allocated array in the compiled binary. The method further includes populating the indirection table with offsets equivalent to the table of constants, and storing the indirection table in the allocated array in the compiled binary. Constants can be of any data type. Constants can be one byte each or more than one byte each. In one aspect, the method further includes splitting constants into two or more segments, treating each segment as a separate constant when transforming the table of constants, and generating a function to retrieve and reconstruct the split constants.

    摘要翻译: 这里公开的是系统,计算机实现的方法和用于在二进制文件中混淆常数的有形计算机可读介质。 该方法包括生成常量表,在源代码中分配数组,将源代码编译为二进制,将常数表变换为匹配间接表中的Pcode条目,以使常数表中的每个常数可以由 间接表中的条目。 Pcode是填充间接表的一组指令的数据表示,其具有偏向于在编译的二进制文件中分配的阵列中存储间接表的常数表的偏移。 该方法还包括使用与常数表相当的偏移量来填充间接表,并将该间接表存储在编译后的二进制数组中。 常量可以是任何数据类型。 常量可以是一个字节,也可以是一个以上的字节。 在一个方面,该方法还包括将常数分成两个或更多个段,当变换常数表时,将每个段作为单独的常数来处理,以及生成检索和重构分裂常数的函数。

    System and method for authentication using a shared table and sorting exponentiation
    5.
    发明授权
    System and method for authentication using a shared table and sorting exponentiation 有权
    使用共享表进行身份验证的系统和方法,并排序求幂

    公开(公告)号:US08407248B2

    公开(公告)日:2013-03-26

    申请号:US13244068

    申请日:2011-09-23

    IPC分类号: G06F7/00 G06F17/30

    CPC分类号: G06F21/31

    摘要: Disclosed herein are systems, computer-implemented methods, and computer-readable media for authentication using a shared table. The method receives an authentication challenge from a first entity including an accumulator with an initial value, lists of elements in a shared table, and a list of sorting algorithms, each sorting algorithm is associated with one of the lists of elements and modified to include embedded instructions operating on the accumulator. The method then generates a temporary table for each list of elements in the shared table by copying elements from the shared table as indicated in each respective list of elements, each temporary table being associated with one sorting algorithm in the list of sorting algorithms. The method sorts each generated temporary table with the associated sorting algorithm, thereby updating the accumulator with the embedded instructions. Finally, the method transmits the updated accumulator to the first entity for verification.

    摘要翻译: 本文公开了系统,计算机实现的方法和用于使用共享表进行认证的计算机可读介质。 该方法从包括具有初始值的累加器,共享表中的元素列表和排序算法列表的第一实体接收认证挑战,每个排序算法与元素列表中的一个相关联并被修改为包括嵌入 在累加器上操作的指令。 然后,该方法通过从每个相应的元素列表中指示的从共享表中复制元素来生成共享表中的每个元素列表的临时表,每个临时表与排序算法列表中的一个排序算法相关联。 该方法使用相关联的排序算法对每个生成的临时表进行排序,从而用嵌入式指令更新累加器。 最后,该方法将更新的累加器发送到第一实体进行验证。

    SYSTEM AND METHOD FOR AUTHENTICATION USING A SHARED TABLE AND SORTING EXPONENTIATION
    6.
    发明申请
    SYSTEM AND METHOD FOR AUTHENTICATION USING A SHARED TABLE AND SORTING EXPONENTIATION 有权
    使用共享表和分配引用进行认证的系统和方法

    公开(公告)号:US20100153450A1

    公开(公告)日:2010-06-17

    申请号:US12334732

    申请日:2008-12-15

    IPC分类号: G06F17/30

    CPC分类号: G06F21/31

    摘要: Disclosed herein are systems, computer-implemented methods, and computer-readable media for authentication using a shared table. The method receives an authentication challenge from a first entity including an accumulator with an initial value, lists of elements in a shared table, and a list of sorting algorithms, each sorting algorithm is associated with one of the lists of elements and modified to include embedded instructions operating on the accumulator. The method then generates a temporary table for each list of elements in the shared table by copying elements from the shared table as indicated in each respective list of elements, each temporary table being associated with one sorting algorithm in the list of sorting algorithms. The method sorts each generated temporary table with the associated sorting algorithm, thereby updating the accumulator with the embedded instructions. Finally, the method transmits the updated accumulator to the first entity for verification.

    摘要翻译: 本文公开了系统,计算机实现的方法和用于使用共享表进行认证的计算机可读介质。 该方法从包括具有初始值的累加器,共享表中的元素列表和排序算法列表的第一实体接收认证挑战,每个排序算法与元素列表中的一个相关联并被修改为包括嵌入 在累加器上操作的指令。 然后,该方法通过从每个相应的元素列表中指示的从共享表中复制元素来生成共享表中的每个元素列表的临时表,每个临时表与排序算法列表中的一个排序算法相关联。 该方法使用相关联的排序算法对每个生成的临时表进行排序,从而用嵌入式指令更新累加器。 最后,该方法将更新的累加器发送到第一实体进行验证。

    SECURITY METHOD AND SYSTEM FOR MEDIA PLAYBACK DEVICES
    7.
    发明申请
    SECURITY METHOD AND SYSTEM FOR MEDIA PLAYBACK DEVICES 有权
    媒体播放设备的安全方法和系统

    公开(公告)号:US20090282245A1

    公开(公告)日:2009-11-12

    申请号:US12118526

    申请日:2008-05-09

    IPC分类号: H04L9/06

    摘要: A Digital Rights Management (DRM) system for distribution of digital content such as audio or video uses a method to enhance security of the content from unauthorized access and use, including access by unauthorized players. The method does not necessarily require a token exchange and thereby minimizes storage demands on the server which distributes the digital content. The system generates and distributes keys for decryption of the digital content whereby the keys are unique to a specific player and user account.

    摘要翻译: 用于分发诸如音频或视频的数字内容的数字版权管理(DRM)系统使用一种方法来增强内容的未经授权的访问和使用的安全性,包括未经授权的玩家的访问。 该方法不一定需要令牌交换,从而最小化分发数字内容的服务器上的存储需求。 该系统生成和分发用于数字内容的解密的密钥,由此密钥对于特定的玩​​家和用户帐户是唯一的。

    SILENT TIME TAMPERING DETECTION
    8.
    发明申请
    SILENT TIME TAMPERING DETECTION 有权
    静音时间检测

    公开(公告)号:US20090249108A1

    公开(公告)日:2009-10-01

    申请号:US12058432

    申请日:2008-03-28

    IPC分类号: G06F1/14

    摘要: Computers and other electronic devices typically include a timing operation such as a clock in an operating system. It is anticipated that hackers may tamper with this clock. This tampering might be especially advantage in the context of systems which provide for rental of audio and video content, such as movies. Tampering with the system clock on the playing device would allow an extension of the rental period to the detriment of the provider of the rental content. Hence the present method is directed to detecting clock modifications both in terms of time shifting and clock rate tampering. This detection is done using digital signal processing.

    摘要翻译: 计算机和其他电子设备通常包括定时操作,诸如操作系统中的时钟。 黑客可能会篡改这个时钟。 这种篡改在提供音频和视频内容的租赁(例如电影)的系统的上下文中可能是特别有利的。 篡改播放设备上的系统时钟将允许延长租赁期限,从而损害租赁内容的提供商。 因此,本方法旨在在时移和时钟速率篡改方面检测时钟修改。 该检测使用数字信号处理完成。

    Code tampering protection for insecure environments
    9.
    发明授权
    Code tampering protection for insecure environments 有权
    为不安全环境提供代码篡改保护

    公开(公告)号:US09274976B2

    公开(公告)日:2016-03-01

    申请号:US12940971

    申请日:2010-11-05

    摘要: In the field of computer software (code) security, it is known to include verification data such as hash values in or associated with the code to allow subsequent detection of tampering by a attacker with the code. This verification technique is used here in a “White Box” cryptographic process by tying the verification data to the content of functional table lookups present in the object (compiled) code, where values in the table lookups are selectively masked (prior to the source code being compiled into the subject code) by being subject to permutation operations.

    摘要翻译: 在计算机软件(代码)安全性方面,已知包括诸如散列值的验证数据或者与代码相关联,以允许随后用代码检测攻击者的篡改。 这种验证技术在这里通过将验证数据与存在于对象(编译)代码中的功能表查找的内容相结合,在“白盒”密码过程中使用,其中表查找中的值被选择性地屏蔽(在源代码之前 被编入主题代码)通过进行置换操作。

    Method and apparatus for verifying and diversifying randomness
    10.
    发明授权
    Method and apparatus for verifying and diversifying randomness 有权
    验证随机性多样化的方法和装置

    公开(公告)号:US08200727B2

    公开(公告)日:2012-06-12

    申请号:US12031552

    申请日:2008-02-14

    IPC分类号: G06F1/02 G06F11/30

    摘要: Method and apparatus for ensuring randomness of pseudo-random numbers generated by a conventional computer operating system or electronic device. Typically pseudo-random number generators used in computer operating systems or electronic devices may be penetrated by a hacker (pirate), who penetrates a cryptographic or other supposedly secure process using the random numbers by tampering with the input random numbers, thus making them nonrandom. The present method and apparatus are intended to verify such random numbers to make sure that they are indeed random enough, by applying suitable random tests. Only if the values pass the test are they passed on for use in the cryptographic or other process. If they fail the test, a new set of random numbers is requested from the pseudo-random number generator. These are again tested. Further a diversity function may be applied to the random numbers even if they have passed the random number test in order to improve their randomness. This diversity function is for instance double encryption. An anti-replay feature is also included by which the pool of random numbers is subject to a check on each cycle to make sure that there has been no duplication of the input random numbers.

    摘要翻译: 用于确保由常规计算机操作系统或电子设备产生的伪随机数的随机性的方法和装置。 在计算机操作系统或电子设备中使用的通常的伪随机数生成器可以被黑客(盗版者)穿透,黑客(盗版者)通过篡改输入的随机数来使用随机数进行加密或其他所谓的安全处理,从而使其不随机。 本方法和装置旨在验证这样的随机数,以确保它们确实是随机的,通过应用适当的随机测试。 只有当值通过测试时,它们才被传递以用于加密或其他过程。 如果测试失败,则会从伪随机数发生器请求一组新的随机数。 这些再次测试。 此外,即使已经通过随机数测试来提高其随机性,也可以将分集函数应用于随机数。 这种分集功能是例如双重加密。 还包括反重播功能,通过该功能,随机数池将在每个周期进行检查,以确保输入随机数没有重复。