CN114223176B - 一种证书管理方法及装置 - Google Patents
一种证书管理方法及装置 Download PDFInfo
- Publication number
- CN114223176B CN114223176B CN201980099456.9A CN201980099456A CN114223176B CN 114223176 B CN114223176 B CN 114223176B CN 201980099456 A CN201980099456 A CN 201980099456A CN 114223176 B CN114223176 B CN 114223176B
- Authority
- CN
- China
- Prior art keywords
- key
- digital certificate
- private key
- identification information
- service
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 275
- 238000000034 method Methods 0.000 claims description 70
- 230000006870 function Effects 0.000 claims description 60
- 230000005540 biological transmission Effects 0.000 claims description 55
- 238000003860 storage Methods 0.000 claims description 32
- 230000000875 corresponding effect Effects 0.000 claims description 24
- 230000002596 correlated effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 16
- 238000013461 design Methods 0.000 description 45
- 101150050163 CERT1 gene Proteins 0.000 description 31
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 23
- 238000004590 computer program Methods 0.000 description 12
- FCKYPQBAHLOOJQ-UHFFFAOYSA-N Cyclohexane-1,2-diaminetetraacetic acid Chemical compound OC(=O)CN(CC(O)=O)C1CCCCC1N(CC(O)=O)CC(O)=O FCKYPQBAHLOOJQ-UHFFFAOYSA-N 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 206010037660 Pyrexia Diseases 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000013475 authorization Methods 0.000 description 5
- 101100171184 Arabidopsis thaliana DRMH1 gene Proteins 0.000 description 4
- 101150053091 DRM2 gene Proteins 0.000 description 4
- 101000759879 Homo sapiens Tetraspanin-10 Proteins 0.000 description 3
- 102100024990 Tetraspanin-10 Human genes 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 101150115391 DRM1 gene Proteins 0.000 description 2
- 101150117307 DRM3 gene Proteins 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000306 component Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 1
- 102100021677 Baculoviral IAP repeat-containing protein 2 Human genes 0.000 description 1
- 102100021662 Baculoviral IAP repeat-containing protein 3 Human genes 0.000 description 1
- 101000896157 Homo sapiens Baculoviral IAP repeat-containing protein 2 Proteins 0.000 description 1
- 101000896224 Homo sapiens Baculoviral IAP repeat-containing protein 3 Proteins 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using 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/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/0822—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 key encryption key
-
- 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/3247—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 digital signatures
-
- 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/3265—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 chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4627—Rights management associated to the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- 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/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- 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
Abstract
一种证书管理方法及装置,以解决DRM客户端的数字证书和私钥管控效率低的问题。具体采用的方案是:将对客户端应用相关的数据处理的功能,以及数字证书/私钥的写入/读取的功能,通过不同的模块来实现,用于负责数字证书和私钥的写入和存储的功能模块称为密钥管理TA,用于负责客户端应用相关的数据处理的功能模块为业务TA。不同的客户端的数字证书和私钥,均由密钥管理TA负责写入和存储,由密钥管理TA统一管理。密钥管理TA针对不同的客户端的数字证书和私钥采用通行密钥来加密,并且对加密后的数字证书和私钥通过不同的标识信息来关联保存。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种证书管理方法及装置。
背景技术
随着互联设备的移动和消费市场日益成熟、不断壮大,音视频内容的数字版权管理(digital rights management,DRM)也越来越受到关注,具体通过数字证书技术确保音视频内容分发过程中端到端的保护。用于提供音视频内容的DRM服务器会根据不同的安全级别授权终端设备中DRM客户端访问不同质量的数字化内容。安全级别较高的数字化内容的访问所需要的数字证书和私钥,在终端设备在出厂时烧写DRM客户端中。因此,不同的DRM客户端的数字证书和私钥均单独烧写,从而导致对DRM客户端的数字证书和私钥的管控效率较低。
发明内容
本申请实施例提供了一种证书管理方法及装置,以解决DRM客户端的数字证书和私钥管控效率低的问题。
第一方面,本申请实施例提供一种证书管理方法,方法应用于部署有可信执行环境TEE的装置,装置中还部署有离线烧写接口,TEE中部署有密钥管理可信应用TA。该装置中还可以部署丰富执行环境REE,上述离线烧写接口可以部署于REE中。方法具体包括,密钥管理TA通过离线烧写接口获取数字版权管理DRM参数,DRM参数中包括第一数字证书的地址、第一私钥的地址以及运输密钥;第一数字证书为使用运输密钥对第二数字证书加密后的数字证书,第一私钥为使用运输密钥对第二私钥加密后的私钥,第二私钥用于签名发往DRM服务端的数据,或用于解密来自DRM服务端的数据;然后密钥管理TA分别根据第一数字证书的地址和第一私钥的地址获取第一数字证书和第一私钥,并采用运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥;之后密钥管理TA关联存储第二数字证书、第二私钥以及第一标识信息,第一标识信息用于标识第二数字证书和第二私钥。
本申请实施例新定义了一种离线烧写接口,通过上述设计,针对不同的DRM客户端的数字证书和私钥均通过该离线烧写接口写入密钥管理TA的安全存储区域中,该密钥管理TA负责对证书和私钥进行存储和管理,不同的数字证书和私钥存储时对应不同的标识信息,因此不同的DRM客户端的数字证书和私钥均可以通过该离线烧写接口写入密钥管理TA对应的安全存储区域,并由安全存储区域进行统一存储和管理,后续不同的DRM客户端均可从密钥管理TA处获取数字证书和私钥,从而提高了烧写效率,且提高了对数字证书和私钥的管控效率。
在一种可能的设计中,DRM参数还包括第一通行密钥;在该情况下,密钥管理TA关联存储第二数字证书、第二私钥以及第一标识信息时,可以通过如下方式实现:密钥管理TA采用第一通行密钥分别对第二数字证书和第二私钥进行加密,得到第三数字证书和第三私钥;然后密钥管理TA关联存储第三数字证书、第三私钥以及第一标识信息,第一标识信息用于标识第三数字证书和第三私钥。
通过上述设计,在关联存储数字证书和私钥时,使用通行密钥进行加密存储,从而负责业务处理的业务TA在需要使用数字证书和私钥时,需要采用通行密钥和第一标识信息来获取,从而可以提高数字证书和私钥的安全性。
在一种可能的设计中,TEE中还部署有N个业务TA和传输接口,N为正整数;
第一业务TA获取第一信息,第一信息包括第一标识信息,第一业务TA为N个业务TA中的任一个;第一业务TA通过传输接口从密钥管理TA中获取第一标识信息关联的第二数字证书。
上述设计中,针对不同的业务TA可以采用同一个数字证书和私钥,也可以采用不同的数字证书和私钥,但均通过统一的密钥管理TA,使得对客户端应用相关的数据处理的功能,以及数字证书/私钥的写入/读取的功能分开通过不同的模块来处理,即用于负责数字证书和私钥的写入和存储的功能模块为密钥管理TA,用于负责客户端应用相关的数据处理的功能模块为业务TA,提高数字证书和私钥的安全性。且后续不同的业务TA仅可以通过TEE中部署的传输接口来访问和使用密钥管理TA存储的数字证书和私钥,保证了私钥和数字证书的私密性。
在一种可能的设计中,若DRM参数还包括第一通行密钥,第一信息还包括第一通行密钥;第一业务TA基于第一标识信息和第一通行密钥通过传输接口从密钥管理TA中获取第二数字证书。
通过上述设计,负责业务处理的业务TA在需要使用数字证书和私钥时,需要采用通行密钥和第一标识信息来获取,进一步提高数字证书和私钥的安全性。另外,可以增加新的客户端,新增加的客户端可以使用标识信息,或者标识信息和通行密钥即可读取数字证书,或者借助于密钥管理TA来实现业务办理,比如数据签名或者数据解密。另外,不同的业务TA可以同时使用第一标识信息,或者第一标识信息和第一通行密钥来从密钥管理TA中获取数字证书。
在一种可能的设计中,第一业务TA基于第一标识信息和第一通行密钥通过传输接口从密钥管理TA中获取第二数字证书,包括:第一业务TA通过传输接口向密钥管理TA发送第一指令,第一指令携带第一通行密钥和第一标识信息;密钥管理TA从存储的数字证书中获取第一标识信息关联的第三数字证书;密钥管理TA使用第一通行密钥解密第三数字证书得到第二数字证书,并将第二数字证书通过传输接口发送给第一业务TA。
上述设计中,在通行密钥错误的情况下,业务TA无法从密钥管理TA中获取到数字证书,从而提高数字证书的安全性。
在一种可能的设计中,TEE中部署有第一业务TA,方法还包括:第一业务TA向密钥管理TA发送第二指令,第二指令携带第一数据和第一标识信息;第一业务TA为N个业务TA中的任一个;密钥管理TA从存储的密钥中获取第一标识信息关联的第二私钥,并采用第二私钥对第一数据进行签名或者解密得到第二数据;密钥管理TA将第二数据发送给第一业务TA。
上述设计中,业务TA不具有使用私钥的权限,使用的私钥的权限仅在密钥管理TA中,业务TA在需要使用私钥签名数据或者解密数据时,需要通过密钥管理TA来执行,并由密钥管理TA将签名后或者解密后的数据发送给业务TA,也就说业务TA无法真正接触到私钥,提高私钥的安全性。另外,不同的业务TA可以同时使用第一标识信息,或者第一标识信息和第一通行密钥来借助密钥管理TA对数据签名或解密。
在一种可能的设计中,若DRM参数还包括第一通行密钥,第二指令还包括第一通行密钥;采用第二私钥对第一数据进行签名或者解密得到第二数据,包括:密钥管理TA从存储的密钥中获取第一标识信息关联的第三私钥,并采用第一通行密钥解密第三私钥得到第二私钥;密钥管理TA采用第二私钥对第一数据进行签名或者解密得到第二数据,并将第二数据发送给第一业务TA。
上述设计中,业务TA不具有使用私钥的权限,使用的私钥的权限仅在密钥管理TA中,业务TA在需要使用私钥签名数据或者解密数据时,需要通过密钥管理TA基于标识信息以及通行密钥来执行,并由密钥管理TA将签名后或者解密后的数据发送给业务TA,在业务TA无法提供正确的标识信息或者通行密钥的情况下,无法签名数据和解密数据,进一步提高私钥的安全性。
在一种可能的设计中,DRM参数中还包括如下至少一项:运输密钥的长度、第一标识信息的长度、第一私钥的长度、第一数字证书的长度。
在一种可能的设计中,DRM参数中还包括第一通行密钥的长度。
在一种可能的设计中,离线烧写接口为函数调用接口,离线烧写接口的输入变量包括DRM参数中的任一项参数。
在一种可能的设计中,传输接口为函数调用接口,传输接口包括如下至少一个:标识申请接口、证书读写接口、私钥签名接口、私钥解密接口或在线烧写接口;其中,标识申请接口的输入变量为空;证书读写接口的输入变量包括第一标识信息或者包括第一标识信息和第一通行密钥;私钥签名接口的输入变量包括第一标识信息和待签名的数据或者包括第一标识信息、第一通行密钥和待签名的数据;私钥解密接口的输入变量包括第一标识信息和待解密的数据或者包括第一标识信息、第一通行密钥和待解密的数据;在线烧写接口的输入变量包括经过加密的待写入数字证书、经过加密的待写入私钥和加密待写入数字证书和待写入私钥所使用的运输密钥。
在一种可能的设计中,函数调用接口为应用程序编程接口API。
在一种可能的设计中,运输密钥包括第一运输密钥和第二运输密钥,第一数字证书为使用第一运输密钥对第二数字证书加密后的数字证书,第一私钥为使用第二运输密钥对第二私钥加密后的私钥;密钥管理TA采用运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥,包括:密钥管理TA采用第一运输密钥解密第一数字证书,得到第二数字证书,并采用第二运输密钥解密第一私钥,得到第二私钥。
上述设计中,针对数字证书和私钥采用的不同的运输密钥来传递给密钥管理TA,进一步提高数字证书和私钥的安全性。
在一种可能的设计中,运输密钥为使用层级密钥加密后的密钥;密钥管理TA采用运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥,包括:密钥管理TA采用层级密钥对运输密钥进行解密;采用解密后的运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥。
上述设计中,运输密钥采用层级密钥来加密,层级密钥可以内置于芯片中,可以提高运输密钥传递到密钥管理TA过程中的安全性,并进一步提高数字证书和私钥的安全性。
在一种可能的设计中,TEE部署有第二业务TA,部署有可信执行环境TEE的装置中部署有传输接口,方法还包括:第二业务TA接收待写入参数,待写入参数包括第四数字证书、第四私钥和第三运输密钥,第四数字证书为使用第三运输密钥对第五数字证书加密后的数字证书,第四私钥为使用第三运输密钥对第五数字证书对应的第五私钥加密后的私钥;第二业务TA通过传输接口向密钥管理TA申请第二标识信息;第二业务TA将第四数字证书、第四私钥、第三运输秘钥和第二标识信息发送给密钥管理TA;密钥管理TA采用第三运输密钥分别解密第四数字证书和第四私钥得到第五数字证书和第五私钥;密钥管理TA关联存储第五数字证书、第五私钥以及第二标识信息;第二业务TA存储第二标识信息。
上述设计,提供一种在线写入数字证书和私钥的方法,可以对原有离线写入的数字证书和私钥进行更新,或者在原有的数字证书和私钥的基础上增加新的数字证书和私钥,以供更多的DRM客户端使用,可以提高数字证书和私钥的管控效率。
在一种可能的设计中,还包括:第二业务TA生成第二通行密钥,并存储第二通行密钥;第二业务TA将第二通行密钥发送给密钥管理TA;密钥管理TA关联存储第五数字证书、第五私钥以及第二标识信息,包括:密钥管理TA使用第二通行密钥分别对第五数字证书和第五私钥进行加密得到第六数字证书和第六私钥,并关联存储第六数字证书、第六私钥以及第二标识信息。结合通行密钥和标识信息来存储数字证书和私钥,提高数字证书和私钥的安全性。
第二方面,本申请实施例提供的另一种证书管理方法,方法应用于部署有可信执行环境TEE的装置,TEE中部署有密钥管理可信应用TA和N个业务TA,N为正整数,部署有可信执行环境TEE的装置中还部署有传输接口,方法还包括:N个业务TA中任一业务TA接收待写入参数,待写入参数包括第四数字证书、第四私钥和第三运输密钥,第四数字证书为使用第三运输密钥对第五数字证书加密后的数字证书,第四私钥为使用第三运输密钥对第五数字证书对应的第五私钥加密后的私钥;任一业务TA通过传输接口向密钥管理TA申请第二标识信息;任一业务TATA将第四数字证书、第四私钥、第三运输秘钥和第二标识信息发送给密钥管理TA;密钥管理TA采用第三运输密钥分别解密第四数字证书和第四私钥得到第五数字证书和第五私钥;密钥管理TA关联存储第五数字证书、第五私钥以及第二标识信息;任一业务TA存储第二标识信息。
在一种可能的设计中,还包括:任一业务TA生成第二通行密钥,并存储第二通行密钥;任一业务TA将第二通行密钥发送给密钥管理TA;密钥管理TA关联存储第五数字证书、第五私钥以及第二标识信息,包括:密钥管理TA使用第二通行密钥分别对第五数字证书和第五私钥进行加密得到第六数字证书和第六私钥,并关联存储第六数字证书、第六私钥以及第二标识信息。
基于与第一方面同样的发明构思,本申请实施例提供了一种证书管理装置,证书管理装置部署有可信执行环境TEE,证书管理装置中还部署有离线烧写接口,TEE中部署有密钥管理可信应用TA,其中,密钥管理TA,用于通过离线烧写接口获取数字版权管理DRM参数,DRM参数中包括第一数字证书的地址、第一私钥的地址以及运输密钥;第一数字证书为使用运输密钥对第二数字证书加密后的数字证书,第一私钥为使用运输密钥对第二私钥加密后的私钥,第二私钥用于签名发往DRM服务端的数据,或用于解密来自DRM服务端的数据;密钥管理TA,还用于分别根据第一数字证书的地址和第一私钥的地址获取第一数字证书和第一私钥,并采用运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥;关联存储第二数字证书、第二私钥以及第一标识信息,第一标识信息用于标识第二数字证书和第二私钥。
在一种可能的设计中,DRM参数还包括第一通行密钥;密钥管理TA,具体用于采用第一通行密钥分别对第二数字证书和第二私钥进行加密,得到第三数字证书和第三私钥;关联存储第三数字证书、第三私钥以及第一标识信息,第一标识信息用于标识第三数字证书和第三私钥。
在一种可能的设计中,TEE中还部署有N个业务TA和传输接口,N为正整数;第一业务TA,用于获取第一信息,第一信息包括第一标识信息,第一业务TA为N个业务TA中的任一个;通过传输接口从密钥管理TA中获取第一标识信息关联的第二数字证书。
在一种可能的设计中,若DRM参数还包括第一通行密钥,第一信息还包括第一通行密钥;第一业务TA,还用于基于第一标识信息和第一通行密钥通过传输接口从密钥管理TA中获取第二数字证书。
在一种可能的设计中,第一业务TA,具体用于通过传输接口向密钥管理TA发送第一指令,第一指令携带第一通行密钥和第一标识信息;密钥管理TA,还用于从存储的数字证书中获取第一标识信息关联的第三数字证书;使用第一通行密钥解密第三数字证书得到第二数字证书,并将第二数字证书通过传输接口发送给第一业务TA。
在一种可能的设计中,TEE中部署有第一业务TA,第一业务TA,还用于向密钥管理TA发送第二指令,第二指令携带第一数据和第一标识信息;第一业务TA为N个业务TA中的任一个;密钥管理TA,还用于从存储的密钥中获取第一标识信息关联的第二私钥,并采用第二私钥对第一数据进行签名或者解密得到第二数据;密钥管理TA,还用于将第二数据发送给第一业务TA。
在一种可能的设计中,若DRM参数还包括第一通行密钥,第二指令还包括第一通行密钥;密钥管理TA,具体用于从存储的密钥中获取第一标识信息关联的第三私钥,并采用第一通行密钥解密第三私钥得到第二私钥;采用第二私钥对第一数据进行签名或者解密得到第二数据,并将第二数据发送给第一业务TA。
在一种可能的设计中,DRM参数中还包括如下至少一项:运输密钥的长度、第一标识信息的长度、第一私钥的长度、第一数字证书的长度。
在一种可能的设计中,DRM参数中还包括第一通行密钥的长度。
在一种可能的设计中,离线烧写接口为函数调用接口,离线烧写接口的输入变量包括DRM参数中的任一项参数。
在一种可能的设计中,传输接口为函数调用接口,传输接口包括如下至少一个:标识申请接口、证书读写接口、私钥签名接口、私钥解密接口或在线烧写接口;
其中,标识申请接口的输入变量为空;
证书读写接口的输入变量包括第一标识信息或者包括第一标识信息和第一通行密钥;
私钥签名接口的输入变量包括第一标识信息和待签名的数据或者包括第一标识信息、第一通行密钥和待签名的数据;
私钥解密接口的输入变量包括第一标识信息和待解密的数据或者包括第一标识信息、第一通行密钥和待解密的数据;
在线烧写接口的输入变量包括经过加密的待写入数字证书、经过加密的待写入私钥和加密待写入数字证书和待写入私钥所使用的运输密钥。
在一种可能的设计中,函数调用接口为应用程序编程接口API。
在一种可能的设计中,运输密钥包括第一运输密钥和第二运输密钥,第一数字证书为使用第一运输密钥对第二数字证书加密后的数字证书,第一私钥为使用第二运输密钥对第二私钥加密后的私钥;
密钥管理TA,具体用于采用第一运输密钥解密第一数字证书,得到第二数字证书,并采用第二运输密钥解密第一私钥,得到第二私钥。
在一种可能的设计中,运输密钥为使用层级密钥加密后的密钥;
密钥管理TA,具体用于采用层级密钥对运输密钥进行解密;采用解密后的运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥。
在一种可能的设计中,TEE部署有第二业务TA,部署有可信执行环境TEE的装置中部署有传输接口;
第二业务TA,用于接收待写入参数,待写入参数包括第四数字证书、第四私钥和第三运输密钥,第四数字证书为使用第三运输密钥对第五数字证书加密后的数字证书,第四私钥为使用第三运输密钥对第五数字证书对应的第五私钥加密后的私钥;
第二业务TA,还用于通过传输接口向密钥管理TA申请第二标识信息;密钥管理TA,用于为第二业务TA分配第二标识信息,并通过传输接口发送给第二业务TA;
第二业务TA,还用于将第四数字证书、第四私钥、第三运输秘钥和第二标识信息发送给密钥管理TA;
密钥管理TA,还用于采用第三运输密钥分别解密第四数字证书和第四私钥得到第五数字证书和第五私钥;关联存储第五数字证书、第五私钥以及第二标识信息;
第二业务TA,还用于存储第二标识信息。
在一种可能的设计中,第二业务TA,还用于生成第二通行密钥,并存储第二通行密钥;将第二通行密钥发送给密钥管理TA;
密钥管理TA,具体用于使用第二通行密钥分别对第五数字证书和第五私钥进行加密得到第六数字证书和第六私钥,并关联存储第六数字证书、第六私钥以及第二标识信息。
第四方面,本申请实施例提供的另一种证书管理装置,该证书管理装置中部署有可信执行环境TEE,TEE中部署有密钥管理可信应用TA和N个业务TA,N为正整数,证书管理装置中还部署有传输接口,N个业务TA中任一业务TA,用于接收待写入参数,待写入参数包括第四数字证书、第四私钥和第三运输密钥,第四数字证书为使用第三运输密钥对第五数字证书加密后的数字证书,第四私钥为使用第三运输密钥对第五数字证书对应的第五私钥加密后的私钥;任一业务TA,还用于通过传输接口向密钥管理TA申请第二标识信息;任一业务TATA将第四数字证书、第四私钥、第三运输秘钥和第二标识信息发送给密钥管理TA;密钥管理TA,用于采用第三运输密钥分别解密第四数字证书和第四私钥得到第五数字证书和第五私钥;密钥管理TA,还用于关联存储第五数字证书、第五私钥以及第二标识信息;任一业务TA存储第二标识信息。
在一种可能的设计中,任一业务TA,还用于生成第二通行密钥,并存储第二通行密钥;任一业务TA,还用于将第二通行密钥发送给密钥管理TA;密钥管理TA,具体用于使用第二通行密钥分别对第五数字证书和第五私钥进行加密得到第六数字证书和第六私钥,并关联存储第六数字证书、第六私钥以及第二标识信息。
第五方面,本申请实施例提供了一种证书管理装置,该证书管理装置可以为芯片。证书管理装置中可以包括处理器。示例性地,所述处理器中部署有TEE和离线烧写接口,所述TEE中部署有密钥管理可信应用TA。TEE中还部署有业务TA。该处理器调用存储在存储器中的软件指令以实现上述第一方面或者第二方面方法实施例、方法实施例的任意一种可能的设计中所涉及的功能。存储器可以是部署于证书管理装置内的存储器,也可以是部署于证书管理装置外的存储器。
应当理解,TEE、离线烧写接口以及密钥管理TA均可以为软件模块,可以通过处理器运行存储器中的软件代码来实现TEE、离线烧写接口以及密钥管理TA对应的功能。
第六方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序在某一计算机或处理器上执行时,将会使计算机或处理器实现上述第一方面或者第二方法实施例、方法实施例的任意一种可能的设计中所涉及的功能。
第七方面,本申请实施例提供了一种计算机可读存储介质,用于存储程序、指令,这些程序、指令在计算机中被调用执行时,可以使得计算机执行上述第一方面或者第二方面所述方法实施例、方法实施例的任意一种可能的设计中所涉及的功能。
第八方面,本申请实施例提供了一种芯片系统,该芯片系统中包括处理器,还可以包括存储器,用于实现上述方法中所涉及的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
图1为本申请实施例提供的一种DRM系统架构示意图;
图2为本申请实施例提供的一种PKI系统架构示意图;
图3为本申请实施例提供的内容加密密钥的管理流程示意图;
图4为本申请实施例提供的数字证书和私钥烧写过程中参与者之间关系示意图;
图5为本申请实施例提供的目前所采用的数字证书和私钥烧写流程示意图;
图6为本申请实施例提供的证书管理装置结构示意图;
图7为本申请实施例提供的一种证书管理方法流程图;
图8为本申请实施例提供的另一种证书管理方法流程图;
图9为本申请实施例提供的在线证书和私钥烧写流程图;
图10为本申请实施例提供的数字证书和私钥烧写流程示意图;
图11为本申请实施例提供的数字证书和私钥加密传输流程示意图;
图12为本申请实施例提供的离线烧写流程示意图;
图13为本申请实施例提供的读取数字证书流程示意图;
图14为本申请实施例提供的私钥签名流程示意图;
图15为本申请实施例提供的私钥解密流程示意图;
图16为本申请实施例提供的在线烧写流程示意图;
图17为本申请实施例提供的装置1700结构示意图。
具体实施方式
在对本申请提供的技术方案进行说明之前,先对本申请实施例涉及到的技术术语进行解释说明。
1)数字版权管理(digital rights management,DRM),是指出版者用来控制被保护对象的使用权的一些技术,这些技术保护的有数字化内容(例如:软件、音乐、电影)以及硬件,处理数字化产品的某个实例的使用限制。
如图1所示,示例性地提供一种DRM系统,系统中包括DRM服务端和DRM客户端。DRM服务端和DRM客户端之间建立信任关系后,DRM服务端为DRM客户端提供数字化内容。示例性地,DRM服务端中可以包括内容加密模块、密钥管理模块、密钥网关模块、内容授权模块和证书管理模块。内容加密模块采用内容加密密钥(content encrption key,CEK)对数字化内容进行加密保护;密钥管理模块接收内容加密密钥后负责将该内容加密密钥同步给密钥网关模块;密钥网关模块在接收同步的内容加密密钥之后对内容加密密钥进行保密存储,并接收内容授权模块的密钥查询;内容授权模块接收DRM客户端的请求将包含有内容加密密钥和密钥使用规则的内容授权许可证安全的发送到合法的DRM客户端。DRM客户端接收到内容授权许可证后,按照密钥使用规则合理的解密内容加密密钥,并用内容加密密钥解密内容进行播放。证书管理模块,用于对DRM服务端证书、DRM客户端证书进行管理,比如,废除证书或者更新证书等。
DRM服务端各模块、DRM客户端等基于公钥基础设施(public keyinfrastructure,PKI)签发的设备证书(图1中所示的DRM服务端和DRM客户端证书)建立信任关系,基于此信任关系进行彼此之间的安全通信。PKI系统可以用于签发和管理证书。一般情况下,PKI系统是通过认证中心(certificate authority,CA)来签发证书的。DRM系统中DRM服务端各核心组件、DRM客户端等都向认证中心(certificate authority,CA)申请获得一个数字证书,作为自己身份的凭证。各实体之间的信任关系是基于证书的有效性。如果DRM客户端证书被DRM服务端验证有效,则DRM服务端信任该DRM客户端,相似的,如果DRM服务端证书被DRM客户端验证有效,则DRM客户端信任该DRM服务端。
PKI系统可以包括一级或多级CA,当PKI系统包括多级CA时,例如,在如图2所示的PKI系统包括根CA、DRM服务端子CA、DRM客户端子CA,根CA可以在根CA证书的基础上派生出两个子CA证书,分别签发给DRM服务端子CA、DRM客户端子CA,DRM服务端子CA可以根据DRM服务端子CA为DRM服务端设备签发DRM服务端证书,为在线证书状态协议(onlinecertificate status protocol,OCSP)服务器签发OCSP服务器证书。其中,OCSP服务器可以用于验证DRM服务端的合法性。DRM客户端子CA可以根据DRM客户端子CA证书为DRM客户端签发DRM客户端证书。其中,DRM客户端证书、CA根证书以及DRM客户端子CA证书构成了客户端证书链。证书链一般保存在客户端的安全存储区域。每一级设备证书可以通过上一级证书校验的。
DRM服务端在确定是否信任DRM客户端时,具体可以根据DRM客户端的数字证书的根CA证书来判断,如果DRM服务端信任某一个根CA证书,就可以信任该根CA签发的客户端证书,比如DRM1服务端信任根CA1的证书,而DRM2客户端证书由根CA1签发的证书,那么DRM1服务端可以信任DRM2客户端;如果DRM3服务端仅信任根CA2的证书,而DRM2客户端证书是由根CA1签发的证书,那么DRM3服务端无法信任DRM2客户端。
2)内容加密密钥。
内容加密密钥是加密数字化内容的密钥。DRM服务端和DRM客户端分别拥有非对称的密钥对,DRM服务端拥有的密钥称为公钥,DRM客户端拥有的密钥称为私钥。公钥用于对内容加密密钥进行加密,私钥用于对内容加密密钥进行解密。
参见图3所示,示例性地提供的内容加密密钥的管理流程示意图。
A1、DRM服务端生成会话密钥,用该会话密钥加密内容加密密钥。其中,会话密钥是客户端申请许可证时生成的临时密钥,该会话密钥用于对内容加密密钥进行加密保护。
A2、DRM服务端用DRM客户端公钥加密会话密钥。
A3、DRM服务端将加密后的会话密钥、加密后的内容加密密钥封装在许可证中发送给DRM客户端。
A4、DRM客户端接收到许可证后,用DRM客户端私钥解密出会话密钥,用解密出的会话密钥解密得到内容加密密钥;
A5、DRM客户端解密得到内容加密密钥后,用内容加密密钥解密数字化内容,实现内容的解码播放。
3)层级密钥技术(Keyladder),支持通过芯片逻辑中在生产阶段写入一个密钥,该密钥可以称为层级密钥,层级密钥仅在芯片的层级密钥模块中使用,采用层级密钥加密的数据,仅由芯片层级密钥模块来解密,从而确保数据的安全。
4)丰富执行环境(rich execution environment,REE)可用于运行通用操作系统,例如安卓(android)操作系统、IOS操作系统、Linux操作系统等,从而为实现应用功能的实现提供软件和硬件的支撑。
可信执行环境(trusted execution environment,TEE)在终端设备提供一个安全区域,支持敏感数据(比如密钥和数字证书)在隔离可信的环境中存储、处理和保护。
5)可信程序(trust applet,TA)是TEE中可以运行的程序实体,不同TA之间的内存、安全存储区域、及其他硬件资源是相互隔离的。
6)DRM客户端的安全级别。
比如,中国DRM客户端可以分为三种安全级别,分别为软件、硬件、增强硬件。其中,软件级别允许DRM客户端程序运行在普通操作系统中,系统中的其他软件可以访问到DRM的各类密钥以及数据;硬件级别要求DRM客户端运行在独立的TEE中,系统其他软件无法访问DRM各类密钥及数据;增强硬件级别在硬件级别的基础上进一步增加了芯片算法引擎防攻击方面的要求。
7)本申请实施例中“密钥”也可以称为“秘钥”。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
8)本申请实施例中的终端设备又可称之为终端设备(terminal equipment)或者用户设备(user equipment,UE)等。示例的,终端可以为机顶盒、手机、平板电脑(pad)、笔记本电脑、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)、车载电脑、智能音箱、增强现实(augmented reality,AR)设备、虚拟现实(virtualreality,VR)或者智能汽车等,本申请实施例对此不作限定。另外,本申请实施例的终端设备可以支持一种或多种客户端应用。
由于DRM服务端会根据不同的安全级别授权终端设备中DRM客户端访问不同质量的数字化内容,如一般好莱坞内容提供商要求4K节目需要终端设备支持硬件及以上安全级别。DRM客户端硬件及以上安全级别要求终端设备在出厂时烧写DRM客户端的数字证书及私钥。数字证书及私钥从产生到烧写到终端设备的芯片中,可能涉及到的参与方可以包括DRM主管机构、密钥所有者、终端设备生产商以及芯片厂商。例如,DRM主管机构可以是中国广播影视数字版权管理认证中心(china DRM trust authority,CDTA),密钥所有者可以为运营商或者互联网服务提供商(over the top,OTT)。参见图4所示,为数字证书及私钥从产生到烧写到终端设备的芯片流程示意图。
DRM主管机构采用派生规则负责派生终端设备的数字证书(如下简称数字证书)及生成私钥。密钥所有者从DRM主管机构购买终端设备证书及私钥,并保存在密钥所有者的运行平台,比如运营商平台或者OTT服务器,运营商平台或者OTT服务器采用通用工具加密终端设备证书及私钥,并将加密后的终端设备证书及私钥下发终端设备生产厂商。从而终端设备生产厂商在用于烧写数字证书和私钥的平台(称为终端设备生产厂商平台)辅助DRM客户端完成数字证书和私钥的写入。终端设备生产厂商平台通过终端设备上提供的芯片接口将数字证书及私钥写入到芯片的安全存储区域。另外,本申请实施例中提及的平台,可以是服务器、电子设备等。
具体的,以DRM主管机构为CDTA为例,参见图5所示,为数字证书及私钥从产生到烧写到终端设备的芯片具体流程示意图。
终端设备的数字证书和私钥是由CDTA通过预设规则在CDTA根CA证书的基础上签发和派生出来。然后CDTA将终端设备的数字证书和私钥安全的发送至密钥所有者的运行平台。密钥所有者的运行平台位于安全环境中,比如安全实验室。安全实验室中密钥所有者的运行平台生成运输密钥(TransportKey),并采用运输密钥对终端设备的数字证书和私钥进行加密,示例性地,可以使用通用加密工具以及固定的加密模式对终端设备的数字证书和私钥加密。当完成上述步骤后,密钥所有者将加密后的终端设备的数字证书和私钥以及明文的TransportKey提供给终端设备生产厂商,终端设备生产厂商通过终端设备生产厂商平台将密钥所有者提供的各个参数通过终端设备中对应于不同DRM客户端的API接口(比如DRM API1、DRM API2和DRM API3)将这些参数写入终端设备TEE的不同TA中,比如图5中所示的DRM TA1,DRMTA2,DRM TA3。在此实施例中,每个DRM TA可以认为是一个客户端。一个客户端可以供一个或者多个客户端应用使用。每个DRM TA既要完成客户端应用相关的数据处理,还需要完成数字证书和私钥的写入和读取的功能。DRM TA之间是相互独立的,一个DRMTA无法获取其他DRM TA存储的数字证书和私钥,即使不同的DRM客户端采用相同的根CA证书,也无法共用同一个数字证书和私钥。由于上述方案中一个DRM客户端对应一个DRM服务端,因此,一个提供数字化内容的DRM服务端,也无法采用另一个DRM服务端对应的DRM客户端的数字证书和私钥。基于此,在终端设备出厂之前,需要烧写不同的DRM客户端的数字证书以及私钥,终端设备出厂之后,运行在TEE侧的DRM TA(客户端)就已经确定了下来,无法增加和更新,进而可能导致终端设备可能无法运行某些DRM服务端提供的数字化内容。
基于此,本申请实施例提供一种证书管理方法及装置,具体的将对客户端应用相关的数据处理的功能,以及数字证书/私钥的写入/读取的功能,通过不同的模块来实现。本申请实施例中,将用于负责数字证书和私钥的写入和存储的功能模块称为密钥管理TA,将用于负责客户端应用相关的数据处理的功能模块称为业务TA。不同的客户端的数字证书和私钥,均由密钥管理TA负责写入和存储。不同的客户端对应于不同的业务TA,即密钥管理TA支持多个业务TA的访问。密钥管理TA针对不同的客户端的数字证书和私钥通过不同的标识信息来关联保存。本申请实施例在芯片中新增了一个密钥管理TA,并定义了一个离线烧写接口,密钥管理TA通过该离线烧写接口接收并存储外界写入的数字版权管理DRM参数,后续业务TA需要使用这些参数时再从密钥管理TA处获取这些参数,因此DRM业务的数字证书和私钥的存储(密钥管理TA来存储)和使用(业务TA使用)是分开的,业务TA只负责业务功能,且只能通过密钥管理TA提供的TEE接口获取私钥和证书,确保了数字证书和私钥的私密性,进一步的,一个管理TA支持多个业务TA的访问,还支持业务TA的增加和更新。
在关联保存数字证书和私钥时,第一种方式是对数字证书和私钥进行加密存储,加密采用的密钥为通行密钥(或者称为口令),进而不同的业务TA通过标识信息和通行密钥可以从密钥管理TA读取证书和私钥。可以进一步保证数字证书和私钥的安全性。第二方式是不对数字证书和私钥进行加密,直接存储。
下面结合附图对本申请实施例提供的方案进行详细说明。参见图6所示为本申请实施例提供的证书管理装置结构示意图。证书管理装置可以是芯片、终端设备、部署于终端设备中的DRM客户端,或者是部署于终端设备的DRM客户端中的一个模块,DRM客户端的功能可以由终端设备的芯片或者芯片系统实现。其中证书管理装置中可以部署TEE。其中TEE中可以部署密钥管理TA,TEE中还可以部署存储单元,可以用来用于存储私钥和数字证书等。存储单元为非易失性存储介质,比如闪存(flash)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。
TEE中还可以部署有N个业务TA,图6中以第一业务TA、第二业务TA和第三业务TA为例,N为正整数。证书管理装置中还部署有离线烧写接口,离线烧写接口可以部署于TEE中,若证书管理装置中还可以部署有REE,离线烧写接口也可以部署于REE中,图6中以部署于REE为例。TEE中还可以部署传输接口,用于各个业务TA从密钥管理TA中读取数字证书和使用私钥。
证书管理装置执行本申请实施例提供的证书管理方法来实现:数字证书和私钥的离线烧写、数字证书和私钥的读取,或数字证书和私钥的在线烧写。
参见图7所示,为本申请实施例提供的证书管理方法流程示意图,图7针对第一种方式进行说明。图7具体提供了一种数字证书和私钥的离线烧写(也可以称为平台烧写)流程,该烧写流程可以在终端设备生产厂商平台执行。
S701,密钥管理TA通过离线烧写接口获取DRM参数,DRM参数中包括第一数字证书的地址、第一私钥的地址、运输密钥以及第一通行密钥;第一数字证书为使用运输密钥对第二数字证书加密后的数字证书,第一私钥为使用运输密钥对第二私钥加密后的私钥。第一数字证书,即DRM客户端证书,用于验证证书管理装置的合法性。第一私钥用于加解密DRM服务器的数据。
离线烧写接口可以是函数调用接口。函数调度接口可以是应用程序编程接口(application programming interface,API),还可以是其它类型的接口。离线烧写接口的输入变量可以包括DRM参数中的任一项参数。示例性地,DRM参数中还包括如下至少一项:运输密钥的长度、第一标识信息的长度、第一通行密钥的长度、第一私钥的长度或第一数字证书的长度。示例性地,离线烧写接口可以采用如下方式定义:
Int CDRM_KEY_Provision(unsigned char*pTransportKey,ints32TransportKeyLen,unsigned char*pInfor,int s32Inforlen,unsigned char*pPrivateKey,int s32privateKeyLen,unsigned char*pCert,int s32CertLen)参数。
Int CDRM_KEY_Provision表示离线烧写接口对应的调用函数名,应当理解,可以认为通过调用该函数实现对离线烧写接口的使用;
pTransportKey表示由芯片厂商协助加密后的运输密钥(TransportKey);
s32TransportKeyLen表示TransportKey的长度;
pInfor表示加密存储数字证书和私钥的通行密钥(passwd),图7所示的实施例中表示第一通行密钥;
s32Inforlen表示pInfor的长度,即第一标识信息的长度;
pPrivateKey表示采用TransportKey加密后的私钥的地址,即第一私钥的地址;
s32privateKeyLen表示加密后的私钥的长度,即第一私钥的长度;
pCert表示采用TransportKey加密的数字证书的地址,即第一数字证书的地址;
s32CertLen表示加密后的数字证书的长度。
示例性地,离线烧写接口的函数调用成功,离线烧写接口的函数可以返回第一值,比如0,返回其它值时表示离线烧写接口的函数调用失败。示例性的,加密后的私钥地址以及加密后的数字证书地址可以是由运营商提供的。
具体的,通过终端设备生产厂商平台将上述DRM参数传输至密钥管理TA,对应的,密钥管理TA获取到DRM参数。在采用第一种方式时,可以通过终端设备生产厂商平台将DRM参数通过函数调用接口写入证书管理装置内,该证书管理装置例如为处理器芯片。
S702,密钥管理TA分别根据第一数字证书的地址和第一私钥的地址获取第一数字证书和第一私钥,并采用运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥。
S703,密钥管理TA采用第一通行密钥分别对第二数字证书和第二私钥进行加密,得到第三数字证书和第三私钥。
S704,密钥管理TA关联存储第三数字证书、第三私钥以及第一标识信息;第一标识信息用于标识第三数字证书和第三私钥。
示例性地,第一标识信息可以通过如下方式确定:
方式1,通过离线烧写接口接收的DRM参数中包括第一标识信息。
方式2,密钥管理TA中预先配置有多个标识信息,由密钥管理TA从配置的多个标识信息中分配一个未使用的标识信息。
方式3,密钥管理TA中配置有标识信息的默认值,离线烧写接口中输入参数中不包括标识信息,密钥管理TA采用默认值,作为第一标识信息。
密钥管理TA关联存储第三数字证书、第三私钥以及第一标识信息后,第三数字证书、第三私钥和第一标识信息之间建立关联关系,此时,第一标识信息用于标识第三数字证书和第三私钥,从而通过第一标识信息可以查找到第三数字证书和第三私钥。
一种示例中,密钥管理TA可以接收多组DRM参数,每组DRM参数对应一个数字证书和私钥,从而实现一次将多组数字证书和私钥烧写至终端设备中。不同的数字证书和私钥,采用不同的标识信息来标识。另一种示例中,多组待烧写的数字证书和私钥,还可以通过多次执行图7所示的流程来实现。
在通过上述方式将第一数字证书和第一私钥烧写至终端设备中后,终端设备中的N个业务TA可以通过获取第一标识信息和第一通行密钥来从密钥管理TA中获取第二数字证书,并在需要采用第二私钥对数字化内容进行解密或者签名时,可以通过密钥管理TA来实现数字化内容的解密或者签名,并返回解密或者签名后的数字化内容,通过该方案,既实现了针对不同的业务TA可以采用同一个数字证书和私钥,也可以采用不同的数字证书和私钥,但均通过统一的密钥管理TA获取,另外各个业务TA不能真正读取到第一私钥,保证了私钥的私密性,进而提高安全性。示例性地,N个业务TA与密钥管理TA之间通过传输接口来通信。传输接口也可以为函数调用接口,传输接口部署于TEE中。示例性地,传输接口可以包括如下至少一个:标识申请接口、证书读取接口、私钥签名接口、私钥解密接口或在线分发烧写接口。标识申请接口用于业务TA申请一个用于存储私钥和数字证书的标识信息。证书读取接口用于业务TA获取数字证书的数据。私钥签名接口用于业务TA使用私钥签名数据。私钥解密接口用于业务TA将待解密的数据发送给密钥管理TA并接收密钥管理TA使用私钥解密后的数据。在线分发烧写接口用于在线烧写DRM客户端私钥及数字证书时,由业务TA使用,并通过密钥管理TA来实现对DRM客户端密钥和数字证书的安全存储。
一种示例中,以N个业务TA中的第一业务TA读取第二数字证书为例,第一业务TA获取第一信息,第一信息包括第一标识信息和第一通行密钥;第一业务TA通过传输接口从密钥管理TA中获取第一标识信息关联的第二数字证书,具体的,第一业务TA通过证书读取接口将第一信息传递给密钥管理TA,从而密钥管理TA从存储的数字证书获取第一标识信息所关联的第三数字证书,然后采用第一通行密钥解密第三数字证书得到第二数字证书,然后将第二数字证书通过所述证书读取接口发送给第一业务TA。
示例性地,证书读取接口的输入变量可以包括第一标识信息和第一通行密钥或者包括第一标识信息。采用第一种方式时,即对数字证书和私钥进行加密存储,证书读取接口的输入变量可以包括第一标识信息和第一通行密钥,采用第二种方式时,即不对数字证书和私钥进行加密存储,证书读取接口的输入变量可以仅包括第一标识信息。证书读取接口的输入变量中还可以包括第一标识信息的长度或第一通行密钥的长度。证书读取接口的输出变量可以包括第二数字证书,还可以包括第二数字证书的长度。
例如,以第一种方式为例,证书读取接口可以采用如下方式定义:
int CDRM_Key_GetCert(unsigned int keyIndex,unsigned char*pPasswd,ints32Passlen,unsigned char*pCert,int*pCertLen)。
int CDRM_Key_GetCert表示证书读取接口的调用函数;
keyIndex为输入参数,表示用于标识数字证书和私钥的标识信息,图7所示的实施例中表示第一标识信息;keyIndex存储在第一业务TA的安全存储区域2中,并在需要使用时传入。
pPasswd为输入参数,表示在密钥管理TA中用于对数字证书和私钥加密的通行密钥,图7所示的实施例中表示第一通行密钥。pPasswd存储在第一业务TA的安全存储区域2中,并在需要使用时传入。
s32Passlen为输入参数,表示Passwd的长度。
pCert为输出参数,表示读取到的数字证书数据,即第二数字证书。
pCertLen为输出参数,表示读取到的证书的长度,即第二数字证书的长度。
示例性地,证书读取接口的函数调用成功,证书读取接口的函数可以返回第二值,比如0,返回其它值时表示证书读取接口的函数调用失败。
第一标识信息和第一通行密钥来自于密钥所有者。密钥所有者确定第一标识信息和第一通行密钥之后,通过线下或者优良保密协议(pretty good privacy,PGP)加密邮件的方式通知给终端设备生产厂商,从而终端设备生产厂商可以通过终端设备生产厂商平台将第一标识信息和第一通行密钥发送给第一业务TA,第一业务TA可以将第一标识信息和第一通行密钥存储在第一业务TA对应的安全存储区域2中。PGP是一种利用邮件进行沟通的加解密技术,该技术能够保证数据交互的双方之间的数据安全,即使在共用网络上存在网络嗅探或者其他黑客技术也无法获取通过该PGP技术传输的数据。
从而第一业务TA获取第一信息可以从安全存储区域2中读取第一标识信息和第一通行密钥。第一业务TA从密钥管理TA中读取第二数字证书,可以是在DRM服务端与DRM客户端之间验证合法性的情况下执行,DRM服务端向DRM客户端请求该第二数字证书,从而DRM客户端应用获取请求后,通过第一业务TA从密钥管理TA中读取第二数字证书,第一业务TA在接收到密钥管理TA发送的第二数字证书后,可以按照预配置的证书规则对第二数字证书进行校验,比如校验第二数字证书的格式是否符合要求,验证成功后,将第二数字证书发送给DRM服务端,从而DRM服务端来验证第二数字证书的合法性,可以防止业务TA获取到错误的标识信息和通行密钥,导致获取到错误的数字证书。
另一种示例中,以N个业务TA中的第一业务TA获取私钥签名过的数据为例,第一业务TA通过传输接口中私钥签名接口向密钥管理TA发送第二指令,第二指令携带第一数据、第一标识信息以及第一通行密钥;密钥管理TA从存储的密钥中获取第一标识信息关联的第三私钥,并采用第一通行密钥解密第三私钥得到第二私钥;密钥管理TA采用第二私钥对第一数据进行签名得到第二数据,并通过传输接口中私钥签名接口将第二数据发送给第一业务TA。
示例性地,所述私钥签名接口的输入变量包括第一标识信息和待签名的数据或者包括第一标识信息、第一通行密钥和待签名的数据。采用第一种方式时,即对数字证书和私钥进行加密存储,所述私钥签名接口的输入变量包括第一标识信息、第一通行密钥和待签名的数据(比如第一数据),采用第二种方式时,即不对数字证书和私钥进行加密存储,所述私钥签名接口的输入变量包括第一标识信息和待签名的数据。所述私钥签名接口的输入变量还可以包括第一标识信息的长度、第一通行密钥的长度、或者待签名的数据长度。私钥解密接口的输出变量包括签名后的数据,还可以包括签名后的数据长度。
例如,以第一种方式为例,私钥签名接口可以采用如下方式定义:
int CDRM_Key_PrivateKey_Signature(unsigned int keyIndex,CDRM_KEY_Algorithm alg,unsigned char*pPasswd,int s32Passlen,unsigned char*pInputBuffer,int len,unsigned char*pOutPutBuffer,int*pBufferLen)。
int CDRM_Key_PrivateKey_Signature表示私钥签名接口的调用函数;
keyIndex为输入参数,表示用于标识数字证书和私钥的标识信息,图7所示的实施例中表示第一标识信息;keyIndex存储在第一业务TA的存储单元中的安全存储区域2中,并在需要使用时传入;
alg为输入参数,alg为表示采用私钥签名待签名的数据所采用的算法,例如可以为标准非对称密码算法,例如SM2-256或者RSA2048等;
pPasswd为输入参数,表示在密钥管理TA中用于对数字证书和私钥加密的通行密钥;
s32Passlen为输入参数,表示Passwd的长度;
pInputBuffer为输入参数,表示待签名的数据;
len为输入参数,待签名的数据的长度;
pOutPutBuffer为输出参数,表示签名后的数据的地址;
pBufferLen为输出参数,表示签名后的数据的长度。
示例性地,私钥签名接口的函数调用成功,私钥签名接口的函数可以返回第三值,比如0,返回其它值时表示私钥签名接口的函数调用失败。
又一种示例中,以N个业务TA中的第一业务TA需要第二私钥对数据进行解密为例,第一业务TA通过传输接口中的私钥解密接口向密钥管理TA发送第二指令,第二指令携带第一数据、第一标识信息以及第一通行密钥;密钥管理TA从存储的密钥中获取第一标识信息关联的第三私钥,并采用第一通行密钥解密第三私钥得到第二私钥;密钥管理TA采用第二私钥对第一数据进行解密得到第二数据,并通过传输接口中私钥解密接口将第二数据发送给第一业务TA。
示例性地,所述私钥解密接口的输入变量包括第一标识信息和待解密的数据或者包括第一标识信息、第一通行密钥和待解密的数据。采用第一种方式时,即对数字证书和私钥进行加密存储,所述私钥解密接口的输入变量包括第一标识信息、第一通行密钥和待解密的数据(比如第一数据),采用第二种方式时,即存储的数字证书和私钥是未经加密的,所述私钥解密接口的输入变量包括第一标识信息和待解密的数据。所述私钥解密接口的输入变量还可以包括第一标识信息的长度、第一通行密钥的长度、或者待解密的数据长度。私钥解密接口的输出变量包括解密后的数据,还可以包括解密后的数据长度。
例如,以第一种方式为例,私钥解密接口可以采用如下方式定义:
int CDRM_Key_PrivateKey_Decrypt(unsigned int keyIndex,CDRM_KEY_Algorithm alg,unsigned char*pPasswd,int s32Passlen,unsigned char*pInputBuffer,int inLen,unsigned char*pOutPutBuffer,int*pBufferLen)。
int CDRM_Key_PrivateKey_Decrypt表示私钥解密接口的调用函数名,应当理解,可以认为通过调用该函数实现对私钥解密接口的使用;
keyIndex为输入参数,表示用于标识数字证书和私钥的标识信息,图7所示的实施例中表示第一标识信息;
alg为输入参数,表示采用私钥解密待解密的数据所采用的参数,例如可以为对称密钥算法,例如SM2-256或者RSA2048;
pPasswd为输入参数,表示在密钥管理TA中用于对数字证书和私钥加密的通行密钥;
s32Passlen为输入参数,表示Passwd的长度;
pInputBuffer为输入参数,表示待解密的数据;
len为输入参数,待解密的数据的长度;
pOutPutBuffer为输出参数,表示签名后的数据的地址;
pBufferLen为输出参数,表示签名后的数据的长度。
示例性地,私钥解密接口的函数调用成功,私钥签名接口的函数可以返回第四值,比如0,返回其它值时表示私钥解密接口的函数调用失败。
应当理解,上述各个传输接口的输入参数为在调用API时需要输入的参数,输出参数为调用结束后得到的参数。
作为一个举例,第一业务TA从密钥管理TA中需要基于第二私钥对数据进行解密或者签名,可以是在DRM客户端向DRM服务端请求播放数字化内容的情况下执行,DRM客户端向DRM服务端请求内容许可证,DRM服务端在接收到DRM客户端的请求后,将第一CEK及内容使用规则构成内容许可证发送给DRM客户端,第一CEK是使用第二私钥对第二CEK加密后得到的,DRM客户端的客户端应用接收到内容许可证后,需要对内容许可证中的CEK进行解密。在该情况客户端应用需要通过第一业务TA从密钥管理TA获取第二私钥对CEK进行解密。具体的,第一业务TA向密钥管理TA发送第二指令,第二指令携带第一CEK、第一标识信息以及第一通行密钥;密钥管理TA从存储的密钥中获取第一标识信息关联的第三私钥,并采用第一通行密钥解密第三私钥得到第二私钥;密钥管理TA采用第二私钥对第一CEK解密得到第二CEK,并将第二CEK发送给第一业务TA。从而第一业务TA接收到第二CEK后,传递给客户端应用,从而用于对来自DRM服务端的加密的数字化内容进行解密播放。
在一种可能的实施方式中,对第二数字证书加密采用的运输密钥和对第二私钥加密采用的运输密钥可以相同,也可以不同。例如,用于加密第二数字证书和第二私钥的运输密钥中包括第一运输密钥和第二运输密钥,第一数字证书为使用第一运输密钥对第二数字证书加密后的数字证书,第一私钥为使用第二运输密钥对第二私钥加密后的私钥;密钥管理TA在执行S702,具体是,采用第一运输密钥解密第一数字证书,得到第二数字证书,并采用第二运输密钥解密第一私钥,得到第二私钥。
需要说明的是,第二数字证书加密和第二私钥加密可以由密钥所有者通过安全实验室的服务器来实现。为了提高数字证书和私钥的安全性,用于加密第二数字证书和第二私钥的运输密钥可以是在经过加密后,再由密钥所有者传递给终端设备生产厂商的。运输密钥的加密可以由芯片厂商来实现,具体可以由部署于芯片厂商的安全实验室中的服务器使用层级加密技术(keyladder)执行。用于加密运输密钥的密钥为层级密钥。层级密钥可以由芯片厂商在终端设备的芯片出厂之前,配置于芯片中,比如配置于芯片的一次性可编程(one time programmable,OTP)存储器中。在该情况下,密钥管理TA采用运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥时,可以通过如下方式实现:密钥管理TA采用层级密钥对运输密钥进行解密;采用解密后的运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥。
在另一种可能的实施方式中,为了提高第一通行密钥的安全性,密钥管理TA接收到的第一通行密钥可以是经过加密的。密钥所有者在确定第一通行密钥后,对第一通行密钥进行加密,然后将加密后的第一通行密钥通知给终端设备生产厂商,从而由终端设备生产厂商平台将该加密后的第一通行密钥包含在DRM参数中通过离线烧写接口发送给密钥管理TA。第一通行密钥可以通过运输密钥进行加密,从而所述密钥管理TA采用所述第一通行密钥分别对所述第二数字证书和所述第二私钥进行加密之前,密钥管理TA采用所述运输密钥对加密后的第一通行密钥进行解密,然后采用解密得到的第一通行密钥分别对所述第二数字证书和所述第二私钥进行加密。
参见图8所示,为本申请实施例提供的另一种证书管理方法流程示意图,图8针对第二种方式进行说明。图8具体提供了一种数字证书和私钥的烧写流程,该烧写流程可以在终端设备生产厂商平台执行。
S801,密钥管理TA通过离线烧写接口获取DRM参数,DRM参数中包括第一数字证书、第一私钥、运输密钥以及第一标识信息;第一数字证书为使用运输密钥对第二数字证书加密后的数字证书,第一私钥为使用运输密钥对第二私钥加密后的私钥,第一数字证书用于验证部署有可信执行环境TEE的装置的合法性,第二私钥用于加解密数字化内容。
DRM参数中还包括如下至少一项:运输密钥的长度、第一标识信息的长度、第一私钥的长度、第一数字证书的长度、第一数字证书的数据地址、第一私钥的数据地址。
S802,密钥管理TA采用运输密钥分别解密第一数字证书和第一私钥得到第二数字证书和第二私钥。
S803,密钥管理TA关联存储第二数字证书、第二私钥以及第一标识信息,第一标识信息用于标识第二数字证书和第二私钥。
针对离线烧写接口、第一标识信息和运输密钥的详细说明参见图7对应的实施例中的描述,此处不加赘述。
一种示例中,以N个业务TA中的第一业务TA读取第二数字证书为例,所述第一业务TA获取第一信息,所述第一信息包括所述第一标识信息,所述第一业务TA通过传输接口从所述密钥管理TA中获取所述第一标识信息关联的所述第二数字证书。第一标识信息的获取方式参见图7对应的实施例中的描述,此处不加赘述。
另一种示例中,以第一业务TA读取第二私钥为例,所述第一业务TA向所述密钥管理TA发送第二指令,所述第二指令携带第一数据和所述第一标识信息;所述密钥管理TA从存储的密钥中获取所述第一标识信息关联的所述第二私钥,并采用所述第二私钥对所述第一数据进行签名或者解密得到第二数据;所述密钥管理TA将所述第二数据发送给所述第一业务TA。
参见图9所示,为本申请实施例提供的数字证书和私钥的在线烧写方法流程示意图。在线烧写可以用于对原有已烧写的数字证书和私钥的进行更新,或者烧写新的数字证书和私钥。新增的数字证书与原有已烧写的数字证书可以是在不同的根CA证书基础上派生出来的。在线烧写的数字证书和私钥可以适用于原有TEE中部署的N个业务TA。另外在原有的N个业务TA的基础上,还可以新增业务TA,该在线烧写的数字证书和私钥可以针对该新增业务TA进行烧写。如下以第二业务TA为例,第二业务TA可以是N个业务TA中的一个,也可以是新增加的业务TA。需要说明的是,新增加的业务TA在获得原有已烧写的数字证书和私钥所对应的标识信息和通行密钥的情况下,可以使用原有已烧写的数字证书和私钥进行与该新增加的业务TA对应的DRM服务端进行通信,当然通信前提是该新增加的业务TA已经获得DRM服务端的信任。
在REE中还可以部署各个业务TA所对应的业务接口,从而业务TA通过业务接口负责客户端应用相关的数据处理。业务接口可以作为在线写入数字证书和私钥的输入接口。
如图9所示,图9中以密钥管理TA存储数字证书和私钥时,以采用通行密钥对数字证书和私钥加密为例。在线烧写方法包括:
S901,第二业务TA接收待写入参数,待写入参数中包括第四数字证书、第四私钥和第三运输密钥,第四数字证书为使用第三运输密钥对第五数字证书加密后的数字证书,第四私钥为使用第三运输密钥对第五数字证书对应的第五私钥加密后的私钥。
S902,第二业务TA生成第二通行密钥。例如,可以随机产生第二通行密钥,或者通过预定义的产生规则产生第二通行密钥。
S903,第二业务TA通过传输接口向密钥管理TA申请第二标识信息。
S904,第二业务TA通过传输接口中在线分发烧写接口将第四数字证书、第四私钥、第二通行密钥、第三运输密钥以及第二标识信息发送给密钥管理TA。
S905,密钥管理TA采用第三运输密钥分别解密第四数字证书和第四私钥得到第五数字证书和第五私钥。
S906,所述密钥管理TA使用所述第二通行密钥分别对所述第五数字证书和所述第五私钥进行加密得到第六数字证书和第六私钥。
S907,密钥管理TA关联存储所述第六数字证书、所述第六私钥以及所述第二标识信息。
S908,第二业务TA存储第二标识信息和第二通行密钥。以便于后续使用数字证书和私钥时读取并使用。
作为一种示例,当密钥管理TA存储数字证书和私钥时,不采用通行密钥对数字证书和私钥加密时,上述S903和S905不再执行。在执行906时,密钥管理TA分配的第二标识信息用来标识第五数字证书和第五私钥,从而执行S907时,密钥管理TA关联存储所述第五数字证书、所述第五私钥以及所述第二标识信息。
示例性地,所述在线分发烧写接口的输入变量包括第四数字证书、所述第四私钥和所述第三运输密钥,或者包括所述第四数字证书、所述第四私钥和所述第三运输密钥和所述第二通行密钥。当密钥管理TA存储数字证书和私钥时,不采用通行密钥对数字证书和私钥加密时,所述在线分发烧写接口的输入变量包括第四数字证书、所述第四私钥和所述第三运输密钥;当密钥管理TA存储数字证书和私钥时,采用通行密钥对数字证书和私钥加密时,所述在线分发烧写接口的输入变量包括所述第四数字证书、所述第四私钥和所述第三运输密钥和所述第二通行密钥。
例如,当密钥管理TA存储数字证书和私钥时,采用通行密钥对数字证书和私钥加密为例,在线分发烧写接口可以采用如下方式定义:
int CDRM_Key_Insert_KeySlot(unsigned char*pTransportKey,ints32TransportKeyLen,int*keyIndex,unsigned char*pPasswd,int s32Passlen,unsignedchar*pPrivateKey,int s32privateKeyLen,unsigned char*pCert,int s32CertLen)。
int CDRM_Key_Insert_KeySlot标识在线分发烧写接口;
keyIndex表示申请的新的标识信息,如果输入小于0,则认为没有输入keyIndex,则生成新的keyIndex返回;如果输入大于0,尝试更新或插入,更新时校验用于加密数字证书和私钥的通行密钥password,如校验失败,则更新失败,不再验证password;输入0,返回失败。更新时password不能更新。
pTransportKey表示由芯片厂商协助加密后的运输密钥(TransportKey),即上述第三通行密钥;
s32TransportKeyLen表示TransportKey的长度;
pPasswd表示由业务TA生成的通行密钥passwd,即上述第二通行密钥;
s32Passlen表示passwd的长度;
pPrivateKey表示采用TransportKey加密后的私钥,即上述第四私钥;
s32privateKeyLen表示加密后的私钥的长度,即第四私钥的长度;
pCert表示采用TransportKey加密的数字证书,即上述第四数字证书;
s32CertLen表示加密后的数字证书的长度,即第四数字证书的长度。
例如,在线分发烧写接口的函数调用成功,在线分发烧写接口的函数可以返回第五值,比如0,返回其它值时表示在线分发烧写接口的函数调用失败。
示例性地,标识申请接口的输入变量为空,输出变量为申请到的标识信息,即所述第二标识信息。例如,标识申请接口可以采用如下方式定义:
int CDRM_Key_GetNewKeyIndex(unsigned int*pNewKeyIndex)。
pNewKeyIndex输出参数,生成的新的标识信息,即第二标识信息。标识申请接口的函数调用成功,标识申请接口的函数可以返回第六值,比如0,返回其它值时表示标识申请接口的函数调用失败。
下面结合场景对上述实施例进行具体说明。
需要说明的是,在运输密钥由芯片生产厂商进行加密的情况下,各参与方之间的关系发生了变化,参见图10所示。图10中描述的参与方的关系与图4中描述的参与方的关系之间的区别在于:密钥所有者将传输密钥提供给芯片厂商进行加密,并将加密后的传输密钥传输给密钥所有者。
图10中以第一种方式,即对数字证书和私钥进行加密存储为例进行说明。以DRM主管机构为CDTA为例。如下证书管理中的数字证书和私钥加密过程、离线烧写过程、读取证书和私钥的使用流程进行详细说明。
CDTA是DRM的根CA授权中心,用于派生终端设备的数字证书(即DRM客户端证书)及生成终端设备的私钥。然后CDTA将终端设备的数字证书和私钥安全的发送至密钥所有者的运行平台。由密钥所有者在安全实验室完成对数字证书和私钥的加密。CDTA将终端设备的数字证书和私钥安全的发送至密钥所有者的运行平台时,可以采用PGP加密邮件的方式或者线下通知的方式将数字证书和私钥发送给密钥所有者。图10中以PGP加密邮件的方式为例。密钥所有者在通过PGP加密邮件方式获取到数字证书和私钥后,采用PGP技术对数字证书进行解密。应理解的是,密钥所有者可以通过订单的方式从CDTA获取多个数字证书和多个数字证书对应的私钥,如下以一个数字证书和私钥为例进行说明。
示例1,密钥所有者在安全实验室完成数字证书1(DRM cert)和私钥1(Privatekey)的加密过程进行说明,参见图11所示。
图11中,运输密钥1(TransportKey)表示由密钥所有者指定,是用于加密数字证书1和私钥1的运输密钥。标识信息1(Keyindex)和通行密钥1(passwd)也可以由密钥所有者指定,keyindex是用于标识烧写至芯片的数字证书1和私钥1的标识信息,passwd用于对烧写至芯片的数字证书1(DRM cert)和私钥1(Private key)进行加密。
密钥所有者在安全实验室通过运行平台采用TransportKey对DRM cert、Private_key进行加密得到数字证书2和私钥2。图11中[DRM cert]表示数字证书2,[Private key]表示私钥2。
作为一种示例,为了保证passwd传输的安全性,也可以采用TransportKey对passwd进行加密得到通行密钥2(图11中采用[passwd]表示),图11中以对passwd加密为例。其中运行平台可以使用通用密码工具(比如SM4_Encrypt_Tool),采用TransportKey分别对DRM cert、Private key和passwd进行加密。SM4_Encrypt_Tool是通用算法加密工具,该通用加密工具使用通用的密码算法加密DRM cert、Private key或passwd。例如,通用的密码算法可以是电码本模式(electronic codebook book,ECB)、密码分组链接模式(cipherblock chaining,CBC)、计算器模式(counter,CTR)。Transport Key在传递给终端设备生产厂商之前,为了保证传输的安全性,可以由芯片厂商的安全实验室中的芯片厂商平台使用芯片OTP区域的层级密钥(比如,OEM_ROOTKEY)。如图11所示,芯片厂商平台使用该OEM_ROOTKEY加密TransportKey后获得[TransportKey]并发给密钥所有者。[TransportKey]表示加密后的TransportKey。芯片厂商再将[TransportKey]提供给密钥所有者,密钥所有者将[DRM cert]、[Private key]、[TransportKey]和[passwd]传递给终端设备生产厂商。从而终端设备生产厂商通过终端设备生产厂商平台获得[DRM cert]、[Private key]、[TransportKey]和[passwd]后,将数字证书和私钥烧写至终端设备的芯片中。
示例性地Keyindex也可以由终端设备生产厂商来指定,在该情况下,Keyindex无需传递给终端设备生产厂商。图11中,以Keyindex由密钥所有者传递给终端生产厂商为例。
示例2,终端设备生产厂商通过终端设备生产厂商平台将数字证书和私钥烧写至终端设备的芯片的过程进行说明,参见图10和图12所示。DRM_KEY_TA表示密钥管理TA,DRM_TA表示业务TA。图10中,以芯片中部署3个业务TA为例,分别为业务TA1(DRM TA1)、业务TA2(DRM TA2)DRM TA2和业务TA3(DRM TA3)。DRM_KEY_REE_API表示离线烧写接口。DRM_KEY_REE_API部署于REE中,DRM_KEY_REE_API用于将加密的参数写入到TEE侧的DRM_KEY_TA,DRM_KEY_REE_API接口不会对参数进行解密或者其他安全业务处理。
图12中,对采用TransportKey加密的Private key、DRM cert和采用passwd加密的Private key、DRM cert加以区分,[Private key]transportkey表示采用TransportKey加密后的Private key,即私钥2,[DRM cert]transportkey表示采用TransportKey加密后的DRM cert,即数字证书2。[Private key]passwd表示采用passwd加密后的Private key,即私钥3,[DRM cert]passwd表示采用passwd加密后的DRM cert,即数字证书3。
(1)DRM_KEY_REE_API响应于终端设备生产厂商平台传输的DRM参数,将DRM参数发送给DRM KEY TA。示例性的,DRM参数包括[Private key]transportkey的数据地址、[DRMcert]transportkey的数据地址、[passwd]和[TransporrKey]。图12中以采用对TransportKey加密为例。DRM参数中也可以不包括Keyindex,在该情况下,DRM_KEY_TA可以将Keyindex设置为默认值,例如,该默认值可以在终端设备厂商平台配置给DRM_KEY_TA。图12中,以在DRM参数中携带Keyindex为例。
(2)DRM_KEY_TA执行解密流程解密出明文的DRM cert、Private key、passwd和keyindex。具体的,DRM_KEY_TA采用层级密钥解密[TransportKey]得到TransportKey,并采用TransportKey分别解密[Private key]transportkey、[DRM cert]transportkey和[passwd]得到Private key、DRM cert和passwd。
(3)DRM_KEY_TA执行加密流程,采用passwd加密DRM cert和Private key得到[DRMcert]passwd和[Private key]passwd。
(4)DRM_KEY_TA将[DRM cert]passwd和[Private key]passwd和keyindex关联写入DRM_KEY_TA的安全存储区域1中。
经过终端设备生产厂商平台将数字证书和私钥烧写至终端设备的芯片后,终端设备的使用用户在使用客户端应用的过程中,如果需要使用DRM cert和Private key,客户端应用可以通过DRM TA从DRM_KEY_TA中读取DRM cert和Private key。DRM TA与DRM_KEY_TA之间部署有安全接口DRM_KEY_TEE_API,从而DRM TA通过DRM_KEY_TEE_API从DRM_KEY_TA中读取DRM cert和Private key。终端设备的REE中除了部署DRM_KEY_REE_API,还部署客户端应用,多个不同的客户端应用可以对应于一个DRM TA,也可以对应于不同的DRM TA,比如终端设备中,部署客户端应用1-5,客户端应用1对应于DRM TA1,客户端应用2和客户端应用3对应于DRMTA2,客户端应用4和客户端应用5对应于DRM TA3。在客户端应用运行过程中,客户端应用与客户端服务端之间交互数据的过程,可能需要使用数字证书或者私钥。比如,以视频播放为例,进行直播/点播视频流程中,建立DRM客户端与DRM服务端之间的信任,需要采用数字证书建立信任。DRM客户端与DRM服务端传递数据过程需要采用私钥签名或者解密。
示例3,以DRM TA读取数字证书的过程进行说明,参见图13所示。以DRM TA1通过DRM_KEY_TEE_API从DRM_KEY_TA中读取DRM cert为例。DRM TA1对应的安全存储区域2,比如安全存储区域2中存储有DRM cert对应passwd和keyindex。
DRM TA1从flash2中读取passwd和keyindex,DRM TA1通过DRM_KEY_TEE_API中的证书传输接口将passwd和keyindex发送给DRM_KEY_TA,DRM_KEY_TA从flash1中获取keyindex关联的[DRM cert]passwd,然后采用passwd解密[DRM cert]passwd得到DRMcert,然后将DRM cert通过所述证书传输接口发送给DRM TA1。
示例4,以私钥签名的过程进行说明,参见图14所示。DRM TA1接收到待签名的数据,比如发送给DRM服务端的数据,比如由客户端应用1产生的数据等。DRM TA1从安全存储区域2中读取passwd和keyindex,DRM TA1通过DRM_KEY_TEE_API中的私钥签名接口将passwd、keyindex和待签名的数据发送给DRM_KEY_TA,DRM_KEY_TA从flash1中获取keyindex关联的[Private key]passwd,然后采用从DRM TA1接收的passwd解密[Privatekey]passwd得到Private key,使用Private key对待签名的数据进行签名得到签名后的数据,并将签名后的数据发送DRM TA,从而由DRMTA传输给客户端应用1,客户端应用1发送给DRM服务端。
示例5,以私钥解密的过程进行说明,参见图15所示。DRM TA1接收到待解密的数据,比如客户端应用1接收到的来自DRM服务端的加密后数据。DRM TA1从安全存储区域2中读取passwd和keyindex,DRM TA1通过DRM_KEY_TEE_API中的私钥解密接口将passwd、keyindex和待解密的数据发送给DRM_KEY_TA,DRM_KEY_TA从安全存储区域1中获取keyindex关联的[Private key]passwd,然后采用passwd解密[Private key]passwd得到Private key,使用Private key对待解密的数据进行解密得到解密后的数据,并将解密后的数据发送DRM TA。比如,待解密数据可以是CEK。
示例6,以DRM TA3为例对在线烧写数字证书和私钥的流程进行说明,参见图16所示。
烧写的数字证书和私钥的加密方式同样是由密钥所有者在安全实验室完成加密。与离线烧写流程不同的是:密钥所有者向终端设备生产厂商提供采用运输密钥加密后的数字证书和私钥,以及运输密钥。运输密钥同样可以是由芯片厂商加密后得到的,或者是未经过加密的。示例6中以运输密钥-1(TransportKey-1)为例,且TransportKey-1不由芯片厂商加密。待写入数字证书为数字证书-1(DRM cert-1),待写入私钥为私钥-1(Private key-1)。采用TransportKey-1加密后的待写入数字证书为数字证书-2([DRM cert-1]transportkey-1),采用TransportKey-1加密后的待写入私钥为私钥-2([Private key-1]transportkey-1)。
(1)DRM TA3通过业务接口(DRM API)接收待写入参数,待写入参数携带[DRMcert-1]transportkey-1、[Private key-1]transportkey-1和TransportKey-1。
(2)DRM TA3生成用于对Private key-1和DRM cert-1加密保存的通行密钥-1(passwd-1)。
(3)DRM TA3通过DRM_KEY_TEE_API中的标识申请接口向DRM_KEY_TA申请一个标识信息,比如标识信息-1(keyindex-1)。即,由DRM_KEY_TA分配keyindex1。例如,DRM_KEY_TA可以由终端设备生产厂商配置多个标识信息。从而基于目前keyindex的使用情况分配一个未被使用的keyindex。
(4)DRM TA3将[DRM cert-1]transportkey-1、[Private key-1]transportkey-1和TransportKey-1、keyindex-1和passwd-1通过DRM_KEY_TEE_API中在线分发烧写接口发送给DRM_KEY_TA。
(5)DRM_KEY_TA采用TransportKey-1解密[DRM cert1]transportkey-1和[Private key-1]transportkey-1得到DRM cert-1和Private key-1。
(6)DRM_KEY_TA采用passwd-1加密DRM cert-1和Private key-1得到数字证书-1([DRM cert-1]passwd-1)和私钥-3([Private key-1]passwd-1)。
(7)DRM_KEY_TA将[DRM cert-1]passwd-1、[Private key-1]passwd-1以及keyindex-1关联存储于安全存储区域1中。
(8)DRM TA3将passwd-1和keyindex-1写入DRM TA3对应的安全存储区域4中,用于后续读取证书和使用私钥时使用。
图17为本申请实施例的另一种可能的证书管理装置的结构示意图。如图17所示,装置1700包括处理器1710和存储器1720。应当理解,当装置1700为芯片产品时,装置1700可以只包括处理器1710,存储器1720可以认为是装置1700之外的存储器芯片。图6中所涉及的离线烧写接口、密钥管理TA、传输接口以及各个业务TA的功能均可以由处理器1710来实现。该装置1700还可以包括通信接口1730,通信接口1730用于与终端设备生产厂商平台通信,接收来自终端设备生产厂商平台的DRM参数,或者离线烧写中的待写入参数等。在实现过程中,处理流程的各步骤可以通过处理器1710中的硬件的集成逻辑电路或软件形式的指令完成图7-图16中涉及的方法。本申请实施例中通信接口1730可以是电路、总线等可以用于进行信息交互的硬件接口。
本申请实施例中处理器1710可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或其他可编程逻辑器件、分立门或晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或用处理器中的硬件及软件单元组合执行完成。处理器1710用于实现上述方法所执行的程序代码可以存储在存储器1720中。存储器1720和处理器1710耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1710可能和存储器1720协同操作。存储器1730可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等。存储器1720是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1720还用于关联存储数字证书、私钥和标识信息,和关联存储标识信息和通行密钥。
本申请实施例中不限定上述通信接口1730、处理器1710以及存储器1720之间的具体连接介质。本申请实施例在图17中以通信接口1730、处理器1710以及存储器1720之间通过总线连接。总线在图17中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于同一发明构思,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序在某一计算机上执行时,将会使所述计算机实现上述任一证书管理方法实施例中所涉及的功能。
基于同一发明构思,本申请实施例提供了一种计算机程序,该计算机程序在某一计算机上执行时,将会使所述计算机实现上述任一证书管理方法实施例中所涉及的功能。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,用于存储程序、指令,这些程序、指令在计算机中被调用执行时,可以使得计算机执行上述任一证书管理方法实施例中所涉及的功能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (34)
1.一种证书管理方法,其特征在于,所述方法应用于部署有可信执行环境TEE的装置,所述装置中还部署有离线烧写接口,所述TEE中部署有密钥管理可信应用TA,所述方法包括:
所述密钥管理TA通过离线烧写接口获取数字版权管理DRM参数,所述DRM参数中包括第一数字证书的地址、第一私钥的地址以及运输密钥;所述第一数字证书为使用所述运输密钥对第二数字证书加密后的数字证书,所述第一私钥为使用所述运输密钥对第二私钥加密后的私钥,所述第二私钥用于签名发往DRM服务端的数据,或用于解密来自DRM服务端的数据;
所述密钥管理TA分别根据所述第一数字证书的地址和所述第一私钥的地址获取所述第一数字证书和所述第一私钥,并采用所述运输密钥分别解密所述第一数字证书和所述第一私钥得到所述第二数字证书和所述第二私钥;
所述密钥管理TA关联存储所述第二数字证书、所述第二私钥以及第一标识信息,所述第一标识信息用于标识所述第二数字证书和所述第二私钥。
2.如权利要求1所述的方法,其特征在于,所述DRM参数还包括第一通行密钥;
所述密钥管理TA关联存储所述第二数字证书、所述第二私钥以及所述第一标识信息,包括:
所述密钥管理TA采用所述第一通行密钥分别对所述第二数字证书和所述第二私钥进行加密,得到第三数字证书和第三私钥;
所述密钥管理TA关联存储所述第三数字证书、所述第三私钥以及所述第一标识信息,所述第一标识信息用于标识所述第三数字证书和所述第三私钥。
3.如权利要求1或2所述的方法,其特征在于,所述TEE中还部署有N个业务TA和传输接口,N为正整数;
第一业务TA获取第一信息,所述第一信息包括所述第一标识信息,所述第一业务TA为所述N个业务TA中的任一个;
所述第一业务TA通过所述传输接口从所述密钥管理TA中获取所述第一标识信息关联的所述第二数字证书。
4.如权利要求3所述的方法,其特征在于,若所述DRM参数还包括第一通行密钥,所述第一信息还包括所述第一通行密钥;
所述第一业务TA基于所述第一标识信息和所述第一通行密钥通过所述传输接口从所述密钥管理TA中获取所述第二数字证书。
5.如权利要求4所述的方法,其特征在于,所述第一业务TA基于所述第一标识信息和所述第一通行密钥通过所述传输接口从所述密钥管理TA中获取所述第二数字证书,包括:
所述第一业务TA通过所述传输接口向所述密钥管理TA发送第一指令,所述第一指令携带所述第一通行密钥和所述第一标识信息;
所述密钥管理TA从存储的数字证书中获取所述第一标识信息关联的第三数字证书;
所述密钥管理TA使用所述第一通行密钥解密所述第三数字证书得到所述第二数字证书,并将所述第二数字证书通过所述传输接口发送给所述第一业务TA。
6.如权利要求1至5任一项所述的方法,其特征在于,所述TEE中部署有第一业务TA,所述方法还包括:
所述第一业务TA向所述密钥管理TA发送第二指令,所述第二指令携带第一数据和所述第一标识信息;所述第一业务TA为所述N个业务TA中的任一个;
所述密钥管理TA从存储的密钥中获取所述第一标识信息关联的所述第二私钥,并采用所述第二私钥对所述第一数据进行签名或者解密得到第二数据;
所述密钥管理TA将所述第二数据发送给所述第一业务TA。
7.如权利要求6所述的方法,其特征在于,若所述DRM参数还包括第一通行密钥,所述第二指令还包括所述第一通行密钥;
所述采用所述第二私钥对所述第一数据进行签名或者解密得到第二数据,包括:
所述密钥管理TA从存储的密钥中获取所述第一标识信息关联的第三私钥,并采用所述第一通行密钥解密所述第三私钥得到所述第二私钥;
所述密钥管理TA采用所述第二私钥对所述第一数据进行签名或者解密得到所述第二数据,并将所述第二数据发送给所述第一业务TA。
8.如权利要求1-7中任一项所述的方法,其特征在于,所述DRM参数中还包括如下至少一项:
所述运输密钥的长度、所述第一标识信息的长度、所述第一私钥的长度、所述第一数字证书的长度。
9.如权利要求2、4、5、7中任一项所述的方法,其特征在于,所述DRM参数中还包括所述第一通行密钥的长度。
10.如权利要求1-9中任一项所述的方法,其特征在于,所述离线烧写接口为函数调用接口,所述离线烧写接口的输入变量包括所述DRM参数中的任一项参数。
11.如权利要求3-5中任一项所述的方法,其特征在于,所述传输接口为函数调用接口,所述传输接口包括如下至少一个:标识申请接口、证书读取接口、私钥签名接口、私钥解密接口或在线烧写接口;
其中,所述标识申请接口的输入变量为空;
所述证书读取接口的输入变量包括所述第一标识信息或者包括所述第一标识信息和第一通行密钥;
所述私钥签名接口的输入变量包括所述第一标识信息和待签名的数据或者包括所述第一标识信息、所述第一通行密钥和待签名的数据;
所述私钥解密接口的输入变量包括所述第一标识信息和待解密的数据或者包括所述第一标识信息、所述第一通行密钥和待解密的数据;
所述在线烧写接口的输入变量包括经过加密的待写入数字证书、经过加密的待写入私钥和加密所述待写入数字证书和所述待写入私钥所使用的运输密钥。
12.如权利要求10或11所述的方法,其特征在于,所述函数调用接口为应用程序编程接口API。
13.如权利要求1-12中任一项所述的方法,其特征在于,所述运输密钥包括第一运输密钥和第二运输密钥,所述第一数字证书为使用所述第一运输密钥对所述第二数字证书加密后的数字证书,所述第一私钥为使用所述第二运输密钥对所述第二私钥加密后的私钥;
所述密钥管理TA采用所述运输密钥分别解密所述第一数字证书和所述第一私钥得到所述第二数字证书和所述第二私钥,包括:
所述密钥管理TA采用所述第一运输密钥解密所述第一数字证书,得到所述第二数字证书,并采用所述第二运输密钥解密所述第一私钥,得到所述第二私钥。
14.如权利要求1-13中任一项所述的方法,其特征在于,所述运输密钥为使用层级密钥加密后的密钥;
所述密钥管理TA采用所述运输密钥分别解密所述第一数字证书和所述第一私钥得到所述第二数字证书和所述第二私钥,包括:
所述密钥管理TA采用所述层级密钥对所述运输密钥进行解密;
采用解密后的运输密钥分别解密所述第一数字证书和所述第一私钥得到所述第二数字证书和所述第二私钥。
15.如权利要求1-14任一项所述的方法,其特征在于,所述TEE部署有第二业务TA,部署有可信执行环境TEE的装置中部署有传输接口,所述方法还包括:
所述第二业务TA接收待写入参数,所述待写入参数包括第四数字证书、第四私钥和第三运输密钥,所述第四数字证书为使用所述第三运输密钥对第五数字证书加密后的数字证书,所述第四私钥为使用所述第三运输密钥对所述第五数字证书对应的第五私钥加密后的私钥;
所述第二业务TA通过所述传输接口向所述密钥管理TA申请第二标识信息;
所述第二业务TA将所述第四数字证书、所述第四私钥、所述第三运输秘钥和所述第二标识信息发送给所述密钥管理TA;
所述密钥管理TA采用所述第三运输密钥分别解密所述第四数字证书和所述第四私钥得到所述第五数字证书和所述第五私钥;
所述密钥管理TA关联存储所述第五数字证书、所述第五私钥以及所述第二标识信息;
所述第二业务TA存储所述第二标识信息。
16.如权利要求15所述的方法,其特征在于,还包括:
所述第二业务TA生成第二通行密钥,并存储所述第二通行密钥;
所述第二业务TA将所述第二通行密钥发送给所述密钥管理TA;
所述密钥管理TA关联存储所述第五数字证书、所述第五私钥以及所述第二标识信息,包括:
所述密钥管理TA使用所述第二通行密钥分别对所述第五数字证书和所述第五私钥进行加密得到第六数字证书和第六私钥,并关联存储所述第六数字证书、所述第六私钥以及所述第二标识信息。
17.一种证书管理装置,其特征在于,所述装置部署有可信执行环境TEE,所述装置中还部署有离线烧写接口,所述TEE中部署有密钥管理可信应用TA,其中,
所述密钥管理TA,用于通过离线烧写接口获取数字版权管理DRM参数,所述DRM参数中包括第一数字证书的地址、第一私钥的地址以及运输密钥;所述第一数字证书为使用所述运输密钥对第二数字证书加密后的数字证书,所述第一私钥为使用所述运输密钥对第二私钥加密后的私钥,所述第二私钥用于签名发往DRM服务端的数据,或用于解密来自DRM服务端的数据;
所述密钥管理TA,还用于分别根据所述第一数字证书的地址和所述第一私钥的地址获取所述第一数字证书和所述第一私钥,并采用所述运输密钥分别解密所述第一数字证书和所述第一私钥得到所述第二数字证书和所述第二私钥;关联存储所述第二数字证书、所述第二私钥以及第一标识信息,所述第一标识信息用于标识所述第二数字证书和所述第二私钥。
18.如权利要求17所述的装置,其特征在于,所述DRM参数还包括第一通行密钥;
所述密钥管理TA,具体用于采用所述第一通行密钥分别对所述第二数字证书和所述第二私钥进行加密,得到第三数字证书和第三私钥;关联存储所述第三数字证书、所述第三私钥以及所述第一标识信息,所述第一标识信息用于标识所述第三数字证书和所述第三私钥。
19.如权利要求17或18所述的装置,其特征在于,所述TEE中还部署有N个业务TA和传输接口,N为正整数;
第一业务TA,用于获取第一信息,所述第一信息包括所述第一标识信息,所述第一业务TA为所述N个业务TA中的任一个;通过所述传输接口从所述密钥管理TA中获取所述第一标识信息关联的所述第二数字证书。
20.如权利要求19所述的装置,其特征在于,若所述DRM参数还包括第一通行密钥,所述第一信息还包括所述第一通行密钥;
所述第一业务TA,还用于基于所述第一标识信息和所述第一通行密钥通过所述传输接口从所述密钥管理TA中获取所述第二数字证书。
21.如权利要求20所述的装置,其特征在于,所述第一业务TA,具体用于通过所述传输接口向所述密钥管理TA发送第一指令,所述第一指令携带所述第一通行密钥和所述第一标识信息;
所述密钥管理TA,还用于从存储的数字证书中获取所述第一标识信息关联的第三数字证书;使用所述第一通行密钥解密所述第三数字证书得到所述第二数字证书,并将所述第二数字证书通过所述传输接口发送给所述第一业务TA。
22.如权利要求17至21任一项所述的装置,其特征在于,所述TEE中部署有第一业务TA,所述第一业务TA,还用于向所述密钥管理TA发送第二指令,所述第二指令携带第一数据和所述第一标识信息;所述第一业务TA为所述N个业务TA中的任一个;
所述密钥管理TA,还用于从存储的密钥中获取所述第一标识信息关联的所述第二私钥,并采用所述第二私钥对所述第一数据进行签名或者解密得到第二数据;
所述密钥管理TA,还用于将所述第二数据发送给所述第一业务TA。
23.如权利要求22所述的装置,其特征在于,若所述DRM参数还包括第一通行密钥,所述第二指令还包括所述第一通行密钥;
所述密钥管理TA,具体用于从存储的密钥中获取所述第一标识信息关联的第三私钥,并采用所述第一通行密钥解密所述第三私钥得到所述第二私钥;采用所述第二私钥对所述第一数据进行签名或者解密得到所述第二数据,并将所述第二数据发送给所述第一业务TA。
24.如权利要求17-23中任一项所述的装置,其特征在于,所述DRM参数中还包括如下至少一项:
所述运输密钥的长度、所述第一标识信息的长度、所述第一私钥的长度、所述第一数字证书的长度。
25.如权利要求18、20、21、23中任一项所述的装置,其特征在于,所述DRM参数中还包括所述第一通行密钥的长度。
26.如权利要求18-25中任一项所述的装置,其特征在于,所述离线烧写接口为函数调用接口,所述离线烧写接口的输入变量包括所述DRM参数中的任一项参数。
27.如权利要求19-21中任一项所述的装置,其特征在于,所述传输接口为函数调用接口,所述传输接口包括如下至少一个:标识申请接口、证书读写接口、私钥签名接口、私钥解密接口或在线烧写接口;
其中,所述标识申请接口的输入变量为空;
所述证书读写接口的输入变量包括所述第一标识信息或者包括所述第一标识信息和第一通行密钥;
所述私钥签名接口的输入变量包括所述第一标识信息和待签名的数据或者包括所述第一标识信息、所述第一通行密钥和待签名的数据;
所述私钥解密接口的输入变量包括所述第一标识信息和待解密的数据或者包括所述第一标识信息、所述第一通行密钥和待解密的数据;
所述在线烧写接口的输入变量包括经过加密的待写入数字证书、经过加密的待写入私钥和加密所述待写入数字证书和所述待写入私钥所使用的运输密钥。
28.如权利要求26或27所述的装置,其特征在于,所述函数调用接口为应用程序编程接口API。
29.如权利要求17-28中任一项所述的装置,其特征在于,所述运输密钥包括第一运输密钥和第二运输密钥,所述第一数字证书为使用所述第一运输密钥对所述第二数字证书加密后的数字证书,所述第一私钥为使用所述第二运输密钥对所述第二私钥加密后的私钥;
所述密钥管理TA,具体用于采用所述第一运输密钥解密所述第一数字证书,得到所述第二数字证书,并采用所述第二运输密钥解密所述第一私钥,得到所述第二私钥。
30.如权利要求17-29中任一项所述的装置,其特征在于,所述运输密钥为使用层级密钥加密后的密钥;
所述密钥管理TA,具体用于采用所述层级密钥对所述运输密钥进行解密;采用解密后的运输密钥分别解密所述第一数字证书和所述第一私钥得到所述第二数字证书和所述第二私钥。
31.如权利要求17-30任一项所述的装置,其特征在于,所述TEE部署有第二业务TA,部署有可信执行环境TEE的装置中部署有传输接口;
所述第二业务TA,用于接收待写入参数,所述待写入参数包括第四数字证书、第四私钥和第三运输密钥,所述第四数字证书为使用所述第三运输密钥对第五数字证书加密后的数字证书,所述第四私钥为使用所述第三运输密钥对所述第五数字证书对应的第五私钥加密后的私钥;
所述第二业务TA,还用于通过所述传输接口向所述密钥管理TA申请第二标识信息;所述密钥管理TA,用于为第二业务TA分配第二标识信息,并通过所述传输接口发送给所述第二业务TA;
所述第二业务TA,还用于将所述第四数字证书、所述第四私钥、所述第三运输秘钥和所述第二标识信息发送给所述密钥管理TA;
所述密钥管理TA,还用于采用所述第三运输密钥分别解密所述第四数字证书和所述第四私钥得到所述第五数字证书和所述第五私钥;关联存储所述第五数字证书、所述第五私钥以及所述第二标识信息;
所述第二业务TA,还用于存储所述第二标识信息。
32.如权利要求31所述的装置,其特征在于:
所述第二业务TA,还用于生成第二通行密钥,并存储所述第二通行密钥;将所述第二通行密钥发送给所述密钥管理TA;
所述密钥管理TA,具体用于使用所述第二通行密钥分别对所述第五数字证书和所述第五私钥进行加密得到第六数字证书和第六私钥,并关联存储所述第六数字证书、所述第六私钥以及所述第二标识信息。
33.一种证书管理装置,其特征在于,所述装置包括处理器,所述处理器中部署有可信执行环境TEE和离线烧写接口,所述TEE中部署有密钥管理可信应用TA;
所述处理器,用于调用存储在存储器中的软件指令,以执行如权利要求1至16任一项所述的方法。
34.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1至16任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/101450 WO2021031087A1 (zh) | 2019-08-19 | 2019-08-19 | 一种证书管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114223176A CN114223176A (zh) | 2022-03-22 |
CN114223176B true CN114223176B (zh) | 2024-04-12 |
Family
ID=74659760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980099456.9A Active CN114223176B (zh) | 2019-08-19 | 2019-08-19 | 一种证书管理方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4016921A4 (zh) |
CN (1) | CN114223176B (zh) |
WO (1) | WO2021031087A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301597B (zh) * | 2021-12-13 | 2024-02-09 | 零信技术(深圳)有限公司 | 密钥验证方法、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007073623A1 (fr) * | 2005-12-29 | 2007-07-05 | Zte Corporation | Procede de telechargement d'une certification et d'une cle numeriques |
CN106033503A (zh) * | 2015-03-19 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 在数字内容设备中在线写入应用密钥的方法、装置及系统 |
CN106851351A (zh) * | 2015-12-03 | 2017-06-13 | 国家新闻出版广电总局广播科学研究院 | 一种支持数字版权管理(drm)的媒体网关/终端实现方法及其设备 |
CN107743067A (zh) * | 2017-11-30 | 2018-02-27 | 美的智慧家居科技有限公司 | 数字证书的颁发方法、系统、终端以及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9184917B2 (en) * | 2011-05-27 | 2015-11-10 | Google Technology Holdings LLC | Method and system for registering a DRM client |
US9722775B2 (en) * | 2015-02-27 | 2017-08-01 | Verizon Patent And Licensing Inc. | Network services via trusted execution environment |
-
2019
- 2019-08-19 WO PCT/CN2019/101450 patent/WO2021031087A1/zh unknown
- 2019-08-19 EP EP19942074.6A patent/EP4016921A4/en active Pending
- 2019-08-19 CN CN201980099456.9A patent/CN114223176B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007073623A1 (fr) * | 2005-12-29 | 2007-07-05 | Zte Corporation | Procede de telechargement d'une certification et d'une cle numeriques |
CN106033503A (zh) * | 2015-03-19 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 在数字内容设备中在线写入应用密钥的方法、装置及系统 |
CN106851351A (zh) * | 2015-12-03 | 2017-06-13 | 国家新闻出版广电总局广播科学研究院 | 一种支持数字版权管理(drm)的媒体网关/终端实现方法及其设备 |
CN107743067A (zh) * | 2017-11-30 | 2018-02-27 | 美的智慧家居科技有限公司 | 数字证书的颁发方法、系统、终端以及存储介质 |
Non-Patent Citations (1)
Title |
---|
Security Architecture developed by 5G-ENSURE project;Ericsson等;《3GPP TSG SA WG3 (Security) Meeting #88 S3-171907》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021031087A1 (zh) | 2021-02-25 |
CN114223176A (zh) | 2022-03-22 |
EP4016921A4 (en) | 2022-08-24 |
EP4016921A1 (en) | 2022-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784491B (zh) | 一种物联网安全管理系统 | |
US9281949B2 (en) | Device using secure processing zone to establish trust for digital rights management | |
US7975312B2 (en) | Token passing technique for media playback devices | |
EP2954448B1 (en) | Provisioning sensitive data into third party network-enabled devices | |
US9282106B2 (en) | Authenticated communication between security devices | |
KR101530809B1 (ko) | 멀티-테넌트 서비스 제공자에 의한 동적 플랫폼 재구성 | |
US9721071B2 (en) | Binding of cryptographic content using unique device characteristics with server heuristics | |
CN109639427B (zh) | 一种数据发送的方法及设备 | |
CN106464485A (zh) | 用于保护在清单文件中输送的内容密钥的系统和方法 | |
EP2095288B1 (en) | Method for the secure storing of program state data in an electronic device | |
US8538890B2 (en) | Encrypting a unique cryptographic entity | |
CN103546289A (zh) | 一种基于USBKey的安全传输数据的方法及系统 | |
US20130173912A1 (en) | Digital right management method, apparatus, and system | |
US20130174282A1 (en) | Digital right management method, apparatus, and system | |
CN110598429B (zh) | 数据加密存储和读取的方法、终端设备及存储介质 | |
CN114223176B (zh) | 一种证书管理方法及装置 | |
US8755521B2 (en) | Security method and system for media playback devices | |
JP2004347636A (ja) | チケット処理システムおよびその方法 | |
Win et al. | Secure interoperable digital content distribution mechanisms in a multi-domain architecture | |
US20230376574A1 (en) | Information processing device and method, and information processing system | |
US8095793B1 (en) | Digital rights management apparatus and method | |
US9729333B2 (en) | Revocation of a root certificate stored in a device | |
CN117910057A (zh) | 可信执行环境的运行方法、计算机架构系统、加密硬盘 | |
CN117318954A (zh) | 一种设备证书生成方法、数字化内容呈现方法及相关设备 | |
TW201314491A (zh) | 資訊儲存裝置,資訊處理裝置,資訊處理系統,資訊處理方法,以及程式 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |