CN117769705A - 基于重加密的数字权利管理 - Google Patents
基于重加密的数字权利管理 Download PDFInfo
- Publication number
- CN117769705A CN117769705A CN202280051147.6A CN202280051147A CN117769705A CN 117769705 A CN117769705 A CN 117769705A CN 202280051147 A CN202280051147 A CN 202280051147A CN 117769705 A CN117769705 A CN 117769705A
- Authority
- CN
- China
- Prior art keywords
- nonce
- license
- manager
- document
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 32
- 238000013475 authorization Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
对文档进行加密,包括:生成第一nonce和第二nonce;组合第一nonce和第二nonce以生成由第一nonce和第二nonce确定性定义的秘密密钥;使用秘密密钥对5文档进行加密以产生加密文档;将第一nonce递送给许可证管理器;以及将第二nonce递送给权利管理器。
Description
技术领域
本公开涉及数字权利(rights)管理,更具体地说,涉及基于重加密的数字权利管理。
背景技术
数字权利管理(DRM)的传统安全模型用秘密密钥对文档进行加密。该秘密密钥通常存储在许可证管理器的安全数据库中。当权利管理器确认用户有权访问文档时,许可证管理器将文档的有效许可证递送给用户。因此,在此安全模型下,如果攻击者获得对许可证管理器的访问权限,则无论权利管理器的决定如何,攻击者都能够获得对文档的访问权限。因此,在此安全模型下,许可证管理器成为单点故障。
发明内容
本公开提供了基于重加密的数字权利管理。
在一个实现中,公开了一种用于对文档进行加密的方法。该方法包括:生成第一nonce和第二nonce;组合第一nonce和第二nonce以生成由第一nonce和第二nonce确定性地定义的秘密密钥;使用所述秘密密钥对所述文档进行加密以产生加密文档;将第一nonce递送给许可证管理器;以及将第二nonce递送给权利管理器。
在一个实现中,第一nonce和第二nonce的组合作为异或(XOR)函数执行。在一个实现中,对所述文档进行加密还包括通过用所述许可证管理器的公钥对所述许可证管理器的第一nonce进行加密来生成预许可证。
在另一个实现中,公开了一种用于对加密文档进行解密的方法。该方法包括:在用户设备处接收所述加密文档;向权利管理器发送访问所述加密文档的请求;当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,从所述权利管理器接收加密的第二nonce,其中,所述加密的第二nonce是通过用所述用户设备的公钥对第二nonce进行加密而计算出的;在所述用户设备处接收来自所述权利管理器的用所述权利管理器的私钥签名的令牌,其中,当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,所述权利管理器向许可证管理器发送所述令牌;在所述用户设备处接收来自许可证管理器的第一nonce,其中,当在所述许可证管理器处从所述权利管理器接收到所述令牌时,所述许可证管理器向所述用户设备发送第一nonce;通过将第一nonce与所述加密的第二nonce组合来生成解密所述加密文档的解密密钥;以及使用所述解密密钥对加密文档进行解密。
在一个实现中,该方法还包括由所述许可证管理器确定从所述权利管理器接收到的所述令牌是否如标准所定义的那样有效。在一个实现中,所述许可证管理器还从所述权利管理器接收预许可证,其中,所述预许可证是通过用所述许可证管理器的公钥对第一nonce进行加密而生成的。在一个实现中,该方法还包括当所述预许可证和所述令牌被确定为参考同一文档时,从所述许可证管理器接收许可证,其中,在所述许可证管理器处通过使用所述许可证管理器的私钥对所述预许可证进行解密并使用所述用户设备的公钥对解密的预许可证进行重加密来生成所述许可证。在一个实现中,通过将第一nonce与所述加密的第二nonce组合来生成所述解密密钥包括:用所述用户设备的私钥对许可证进行解密;用所述用户设备的私钥对所述加密的第二nonce进行解密;以及执行解密的许可证与所述解密的第二nonce的异或函数。
在另一个实现中,公开了一种用于对文档进行加密的系统。该系统包括:第一随机数生成器,用于生成第一nonce并将第一nonce递送给许可证管理器;第二随机生成器,用于生成第二nonce并将第二nonce递送给权利管理器;密钥生成器,用于接收第一nonce和第二nonce并将第一nonce和第二nonce组合成由第一nonce和第二nonce确定地定义的秘密密钥;以及加密器,用于接收所述文档并使用所述秘密密钥对所述文档进行加密以产生加密文档,并用于生成文档标识符。
在一个实现中,所述密钥生成器通过对第一nonce和第二nonce执行异或(XOR)函数来组合第一nonce和第二nonce。在一个实现中,所述加密器通过用所述许可证管理器的公钥对所述许可证管理器的第一nonce进行加密来生成预许可证。在一个实现中,所述加密器将所述预许可证和所述文档标识符发送给所述权利管理器。
在另一个实现中,公开了一种用于对加密文档进行解密的系统。该系统包括:用户设备,包括解密器和密钥生成器,所述用户设备接收所述加密文档和文档标识符,并向权利管理器发送访问所述加密文档的请求,其中,所述权利管理器向许可证管理器发送为所述加密文档生成许可证的授权;当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,所述密钥生成器从所述权利管理器接收加密的第二nonce,其中所述加密的第二nonce是通过用所述用户设备的公钥对第二nonce进行加密而计算出的,当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,所述密钥生成器从所述许可证管理器接收第一nonce,所述密钥生成器通过组合第一nonce和第二nonce来生成解密密钥,并且所述解密器使用所述解密密钥对所述加密文档进行解密,以产生解密文档。
在一个实现中,发送给所述权利管理器的请求包括给所述权利管理器的所述用户设备的证书。在一个实现中,所述用户设备从所述权利管理器接收用所述权利管理器的私钥签名的令牌,其中,所述令牌包括所述用户设备的证书和所述文档标识符。在一个实现中,所述权利管理器通过用所述许可证管理器的公钥对第一nonce进行加密来生成预许可证,其中,所述用户设备从所述权利管理器接收所述令牌、所述预许可证和所述加密的第二nonce。在一个实现中,所述许可证管理器还从所述权利管理器接收所述预许可证。在一个实现中,所述用户设备在所述预许可证和所述令牌被确定为参考同一文档时从所述许可证管理器接收许可证,其中,在所述许可证管理器处通过使用所述许可证管理器的私钥对所述预许可证进行解密并使用所述用户设备的公钥对解密的预许可证进行重加密来生成所述许可证。在一个实现中,所述密钥生成器作为以下各项的组合来生成所述解密密钥:(a)用所述用户设备的私钥对所述许可证进行解密;以及(b)用所述用户设备的私钥对所述加密的第二nonce进行解密。在一个实现中,所述组合包括所述解密的许可证与所述解密的第二nonce的异或函数。
其它特征和优点应当从本描述中显而易见,本描述通过示例的方式说明了本公开的各方面。
附图说明
本公开的细节,无论是关于其结构和操作,都可以部分地通过研究所附的附图来获得,其中相似的标号指代相似的部分,并且其中:
图1是根据本公开的一个实现的针对攻击者保护文档的加密系统的框图;
图2是根据本公开的一个实现的对加密文档进行解密的解密系统的框图;
图3A是根据本公开的一个实现的一种用于加密以针对攻击者保护文档免的方法的流程图;
图3B是根据本公开的一个实现的一种对加密文档进行解密的方法的流程图;
图4A是根据本公开的实现的计算机系统和用户的表示;并且
图4B是示出根据本公开的实现的托管加密/解密应用程序的计算机系统的功能框图。
具体实施方式
如上所述,在当前密钥管理模型下,如果攻击者获得对许可证管理器的访问权限,则无论权利管理器的决定如何,攻击者都可能能够获得对文档的访问权限。也就是说,许可证管理器成为单点故障。
本公开的某些实现包括将对文档进行加密的秘密密钥分割成第一元素和第二元素。第一元素去往许可证管理器,而第二元素去往权利管理器。要解密和访问文档,用户必须获得密钥的两个元素。因此,在该模型中,攻击者必须破坏许可证管理器和权利管理器两者。在阅读下面的描述之后,如何在各种实现和应用中实现本公开将变得清楚。尽管本文将描述本公开的各种实现,但理解的是,仅以示例而非限制的方式呈现这些实现。照此,各种实现的详细描述不应被解释为限制本公开的范围或广度。
在一个实现中,对文档进行加密的秘密密钥被分割成第一元素和第二元素。如上所述,第一元素去往许可证管理器,而第二元素去往权利管理器。要解密和访问文档,用户必须首先由安全地提供密钥的第二元素的权利管理器进行授权。一旦许可证管理器从权利管理器接收到确认,许可证管理器然后向用户递送携带密钥的第一元素的安全许可证。一旦授权用户具有密钥的两个元素,用户就可以解密和访问文档。因此,在该模型中,攻击者必须破坏许可证管理器和权利管理器两者。
图1是根据本公开的一个实现的用于对文档102进行加密的加密系统100的框图。在图1的图示实现中,加密系统100包括加密器110、密钥生成器120、第一随机数生成器130和第二随机生成器134。
在一个实现中,第一随机数生成器130生成第一nonce(CW1)132并且第二随机生成器134生成第二nonce(CW2)136。在特定实现中,nonce 132、136分别是128位nonce CW1和CW2。两个nonce132、136被提供给密钥生成器120,该密钥生成器将两个nonce 132、136组合成由nonce确定地定义的一个秘密密钥122。在特定实现中,密钥生成器120是简单的XOR函数,其生成
下面使用以下记号:E{K}(m)表示使用密钥k对消息m的加密;并且D{K}(m)表示使用密钥k对消息m的解密。
在一个实现中,加密器110使用由用户发出的密钥122对文档(Doc)102进行加密以产生加密文档(EDoc)104。在特定实现中,加密器110是计数器(CTR)模式下的高级加密标准128(AES-128)。因此,在该实现中,加密器110生成随机128位初始化向量(IV),并且EDoc104可以表示为EDoc=AES{CW}(Doc,IV)。
在一个实现中,第一随机数生成器130将第一nonce 132安全地递送到许可证管理器140,而第二随机数生成器134将第二nonce 136安全地递送到权利管理器150。
在特定实现中,加密器110为EDoc 104生成唯一文档标识符(IDD)。加密器110还通过如下对许可证管理器140的第一nonce(CW1)进行加密来生成预许可证(PLD):
其中
Kpub_LM=许可证管理器的公钥。
加密器110然后安全地将预许可证(PLD)、第二nonce(CW2)和文档标识符(IDD)发送到权利管理器150。权利管理器150存储该信息,并且第二nonce(CW2)在系统中在保密性上受到保护。
图2是根据本公开的一个实现的对加密文档202进行解密的解密系统200的框图。在图2的图示实现中,解密系统200包括解密器210和密钥生成器220。在一个实现中,解密系统是对加密文档202进行解密的用户设备200。
在第一实现中,当用户设备200接收到加密文档202时,用户设备200向权利管理器150发送访问此文档202的请求230。当权利管理器150确定授予访问权限时,权利管理器150将第二nonce(CW2)136(由第二随机数生成器134生成并安全地递送到权利管理器150)发送到用户设备200的密钥生成器220。权利管理器150还向许可证管理器140发送授权232以生成加密文档202的许可证。
在第一实现中,当许可证管理器140接收到授权232时,许可证管理器140将第一nonce(CW1)132发送到密钥生成器220,密钥生成器220组合第一和第二nonce 132、136并将结果222(即,解密密钥)发送到解密器210。解密器210然后使用结果222对加密文档202进行解密以产生解密文档204。
在第二实现中,当加密文档202被用户设备200接收到时,用户设备200通过向权利管理器150发送用户设备的证书230来向权利管理器150查询加密文档202。如果权利管理器150决定向用户设备200授予对加密文档202的访问权限,则权利管理器150最初如下生成加密的nonce(CW2')136:
其中
CW2'=加密的第二nonce,
CW2=第二nonce,
Kpub_user=用户的公钥。
在第二实现中,权利管理器150然后生成令牌。在一个实现中,令牌使用如注释请求7519(RFC7519)标准所定义的标准JavaScript对象表示法(JSON)Web令牌(JWT),该标准是一种开放标准,其定义了用于在各方之间安全地传输信息的自包含方式。令牌包括携带文档202的标识符的主题字段以及携带用户的证书Certuser的自定义字段。权利管理器150用其私钥Kpri_RM对令牌进行签名,并将文档标识符(IDD)、加密的nonce(CW 2')、预许可证(PLD)和令牌安全地返回给用户设备200。在一个实现中,用户设备200然后安全地将预许可证(PLD)和令牌(232)发送到许可证管理器140。在另一个实现中,权利管理器150安全地将预许可证(PLD)和令牌(232)发送到许可证管理器140。
在第二实现中,许可证管理器140然后检查接收到的令牌是否如RFC7519标准所定义的那样有效。如果令牌是有效的,则许可证管理器140检查令牌和预许可证(PLD)是否匹配相同的文档(即,检查令牌和预许可证(PLD)是否参考相同的文档标识符(IDD))。如果确定两个项目参考相同的文档,则许可证管理器140从令牌中的证书中提取用户的公钥。许可证管理器140通过如下对用户的预许可证(PLD)进行重加密来生成用户的许可证(LD_user):
其中
E{K}(m)=使用密钥k对消息m的加密,
D{K}(m)=使用密钥k对消息m的解密。
在第二实现中,许可证管理器140将所生成的许可证(LD_user)132发送到用户设备200,用户设备200通过如下对许可证(LD_user)和加密的nonce进行解密来提取解密密钥(例如,CW)222:
其中
CW=解密密钥,
Kpri_user=用户的私钥,
D{K}(m)=使用密钥k对消息m的解密
CW2'=加密的第二nonce。
用户设备然后对加密文档(D')进行解扰以得到解密文档(D),其中D=AES{CW}(D',IV)。
图3A是根据本公开的一个实现的用于对文档进行加密的方法300的流程图。在图3A的图示实现中,方法300包括在框302处生成第一和第二nonce。在一个示例中,nonce132、136分别是128位nonce CW1和CW2。在框304处将这两个nonce组合成由nonce确定地定义的单个秘密密钥。在一个示例中,两个nonce的组合被执行为作为的简单XOR函数。
在一个实现中,然后在框306处使用所生成的密钥对文档进行加密以产生加密文档。在框306的一个示例中,加密步骤使用计数器(CTR)模式下的高级加密标准128(AES-128)。因此,在该示例中,加密步骤生成随机的128位初始化向量(IV),并且加密的文档可以表示为EDoc=AES{CW}(Doc,IV)。随后,在框308处,第一nonce被安全地递送到许可证管理器,而第二nonce被安全地递送到权利管理器。
在框306的上述示例中,加密步骤还为加密的文档生成唯一文档标识符(IDD)。加密步骤还通过如下对许可证管理器的第一nonce(CW1)进行加密来生成预许可证(PLD):
其中
Kpub_LM=许可证管理器的公钥。
预许可证(PLD)、第二nonce(CW2)和文档标识符(IDD)被安全地发送到权利管理器,权利管理器存储该信息,并且第二nonce(CW2)在保密性上受到保护。
图3B是根据本公开的一个实现的对加密文档进行解密的方法310的流程图。在图3B的图示实现中,当接收到加密的文档时,在框312处向权利管理器发送访问接收到的文档的请求。在一个示例中,发送到权利管理器的请求包括用户设备的证书。当权利管理器在框314处确定授予访问权限时,在框316处从权利管理器接收加密的第二nonce。在一个示例中,加密的第二nonce被如下计算:
其中
CW2'=加密的第二nonce,
CW2=第二nonce,
Kpub_user=用户的公钥。
当权利管理器确定向用户授予访问权限时(在框314处),权利管理器还生成令牌。在一个示例中,令牌使用如RFC7519标准所定义的标准JavaScript对象表示法(JSON)Web令牌(JWT),并且包括携带加密文档的标识符的主题字段以及携带用户的证书(Certuser)的自定义字段。在一个实现中,权利管理器用其私钥(Kpri_RM)对令牌进行签名,并将文档标识符(IDD)、加密的nonce(CW 2')、预许可证(PLD)和令牌安全地返回给用户设备。在另一个实现中,权利管理器将预许可证(PLD)和令牌发送到许可证管理器。
在一个实现中,当许可证管理器在框318处接收到授权和/或PLD/令牌时,许可证管理器在框320处将第一nonce或许可证发送到用户设备。然后在框322处组合第一nonce/许可证和第二nonce,以生成对加密的文档进行解密的密钥以产生解密的文档。
在框318的一个示例中,许可证管理器然后检查接收到的令牌是否如标准所定义的那样有效。如果令牌是有效的,则许可证管理器检查令牌和预许可证(PLD)是否匹配相同的文档(即,令牌和预许可证(PLD)参考相同的文档标识符(IDD))。如果确定两个项目参考相同的文档,则许可证管理器从令牌中的证书中提取用户的公钥。许可证管理器通过如下对用户的预许可证(PLD)进行重加密来生成用户的许可证(LD_user):
其中
E{K}(m)=使用密钥k对消息m的加密,
D{K}(m)=使用密钥k对消息m的解密。
在框320的一个示例中,许可证管理器还将所生成的许可证(LD_user)发送到用户。用户通过如下对许可证(LD_user)和加密的第二nonce进行解密来提取解密密钥(例如,CW):
其中
CW=解密密钥,
Kpri_user=用户的私钥,
D{K}(m)=使用密钥k对消息m的解密
CW2'=加密的第二nonce。
然后,用户可以对加密文档(D')进行解扰以得到解密文档(D),其中D=AES{CW}(D',IV)。
图4A是根据本公开的一个实现的计算机系统400和用户402的表示。用户402使用计算机系统400来实现用于加密和解密的应用程序490,以针对攻击者保护文档,如关于图1和图2中的系统100、200以及图3A和图3B中的方法300、310所图示和描述的。
计算机系统400存储并执行图4B的加密/解密应用程序490。此外,计算机系统400可以与软件程序404通信。软件程序404可包括加密/解密应用程序490的软件代码。软件程序404可以加载在诸如CD、DVD或存储驱动器之类的外部介质上,如下面将进一步解释的。
另外,计算机系统400可以连接到网络480。网络480可以在各种不同的架构(例如,客户端服务器架构、对等网络架构或其他类型的架构)中连接。例如,网络480可以与服务器485通信,该服务器485协调在加密/解密应用程序490内使用的引擎和数据。还有,网络可以是不同类型的网络。例如,网络480可以是因特网、局域网或局域网的任何变型、广域网、城域网、内联网或外联网,或者无线网络。
图4B是示出根据本公开的一个实现的托管加密/解密应用程序490的计算机系统400的功能框图。控制器410是可编程处理器并且控制计算机系统400及其组件的操作。控制器410从存储器420或嵌入式控制器存储器(未示出)加载指令(例如,以计算机程序的形式)并且执行这些指令以控制系统,诸如提供数据处理。在其执行中,控制器410向加密/解密应用程序490提供软件系统。或者,该服务可以实现为控制器410或计算机系统400中的单独的硬件组件。
存储器420临时存储数据以供计算机系统400的其他组件使用。在一个实现中,存储器420被实现为RAM。在一个实现中,存储器420还包括长期或永久存储器,诸如闪存和/或ROM之类。
存储装置430临时或长时间段地存储数据,以供计算机系统400的其他组件使用。例如,存储装置430存储由加密/解密应用程序490使用的数据。在一个实现中,存储装置430是硬盘驱动器。
媒体设备440接收可移动媒体并读取和/或将数据写入到插入的媒体。在一个实现中,例如,媒体设备440是光盘驱动器。
用户接口450包括用于接受来自计算机系统400的用户的用户输入并向用户402呈现信息的部件。在一个实现中,用户接口450包括键盘、鼠标、音频扬声器和显示器。控制器410使用来自用户402的输入来调节计算机系统400的操作。
I/O接口460包括一个或多个I/O端口,以连接到相应的I/O设备,诸如外部存储或补充设备(例如,打印机或PDA)。在一个实现中,I/O接口460的端口包括诸如以下各项的端口:USB端口、PCMCIA端口、串行端口和/或并行端口。在另一个实现中,I/O接口460包括用于以无线方式与外部设备通信的无线接口。
网络接口470包括有线和/或无线网络连接,诸如支持以太网连接的RJ-45或“Wi-Fi”接口(包括但不限于802.11)。
计算机系统400包括典型的计算机系统的附加硬件和软件(例如,电源、冷却、操作系统),尽管这些组件为简单起见未在图4B中具体示出。在其它实现中,可以使用计算机系统的不同配置(例如,不同的总线或存储配置或多处理器配置)。
在一个实现中,系统100、200是完全用硬件构成的系统,该硬件包括一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门/逻辑阵列(FPGA)、或其他等效的集成或分立逻辑电路。在另一个实现中,系统300用硬件和软件的组合配置。
本文对所公开实现的描述被提供以使任何本领域技术人员能够做出或使用本公开。对这些实现的众多修改对于本领域技术人员来说将是容易显而易见的,并且本文所定义的原理可以应用于其它实现而不背离本公开的精神或范围。因此,本公开不旨在限于本文所示的实现而是被赋予与本文所公开的主要和新颖特征一致的最宽范围。
本领域技术人员将理解,本文所述的各种说明性模块和方法步骤可以实现为电子硬件、软件、固件或前述的组合。为了清楚地图示硬件和软件的这种可互换性,各种说明性模块和方法步骤已在本文中就其功能性方面进行了总体描述。这样的功能性是实现为硬件还是软件取决于特定应用和施加在整体系统上的设计约束。技术人员可以针对每个特定应用以不同的方式实现所描述的功能性,但是这样的实现决策不应被解释为导致背离本公开的范围。此外,模块内的功能或步骤的分组是为了便于描述。特定功能可以从一个模块或步骤移动到另一个而不脱离本公开。
上面讨论的示例的所有特征在本公开的特定实现中不一定是必需的。另外,要理解的是,本文中呈现的描述和附图代表了本公开广泛设想的主题。进一步理解的是,本公开的范围完全涵盖对于本领域技术人员来说可能变得显而易见的其它实现,并且本公开的范围相应地仅由所附权利要求限制。
Claims (20)
1.一种用于对文档进行加密的方法,所述方法包括:
生成第一nonce和第二nonce;
组合第一nonce和第二nonce以生成由第一nonce和第二nonce确定性地定义的秘密密钥;
使用所述秘密密钥对所述文档进行加密以产生加密文档;
将第一nonce递送给许可证管理器;以及
将第二nonce递送给权利管理器。
2.如权利要求1所述的方法,其中,第一nonce和第二nonce的组合作为异或(XOR)函数执行。
3.如权利要求1所述的方法,其中,对所述文档进行加密还包括
通过用所述许可证管理器的公钥对所述许可证管理器的第一nonce进行加密来生成预许可证。
4.一种用于对加密文档进行解密的方法,所述方法包括:
在用户设备处接收所述加密文档;
向权利管理器发送访问所述加密文档的请求;
当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,从所述权利管理器接收加密的第二nonce,
其中,所述加密的第二nonce是通过用所述用户设备的公钥对第二nonce进行加密而计算出的;
在所述用户设备处接收来自所述权利管理器的用所述权利管理器的私钥签名的令牌,
其中,当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,所述权利管理器向许可证管理器发送所述令牌;
在所述用户设备处接收来自许可证管理器的第一nonce,
其中,当在所述许可证管理器处从所述权利管理器接收到所述令牌时,所述许可证管理器向所述用户设备发送第一nonce;
通过将第一nonce与所述加密的第二nonce组合来生成解密所述加密文档的解密密钥;以及
使用所述解密密钥对加密文档进行解密。
5.如权利要求4所述的方法,还包括
由所述许可证管理器确定从所述权利管理器接收到的所述令牌是否如标准所定义的那样有效。
6.如权利要求4所述的方法,其中,所述许可证管理器还从所述权利管理器接收预许可证,
其中,所述预许可证是通过用所述许可证管理器的公钥对第一nonce进行加密而生成的。
7.如权利要求6所述的方法,还包括
当所述预许可证和所述令牌被确定为参考同一文档时,从所述许可证管理器接收许可证,
其中,在所述许可证管理器处通过使用所述许可证管理器的私钥对所述预许可证进行解密并使用所述用户设备的公钥对解密的预许可证进行重加密来生成所述许可证。
8.如权利要求7所述的方法,其中,通过将第一nonce与所述加密的第二nonce组合来生成所述解密密钥包括:
用所述用户设备的私钥对许可证进行解密;
用所述用户设备的私钥对所述加密的第二nonce进行解密;以及
执行解密的许可证与所述解密的第二nonce的异或函数。
9.一种用于对文档进行加密的系统,所述系统包括:
第一随机数生成器,用于生成第一nonce并将第一nonce递送给许可证管理器;
第二随机生成器,用于生成第二nonce并将第二nonce递送给权利管理器;
密钥生成器,用于接收第一nonce和第二nonce并将第一nonce和第二nonce组合成由第一nonce和第二nonce确定地定义的秘密密钥;以及
加密器,用于接收所述文档并使用所述秘密密钥对所述文档进行加密以产生加密文档,并用于生成文档标识符。
10.如权利要求9所述的系统,其中,所述密钥生成器通过对第一nonce和第二nonce执行异或(XOR)函数来组合第一nonce和第二nonce。
11.如权利要求9所述的系统,其中,所述加密器通过用所述许可证管理器的公钥对所述许可证管理器的第一nonce进行加密来生成预许可证。
12.如权利要求11所述的系统,其中,所述加密器将所述预许可证和所述文档标识符发送给所述权利管理器。
13.一种用于对加密文档进行解密的系统,所述系统包括:
用户设备,包括解密器和密钥生成器,所述用户设备接收所述加密文档和文档标识符,并向权利管理器发送访问所述加密文档的请求,
其中,所述权利管理器向许可证管理器发送为所述加密文档生成许可证的授权;
当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,所述密钥生成器从所述权利管理器接收加密的第二nonce,其中所述加密的第二nonce是通过用所述用户设备的公钥对第二nonce进行加密而计算出的,
当所述权利管理器确定授予所述用户设备对所述加密文档的访问权限时,所述密钥生成器从所述许可证管理器接收第一nonce,
所述密钥生成器通过组合第一nonce和第二nonce来生成解密密钥,并且
所述解密器使用所述解密密钥对所述加密文档进行解密,以产生解密文档。
14.如权利要求13所述的系统,其中,发送给所述权利管理器的请求包括给所述权利管理器的所述用户设备的证书。
15.如权利要求14所述的系统,其中,所述用户设备从所述权利管理器接收用所述权利管理器的私钥签名的令牌,
其中,所述令牌包括所述用户设备的证书和所述文档标识符。
16.如权利要求15所述的系统,其中,所述权利管理器通过用所述许可证管理器的公钥对第一nonce进行加密来生成预许可证,
其中,所述用户设备从所述权利管理器接收所述令牌、所述预许可证和所述加密的第二nonce。
17.如权利要求16所述的系统,其中,所述许可证管理器还从所述权利管理器接收所述预许可证。
18.如权利要求16所述的系统,其中,所述用户设备在所述预许可证和所述令牌被确定为参考同一文档时从所述许可证管理器接收许可证,
其中,在所述许可证管理器处通过使用所述许可证管理器的私钥对所述预许可证进行解密并使用所述用户设备的公钥对解密的预许可证进行重加密来生成所述许可证。
19.如权利要求13所述的系统,其中,所述密钥生成器作为以下各项的组合来生成所述解密密钥:(a)用所述用户设备的私钥对所述许可证进行解密;以及(b)用所述用户设备的私钥对所述加密的第二nonce进行解密。
20.如权利要求19所述的系统,其中,所述组合包括所述解密的许可证与所述解密的第二nonce的异或函数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/578,970 US20230229743A1 (en) | 2022-01-19 | 2022-01-19 | Re-encryption-based digital rights management |
US17/578,970 | 2022-01-19 | ||
PCT/IB2022/060489 WO2023139424A1 (en) | 2022-01-19 | 2022-10-31 | Re-encryption-based digital rights management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117769705A true CN117769705A (zh) | 2024-03-26 |
Family
ID=84358282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280051147.6A Pending CN117769705A (zh) | 2022-01-19 | 2022-10-31 | 基于重加密的数字权利管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230229743A1 (zh) |
EP (1) | EP4437436A1 (zh) |
CN (1) | CN117769705A (zh) |
WO (1) | WO2023139424A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000076003A (ko) * | 1998-01-07 | 2000-12-26 | 이데이 노부유끼 | 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법 |
CN100338905C (zh) * | 2004-03-03 | 2007-09-19 | 北京北大方正电子有限公司 | 具有硬件适应性的数字内容与硬件绑定的方法 |
US7697693B1 (en) * | 2004-03-09 | 2010-04-13 | Bbn Technologies Corp. | Quantum cryptography with multi-party randomness |
KR101360354B1 (ko) * | 2007-04-16 | 2014-02-19 | 삼성전자주식회사 | 인증 방법 및 그 장치 |
EP2071487A1 (fr) * | 2007-11-27 | 2009-06-17 | Axalto | Procédé de sécurisation des accès à un objet électronique connecté à un ordinateur |
CN113285958A (zh) * | 2021-06-18 | 2021-08-20 | 深圳前海微众银行股份有限公司 | 客户端认证方法 |
-
2022
- 2022-01-19 US US17/578,970 patent/US20230229743A1/en active Pending
- 2022-10-31 EP EP22803071.4A patent/EP4437436A1/en active Pending
- 2022-10-31 CN CN202280051147.6A patent/CN117769705A/zh active Pending
- 2022-10-31 WO PCT/IB2022/060489 patent/WO2023139424A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20230229743A1 (en) | 2023-07-20 |
EP4437436A1 (en) | 2024-10-02 |
WO2023139424A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10616213B2 (en) | Password manipulation for secure account creation and verification through third-party servers | |
US9673975B1 (en) | Cryptographic key splitting for offline and online data protection | |
CN108881314B (zh) | 雾计算环境下基于cp-abe密文隐私保护方法及系统 | |
RU2589861C2 (ru) | Система и способ шифрования данных пользователя | |
CN102271037B (zh) | 基于在线密钥的密钥保护装置 | |
CN106487765B (zh) | 授权访问方法以及使用该方法的设备 | |
JP7160605B2 (ja) | 安全にデータを転送する方法およびシステム | |
CN108768613A (zh) | 一种基于多种加密算法的密文口令校验方法 | |
JP7087172B2 (ja) | Pqaロック解除 | |
US11870904B2 (en) | Method for encrypting and decrypting data across domains based on privacy computing | |
JP2022542095A (ja) | 強化された安全な暗号化及び復号化システム | |
KR102394608B1 (ko) | 속성 기반 암호화를 이용하는 저작권 보호 시스템 | |
US20230269066A1 (en) | Method and apparatus for provisioning node-locking confidential data | |
US10257176B2 (en) | Replacing keys in a computer system | |
Bansal et al. | RSA encryption and decryption system | |
KR102055888B1 (ko) | 정보 보호를 위한 파일 암복호화 방법 | |
CN117769705A (zh) | 基于重加密的数字权利管理 | |
CN112673591B (zh) | 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的系统和方法 | |
Reddy et al. | Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques | |
EP1830299A2 (en) | Digital rights management system with diversified content protection process | |
TWI789115B (zh) | 雲端服務的加密系統及加密方法 | |
CN116599771B (zh) | 数据分级保护传输方法及装置、存储介质和终端 | |
Ghorpade et al. | Notice of Violation of IEEE Publication Principles: Towards Achieving Efficient and Secure Way to Share the Data | |
Bhaurao et al. | Privacy preservation and secure data sharing in cloud storage | |
Onyesolu et al. | On Information Security using a Hybrid Cryptographic Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |