IP Library Granted Patent US 11,038,699
Granted Patent B2
US 11,038,699 · App. 16/813,524 · Granted Jun 15, 2021

Method and apparatus for performing multi-party secure computing based-on issuing certificate

Inventors: Chaofan Yu (Hangzhou, CN); Lei Wang (Hangzhou, CN); Aihui Zhou (Hangzhou, CN); Ning Zhang (Hangzhou, CN); Hongliang Tian (Hangzhou, CN); Junxian Xiao (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L9/3265H04L9/0838H04L9/3236H04L9/3247H04L63/0823H04L63/166
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,038,699
App. No.
16/813,524
Granted
Jun 15, 2021
Kind
B2
Abstract

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for providing certifications. One of the methods includes: receiving, from a computing unit, a certificate request, wherein the computing unit comprises at least one processor and a memory communicably coupled to the at least one processor, wherein the memory stores programming instructions associated with a computing task executable by the at least one processor, and wherein the certificate request comprises a group of identifiers of a group of computing tasks and authentication information that comprises a hash value of the programming instructions; authenticating the computing unit based on the authentication information; in response to the computing unit is authenticated, determining, based on the hash value, that a computing task is included in the group of computing tasks; obtaining a certificate chain and a private key pre-generated for the group of identifiers; and sending a certificate report to the computing unit.

Claims (83)

1. A computer-implemented method for authentication, comprising:

receiving, from a first trusted computing unit included in a plurality of trusted computing units performing a distributed computing process, a certificate request, wherein the certificate request comprises a group identifier of a group of computing tasks to be performed by the plurality of trusted computing units during the distributed computing process, authentication information, and a hash value of programming instructions associated with a first computing task of the group of computing tasks;

authenticating the first trusted computing unit based on the authentication information;

in response to authenticating the first trusted computing unit determining, based on the hash value, that that the first computing task is included in the group of computing tasks;

obtaining a certificate chain and a private key, wherein the private key is pre-generated for the group of computing tasks, wherein the certificate chain comprises a root certificate and a corresponding public key certificate, and wherein the corresponding public key certificate and the private key form a certificate pair,

wherein the corresponding public key certificate comprises a first public key generated for the group of computing tasks and a first signature of a trusted certificate generator, and wherein the first public key and the private key form an asymmetric key pair; and

sending a certificate report to the first trusted computing unit, wherein the certificate report comprises the root certificate and the certificate pair.

2. The computer-implemented method of claim 1 , wherein the certificate report enables the first trusted computing unit to:

serve as a transport layer security (TLS) server for providing computing services to itself;

serve as a TLS client for external computing tasks;

set the certificate pair as a TLS server issued certificate pair; and

set the root certificate as a TLS client trusted root certificate.

3. The computer-implemented method of claim 1 , wherein the authentication information comprises an authentication report signed by a third-party certification authority, and wherein authenticating the first trusted computing unit is performed by verifying a signature included in the authentication report.

4. The computer-implemented method of claim 1 , wherein the authentication information comprises a report generated by the first trusted computing unit, wherein the report comprises the hash value and a digital signature of the first trusted computing unit, and wherein authenticating the first trusted computing unit comprises:

sending the report to a third-party certification authority;

receiving an authentication report signed by the third-party certification authority; and

determining that the first trusted computing unit is authenticated based on the authenticated report signed by the third-party certification authority.

5. The computer-implemented method of claim 1 , further comprising:

before receiving the certificate request, receiving a generation command from a configuration management device, wherein the generation command comprises the group identifier and a plurality of hash values of programming instructions corresponding to respective computing tasks of the group of computing tasks; and

generating the certificate chain and the private key.

6. The computer-implemented method of claim 1 , wherein determining that the first computing task is included in the group of computing tasks comprises:

obtaining a plurality of hash values of programming instructions corresponding to respective computing tasks of the group of computing tasks; and

determining that the hash value is included in the plurality of hash values.

7. The computer-implemented method of claim 1 , wherein the root certificate comprises a second public key generated for the group of computing tasks and a second signature of the trusted certificate generator, and wherein the second public key verifies the first signature and the second signature.

8. The computer-implemented method of claim 1 , wherein the root certificate comprises the first public key and a second signature of the trusted certificate generator, and wherein the first public key verifies the first signature and the second signature.

9. The computer-implemented method of claim 1 , further comprising:

before receiving the certificate request, performing key negotiation with the first trusted computing unit to generate additional encryption keys for establishing a trusted communication channel.

10. A computer-implemented system for authentication, comprising

one or more computers, and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, cause the one or more computers to perform one or more operations comprising:

receiving, from a first trusted computing unit included in a plurality of trusted computing units performing a distributed computing process, a certificate request, wherein the certificate request comprises a group identifier of a group of computing tasks to be performed by the plurality of trusted computing units during the distributed computing process, authentication information, and a hash value of programming instructions associated with a first computing task of the group of computing tasks;

authenticating the first trusted computing unit based on the authentication information;

in response to authenticating the first trusted computing unit determining, based on the hash value, that that the first computing task is included in the group of computing tasks;

obtaining a certificate chain and a private key, wherein the private key is pre-generated for the group of computing tasks, wherein the certificate chain comprises a root certificate and a corresponding public key certificate, and wherein the corresponding public key certificate and the private key form a certificate pair,

wherein the corresponding public key certificate comprises a first public key generated for the group of computing tasks and a first signature of a trusted certificate generator, and wherein the first public key and the private key form an asymmetric key pair; and

sending a certificate report to the first trusted computing unit, wherein the certificate report comprises the root certificate and the certificate pair.

11. The computer-implemented system of claim 10 , wherein the certificate report enables the first trusted computing unit to:

serve as a transport layer security (TLS) server for providing computing services to itself;

serve as a TLS client for external computing tasks;

set the certificate pair as a TLS server issued certificate pair; and

set the root certificate as a TLS client trusted root certificate.

12. The computer-implemented system of claim 10 , wherein the authentication information comprises an authentication report signed by a third-party certification authority, and wherein authenticating the first trusted computing unit is performed by verifying a signature included in the authentication report.

13. The computer-implemented system of claim 10 , wherein the authentication information comprises a report generated by the first trusted computing unit, wherein the report comprises the hash value and a digital signature of the first trusted computing unit, and wherein authenticating the first trusted computing unit comprises:

sending the report to a third-party certification authority;

receiving an authentication report signed by the third-party certification authority; and

determining that the first trusted computing unit is authenticated based on the authenticated report signed by the third-party certification authority.

14. The computer-implemented system of claim 10 , the operations further comprising:

before receiving the certificate request, receiving a generation command from a configuration management device, wherein the generation command comprises the group identifier and a plurality of hash values of programming instructions corresponding to respective computing tasks of the group of computing tasks; and

generating the certificate chain and the private key.

15. The computer-implemented system of claim 10 , wherein determining that the first computing task is included in the group of computing tasks comprises:

obtaining a plurality of hash values of programming instructions corresponding to respective computing tasks of the group of computing tasks; and

determining that the hash value is included in the plurality of hash values.

16. The computer-implemented system of claim 10 , wherein the root certificate comprises a second public key generated for the group of computing tasks and a second signature of the trusted certificate generator, and wherein the second public key verifies the first signature and the second signature.

17. The computer-implemented system of claim 10 , wherein the root certificate comprises the first public key and a second signature of the trusted certificate generator, and wherein the first public key verifies the first signature and the second signature.

18. The computer-implemented system of claim 10 , the operations further comprising:

before receiving the certificate request, performing key negotiation with the first trusted computing unit to generate additional encryption keys for establishing a trusted communication channel.

19. A non-transitory, computer-readable medium storing one or more instructions that, when executed by a computer-implemented authentication system, cause the computer-implemented authentication system to perform one or more operations for authentication, the operations comprising:

receiving, from a first trusted computing unit included in a plurality of trusted computing units performing a distributed computing process, a certificate request, wherein the certificate request comprises a group identifier of a group of computing tasks to be performed by the plurality of trusted computing units during the distributed computing process, authentication information, and a hash value of programming instructions associated with a first computing task of the group of computing tasks;

authenticating the first trusted computing unit based on the authentication information;

in response to authenticating the first trusted computing unit, determining, based on the hash value, that that the first computing task is included in the group of computing tasks;

obtaining a certificate chain and a private key, wherein the private key is pre-generated for the group of computing tasks, wherein the certificate chain comprises a root certificate and a corresponding public key certificate, and wherein the corresponding public key certificate and the private key form a certificate pair,

wherein the corresponding public key certificate comprises a first public key generated for the group of computing tasks and a first signature of a trusted certificate generator, and wherein the first public key and the private key form an asymmetric key pair; and

sending a certificate report to the first trusted computing unit, wherein the certificate report comprises the root certificate and the certificate pair.

20. The non-transitory, computer-readable medium of claim 19 , wherein the certificate report enables the first trusted computing unit to:

serve as a transport layer security (TLS) server for providing computing services to itself;

serve as a TLS client for external computing tasks;

set the certificate pair as a TLS server issued certificate pair; and

set the root certificate as a TLS client trusted root certificate.

21. The non-transitory, computer-readable medium of claim 19 , wherein the authentication information comprises an authentication report signed by a third-party certification authority, and wherein authenticating the first trusted computing unit is performed by verifying a signature included in the authentication report.

22. The non-transitory, computer-readable medium of claim 19 , wherein the authentication information comprises a report generated by the first trusted computing unit, wherein the report comprises the hash value and a digital signature of the first trusted computing unit, and wherein authenticating the first trusted computing unit comprises:

sending the report to a third-party certification authority;

receiving an authentication report signed by the third-party certification authority; and

determining that the first trusted computing unit is authenticated based on the authenticated report signed by the third-party certification authority.

23. The non-transitory, computer-readable medium of claim 19 , the operations further comprising:

before receiving the certificate request, receiving a generation command from a configuration management device, wherein the generation command comprises the group identifier and a plurality of hash values of programming instructions corresponding to respective computing tasks of the group of computing tasks; and

generating the certificate chain and the private key.

24. The non-transitory, computer-readable medium of claim 19 , wherein determining that the first computing task is included in the group of computing tasks comprises:

obtaining a plurality of hash values of programming instructions corresponding to respective computing tasks of the group of computing tasks; and

determining that the hash value is included in the plurality of hash values.

25. The non-transitory, computer-readable medium of claim 19 , wherein the root certificate comprises a second public key generated for the group of computing tasks and a second signature of the trusted certificate generator, and wherein the second public key verifies the first signature and the second signature.

26. The non-transitory, computer-readable medium of claim 19 , wherein the root certificate comprises the first public key and a second signature of the trusted certificate generator, and wherein the first public key verifies the first signature and the second signature.

27. The non-transitory, computer-readable medium of claim 19 , the operations further comprising:

before receiving the certificate request, performing key negotiation with the first trusted computing unit to generate additional encryption keys for establishing a trusted communication channel.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2020
From: YU, CHAOFAN; WANG, LEI; ZHOU, AIHUI; ZHANG, NING; TIAN, HONGLIANG; XIAO, JUNXIAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052334/0743 →
Priority Claims (1)
CN 201910808822.5 · Aug 29, 2019 · national
Continuity (2)
Continuation PCTCN2020072112 · Jan 15, 2020
Related Publication 20210067347A1 · Mar 4, 2021