IP Library Granted Patent US 10,789,356
Granted Patent B2
US 10,789,356 · App. 16/432,572 · Granted Sep 29, 2020

Method, apparatus, and system for service data processing and verification

Inventor: Yi Li (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F21/55G06F21/6218G06F21/64G06Q20/389
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 10,789,356
App. No.
16/432,572
Granted
Sep 29, 2020
Kind
B2
Abstract

Techniques for detecting data tampering are described. One example method includes identifying particular data associated with a service system; generating fingerprint data as a result of executing a fingerprint function on the particular data; storing the fingerprint data in a blockchain maintained by a blockchain network; storing the particular data in a storage device in the service system; after storing the fingerprint data to the blockchain and storing the particular data in the storage device: identifying a request to verify that the particular data stored in the storage device has not been modified since it was stored; generating verification fingerprint data as a result of executing the fingerprint function on the particular data stored in the storage device; determining that the verification fingerprint data matches the fingerprint data stored; and in response, determining that the particular data stored in the storage device has not been modified since it was stored.

Claims (62)

1. A computer-implemented method for detecting data tampering, comprising:

identifying particular data associated with performance of a service by a service system;

extracting, from the particular data, pieces of key element data having respective predetermined types;

determining whether at least one piece of key element data is absent from the identified particular data;

in response to determining that at least one piece of the key element data is absent from the identified particular data, determining a default value of the piece of key element data that is absent based on a service type of the particular data;

generating fingerprint data as a result of executing a fingerprint function on the pieces of key element data and at least by using the default value as a value of the piece of key element data that is absent, wherein the fingerprint function is configured to always produce the fingerprint data when executed on the particular data, and wherein the fingerprint function is configured to always produce different fingerprint data when executed on data different from the particular data;

storing the fingerprint data in a blockchain maintained by a blockchain network;

after storing the fingerprint data in the blockchain, storing the particular data in a storage device in the service system;

after storing the fingerprint data in the blockchain and storing the particular data in the storage device:

generating verification fingerprint data as a result of executing the fingerprint function on the particular data stored in the storage device;

determining that the verification fingerprint data matches the fingerprint data stored in the blockchain; and

in response to determining that the verification fingerprint data matches, determining that the particular data stored in the storage device has not been modified since it was stored.

2. The computer-implemented method of claim 1 , wherein the fingerprint function is configured to be unidirectional and irreversible.

3. The computer-implemented method of claim 1 , wherein the fingerprint function includes a hash function, and wherein the fingerprint data is a hash value associated with the particular data.

4. The computer-implemented method of claim 3 , wherein the hash function is a customized hash function specific to at least one of the service system or a type of the particular data.

5. The computer-implemented method of claim 1 , wherein storing the fingerprint data in the blockchain is performed using an asynchronous method.

6. The computer-implemented method of claim 1 , wherein the service system is an accounting system, and wherein the particular data is accounting data.

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

before generating the verification fingerprint data, identifying a request to verify that the particular data stored in the storage device has not been modified since it was stored.

8. The computer-implemented method of claim 7 , wherein the particular data is first data, the request is a first request, the verification fingerprint data is first verification fingerprint data, the fingerprint data is first fingerprint data, the method further comprising:

identifying a second request to verify that second data stored in the storage device has not been modified since it was stored;

generating second verification fingerprint data as a result of executing the fingerprint function on the second data stored in the storage device;

determining that the second verification fingerprint data does not match second fingerprint data stored in the blockchain and associated with second data; and

in response to determining that the second verification fingerprint data does not match, determining that the second data stored in the storage device has been modified since it was stored.

9. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

identifying particular data associated with performance of a service by a service system;

extracting, from the particular data, pieces of key element data having respective predetermined types;

determining whether at least one piece of key element data is absent from the identified particular data;

in response to determining that at least one piece of the key element data is absent from the identified particular data, determining a default value of the piece of key element data that is absent based on a service type of the particular data;

generating fingerprint data as a result of executing a fingerprint function on the pieces of key element data and at least by using the default value as a value of the piece of key element data that is absent, wherein the fingerprint function is configured to always produce the fingerprint data when executed on the particular data, and wherein the fingerprint function is configured to always produce different fingerprint data when executed on data different from the particular data;

storing the fingerprint data in a blockchain maintained by a blockchain network;

after storing the fingerprint data in the blockchain, storing the particular data in a storage device in the service system;

after storing the fingerprint data in the blockchain and storing the particular data in the storage device:

generating verification fingerprint data as a result of executing the fingerprint function on the particular data stored in the storage device;

determining that the verification fingerprint data matches the fingerprint data stored in the blockchain; and

in response to determining that the verification fingerprint data matches, determining that the particular data stored in the storage device has not been modified since it was stored.

10. The non-transitory, computer-readable medium of claim 9 , wherein the fingerprint function is configured to be unidirectional and irreversible.

11. The non-transitory, computer-readable medium of claim 9 , wherein the fingerprint function includes a hash function, and wherein the fingerprint data is a hash value associated with the particular data.

12. The non-transitory, computer-readable medium of claim 11 , wherein the hash function is a customized hash function specific to at least one of the service system or a type of the particular data.

13. The non-transitory, computer-readable medium of claim 9 , wherein storing the fingerprint data in the blockchain is performed using an asynchronous method.

14. The non-transitory, computer-readable medium of claim 9 , wherein the service system is an accounting system, and wherein the particular data is accounting data.

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

before generating the verification fingerprint data, identifying a request to verify that the particular data stored in the storage device has not been modified since it was stored.

16. The non-transitory, computer-readable medium of claim 15 , wherein the particular data is first data, the request is a first request, the verification fingerprint data is first verification fingerprint data, the fingerprint data is first fingerprint data, the operations further comprising:

identifying a second request to verify that second data stored in the storage device has not been modified since it was stored;

generating second verification fingerprint data as a result of executing the fingerprint function on the second data stored in the storage device;

determining that the second verification fingerprint data does not match second fingerprint data stored in the blockchain and associated with second data; and

in response to determining that the second verification fingerprint data does not match, determining that the second data stored in the storage device has been modified since it was stored.

17. A computer-implemented system, 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, perform one or more operations comprising:

identifying particular data associated with performance of a service by a service system;

extracting, from the particular data, pieces of key element data having respective predetermined types;

determining whether at least one piece of key element data is absent from the identified particular data;

in response to determining that at least one piece of the key element data is absent from the identified particular data, determining a default value of the piece of key element data that is absent based on a service type of the particular data;

generating fingerprint data as a result of executing a fingerprint function on the pieces of key element data and at least by using the default value as a value of the piece of key element data that is absent, wherein the fingerprint function is configured to always produce the fingerprint data when executed on the particular data, and wherein the fingerprint function is configured to always produce different fingerprint data when executed on data different from the particular data;

storing the fingerprint data in a blockchain maintained by a blockchain network;

after storing the fingerprint data in the blockchain, storing the particular data in a storage device in the service system;

after storing the fingerprint data in the blockchain and storing the particular data in the storage device:

generating verification fingerprint data as a result of executing the fingerprint function on the particular data stored in the storage device;

determining that the verification fingerprint data matches the fingerprint data stored in the blockchain; and

in response to determining that the verification fingerprint data matches, determining that the particular data stored in the storage device has not been modified since it was stored.

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 Dec 5, 2019
From: LI, YI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051186/0982 →