IP Library › Granted Patent US 11,968,206
Granted Patent B2
US 11,968,206 · App. 18/468,531 · Granted Apr 23, 2024

Non-custodial tool for building decentralized computer applications

Inventors: Fei-Yang Jen (San Francisco, CA); Yi Wei Chen (San Francisco, CA); Jaemin Jin (San Francisco, CA); Hanyu Xue (San Francisco, CA); Wentao Liu (San Francisco, CA); Shang Li (San Francisco, CA)
Assignee: Magic Labs, Inc.
H04L63/083G06F21/45H04L9/14H04L63/0478
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,968,206
App. No.
18/468,531
Granted
Apr 23, 2024
Kind
B2
Abstract

A mechanism for building decentralized computer applications that execute on a distributed computing system. The present technology works within a web browser, client application, or other software and provides access to decentralized computer applications through the browser. The present technology is non-custodial, wherein a public-private key pair, which represents user identity, is created on a client machine and then directly encrypted by a third-party platform without relying on one centralized computing system.

Claims (41)

1. A non-transitory computer readable medium, readable by at least one processor and comprising instructions stored thereon that when executed causes the at least one processor to:

cause a client to send to an authentication service a sign-up request for setting up a user account associated with a decentralized application;

cause the client to receive a message that includes an access token corresponding to the sign-up request;

cause the client to generate at least a portion of a private key in a computing environment that is inaccessible by the decentralized application;

cause the client to send, bypassing the authentication service, the access token to a third-party service to access a remote security resource for encrypting the at least a portion of the private key; and

cause the client to send, bypassing the authentication service, the at least a portion of the private key to the remote security resource for encryption.

2. The non-transitory computer readable medium of claim 1 , wherein the instructions, when executed, further cause the at least one processor to cause the client to upload an encrypted version of the at least a portion of the private key to the authentication service.

3. The non-transitory computer readable medium of claim 1 , wherein the remote security resource is configured to encrypt the at least a portion of the private key with an unexportable master key.

4. The non-transitory computer readable medium of claim 1 , wherein the instructions to cause the client to generate the at least a portion of the private key comprises instructions, when executed, further cause the at least one processor to cause the client to generate a public key associated with the at least a portion of a private key.

5. The non-transitory computer readable medium of claim 4 , wherein the instructions to cause the client to generate the public key and the at least a portion of the private key comprises instructions, when executed, further cause the at least one processor to generate the public key and the at least a portion of the private key with a cryptographic pseudo random number generator.

6. The non-transitory computer readable medium of claim 1 , wherein the instructions, when executed, further cause the at least one processor to cause the client to receive an encrypted version of the at least a portion of the private key within the computing environment.

7. The non-transitory computer readable medium of claim 1 , wherein the instructions, when executed, further cause the at least one processor to:

cause the client to receive from the third-party service scoped credentials corresponding to the access token and the remote security resource; and

cause the client to send the scoped credentials to access the remote security resource.

8. The non-transitory computer readable medium of claim 1 , wherein the remote security resource is a hardware security module.

9. The non-transitory computer readable medium of claim 1 , wherein the instructions, when executed, further cause the at least one processor to cause the client to receive, based on a decryption request, a decrypted version of the at least a portion of the private key from the remote security resource in the computing environment.

10. The non-transitory computer readable medium of claim 9 , wherein the instructions, when executed, further cause the at least one processor to cause the client to purge the decrypted version of the at least a portion of the private key from memory of the client.

11. The non-transitory computer readable medium of claim 1 , wherein the computing environment is an iframe within a web browser.

12. A non-transitory computer readable medium, readable by a user device and comprising instructions stored thereon that are readable by a user device and configure the user device to:

receive from an authentication system an access token in response to a sign-up request for setting up a user account of a decentralized application;

generate at least a portion of a private key in an iframe of the user device that is isolated from the decentralized application;

send the access token to a non-custodial key management system for accessing a hardware security module that is configured to encrypt the at least a portion of the private key using an unexportable master key; and

send, without exposing the at least a portion of the private key to the authentication system, the at least a portion of the private key to the hardware security module for encryption.

13. The non-transitory computer readable storage medium of claim 12 , wherein the instructions further configure the user device to upload an encrypted version of the at least a portion of the private key to the authentication system.

14. The non-transitory computer readable storage medium of claim 12 , wherein the instructions further configure the user device to receive an encrypted version of the at least portion of the private key at the iframe.

15. The non-transitory computer readable storage medium of claim 12 , wherein the instructions further configure the user device to:

receive from the non-custodial key management system secured credentials generated in response to the access token; and

send, without exposing the secured credentials to the authentication system, the secured credentials to access the hardware resource module for encryption.

16. The non-transitory computer readable storage medium of claim 12 , wherein the instructions further configure the user device to receive in the iframe of the user device, in response to a decryption request, a decrypted version of the at least a portion of the private key from the hardware resource module.

17. The non-transitory computer readable storage medium of claim 12 , wherein the instructions further configure the user device to purge the decrypted version of the at least portion of the private key from memory of the user device.

18. A system for setting up a wallet for a decentralized application that performs non-custodial authentication for a user account, the system comprising:

memory; and

at least one processor operatively coupled to the memory, wherein the at least one processor is configured to:

receive from an authentication service an access token in response to a sign-up request for setting up the user account of a decentralized application;

generate at least a portion of a private key in a computing environment that is inaccessible from the decentralized application and the authentication service;

send the access token to a key management service to access a remote security resource configured to encrypt the at least a portion of the private key using an unexportable master key; and

send and bypass the authentication service the at least a portion of the private key to the remote security resource for encryption.

19. The system of claim 18 , wherein the instructions, when executed, further cause the at least one processor to:

receive from the key management service secured credentials generated in response to the sending the access token; and

send and bypass the authentication service the secured credentials to the key management service to access the remote security resource for encryption.

20. The system of claim 18 , wherein the instructions, when executed, further cause the at least one processor to receive a decrypted version of the at least a portion of the private key from the remote security resource in the computing environment in response to a decryption request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2026
From: MAGIC LABS, INC.
To: PAYWARD, INC.
Reel/Frame 075774/0621 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2023
From: JEN, FEI-YANG; CHEN, YI WEI; JIN, JAEMIN; XUE, HANYU; LIU, WENTAO; LI, SHANG
To: MAGIC LABS, INC.
Reel/Frame 064935/0595 →
Continuity (4)
Continuation 18148934 · Dec 30, 2022
Continuation 17031372 · Sep 24, 2020
Provisional Application 62904689 · Sep 24, 2019
Related Publication 20240007460A1 · Jan 4, 2024