Protecting software through a fake cryptographic layer

    公开(公告)号:US09639673B2

    公开(公告)日:2017-05-02

    申请号:US14306713

    申请日:2014-06-17

    Applicant: Apple Inc.

    CPC classification number: G06F21/14 G06F2221/0748

    Abstract: The fake cryptographic layer obfuscation technique can be used to lure an attacker into expending reverse engineering efforts on sections of code the attacker would normally ignore. To do this the obfuscation technique can identify sections of code that are likely to be of lesser interest to the attacker and disguise them as higher value sections. This can be achieved by transforming a lower value section of code to include code patterns, constants, or other characteristics known to exist in sections of code of higher value, such as cryptographic routines. To transform a code section, the obfuscation technique can use one or more program modifications including control flow modifications, constant value adjustments to simulate well-known cryptographic scalars, buffer extensions, fake characteristic table insertion, debug-like information insertion, derivation function-code generation linking, and/or cryptographic algorithm specific instruction insertion.

    PRECOMPUTING INTERNAL AES STATES IN COUNTER MODE TO PROTECT KEYS USED IN AES COMPUTATIONS
    4.
    发明申请
    PRECOMPUTING INTERNAL AES STATES IN COUNTER MODE TO PROTECT KEYS USED IN AES COMPUTATIONS 审中-公开
    在计算机模式下预处理内部AES状态以保护AES计算中使用的密钥

    公开(公告)号:US20160211972A1

    公开(公告)日:2016-07-21

    申请号:US15000223

    申请日:2016-01-19

    Applicant: Apple Inc.

    CPC classification number: H04L9/0637 H04L9/0631 H04L9/30 H04L2209/24

    Abstract: Methods, media, and systems for, in one embodiment, protecting one or more keys in an encryption and/or decryption process can use precomputed values in the process such that at least a portion of the one or more keys is not used or exposed in the process. In one example of a method, internal states of an AES encryption process are saved for use in a counter mode stream cipher operation in which the key used in the AES encryption process is not exposed or used.

    Abstract translation: 在一个实施例中,在加密和/或解密过程中保护一个或多个密钥的方法,介质和系统可以使用该过程中的预计算值,使得一个或多个密钥的至少一部分不被使用或暴露在 的过程。 在一种方法的一个示例中,AES加密处理的内部状态被保存以用于其中AES加密处理中使用的密钥未被暴露或使用的计数器模式流密码操作。

    Precomputing internal AES states in counter mode to protect keys used in AES computations
    6.
    发明授权
    Precomputing internal AES states in counter mode to protect keys used in AES computations 有权
    在计数器模式下预先计算内部AES状态,以保护AES计算中使用的密钥

    公开(公告)号:US09264222B2

    公开(公告)日:2016-02-16

    申请号:US14015523

    申请日:2013-08-30

    Applicant: Apple Inc.

    CPC classification number: H04L9/0637 H04L9/0631 H04L9/30 H04L2209/24

    Abstract: Methods, media, and systems for, in one embodiment, protecting one or more keys in an encryption and/or decryption process can use precomputed values in the process such that at least a portion of the one or more keys is not used or exposed in the process. In one example of a method, internal states of an AES encryption process are saved for use in a counter mode stream cipher operation in which the key used in the AES encryption process is not exposed or used.

    Abstract translation: 在一个实施例中,在加密和/或解密过程中保护一个或多个密钥的方法,介质和系统可以使用该过程中的预计算值,使得一个或多个密钥的至少一部分不被使用或暴露在 的过程。 在一种方法的一个示例中,AES加密处理的内部状态被保存以用于其中AES加密处理中使用的密钥未被暴露或使用的计数器模式流密码操作。

    SHARED PURCHASES
    7.
    发明申请
    SHARED PURCHASES 审中-公开
    共享购买

    公开(公告)号:US20150347996A1

    公开(公告)日:2015-12-03

    申请号:US14722019

    申请日:2015-05-26

    Applicant: Apple Inc.

    Abstract: One or more user accounts can be linked together to form a group of linked user accounts to access content items assigned to the other user accounts in the group of linked user accounts. Prior to completing a purchase for a content item, a requesting user can be alerted that a member of the group of linked user accounts has access to the content item. Content items assigned to a member of a group of linked user accounts can be downloaded by one or more other members of the group of linked user accounts along with a Digital Rights Management (DRM) key that enables use of the content item. The DRM key can represent the group relationship between the downloading user account and the content owner's user account to which the content item is assigned.

    Abstract translation: 一个或多个用户帐户可以链接在一起以形成一组链接的用户帐户,以访问分配给链接的用户帐户组中的其他用户帐户的内容项。 在完成对内容项目的购买之前,请求用户可以被警告该链接的用户帐户组的成员可以访问该内容项目。 分配给一组链接的用户帐户的成员的内容项可以被连接的用户帐户组的一个或多个其他成员以及能够使用内容项的数字版权管理(DRM)密钥一起下载。 DRM密钥可以表示下载用户帐户与分配内容项目的内容所有者的用户帐户之间的组关系。

    Systems, methods, and computer-readable media for fertilizing machine-executable code
    8.
    发明授权
    Systems, methods, and computer-readable media for fertilizing machine-executable code 有权
    用于施肥机器可执行代码的系统,方法和计算机可读介质

    公开(公告)号:US09128722B2

    公开(公告)日:2015-09-08

    申请号:US13851581

    申请日:2013-03-27

    Applicant: Apple Inc.

    CPC classification number: G06F8/33 G06F8/423 G06F21/14

    Abstract: Disclosed herein are systems, computer-implemented methods, and non-transitory computer-readable storage media for obfuscating code, such as instructions and data structures. Also disclosed are non-transitory computer-readable media containing obfuscated code. In one aspect, a preprocessing tool (i.e. before compilation) identifies in a source program code a routine for replacement. The tool can be a software program running on a computer or an embedded device. The tool then selects a function equivalent to the identified routine from a pool of functions to replace the identified routine. A compiler can then compile computer instructions based on the source program code utilizing the selected function in place of the identified routine. In another aspect, the tool replaces data structures with fertilized data structures. These approaches can be applied to various portions of source program code based on various factors. A software developer can flexibly configure how and where to fertilize the source code.

    Abstract translation: 这里公开的是系统,计算机实现的方法和用于模糊代码的非暂时计算机可读存储介质,诸如指令和数据结构。 还公开了包含混淆代码的非暂时性计算机可读介质。 在一个方面,预处理工具(即,在编译之前)在源程序代码中标识用于替换的例程。 该工具可以是在计算机或嵌入式设备上运行的软件程序。 然后,该工具从一个函数库中选择一个等同于识别的例程的功能来替换识别的例程。 然后,编译器可以使用所选择的功能代替所识别的例程来编译基于源程序代码的计算机指令。 另一方面,该工具用受精数据结构取代数据结构。 这些方法可以基于各种因素应用于源程序代码的各个部分。 软件开发人员可以灵活地配置如何以及在何处施肥源代码。

    Adaptive secondary authentication criteria based on account data
    9.
    发明授权
    Adaptive secondary authentication criteria based on account data 有权
    基于帐户数据的自适应辅助认证标准

    公开(公告)号:US09043887B2

    公开(公告)日:2015-05-26

    申请号:US13731935

    申请日:2012-12-31

    Applicant: Apple Inc.

    Abstract: An authentication challenge system for performing secondary authentication for an account associated with an online store is described. In one embodiment, the authentication challenge system includes a question generation engine, which can derive a series of questions based upon activity associated with a user account of an online store; a network interface, which can transport the series of one or more questions derived by the question generation engine to authenticate the user to the online store; a confidence engine, which can determine a required confidence level for a successful authentication, and can compute a confidence score of the user identity; and a quality engine, which can adjust the question generation engine and the confidence engine based upon an analysis of question and answer metrics across multiple accounts of the online store. The online store can include digital media, such as music, movies, books or applications for electronic computing devices.

    Abstract translation: 描述用于对与在线商店相关联的帐户执行辅助认证的认证挑战系统。 在一个实施例中,认证挑战系统包括问题生成引擎,其可以基于与在线商店的用户帐户相关联的活动而导出一系列问题; 网络接口,其可以传送由问题生成引擎导出的一系列一个或多个问题以将用户认证到在线商店; 置信引擎,其可以确定成功验证所需的置信水平,并且可以计算用户身份的置信度得分; 以及质量引擎,其可以基于对在线商店的多个帐户的问答指标的分析来调整问题生成引擎和置信引擎。 在线商店可以包括诸如音乐,电影,书籍或电子计算设备的应用的数字媒体。

    Provision of a lease for streaming content

    公开(公告)号:US11956323B2

    公开(公告)日:2024-04-09

    申请号:US17228603

    申请日:2021-04-12

    Applicant: Apple Inc.

    Abstract: This application relates to embodiments for providing a content stream to a device from a content server based on a protocol that is established between the device and an account server. The account server can initiate a session with the device and provide the device with a list of channels available for a user account associated with the device. When a channel is selected at the device, conditional access information can be provided from the account server to the device, which can thereafter relay the conditional access information to the content server. The content server can use the conditional access information to verify that the device has the appropriate permission to receive streaming content. In this way, because the conditional access information originates at the account server, permission to access streaming content can be managed by correspondence between the account server and the device, rather than the content server.

Patent Agency Ranking