An iCloud data decryption and extraction system and method

By employing compliant authorization verification and parallel multi-threaded scheduling to decrypt iCloud data, the problems of difficult key acquisition, poor decryption compatibility, and low efficiency have been solved, achieving efficient and secure data extraction.

CN120856352BActive Publication Date: 2026-01-30深圳市乐数科技有限责任公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511344250.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-19
Publication Date
2026-01-30
Estimated Expiration
2045-09-19

AI Technical Summary

Technical Problem

Existing technologies are difficult to legally, compatiblely, and efficiently decrypt iCloud data. Key acquisition is difficult, data decryption compatibility is poor, data extraction efficiency is low, and security and integrity cannot be guaranteed.

Method used

By obtaining temporary access tokens and root keys through compliant authorization verification, performing session key derivation, and employing parallel multi-threaded scheduling and decryption algorithm matching, combined with data integrity verification, parallel downloading and decryption of iCloud data can be achieved.

Benefits of technology

It ensures the legitimacy and compatibility of key acquisition, improves the compatibility and efficiency of data decryption, and guarantees the security and integrity of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120856352B_ABST
    Figure CN120856352B_ABST
Patent Text Reader

Abstract

An iCloud data decryption and extraction system and method, relating to the field of data security technology, includes: verifying user compliance authorization and initializing the decryption environment; obtaining the user's root key based on a temporary access token and the user's iCloud account compliance authorization credentials; deriving session keys based on the user's root key and iCloud data storage structure information to obtain temporary session keys for various data types; performing parallel multi-threaded scheduling on the data to be extracted; matching decryption algorithms for various types of data downloaded to the decryption end and performing data decryption operations based on the temporary session keys; performing data download integrity verification and data decryption integrity verification; when both verifications pass, performing data reconstruction operations and reconstructed integrity verification; and outputting and securely destroying the extracted complete data types, significantly improving data extraction efficiency and data decryption compatibility and integrity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data security technology, specifically to an iCloud data decryption and extraction system and method. Background Technology

[0002] With the rapid development of mobile internet and cloud computing technologies, Apple's iCloud service, as one of the mainstream cloud storage services, has become an important carrier for hundreds of millions of users worldwide to store personal and corporate data. iCloud service employs a multi-layered encryption system to ensure data security. Its encryption mechanism mainly includes: the transport layer uses the TLS (Transport Layer Security) protocol for encryption to ensure the security of data during transmission between the user's terminal and the iCloud server; the storage layer uses the AES (Advanced Encryption Standard)-256 encryption algorithm to encrypt and store data, and the encryption key is derived by Apple based on the user's Apple ID information, device hardware identifiers (such as UDID, ECID), and a random key generated by the Secure Enclave chip, forming a complex key chain system.

[0003] However, in legitimate scenarios such as judicial evidence collection and data recovery, the need for decrypting and extracting iCloud data is becoming increasingly urgent, but existing technologies have many shortcomings:

[0004] Key acquisition is difficult: Existing methods mostly rely on users actively providing their Apple ID account password or two-factor authentication code. If users forget their account information or the device is locked (such as when Activation Lock is enabled), the core key required for decryption cannot be obtained, causing data extraction to stall. Furthermore, Apple's management of iCloud keys adopts a hybrid mode of "end-to-end" encryption of some data (such as Notes and Photo Stream) and "server-side encryption" of some data (such as Contacts and Calendars). The key derivation logic of different encryption modes is very different, and existing methods are difficult to be compatible with key acquisition for both modes.

[0005] Poor data decryption compatibility: iCloud has a variety of data types, and different data types (such as HEIC format for photos, MOV format for videos, and encrypted document format for notes) use different encryption sub-algorithms and data fragmentation storage strategies (such as photo data being divided into metadata blocks, image data blocks, and thumbnail data blocks for separate encryption storage). Existing methods are mostly designed for decryption logic for a single data type and cannot adapt to the decryption needs of multiple data types, resulting in incomplete extracted data or data that cannot be parsed normally.

[0006] Low data extraction efficiency: Existing methods for acquiring iCloud encrypted data mostly adopt a serial processing approach of downloading and decrypting file by file. They are not optimized for the distributed storage architecture of iCloud data (iCloud data is distributed and stored in multiple data centers around the world by Apple, and different data blocks have different storage nodes), resulting in high data download latency. At the same time, no hardware acceleration technology is introduced in the decryption process. When dealing with large amounts of data (such as tens of gigabytes of photo and video data), the decryption time is too long, which cannot meet the needs of efficient data extraction.

[0007] Data integrity and security cannot be guaranteed: Existing methods lack a mechanism to verify the integrity of data transmission during the decryption and extraction process, making the extracted data susceptible to corruption due to network interruptions and data packet loss. Furthermore, some methods use "cracking" techniques that bypass Apple's official security verification mechanism to reduce the difficulty of decryption, which may trigger security risks such as iCloud account lockout and remote data erasure. At the same time, they violate Apple's service agreement and raise legal compliance issues.

[0008] Therefore, there is an urgent need for a method that can overcome existing technological bottlenecks and achieve legal, compatible, efficient, and secure decryption and extraction of iCloud data. Summary of the Invention

[0009] To address the aforementioned technical problems, the present invention aims to provide a method for decrypting and extracting iCloud data, comprising the following steps:

[0010] Step 1: Perform compliance authorization verification for the user and initialize the decryption terminal environment to obtain temporary access tokens and iCloud data storage structure information;

[0011] Step 2: Obtain the user's root key based on the temporary access token and the user's iCloud account compliance authorization credentials. Based on the user's root key and iCloud data storage structure information, deduce the session key and obtain temporary session keys for various types of data.

[0012] Step 3: Perform parallel multi-threaded scheduling on the data to be extracted, set the number of parallel download threads corresponding to the storage nodes of each type of data, and then execute the data download operation;

[0013] Step 4: Match the decryption algorithms for each type of data downloaded to the decryption terminal, and perform data decryption based on the temporary session key;

[0014] Step 5: Perform data download integrity verification and data decryption integrity verification. When the data download integrity verification and data decryption integrity verification pass, perform data reconstruction operation and reconstruction integrity verification, and output and securely destroy the extracted complete type data.

[0015] Furthermore, the process of conducting compliance authorization verification includes:

[0016] Obtain the iCloud account compliance authorization credentials provided by the user, verify the account through the iCloud verification server based on the iCloud account compliance authorization credentials, and obtain a temporary access token issued by the iCloud verification server.

[0017] Furthermore, the process of initializing the decryption environment includes:

[0018] The system obtains the user's iCloud data storage structure information based on the temporary access token. The iCloud data storage structure information includes a list of data types, data fragment information, and metadata information (including the time the photo was taken, its geographical location, device information, the creation time of notes, encryption identifiers, etc.).

[0019] A local decryption and extraction environment is constructed, which includes a decryption algorithm library containing decryption algorithms corresponding to different iCloud data encryption protocols. A communication link is constructed between the local decryption and extraction environment and the storage nodes of each type of data based on the data type list. A temporary isolation layer is constructed in the local decryption and extraction environment to store the complete file. After the data output is completed, the complete file in the temporary isolation layer is destroyed.

[0020] Furthermore, the process of obtaining the user's root key based on the temporary access token and the user's iCloud account compliance authorization credentials includes:

[0021] The root key of the iCloud data encryption protocol is obtained based on metadata information. Multi-dimensional key factors related to iCloud encryption are extracted from the iCloud account compliance authorization certificate. Based on the iCloud data encryption protocol, the multi-dimensional key factors are fused with the temporary access token to generate a key seed, and the key seed is encrypted to generate the root key.

[0022] Furthermore, the process of deriving session keys based on the user's root key and iCloud data storage structure information to obtain temporary session keys for various types of data includes:

[0023] The system obtains the iCloud data encryption protocol for each type of data based on metadata information. It also obtains the decryption public key and decryption private key for each type of data based on the iCloud data encryption protocol and the root key. The system binds the decryption public key and the root key for each type of data and sends them to the iCloud verification server. The iCloud verification server verifies the root key. After successful verification, the system generates a server-side intermediate shared value for each type of data based on the iCloud verification server, the decryption public key, and the preset server-side private key. The system also generates a temporary session key for each type of data based on the iCloud verification server, the iCloud data encryption protocol, and the server-side intermediate shared value for each type of data. The iCloud verification server then encrypts the data fragments of each type of data that need to be transmitted to the decryption end based on the temporary session key.

[0024] The decryption terminal generates an intermediate shared value for each type of data based on its private key and a preset server public key. It then performs a consistency match between the intermediate shared value and the corresponding server intermediate shared value. If they match, a temporary session key for the data type is generated using the decryption terminal, the iCloud data encryption protocol, and the intermediate shared value.

[0025] Furthermore, the process of parallel multi-threaded scheduling of the data to be extracted, and setting the number of parallel download threads corresponding to the storage nodes to which each type of data belongs, includes:

[0026] Probe packets are sent to all storage nodes through the communication link to obtain the response latency and packet loss rate of each storage node. The user specifies the priority of each type of data, and the download size of each type of data fragment is obtained according to the data fragment information. The priority of each type of data, the download size of the data fragment, and the response latency and packet loss rate of the storage node to which each type of data belongs are used as evaluation indicators. The indicator weights of the evaluation indicators are set, and the membership matrix of each storage node to the preset load level is obtained through fuzzy comprehensive evaluation.

[0027] The load level of each storage node is obtained based on the membership matrix and indicator weights. The number of parallel download threads corresponding to different load levels is preset. The number of parallel download threads corresponding to each storage node is set in the local decryption and extraction environment according to the load level of each storage node.

[0028] Furthermore, the process of matching decryption algorithms for various types of data downloaded to the decryption terminal and performing data decryption operations based on the temporary session key includes:

[0029] When the data fragments of type data are downloaded to the temporary isolation layer, the metadata information of the data fragments is read, the corresponding iCloud data encryption protocol is obtained, the iCloud data encryption protocol is input into the decryption algorithm library for automatic matching, the corresponding decryption algorithm is obtained, the data fragments of type data and the temporary session key are input into the corresponding decryption algorithm, the data decryption operation is performed, and decrypted data fragments are generated.

[0030] Furthermore, data download integrity verification and data decryption integrity verification are performed. If both verifications pass, the data reassembly operation and reassembly integrity verification process includes:

[0031] Whenever a data fragment of a type of data is downloaded to the temporary isolation layer, the hash value of the data fragment is obtained, and the fragment hash value of the data fragment is extracted from the metadata information in the iCloud data storage structure information returned by the iCloud verification server. The hash value of the data fragment is compared with the fragment hash value extracted from the metadata information. If they are inconsistent, the data fragment of that type of data is downloaded again.

[0032] Whenever a decrypted data fragment of type data is generated, the authentication tag corresponding to the decrypted data fragment is obtained, and the decrypted data fragment is verified by the authentication tag. If the verification fails, the session key is determined to be abnormal, and the temporary session key of type data is obtained again to decrypt the data fragment until the verification is successful.

[0033] Based on the data fragmentation information, all decrypted data fragments of the type data that have been decrypted are reassembled to obtain the complete file of the type data. The hash value of the complete file is obtained, and the total hash value of the type data file is extracted from the metadata information in the iCloud data storage structure information returned by the iCloud verification server. The hash value of the complete file is compared with the total hash value of the file. If they match, the type data is determined to be completely extracted. If they do not match, the process jumps to step 3, and the cumulative number of integrity verifications is counted. A maximum number of verifications is preset. When the cumulative number of integrity verifications exceeds the maximum number of verifications, the data extraction is determined to be incomplete.

[0034] Furthermore, the process of extracting complete type data and outputting and securely destroying it includes:

[0035] When the type data is completely extracted, the complete file of type data stored in the temporary isolation layer is output according to the output format obtained by the user. After the complete file of type data is output, the complete file of type data stored in the temporary isolation layer is destroyed.

[0036] An iCloud data decryption and extraction system includes a cloud platform, and the cloud communication connection includes a preprocessing module, a key derivation module, a download scheduling module, a decryption module, and a data verification and output module;

[0037] The preprocessing module is used to perform compliance authorization verification for users and initialize the decryption terminal environment, and obtain temporary access tokens and iCloud data storage structure information;

[0038] The key derivation module is used to obtain the user's root key based on the temporary access token and the user's iCloud account compliance authorization credentials, and to derive the session key based on the user's root key and iCloud data storage structure information to obtain temporary session keys for various types of data.

[0039] The download scheduling module is used to perform parallel multi-threaded scheduling of the data to be extracted, setting the number of parallel download threads corresponding to the storage nodes to which each type of data belongs, and then executing the data download operation.

[0040] The decryption module is used to match decryption algorithms for various types of data downloaded to the decryption terminal and perform data decryption operations based on the temporary session key;

[0041] The data verification and output module is used to perform data download integrity verification and data decryption integrity verification. When the data download integrity verification and data decryption integrity verification pass, the data reconstruction operation and reconstruction integrity verification are performed. The extracted complete data is then output and securely destroyed.

[0042] Compared with the prior art, the beneficial effects of the present invention are:

[0043] 1. Strong legality and compatibility of key acquisition: Through multi-factor authorization adaptation, it supports three legal authorization methods: user self-authorization, associated device-assisted authorization, and compliant authorization, breaking through the limitation of existing methods that rely on a single account password.

[0044] 2. High data decryption compatibility and integrity: It integrates multiple encryption algorithms and automatically matches data types with algorithms to achieve adaptive decryption of various data types such as photos, videos, contacts, memos, and application backup data.

[0045] 3. Significantly improved data extraction efficiency: Parallel multi-threaded scheduling is implemented for the data to be extracted, and the number of parallel download threads corresponding to the storage nodes of each type of data is set, which significantly improves data download efficiency.

[0046] 4. Data security and compliance are guaranteed: The entire process adopts a secure isolation environment, encrypted storage, and integrity verification mechanism to prevent data leakage and tampering; all operations are based on compliant authorization, avoiding account locking and legal risks caused by "cracking" methods. Attached Figure Description

[0047] Figure 1 This is a schematic diagram illustrating a method for decrypting and extracting iCloud data according to an embodiment of this application.

[0048] Figure 2 This is a schematic diagram of an iCloud data decryption and extraction system according to an embodiment of this application. Detailed Implementation

[0049] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0050] like Figure 1 As shown, a method for decrypting and extracting iCloud data includes the following steps:

[0051] Step 1: Perform compliance authorization verification for the user and initialize the decryption terminal environment to obtain temporary access tokens and iCloud data storage structure information;

[0052] Step 2: Obtain the user's root key based on the temporary access token and the user's iCloud account compliance authorization credentials. Based on the user's root key and iCloud data storage structure information, deduce the session key and obtain temporary session keys for various types of data.

[0053] Step 3: Perform parallel multi-threaded scheduling on the data to be extracted, set the number of parallel download threads corresponding to the storage nodes of each type of data, and then execute the data download operation;

[0054] Step 4: Match the decryption algorithms for each type of data downloaded to the decryption terminal, and perform data decryption based on the temporary session key;

[0055] Step 5: Perform data download integrity verification and data decryption integrity verification. When the data download integrity verification and data decryption integrity verification pass, perform data reconstruction operation and reconstruction integrity verification, and output and securely destroy the extracted complete type data.

[0056] It should be further explained that, in the specific implementation process, the compliance authorization verification process includes:

[0057] Obtain iCloud account compliance authorization credentials provided by the user (including iCloud account ownership certificate, data extraction authorization letter, two-factor authentication verification code, authorized device, etc.), verify the account through the iCloud verification server based on the iCloud account compliance authorization credentials, and obtain a temporary access token issued by the iCloud verification server.

[0058] The specific process of verifying an account through the iCloud verification server based on iCloud account compliance authorization credentials includes:

[0059] If the user can provide a two-factor authentication code, step 1 will directly complete the account authentication through the iCloud verification server and obtain a temporary access token issued by the iCloud verification server. The token is valid for 30 minutes and only "data read" permissions are authorized, while "data modification / deletion" operations are prohibited.

[0060] If the user cannot provide a two-factor authentication verification code, but can provide a linked device (such as an iPhone or iPad that has been logged into the target iCloud account), step 1 establishes a local communication link with the linked device through the device's hardware interface (such as a Lightning interface or a USB-C interface) (using an encrypted serial port protocol, and the communication data is encrypted using a temporary session key generated by the device's SecureEnclave chip), reads the iCloud trust credentials stored in the device (including device certificate and session key cache), and sends the trust credentials to the iCloud verification server to complete the identity verification and obtain a temporary access token;

[0061] If the target iCloud account has an activation lock and the associated device cannot be obtained, step 1 is to apply for "restricted access" from the iCloud verification server through proof of iCloud account ownership or data extraction authorization to obtain a temporary access token for the account.

[0062] It should be further explained that the temporary access token obtained through step 1 can only achieve "surface data access" and has a bottleneck: iCloud sensitive data (such as device backups and advanced data protection content) adopts a two-layer mechanism of "device-generated key + server-side encryption". The temporary access token can only verify the account identity and cannot obtain the device's authentication key (AuthenticationKey) and data encryption key (DEK), resulting in more than 70% of encrypted data (such as deleted photos and application cache) being unable to be decrypted.

[0063] It should be further explained that, in the specific implementation process, the initialization process of the decryption end environment includes:

[0064] The system obtains the user's iCloud data storage structure information based on the temporary access token. This information includes a list of data types (all data types stored by the target account, such as photos, videos, contacts, notes, SMS messages, WeChat / QQ application backup data, etc., and the storage node address corresponding to each data type, such as the IP address of the iCloud data center), data sharding information (the data sharding strategy for each data type, such as photo data divided into daily data blocks based on shooting time, with each block size ranging from 100 to 500 MB; video data divided into shards based on file size, with each shard size ranging from 1 to 2 GB, and the unique identifier (FileID), encryption status (end-to-end encryption / server-side encryption), and encryption algorithm identifier (such as AES-256-GCM, ChaCha20-Poly1305) for each data shard), and metadata information (including the shooting time, geographical location, and device information for photos, and the creation time and encryption identifier for notes).

[0065] A local decryption and extraction environment is constructed, including a decryption algorithm library containing algorithms corresponding to different iCloud data encryption protocols. Communication links are established between the local decryption and extraction environment and the storage nodes for each data type, based on a data type list. For example, SMS data is stored in a data center in California, USA (IP: 17.xxx.xxx.xxx), WeChat backup data is stored in a data center in Shanghai, China (IP: 101.xxx.xxx.xxx), and photo data is stored in a data center in Tokyo, Japan (IP: 203.xxx.xxx.xxx). The hardware layer of the local decryption and extraction environment is configured, for example, by configuring an Intel Xeon Platinum 8480+ processor to support AES-NI hardware encryption acceleration; configuring an NVIDIA A100 GPU for parallel decryption computation; configuring a 100Gbps high-speed network card to reduce data transmission latency; and constructing a temporary isolation layer within the local decryption and extraction environment to store complete files, which are then destroyed after data output is complete.

[0066] It should be further explained that, in the specific implementation process, the process of obtaining the user's root key based on the temporary access token and the user's iCloud account compliance authorization credentials includes:

[0067] The iCloud data encryption protocol, which obtains the root key based on metadata information, extracts multi-dimensional key factors related to iCloud encryption from the iCloud account's compliant authorization credentials. These key factors include the hardware signature of the "historically authorized device" bound to the iCloud account, the biometric information (Face ID, Touch ID) bound to the iCloud account, and the hash value of the security question. Based on the iCloud data encryption protocol, these multi-dimensional key factors are fused with the temporary access token to generate a key seed, which is then encrypted to generate the root key. For example, let the hardware signature of the "historically authorized device" bound to the iCloud account be K1, i... The biometric information (FaceID, TouchID) bound to the Cloud account is K2, the hash value of the security question is K3, the temporary access token is K4, and the root key is K. The iCloud data encryption protocol corresponding to the root key includes the HMAC-SHA256 algorithm and the preset weights W1, W2, W3, and W4 corresponding to K1, K2, K3, and K4. Then K = (K1×W1 + K2×W2 + K3×W3 + K4×W4) mod 2^256, where (K1×W1 + K2×W2 + K3×W3 + K4×W4) represents the key seed, and mod 2^256 represents the modulo operation with 2^256 as the modulus.

[0068] It should be further explained that, in the specific implementation process, the process of deriving session keys based on the user's root key and iCloud data storage structure information to obtain temporary session keys for various types of data includes:

[0069] Based on metadata information, the iCloud data encryption protocol for each type of data is obtained. Based on the iCloud data encryption protocol and the root key, the decryption public key and decryption private key for each type of data are obtained. The decryption public key and the root key are bound together and sent to the iCloud verification server. The iCloud verification server verifies the root key (after receiving the decryption public key, the iCloud verification server uses its built-in parsing module to extract the root key K bound to the decryption public key, verifies K, and determines whether K matches the K pre-stored in the iCloud verification server; if they match, the verification is successful). After successful verification, the server-side intermediate shared value for each type of data is generated using the iCloud verification server, the decryption public key, and the preset server-side private key. A temporary session key for each type of data is generated using the iCloud verification server, the iCloud data encryption protocol, and the server-side intermediate shared value (for example, encrypting the server-side intermediate shared value using the AES-256-GCM algorithm to generate a temporary session key). The iCloud verification server encrypts the data fragments of each type of data that need to be transmitted to the decryption end using the temporary session key.

[0070] The decryption terminal generates an intermediate shared value for each type of data based on its private key and a preset server public key. It then performs a consistency match between the intermediate shared value and the corresponding server intermediate shared value. If they match, a temporary session key for the data type is generated using the decryption terminal, the iCloud data encryption protocol, and the intermediate shared value.

[0071] The calculation process for the intermediate shared value on the server side and the intermediate shared value on the decryption side includes:

[0072] Assume that the iCloud data encryption protocol for typed data is the ECDH algorithm, and ECDH uses an elliptic curve with parameters (G, p) (where G is the base point of the elliptic curve and p is a prime number in a finite field):

[0073] The decryption end's private key is SK_private (held only by the decryption end), and the decryption end's public key SK_public = SK_private × G (generated by elliptic curve multiplication of the private key and the base point G, and can be made public).

[0074] The server's private key is Server_private (held only by the server), and the server's public key is Server_public = Server_private × G (generated similarly and can be made public).

[0075] Calculation of the intermediate shared value at the decryption end: SK_Shared_secret = SK_private × Server_public = SK_private × (Server_private × G), where SK_Shared_secret represents the intermediate shared value at the decryption end;

[0076] The calculation of the intermediate shared value on the server side is: Server_Shared_secret = Server_private × SK_public = Server_private × (SK_private × G), where Server_Shared_secret represents the intermediate shared value on the server side.

[0077] It should be further explained that, in the specific implementation process, the process of parallel multi-threaded scheduling of the data to be extracted and setting the number of parallel download threads corresponding to the storage nodes of each type of data includes:

[0078] Probe packets are sent to all storage nodes through the communication link to obtain the response latency and packet loss rate of each storage node. The user specifies the priority of each type of data, and the download size of each type of data fragment is obtained according to the data fragment information. The priority of each type of data, the download size of the data fragment, and the response latency and packet loss rate of the storage node to which each type of data belongs are used as evaluation indicators. The indicator weights of the evaluation indicators are set, and the membership matrix of each storage node to the preset load level is obtained through fuzzy comprehensive evaluation.

[0079] The load level of each storage node is obtained based on the membership matrix and indicator weights. The number of parallel download threads corresponding to different load levels is preset (the higher the load level, the more parallel download threads). The number of parallel download threads corresponding to each storage node is set in the local decryption and extraction environment according to the load level of each storage node.

[0080] It should be further explained that, in the specific implementation process, the process of obtaining the load level of each storage node based on the membership matrix and indicator weights includes:

[0081] The evaluation index weights and membership matrix of the evaluation index are fused by formula to obtain the fuzzy comprehensive evaluation matrix of the evaluation index. The membership degree of each storage node to different load levels is obtained according to the fuzzy comprehensive evaluation matrix. The load level with the highest membership degree for each storage node is selected and the load level with the highest membership degree for each storage node is taken as the load level of each storage node.

[0082] The formula is:

[0083] ;

[0084] in, The fuzzy comprehensive evaluation matrix for the evaluation indicators. To evaluate the indicator weights, For the membership matrix, "This indicates that the elements at corresponding positions in the weight matrix and membership matrix of the evaluation index are multiplied together." The weighting parameter is used to balance the weight matrix and membership matrix in the fuzzy comprehensive evaluation matrix used to control the evaluation index.

[0085] It should be further explained that, in the specific implementation process, the process of matching decryption algorithms for various types of data downloaded to the decryption terminal and performing data decryption operations based on the temporary session key includes:

[0086] When data fragments of typed data are downloaded to the temporary isolation layer, the metadata information of the data fragments is read, the corresponding iCloud data encryption protocol is obtained, the iCloud data encryption protocol is input into the decryption algorithm library for automatic matching, the corresponding decryption algorithm is obtained, the data fragments of typed data and the temporary session key are input into the corresponding decryption algorithm, and the data decryption operation is performed. For example, for the AES-256-GCM algorithm: first, the 12-byte IV (Initialization Vector) and the 16-byte authentication tag (Tag) are extracted from the data fragment, and then the temporary session key and the IV are used to decrypt the data body; for the ChaCha20-Poly1305 algorithm: the 12-byte IV and the 16-byte Poly1305 tag are extracted from the data fragment, the session key and the IV are used to decrypt the data body; and a decrypted data fragment is generated.

[0087] It should be further explained that, in the specific implementation process, data download integrity verification and data decryption integrity verification are performed. When the data download integrity verification and data decryption integrity verification pass, the data reconstruction operation and reconstruction integrity verification process includes:

[0088] Whenever a data fragment of a type of data is downloaded to the temporary isolation layer, the hash value of the data fragment is obtained, and the fragment hash value of the data fragment is extracted from the metadata information in the iCloud data storage structure information returned by the iCloud verification server. The hash value of the data fragment is compared with the fragment hash value extracted from the metadata information. If they are inconsistent, the data fragment of that type of data is downloaded again.

[0089] Whenever a decrypted data fragment of type data is generated, the authentication tag corresponding to the decrypted data fragment is obtained (for example, the GHASH (Galois hash) function built into the AES-256-GCM algorithm performs a hash calculation on "IV processing result + data fragment before decryption + data length information", and performs an XOR operation on the 128-bit hash result output by the GHASH function and "the first key stream block generated by the counter block encryption", finally obtaining a 16-byte AES-256-GCM authentication tag, which is bound to the decrypted data fragment). The decrypted data fragment is verified through the authentication tag (the decrypted data fragment is encrypted, the data fragment before decryption to be verified is obtained, the GHASH function logic of the encryption stage is used, and a "new authentication tag" is recalculated based on "current session key + extracted IV + data fragment before decryption + data length information", and the recalculated "new authentication tag" is compared byte by byte with the original authentication tag). If the verification fails, the session key is determined to be abnormal, and the temporary session key of type data is obtained again to decrypt the data fragment until the verification is successful.

[0090] Based on the data fragment information, reassemble all decrypted data fragments of the type data that have been decrypted to obtain the complete file of the type data. Obtain the hash value of the complete file. Extract the total hash value of the type data file from the metadata information in the iCloud data storage structure information returned by the iCloud verification server. Compare the hash value of the complete file with the total hash value of the file. If they match, the type data is considered to be extracted completely. If they do not match, proceed to step 3 and re-download all data fragments of the type data. Then, execute step 4 to perform data decryption on all data fragments. Then, perform data download integrity verification and data decryption integrity verification. When the data download integrity verification and data decryption integrity verification pass, perform data reassembly and reassembly integrity verification. Compare the hash value of the complete file with the total hash value of the file. If they match, the type data is considered to be extracted completely. If they do not match, continue to step 3 and count the cumulative number of reassembly integrity verifications. A preset upper limit for the number of verifications is set (e.g., 3 times). When the cumulative number of integrity verifications exceeds the upper limit, the data extraction is considered incomplete.

[0091] It should be further explained that, in the specific implementation process, the process of extracting complete type data, outputting the data, and securely destroying it includes:

[0092] When the type data is determined to be complete, the complete file of the type data stored in the temporary isolation layer is output according to the user's output format. For example, if the output format is local storage, the complete file of the type data is stored on a local secure storage device (such as an encrypted USB flash drive or hardware encrypted hard drive, using the AES-256-XTS encryption algorithm). The storage directory is organized in the structure of "data type / timestamp" (such as "photos / 20250827" "SMS / 20250827") for easy user retrieval. If the output format is remote transmission, and the user needs to retrieve the data remotely, the data is transmitted to the specified remote server via the SFTP (SSH File Transfer Protocol). During the transmission, the TLS 1.3 protocol is used for encryption, and the SHA-256 hash value of the data is calculated before and after transmission to ensure transmission integrity. After the complete file of the type data is output, the complete file of the type data stored in the temporary isolation layer is destroyed.

[0093] like Figure 2 As shown, an iCloud data decryption and extraction system includes a cloud platform, and the cloud communication connection includes a preprocessing module, a key derivation module, a download scheduling module, a decryption module, and a data verification and output module.

[0094] The preprocessing module is used to perform compliance authorization verification for users and initialize the decryption terminal environment, and obtain temporary access tokens and iCloud data storage structure information;

[0095] The key derivation module is used to obtain the user's root key based on the temporary access token and the user's iCloud account compliance authorization credentials, and to derive the session key based on the user's root key and iCloud data storage structure information to obtain temporary session keys for various types of data.

[0096] The download scheduling module is used to perform parallel multi-threaded scheduling of the data to be extracted, setting the number of parallel download threads corresponding to the storage nodes to which each type of data belongs, and then executing the data download operation.

[0097] The decryption module is used to match decryption algorithms for various types of data downloaded to the decryption terminal and perform data decryption operations based on the temporary session key;

[0098] The data verification and output module is used to perform data download integrity verification and data decryption integrity verification. When the data download integrity verification and data decryption integrity verification pass, the data reconstruction operation and reconstruction integrity verification are performed. The extracted complete data is then output and securely destroyed.

[0099] The above embodiments are only used to illustrate the technical methods of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical methods of the present invention without departing from the spirit and scope of the technical methods of the present invention.

Claims

1. An iCloud data decryption extraction method, characterized in that, The method comprises the following steps: Step 1: compliance authorization verification of the user and decryption terminal environment initialization, obtaining a temporary access token and iCloud data storage structure information; Step 2: based on the temporary access token and the compliance authorization credentials of the iCloud account of the user, obtaining the root key of the user, based on the root key of the user and the iCloud data storage structure information, performing session key derivation to obtain the temporary session key of each type of data; Step 3: parallel multi-thread scheduling is performed on the data to be extracted, the number of parallel download threads corresponding to the storage nodes of each type of data is set, and then the data download operation is performed; Step 4: the decryption algorithm of each type of data downloaded to the decryption terminal is matched, and the data decryption operation is performed based on the temporary session key; Step 5: data download integrity check and data decryption integrity check are performed, when the data download integrity check and the data decryption integrity check pass, data reorganization operation and reorganization integrity check are performed, and the complete type data is output and securely destroyed.

2. The iCloud data decryption extraction method of claim 1, wherein, The process of compliance authorization verification includes: Obtaining the iCloud account compliance authorization credentials provided by the user, verifying the account through the iCloud verification server according to the iCloud account compliance authorization credentials, and obtaining the temporary access token issued by the iCloud verification server.

3. The iCloud data decryption extraction method of claim 2, wherein, The process of decryption terminal environment initialization includes: Obtaining the iCloud data storage structure information of the user according to the temporary access token, the iCloud data storage structure information including data type list, data fragment information and metadata information; Building a local decryption extraction environment, the local decryption extraction environment including a decryption algorithm library, the decryption algorithm library including decryption algorithms corresponding to different iCloud data encryption protocols, building a communication link between the local decryption extraction environment and the storage nodes of each type of data according to the data type list, and building a temporary isolation layer in the local decryption extraction environment, the temporary isolation layer being used to store complete files, and destroying the complete files in the temporary isolation layer after completing data output.

4. The iCloud data decryption extraction method of claim 3, wherein, The process of obtaining the root key of the user based on the temporary access token and the compliance authorization credentials of the iCloud account of the user includes: Obtaining the iCloud data encryption protocol of the root key according to the metadata information, extracting a multi-dimensional key factor from the iCloud account compliance authorization credentials, generating a key seed by fusing the multi-dimensional key factor and the temporary access token based on the iCloud data encryption protocol, and encrypting the key seed to generate the root key.

5. The iCloud data decryption extraction method of claim 4, wherein, The process of performing session key derivation based on the root key of the user and the iCloud data storage structure information to obtain the temporary session key of each type of data includes: According to the metadata information, the iCloud data encryption protocol of each type of data is acquired, the decryption end public key and the decryption end private key of each type of data are acquired according to the iCloud data encryption protocol of each type of data and the root key, the decryption end public key of each type of data is bound and sent to the iCloud verification server with the root key, the root key is verified through the iCloud verification server, after the verification is passed, the server end intermediate shared value of each type of data is generated through the iCloud verification server, the decryption end public key and the preset server end private key, the temporary session key of each type of data is generated through the iCloud verification server, the iCloud data encryption protocol and the server end intermediate shared value of each type of data, and the iCloud verification server encrypts the data fragments of each type of data according to the temporary session key; The decryption end generates the decryption end intermediate shared value of each type of data according to the decryption end private key and the preset server end public key, and the decryption end intermediate shared value of the type data is matched with the corresponding server end intermediate shared value, if they are consistent, the temporary session key of the type data is generated through the decryption end, the iCloud data encryption protocol and the decryption end intermediate shared value of the type data.

6. The iCloud data decryption extraction method of claim 5, wherein, The process of setting the number of parallel download threads corresponding to each storage node to which each type of data belongs includes: Through the communication link, a probe data packet is sent to all storage nodes to obtain the response delay and packet loss rate of each storage node, the priority of each type of data is specified by the user, and the data fragment download size of each type of data is obtained according to the data fragment information, the priority of each type of data, the data fragment download size and the response delay and packet loss rate of each storage node to which each type of data belongs are used as evaluation indexes, the index weight of the evaluation index is set, and the membership matrix of each storage node to the preset load degree level is obtained through fuzzy comprehensive evaluation; According to the membership matrix and the index weight, the load degree level of each storage node is obtained, the number of parallel download threads corresponding to each storage node is set in the local decryption extraction environment according to the load degree level of each storage node.

7. The iCloud data decryption extraction method of claim 6, wherein, The process of performing decryption algorithm matching on each type of data downloaded to the decryption end and executing data decryption operation based on the temporary session key includes: When the data fragment of the type data is downloaded to the temporary isolation layer, the metadata information of the data fragment is read, the iCloud data encryption protocol corresponding to the metadata information is obtained, the iCloud data encryption protocol is input into the decryption algorithm library for automatic matching, the corresponding decryption algorithm is obtained, the data fragment of the type data and the temporary session key are input into the corresponding decryption algorithm, and the data decryption operation is executed to generate a decrypted data fragment.

8. The iCloud data decryption extraction method of claim 7, wherein, The process of performing data download integrity check and data decryption integrity check, executing data recombination operation and recombination integrity check when the data download integrity check and the data decryption integrity check pass includes: Whenever the data slice of the type data is downloaded to the temporary isolation layer, the hash value of the data slice is obtained, the slice hash value of the data slice is extracted from the metadata information, the hash value of the data slice is compared with the slice hash value extracted from the metadata information, and if they are inconsistent, the data slice of the type data is re-downloaded; Whenever the decrypted data slice of the type data is generated, the authentication tag corresponding to the decrypted data slice is obtained, the decrypted data slice is verified through the authentication tag, and if the verification fails, the temporary session key of the type data is re-obtained to decrypt the data slice until the verification passes; According to the data slice information, all decrypted data slices of the type data that have completed data decryption are recombined, a complete file of the type data is obtained, a hash value of the complete file is obtained, a file total hash value of the type data is extracted from the metadata information, the hash value of the complete file is compared with the file total hash value, and if they are consistent, it is determined that the type data is extracted completely, and if they are inconsistent, it is determined that the data extraction is incomplete.

9. The iCloud data decryption extraction method of claim 8, wherein, The process of data output and secure destruction of the type data extracted completely includes: When the type data is determined to be extracted completely, the complete file of the type data stored in the temporary isolation layer is output according to the output form obtained by the user, and after the complete file data of the type data is output, the complete file of the type data stored in the temporary isolation layer is destroyed.

10. An iCloud data decryption extraction system, particularly applied to the iCloud data decryption extraction method of any one of claims 1 to 9, characterized in that, The cloud end, the cloud end communication connection has a preprocessing module, a key derivation module, a download scheduling module, a decryption module and a data verification and output module; The preprocessing module is used for compliance authorization verification of the user and initialization of the decryption end environment, and obtains a temporary access token and iCloud data storage structure information; The key derivation module is used for obtaining the root key of the user based on the temporary access token and the compliance authorization credentials of the iCloud account of the user, deriving the session key based on the root key of the user and the iCloud data storage structure information, and obtaining the temporary session key of each type of data; The download scheduling module is used for parallel multi-thread scheduling of the data to be extracted, setting the number of parallel download threads corresponding to the storage nodes of each type of data, and then performing a data download operation; The decryption module is used for matching the decryption algorithm of each type of data downloaded to the decryption end, and performing a data decryption operation based on the temporary session key; The data verification and output module is used for data download integrity verification and data decryption integrity verification, data recombination operation and recombination integrity verification when the data download integrity verification and data decryption integrity verification pass, and data output and secure destruction of the type data extracted completely.

Citation Information

Patent Citations

  • Encryption continuous transmission method with key negotiation function

    CN111447276A

  • Data recovery method and device of IOS equipment and storage medium

    CN120029821A