Open Access Paper
24 May 2022 Traitor tracing scheme for relational databases based on blockchain
Weiqiang Jiang, Kedi Yang, Youliang Tian
Author Affiliations +
Proceedings Volume 12260, International Conference on Computer Application and Information Security (ICCAIS 2021); 122600A (2022) https://doi.org/10.1117/12.2637501
Event: International Conference on Computer Application and Information Security (ICCAIS 2021), 2021, Wuhan, China
Abstract
The traceability of data leakage remains a foundational challenge faced by big data. Traditional data tracing technology is mainly based on digital fingerprint to embed lengthy code into digital works such as video, while the structured data with limited embedding space has not been given adequate consideration. In this paper, we propose a chameleon short signature by improving Khalili’s chameleon hash function and combining Boneh’s signature algorithm to achieve a one-to-many signature with a shorter message length under the same security premise. Then, we construct a traitor tracing model based on the proposed signature and design a cascade chain to complete credible data sharing and undeniable leaker detection. Security and simulation analysis show that the traitor tracing model achieves trusted data sharing and efficient traitor tracing for structured data.

1.

INTRODUCTION

Data sharing is an effective way to activate the huge value contained in different data, but the issue of data leakage accompanied by it has been haunted by experts and scholars. Therefore, the leaking traceability has become an open problem that needs to be resolved.

The credibility of data sharing is the primary prerequisite for achieving leak traceability. Blockchain as a distributed storage technology, each block in the chain can be abstractly described as a distributed ledger that introduces time attribute into it to form the time dimension, which improves the verifiability and traceability of transaction. Therefore, the blockchain is widely used to construct trusted data sharing and tracking schemes for Internet of Vehicles1, supply chain2, medical care 3-4, digital copyright protection5 and other fields. Even though the combination of attribute-based encryption6, federated learning7 and other technologies with blockchain can well realize the verifiability and privacy of shared data, it is difficult to obtain the traceability after data leakage8.

Digital watermarking is a technology about information hiding that embeds specific identity in the form of a bitstream into digital carrier without affecting the use value of the original works, which is a common method to complete copyright protection and anti-counterfeiting traceability. As an important branch of digital watermarking, database watermarking9 is an effective means to realize the ownership protection of structured data10-12. A robust watermarking can still correctly extract the identity hidden in the digital works to realize the ownership confirmation even if a carrier is attacked to varying degrees13-14. But for watermarking, the ability to trace out the leaker is limited 15-19 in that it directly converts the user identity into bit stream and embeds these bits in the digital carrier. Digital fingerprint is a traitor tracking technology developed based on digital watermarking. The principle of this method is to embed the unique identification code20 representing the buyer’s identity into a digital carrier (such as DVD) to form a digital fingerprint21-22, which achieve the binding of the buyer’s identity and digital products. When illegal copies appear on the market, data owner can identify illegal users by extracting the fingerprinting from digital carriers to achieve the purpose of tracking down the traitor. To ensure anti-collusion, the length of the fingerprint code will expand as the number of users increases23-24. Embedding a long fingerprint code in a multimedia carrier (such as video, audio, image, etc.) with a lot of redundant space will not significantly change the imperceptibility in visual or auditory. However, the imperceptibility and reusability of the structured data (such as CSV) is seriously damaged if a large number of watermark codes are embedded into the digital work with limited embedding space. In addition, the monitor algorithm needs to detect all sharers when the potential leaker is unknown so as to result in extremely low efficiency in leaking detection. Therefore, there is an urgent need for an approach to track traitor through a shorter code length and higher detection efficiency when structured data is leaked.

Chameleon signature25 is a one-to-many signature algorithm first proposed by Krawczyk and Rabin in 2000. It is consisted by a chameleon hash function and an ordinary signature scheme, which follows also the paradigm that “hash first and then sign”. The generation of the message digest is completed by a special function, chameleon hash, which is a one-way function with trapdoor: the collision can be easily constructed when the trapdoor information is obtained; conversely, it is the same as the ordinary hash function and is collision resistant when there is no trapdoor. Therefore, the chameleon signature is not only undeniable and unforgeable, but also has characteristics for specific recipients, which is suitable for constructing a credible sharing scheme of one-to-many to achieve leak traceability. There is a defect of key exposure in the chameleon proposed earlier26-27, that is, the signer’s chameleon private key is likely to be leaked when calculating the collision, which weakens the security of the chameleon signature in a certain extent. For this, Feng et al.28 and Chen et al.29 introduced identity parameters to construct an identity-based chameleon-hash function signature. On this basis, Camenisch et al. 30 designed a hash function with ephemeral trapdoors to prevent the trapdoor holder from finding collision in “all-or-nothing” way in that the collision in the previous scheme is completely generated by the trapdoor holder. However, a series of encryption algorithms and zero-knowledge proofs are introduced in his scheme to avoid the leakage of private key and emphemeral key, which seriously reduces the computational efficiency of the Chameleon-hash. Later, Khalili et al.31 analyzed the problem of low efficiency in many schemes32-34 and constructed an enhanced collision-resistant and high-efficiency chameleon function based on bilinear mapping, which greatly shortens the length of the chameleon hash while solving the above problems. Although the above scheme can effectively avoid the key exposure and improve the execution performance to a certain extent, it still lacks a chameleon signature that possess a shorter coding length, a higher performance and the same security to realize trusted data sharing and traitor tracing for structured data.

In response, we present a chameleon short signature based on Khalili’s chameleon hash [31] and Boneh’s short signature35 to ensure the non-repudiation of shared data, and construct a traceability chain with a cascading structure based on the characteristics of chameleon short signature to achieve effective traitor tracking in the big data scenario. The contributions in this work are as follows:

  • (1) A novel chameleon short signature. We design a chameleon signature with a shorter message length by combined Khalili’s chameleon hash with Dan’s short signature, and further improve efficiency while ensuring security so as to suit for the credible data sharing.

  • (2) A traitor tracking model. We design a cascade chain for shared data based on the characteristics of the proposed signature to ensure that all transactions on the same digital product belongs to the same transaction chain, which improves the detection efficiency of the illegal redistribution.

  • (3) Trusted data sharing of structured data and efficient traitor tracking. We embed the message of chameleon short signature between the data provider and the data buyer into the structured data and record the trading information on the blockchain to realize the non-repudiation of shared data. By extracting the watermark in the shared data and comparing the information in the cascaded chain to achieve efficient detection of traitors.

2.

PRELIMINARIES

2.1

Notations

The main parameters involved in the chameleon short signature and the traitor tracking model in this article are shown in Table 1.

Table 1.

Notations used in the paper.

SymbolDescriptionRemarksSymbolDescriptionRemarks
xhChameleon private keyIDaIdentity to user AIDa ∈ {0, 1}*
yhChameleon public keyyh ∈ 𝔾KaWatermarking key to user A 
Chameleon public keySaOrdinary signature message to (IDa, Ka) 
Short signature private keyMaUser information to AMa = {IDa, Ka, Sa}
уσShort signature public keyyσ ∈ 𝔾DDigital carrier 
hChameleon hashh ∈ 𝔾Digital carrier embedded a signature 
σhChameleon short signature messageσh ∈ 𝔾BiThe i-th copyright block 
MPlaintext to be signedM ∈ {0, 1}*BijThe j-th transaction block under Bi 
RCheck parameter w.r.t (h, m)R ∈ 𝔾ηMatch rate between bit strings 
H𝔾Global hash functionH𝔾 : {0, 1}* → 𝔾lenσLength of original signature 
HpGlobal hash functiondishcHamming code distance between bit strings 

2.2

Chameleon hash

Chameleon hash function25 CH = (KeyGen, Hash, Check, Adapt) can be consisted by four probability polynomial time algorithms, which are described as follows:

  • 1. KeyGen (1λ). The chameleon key generation algorithm on inputs the security parameter 1λ to generate a public-private key pair (pk, sk),where pk and sk are related to the security parameter 1λ.

  • 2. Hash (pk, m). The hash generation algorithm takes as inputs the public key pk and the message m, it selects a randomness r to calculate the chameleon hash h and outputs (h, r).

  • 3. Check(h, m, r). The compatibility check algorithm takes as input the chameleon hash h, the message m, and the check value r, outputs a decision b ∈ {0, 1} indicating whether the (h, m, r) is compatible.

  • 4. Adapt (sk, h, m, r, m’). The adapt algorithm on inputs private key sk,chameleon hash h, original plaintext message m and random number r, constructs the matching check parameter r’ according to the collision message m’, such that Check(h, m, r) = Check(h, m’, r’) =1. Among them, (m, r) and (m’, r’) are called a pair of collisions.

2.3

Short signature

A short signature scheme35 BLS = (KeyGen, Sign, Verify) is composed of three probability polynomial time algorithms, which are defined as follows:

  • 1. KeyGen (1λ): The key generation algorithm takes security parameter 1λ as input and outputs the public key and the private key (pk, sk).

  • 2. Sign (M, sk): The signature algorithm takes message M ∈ {0, 1} * and private key sk as input, and outputs the signature message σ of M;

  • 3. Verify (M, σ, pk): The verification algorithm on inputs the signature message pair (M, σ) and the public key pk,outputs a verification value v ∈ {0, 1}. If ê(𝔾, σ) = ê(h, pk), then v = 1, means that the signature σ is a valid signature of the private key sk to the message M, otherwise v = 0. Among them, g is a public parameter.

2.4

Computational Diffie-Hellman assumption (CDH)

Let 𝔾 be a multiplicative cyclic group of prime order p related to the security parameters λ, where g is a generator of 𝔾, on given g, ga, gb𝔾 for any a, bZp to compute the gab𝔾. If the probability of successfully outputting gab𝔾 by polytime algorithm A is Pr[A(g, ga, gb) = gab] ≥ ε, A has the advantage ε in 𝔾 to solve the CDH problem.

Definition 1. We say that the Computational Diffie-Hellman Assumption (CDH) holds if no polytime algorithm has a non-negligible advantage in solving the CDH problem.

3.

CHAMELEON SHORT SIGNATURE

This part, we improve the chameleon hash function31 and combine the short signature scheme35 to construct the chameleon short signature algorithm. It consists by seven parts and the framework is shown in Figure 1.

Figure 1.

Chameleon short signature frame.

00178_psisdg12260_122600a_page_4_1.jpg

3.1

Algorithm description

During system initialization, Setup construct two groups 𝔾, 𝔾T and bilinear mapping ê from security parameters λ. To get the keys, KeyGen generates the chameleon hash key pair 00178_psisdg12260_122600a_page_4_2.jpg and the short signature key pair (xσ, yσ) according to the public parameters. In the process of hash generation, Hash utilizes the chameleon public key 00178_psisdg12260_122600a_page_4_3.jpg to compute a chameleon hash h and its check parameter R with respect to the plaintext M. We can leverage Check to detect the compatibility of output parameters (h, M, R). When signing, Sign constructs a short signature message σh related to h from the signature private key xσsk. During the check of the signed message, Verify utilizes the signature public key yσpk and the public parameter g to verify the legitimacy of σh with respect to h. To obtain the check parameters that suitable for the new plaintext M ’ and the chameleon hash h, Adapt first detects the compatibility of (h, M, R) by Check, and then calculates the check parameters R ’ of the plaintext M ’ according to the chameleon private key xhsk. The specific definition of the above algorithm is as follows:

  • (1) Setup(κ) → Parm

    Let 𝔾 = 〈g〉 be the gap group of order q, g be a generator of 𝔾, and the prime number q ≥ 2κ · ê:𝔾 ×𝔾𝔾T, for any a, b ∈ 𝔾 such that ê(ga, gb) = ê(g, gb)ab. The system selects the global anti-collision hash function H𝔾 : {0, 1}* → 𝔾, and publishes the system parameters Parm = {𝔾, 𝔾T, g, q, ê, H𝔾}.

  • (2) KeyGen(Parm) → (sk, pk)

    Set randomness 00178_psisdg12260_122600a_page_5_1.jpg and 00178_psisdg12260_122600a_page_5_2.jpg, calculate 00178_psisdg12260_122600a_page_5_3.jpg, 00178_psisdg12260_122600a_page_5_4.jpg, and 00178_psisdg12260_122600a_page_5_5.jpg respectively to output the following public-private key pair:

    00178_psisdg12260_122600a_page_5_6.jpg
    00178_psisdg12260_122600a_page_5_7.jpg

  • (3) Hash(pk, M) → (h, R)

    Let m = H𝔾(M) w.r.t. the plaintext M, the chameleon public key 00178_psisdg12260_122600a_page_5_8.jpg, randomness 00178_psisdg12260_122600a_page_5_9.jpg, calculate the chameleon hash h with equation (1), and the check parameter R = gr.

    00178_psisdg12260_122600a_page_5_10.jpg

  • (4) Check(pk, h, M, R) → b ∈ {0,1}

    Parse the chameleon public key 00178_psisdg12260_122600a_page_5_11.jpg, construct m = H𝔾(M), and then detect the compatibility of (h, m, R) according to equation (2). If the equation holds, output 1; otherwise, output 0.

    00178_psisdg12260_122600a_page_5_12.jpg

  • (5) Adapt(sk, h, R, M, M’) → R

    If Check(h, M, R) = 0 returns ⊥, otherwise, let m’ = H𝔾(M’), the chameleon private key xhsk, and compute the check parameter R’ according to equation (3).

    00178_psisdg12260_122600a_page_5_13.jpg

  • (6) sign(sk, h, M, R) → (Sσ)

    Check (h, M, R) before signing, and then calculate the short signature message σh with the signature private key xσsk according to equation (4).

    00178_psisdg12260_122600a_page_5_14.jpg

  • (7) Verify(pk, h, R, M, σh) → b ϵ{0,1}

    Check (h, M, R) before verification, then verify the legitimacy of the signature σh w.r.t. the chameleon hash h, the signature public key yσpk and the public parameter g according to equation (5). if the equation holds, then b=1, otherwise b=0.

    00178_psisdg12260_122600a_page_5_15.jpg

3.2

Security model

The security model of the chameleon short signature is composed of an enhanced Collision-Resistance game 00178_psisdg12260_122600a_page_5_16.jpg of the chameleon hash function and an Existential-Unforgeability game 00178_psisdg12260_122600a_page_5_17.jpg of the short signature scheme. Each game contains a challenger B and an adversary A. The B simulates the operation of the system and answers the queries from the A. The formal definitions of each game are shown in Figures 2a and 2b, respectively.

Figure 2.

(a) Chameleon hash Collision-Resistance game; (b) Short signature Existential-Unforgeability game.

00178_psisdg12260_122600a_page_6_1.jpg

Collision Resistance. Collision resistance says, even if an adversary has access to an adapt oracle, it cannot find any collisions for messages other than the ones queried to the adapt oracle. Note, this is an even stronger definition than keyexposure, which only requires that one cannot find a collision for some new plaintext, i.e., for some auxiliary value for which the adversary has never seen a collision.

Definition 2 (Collision-Resistance). A chameleon-hash is collision-resistant, if for any polytime adversary A there exists a negligible function ω such that 00178_psisdg12260_122600a_page_6_2.jpg. The corresponding experiment is depicted in Figure 2a.

Existential-Unforgeability. The existential unforgeability of a digital signature means that an adversary cannot achieve a valid forged signature for at least one message even if the adversary has access to a sign oracle.

Definition 3 (EUF-CMA). A chameleon short signature scheme becomes existential unforgeability against adaptive selection message attack, referred to as EUF-CMA security, if for any polytime adversary A there exists a negligible function ω such that 00178_psisdg12260_122600a_page_6_3.jpg. The corresponding experiment is depicted in Figure 2a.

4.

TRAITOR TRACING MODEL

Blockchain relying on its decentralization, proof-tampering, openness and traceability, is extremely suitable for building a data sharing and leakage tracing framework. However, the blockchain usually stores the blocks in a sequential structure, which results in all the blocks on the chain need to be traversed when data querying for tracking, so the efficiency to traitor tracking is low. In response, first, we construct trusted a data sharing framework based on the chameleon short signature algorithm (3.1); Then, design a cascade chain to achieve the efficient tracing on the data leaker according to the constructed framework. Through the above design, we complete finally the trusted sharing to data and the efficient tracking to leaker.

4.1

Trusted sharing

The trusted sharing framework embeds the short chameleon signatures of both parties in the transaction as a watermark into the shared data to reduce the amount of signatures held in the entire system and the size of the watermark in the digital carrier, so as to provide conditions for effective tracking while ensuring the availability and robustness of the digital carrier. The trusted data sharing framework is shown in Figure 3.

Figure 3.

Shared traceability framework.

00178_psisdg12260_122600a_page_7_1.jpg

In publishing original data D, first, the data provider A generates a chameleon hash h based on its own identity information Ma={IDa, Ka, Sa}, where IDa is the unique identifier of user A, Ka is the embedding key for watermark, and Sa is the regular signature to (IDa, Ka); Then, the user A signs h with his own signature private key xσ, and embeds the chameleon short signature σh as watermark into D through Ka to obtain the watermarked carrier Dσ containing the chameleon signature message; Finally, the provider publishes the parameter {IDa, Ka, Sa, Ra, h, σh} generated in the above process to the blockchain system to form copyright information about D.

To get a trusted copy of data D, user B first submits his identity information Mb ={IDb, Kb, Sb}; Then, the provider A generates the check parameter Rb w.r.t (h, Mb), and embeds σh into the original data D using B’s watermark key Kb to obtain the watermarked carrier Dσ ’ so as to ensure that the transaction behavior of both parties is unforgeable and undeniable; Finally, the above-mentioned parameters{IDb, Kb, Sb, Rb} are all recorded on the blockchain to keep the traitor can be tracked when the data is leaked.

4.2

Efficient tracking

For achieve the efficient tracing to the data leaker, the cascade chain consists of three parts: the copyright chain, the transaction chain, and the copyright block index, the structure is shown in Figure 4. During the publishing of data Di, the consensus node generates a new copyright block Bn with relevant parameters {IDa, Ka, Sa, R, h, σh} and appends Bn to the chain to form a copyright chain {Bi}i=1,2,…,n. In the process of each sharing data Di, the consensus node generates a transaction block Bim based on the parameters {IDm, Km, Sm, Rm}, and appends Bim below the corresponding copyright block Bi to form a transaction chain {Bij}j=1,2,…,m, which makes sure that the transaction information of the same copyright data belongs to the same transaction chain. In order to further improve the query efficiency of traceability information, we let σh in the watermarked carrier as the query key keyHp (σh) to build an index on the copyright block, where 00178_psisdg12260_122600a_page_7_2.jpg. If someone checks the transaction, he can extract the signature σh in the carrier and quickly locate the copyright block through binary search to effectively obtain the copyright information and all transaction information in the corresponding transaction block.

Figure 4.

The cascade chain and its block structure.

00178_psisdg12260_122600a_page_8_1.jpg

If there is a suspected illegal copy 00178_psisdg12260_122600a_page_8_2.jpg on the market, the data owner can quickly query the corresponding copyright block Bi and all transaction blocks {Bij}j=1,2,…,n in the cascade chain with the keyword keyHp(σh) to collect the copyright information {IDi,Ki,Si,Ri,h,σh} and all transaction information {IDij,Kij,Sij,Rij}j=1,2,…,m. To track down a traitor, the owner utilizes the corresponding watermark extraction algorithm to obtain the signature information 00178_psisdg12260_122600a_page_8_3.jpg in the carrier 00178_psisdg12260_122600a_page_8_4.jpg through the watermark key Kij, verifies the correctness of copyright information by Verify00178_psisdg12260_122600a_page_8_5.jpg, and checks the consistency of the transaction by 00178_psisdg12260_122600a_page_8_6.jpg, where 00178_psisdg12260_122600a_page_8_7.jpg. If the above detects are passed, 00178_psisdg12260_122600a_page_8_8.jpg can be inferred as a potential data leaker.

5.

ANALYSIS

5.1

Security

This part mainly analyzes the credibility and traceability about the traitor tracking model based on the security of the proposed chameleon short signature (see the appendix for the security analysis). The credibility considered in this model refers to the trustworthiness of both parties in the transaction, that is, the transaction initiator is the data purchaser himself and the seller is the data provider himself. The Traceability considered in this traitor tracing model refers to the undeniability of both parties in the transaction, that is, the purchaser cannot deny that he is the transaction initiator and the provider cannot deny that he is the transaction executor.

Property 1 (credibility): Let the ordinary signature submitted by the data purchaser be unforgeable, if the chameleon signature in the traitor tracing model is existential unforgeability, the data sharing approach is credible.

Proof: From Section 4.1, the data purchaser B initiates a transaction to the data provider A with his ordinary signature message Sb. Because of the ordinary signature is unforgeable, the data provider A can confirm whether the initiator is the purchaser himself by verifying the legality of Sb. When the data purchaser B receives the shared copy from provider, he can extract the chameleon signature σb in the carrier by his own watermark key KbMb = (IDb, Kb, Sb) and verify the legality of (h, σb) to confirm that the shared data really comes from the data provider himself. Therefore, the sharing approach between the data purchaser and the provider is credible. (Property 1 is proved)

Property 2 (Traceability) Let the ordinary signature submitted by the data purchaser be unforgeable, if the chameleon hash is collision resistant and the chameleon signature is existential unforgeability, the data sharing approach is traceable.

Proof: It is known from Section 4.2 that if there is an illegal shared copy 00178_psisdg12260_122600a_page_9_1.jpg on the market, the data inspector can extract the chameleon signature 00178_psisdg12260_122600a_page_9_2.jpg through the purchaser’s watermark key KbMb. Since the ordinary signature Sb about (IDb, Kb) is unforgeable, the purchaser cannot deny that the transaction was initiated by him. Because of the chameleon hash h w.r.t. Mb is collision resistant, the inspector can check the compatibility of (h, Mb, Rb) to prevent the purchaser from denying that the illegal copy comes from himself. Since the provider’s chameleon signature 00178_psisdg12260_122600a_page_9_3.jpg related to h is existential unforgeability, the provider cannot deny that the data carrier is authorized by himself. Thus, the data sharing approach between the data purchaser and the provider is traceable (Property 2 is proved).

5.2

Simulation

This experiment leverages 1 host (CPU is Intel Core i5 7500, memory is 8 GB, operating system is Windows 10) to simulate the big data platform and watermark center, and 4 hosts (CPU is Intel Core i3 2120, memory is 4 GB), operating system is Windows 7) to simulate the consensus node. We choose C++ as the main programming language to build the chameleon short signature algorithm, the watermarking algorithm and the PBFT consensus. Based on the above experimental environment, we take 20,000 rows and 50 columns of structured data as a carrier, and conduct multiple data sharing and tracing experiments.

In order to analyze the performance of the improved chameleon hash, we conduct experiments on the proposed scheme and the Khalili scheme with different sizes of data, and the time consumption is shown in Figure 5. From it, we can observe that the time consumption of the Hash and the Check is reduced by about 15ms, the Adapt is reduced by about 45ms. The reason is that the proposed algorithm reduces the mapping operation of the plaintext hash and the inverse operation of the group 𝔾, so the time comparison of each part is reduced except for the key generation KeyGen. Overall, there is a certain improvement in the performance of the proposed algorithm.

Figure 5.

Comparison of the chameleon hash.

00178_psisdg12260_122600a_page_9_4.jpg

Figure 6.

Consumption of the chameleon short signature.

00178_psisdg12260_122600a_page_10_1.jpg

We conducted 100 data sharing experiments on 5 published digital works to obtain the time cost of the chameleon short signature, and randomly selected 5 sharing instances of A, B, C, D and E from the 5 works for time analysis, which is shown in Fgure 6. It shows that the time consumption of the hash generation (Hash)and compatibility check (Check)about the proposed chameleon hash is approximately 35ms, the time cost of the adjustment to check parameter (Adapt) is approximately 75ms, and the time consumption of the signature (Sign)and verify (Verify) are maintained at 15ms and 25ms, respectively. On the whole, the execution time of the proposed chameleon short signature can well meet the practical requirements to achieve trusted sharing.

The traditional blockchain leverages a sequential chain to link blocks, while we use a cascade chain to connect blocks. In order to further compare and analyze the retrospective time cost of the two chain, we respectively conducted 100 data sharing on 5 digital work to ensure that 500 transaction blocks are recorded on the chain; then, each work randomly selects a leaked copy for tracing. For the same node, the consumption of leak detection in the two traceability chains is shown in Figure 7. What can be seen from the figure is that the detection efficiency of the cascade chain is about 3 times that of the traditional chain. The reason is that the cascaded chain only detects transaction blocks related to the original data, and does not compare all blocks, so the efficiency of leakage tracking is significantly better than that of the traditional chain.

Figure 7.

Consumption on leak detection.

00178_psisdg12260_122600a_page_10_2.jpg

In order to fully analyze the time consumption of the traitor tracking system, we embed the chameleon short signature into the digital carrier by the watermarking algorithm GAHSW19, and write the transaction information on the chain by the PBFT algorithm. Based on the above design, we randomly selected five shared instances of A, B, C, D and E for analysis. The overall performance is shown in Figure 8. The time consumption in data sharing includes embedded watermarks and consensus writing blocks, and the consumption in traitor tracing includes block reading and watermark detection. From the figure, we can see that the entire sharing and tracing time consumption is concentrated on the embedding and extraction of the watermark. Therefore, it is the key to improve the efficiency of the watermarking algorithm for improving the efficiency of traitor detection.

Figure 8.

Consumption on traitor tracing system.

00178_psisdg12260_122600a_page_11_1.jpg

Malicious users usually attack authorized copies with watermarks to varying degrees to obtain illegal copies that cannot be held accountable. For a single attacker, row deletion and column deletion are the easiest attacks, but for multiple attackers, collusion combinations, maximum, minimum and average attacks are the most common attacks. Among them, the attack of collusion combination refers to each conspirator taking out the same amount of different data to form an illegal copy; the attack of maximum (minimum, average) is to use the maximum (minimum, average) of the element at the corresponding position in all authorized copies as the element of the illegal copy.

In order to analyze the traceability of the traitor tracking model under different watermarking algorithms, we respectively embed the chameleon short signature into the digital carrier based on four robust watermarking algorithms such as GAHSW19, GADEW15, RLW11, RRW14 and attack those carries to varying degrees. The detection effect is shown in Tables 2-4.

Table 2.

Detection effect on single traitor.

Attack typeSchemeDegree of attack
  10%20%30%40%50%
Row deleteGAHSW
GADEW
RLW×
RRW××
Column deleteGAHSW
GADEW×
RLW××
RRW×

Table 2 shows the detection results of digital carriers under different watermarking algorithms and different degrees of deletion attacks in a single attacker scenario. From the table, we can get that for the scheme GAHSW, whether it is row deletion or column deletion, the tracking algorithm can correctly detect the signed message about owners and consumers as long as the attack degree it suffers does not exceed 50%; And for the scheme GADEW, as long as the attack degree does not exceed 40%, it can also correctly detect the signed message. In comparison, the GAHSW algorithm can deal with the deletion attack in a single traitor well.

If it is defined that the matching rate between the original signature and the extracted signature is η=(lenσdishc) / lens, where lenσ is the length of the original signed message, and dishc is the distance of Hamming code between the original signed signature and the extracted. Under environment of the different colluders, the different attack strategy and the different watermarking algorithms, we let “○” means participating in collusion and “×” indicates not participating, then the matching rate under 2 colluders (A, B) and 3 colluders (A, B, C) is show in Tables 3 and 4, separately.

Table 3.

The matching rate of two colluders.

Attack strategyScheme2 conspirators
A○B○
Combination replacementGAHSW93%91%45%51%46%
GADEW98%95%37%42%53%
RLW86%91%63%46%57%
RRW73%79%51%36%46%
MaxGAHSW74%77%53%55%47%
GADEW83%83%43%51%48%
RLW76%69%51%47%34%
RRW63%68%39%51%48%
MinGAHSW79%75%42%36%51%
GADEW81%76%53%61%42%
RLW73%77%39%48%55%
RRW67%72%53%46%41%
AverageGAHSW74%69%38%54%47%
GADEW79%76%48%38%42%
RLW76%71%46%43%48%
RRW65%69%54%39%54%

Table 4

The matching rate of three colluders.

Attack strategyScheme3 conspirators
A○B○C○
Combination replacementGAHSW81%79%84%41%36%
GADEW86%83%87%43%51%
RLW83%79%81%59%53%
RRW65%67%71%49%51%
MaxGAHSW67%65%69%53%47%
GADEW76%78%76%42%37%
RLW61%63%62%39%46%
RRW59%63%58%51%47%
MinGAHSW68%61%64%39%48%
GADEW76%78%73%51%53%
RLW63%67%71%48%36%
RRW64%58%61%37%51%
AverageGAHSW63%71%68%54%47%
GADEW73%69%75%48%39%
RLW62%56%64%51%48%
RRW61%58%63%46%38%

It can be seen from Table 3 that all the watermarking algorithms can well detect out potential traitors in the case of 2 colluders. From Table 4, we can get that if 3 colluders conduct the attack of combined substitution on the digital carrier, all algorithms can also detect out potential traitors well. However, for maximum and minimum attacks, the algorithms GAHSW, GADEW, and RLW have relatively better anti-collusion attacks; for average attacks, the algorithms GAHSW and GADEW are more resistant to collusion; On the whole, the efficiency of identifying colluders is GADEW > GAHSW > RLW > RRW, but the scheme GADEW modifies the original carrier to a greater extent and makes the data availability relatively low, so the GAHSW algorithm is more suitable for detecting data leakers in the traitor tracking model.

6.

CONCLUSION

The traceability of data leaks in the big data environment is an issue that people have been paying attention to. This paper takes structured data as the main research point. A chameleon short signature is designed to complete trusted data sharing, and a cascade chain is established to effectively achieve traitor tracking. The security and efficiency of the scheme are analyzed through provable security model and experimental simulation. We hope to provide valuable reference information for related researchers.

ACKNOWLEDGMENTS

This work was supported by National Natural Science Foundation of China under Grant Nos. 61662009 and 61772008; Science and Technology Major Support Program of Guizhou Province under Grant No.20183001; Key Program of the National Natural Science Union Foundation of China under Grant No.U1836205; Science and Technology Program of Guizhou Province under Grant No.[2019]1098; Project of High-level Innovative Talents of Guizhou Province under Grant No. [2020]6008; Science and Technology Program of Guiyang under Grant No.[2021]1-5; Graduate Research Foundation of Guizhou Province No.[2021].

REFERENCES

[1] 

“A secure and verifiable data sharing scheme based on blockchain in vehicular social networks,” IEEE Transactions on Vehicular Technology, 69 (6), 5826 –5835 (2020). https://doi.org/10.1109/TVT.25 Google Scholar

[2] 

“Cpds: Enabling compressed and private data sharing for industrial IoT over blockchain,” IEEE Transactions on Industrial Informatics, 17 (4), 2376 –2387 (2020). https://doi.org/10.1109/TII.9424 Google Scholar

[3] 

“Privacy protection and intrusion avoidance for cloudlet-based medical data sharing,” IEEE Transactions on Cloud Computing, 8 (4), 1274 –1283 (2020). https://doi.org/10.1109/TCC.6245519 Google Scholar

[4] 

“A blockchain-based medical data sharing and protection scheme,” IEEE Access, 7 118943 –118953 (2019). https://doi.org/10.1109/Access.6287639 Google Scholar

[5] 

“Spatial image data traceability and interaction mechanism based on alliance chain,” in IEEE 10th Inter. Conf. on Software Engineering and Service Science (ICSESS), 586 –591 (2019). Google Scholar

[6] 

“RPEDS: A recoverable and revocable privacy-preserving edge data sharing scheme,” IEEE Internet of Things Journal, 7 (9), 8077 –8089 (2020). https://doi.org/10.1109/JIoT.6488907 Google Scholar

[7] 

“Blockchain empowered asynchronous federated learning for secure data sharing in internet of vehicles,” IEEE Transactions on Vehicular Technology, 69 (4), 4298 –4311 (2020). https://doi.org/10.1109/TVT.25 Google Scholar

[8] 

“Blockchain-based P2P multimedia content distribution using collusion-resistant fingerprinting,” in 2019 Asia-Pacific Signal and Information Processing Association Annual Summ. and Conf. (APSIPA ASC), 1606 –1615 (2019). Google Scholar

[9] 

“Watermarking relational databases,” in Proc. of the 28th Inter. Conf. on Very Large Data Bases (VLDB’02), 155 –166 (2002). Google Scholar

[10] 

“Watermarking relational databases using optimization-based technique,” IEEE Transactions on Knowledge and Data Engineering, 20 (1), 116 –129 (2008). https://doi.org/10.1109/TKDE.2007.190668 Google Scholar

[11] 

“Robust lossless watermarking of relational databases based on circular histogram modulation,” IEEE Transactions on Information Forensics & Security, 9 (3), 397 –410 (2017). https://doi.org/10.1109/TIFS.2013.2294240 Google Scholar

[12] 

“Semantic-driven watermarking of relational textual databases,” Expert Systems with Applications, 167 (2), 368 –379 (2020). Google Scholar

[13] 

“A robust, distortion minimizing technique for watermarking relational databases using once-for-all usability constraints,” IEEE Transactions on Knowledge and Data Engineering, 25 (12), 2694 –2707 (2013). https://doi.org/10.1109/TKDE.2012.227 Google Scholar

[14] 

“RRW-a robust and reversible watermarking technique for relational data,” IEEE Transactions on Knowledge & Data Engineering, 27 (4), 1132 –1145 (2015). https://doi.org/10.1109/TKDE.2014.2349911 Google Scholar

[15] 

“Reversible and blind database watermarking using difference expansion,” International Journal of Digital Crime and Forensics, 1 (2), 42 –54 (2008). https://doi.org/10.4018/IJDCF Google Scholar

[16] 

“Genetic algorithm and difference expansion based reversible watermarking for relational databases,” Journal of Systems and Software, 11 (86), 2742 –2753 (2013). Google Scholar

[17] 

“A new reversible database watermarking approach with firefly optimization algorithm,” Mathematical Problems in Engineering, 1 –14 (2017). https://doi.org/10.1155/2017/1387375 Google Scholar

[18] 

“Reversible water-marking for relational database authentication,” Journal of Computers, 17 59 –65 (2006). Google Scholar

[19] 

“A new robust approach for reversible database watermarking with distortion control,” IEEE Transactions on Knowledge and Data Engineering, 31 1024 –1037 (2019). https://doi.org/10.1109/TKDE.69 Google Scholar

[20] 

“Collusion-secure fingerprinting for digital data,” IEEE Transactions on Information Theory, 44 (5), 1897 –1905 (1998). https://doi.org/10.1109/18.705568 Google Scholar

[21] 

“Collusion-resistant video fingerprinting for large user group,” IEEE Transactions on Information Forensics and Security, 2 (4), 697 –709 (2007). https://doi.org/10.1109/TIFS.2007.908179 Google Scholar

[22] 

“A novel anti-collusion audio fingerprinting scheme based on fourier coefficients reversing,” IEEE Signal Processing Letters, 27 1794 –1798 (2020). https://doi.org/10.1109/LSP.97 Google Scholar

[23] 

“Fingerprinting codes under the weak marking assumption,” IEEE Transactions on Information Forensics & Security, 13 (6), 1495 –1508 (2017). https://doi.org/10.1109/TIFS.2017.2779112 Google Scholar

[24] 

“Signature codes for weighted binary adder channel and multimedia fingerprinting,” IEEE Transactions on Information Theory, 67 (1), 200 –216 (2021). https://doi.org/10.1109/TIT.18 Google Scholar

[25] 

“Chameleon signatures,” NDSS Symp, 143 –154 (2000). Google Scholar

[26] 

“Identity-based chameleon hash and applications,” Lecture Notes in Computer Science, 167 164 –180 (2004). https://doi.org/10.1007/b98935 Google Scholar

[27] 

“On the key exposure problem in chameleon hashes,” in Inter. Conf. on Security in Communication Networks, 165 –179 (2005). Google Scholar

[28] 

“Hierarchical identity-based chameleon hash and its applications,” in Inter. Conf. on Applied Cryptography & Network Security, 201 –219 (2011). Google Scholar

[29] 

“Identity-based chameleon hashing and signatures without key exposure,” Information Sciences, 265 198 –210 (2014). https://doi.org/10.1016/j.ins.2013.12.020 Google Scholar

[30] 

“Chameleon-hashes with ephemeral trapdoors and applications to invisible sanitizable signatures,” IACR Inter. Work. on Public Key Cryptography, 152 –182 (2017). Google Scholar

[31] 

“Efficient chameleon hash functions in the enhanced collision resistant model,” Information Sciences, 510 155 –164 (2020). https://doi.org/10.1016/j.ins.2019.09.001 Google Scholar

[32] 

“Quadratic span programs and succinct NIZKs without PCPs,” in Annual Inter. Conf. on the Theory and Applications of Cryptographic Techniques, 626 –645 (2013). Google Scholar

[33] 

“Redactable blockchain-or-rewriting history in bitcoin and friends,” IEEE European Symp. on Security and Privacy, 111 –126 (2017). Google Scholar

[34] 

“Snarky signatures: Minimal signatures of knowledge from simulation-extractable snarks,” in Annual International Cryptology Conf, 581 –612 (2017). Google Scholar

[35] 

“Short group signatures,” in 24th Annual Inter. Cryptology Conf, 227 –242 (2004). Google Scholar

Appendices

APPENDIX

This part is to analyze the security of the proposed chameleon short signature based on the 00178_psisdg12260_122600a_page_15_1.jpg and 00178_psisdg12260_122600a_page_15_2.jpg game model (3.2).

Theorem 1 Let 𝔾 be the gap group and H𝔾 be the random oracle on 𝔾. If the CDH assumption holds on 𝔾, then the chameleon hash function is collision resistance.

Specifically, suppose there is a polynomial adversary A that breaks the chameleon hash scheme with the advantage of ω(κ), then there must be an adversary B to solve the CDH on 𝔾 at least by the advantage of

00178_psisdg12260_122600a_page_15_3.jpg

where e is the base of the natural logarithm, qH is the maximum number of queries to H𝔾.

Proof: From Section 3.2, the process of the game 00178_psisdg12260_122600a_page_15_4.jpg between A and B is as follows.

  • (1) Adversary B runs Setup(κ) and KeyGen(Parm) to generate the key pair (pk, sk), selects a random function 00178_psisdg12260_122600a_page_15_5.jpg, and send the system parameters and public key to adversary A.

  • (2) Adversary A can send any inquiry H𝔾(·) about M’ to adversary B and inquiry Adatp’(·) about the check parameters, adversary B response R’ as the corresponding answer. During this process, q is the maximum number of times A queries H𝔾(·), and M’ ∉ 𝒪.

  • (3) Adversary A outputs a set of chameleon hash pairs (h*,M*,R*,M’*,R’*). If Check(h*,M*,R*)=1 ^ Check(h*,M’*,R’*)=1, then the attack from A is successful, in which the check parameter R’* of M’* has not been queried by it before.

Analysis: Knowing R’ = (h/m’)x from equation (3) in Section 3.1, if B can find a certain r*, such that r* = h / m’,then (r*)x = (h / m’)x. If m’ is the hash value of a certain plaintext M ’, then (h / m’)x is the check parameter for (M’, h). Since adversary B knows {g, h, y = gx, m’= H𝔾(M’) } and want to leverage A as a subroutine to attack the chameleon hash algorithm, its goal is to find out R’ = (r*)x =(h / m’)x. In step (3) of the above game 00178_psisdg12260_122600a_page_16_1.jpg (M’*, R’*) is generated by adversary A, but H𝔾(M’*) is generated by B, so B can be set 00178_psisdg12260_122600a_page_16_2.jpg. When B lets r* be the potential hash of a target plaintext, his goal is to call A to calculate (r*)x based on the triple (g, gx, r*),which is to solve the CDH problem. Throughout the game, B doesn’t know which plaintext will be generated by A to forge a check parameter. Therefore, he has to make a guess that the j-th query Hr corresponds to A ’s final forged result.

For simplicity without loss of generality, we assume that 1). Adversary A must have asked (h, M, R)before asking Hr(M’); 2). Adversary A will not initiate the same query Hr(M’) twice to M’; 3). Adversary A must have asked Hr(M’) before querying the check parameters of M’; 4). Adversary A he must have asked (h*, M*, R*) and Hr(M’*) before he outputs (M’*, R’*).

In the actual process, B implicitly regards u = ga in the known tuple (g, и = ga, r*) as its own public key (in fact, B does not know the specific value of a), then (r*)a is a forgery check parameter of a certain plaintext, namely R’* = (r*)a =(Hr(M’))a = (h/H𝔾(M’))a where (r*)a is forged by A. To hide instance u = ga, B needs to select a randomness t and send и · gt to A as the public key of В.

The following proves that the collision resistance game 00178_psisdg12260_122600a_page_16_3.jpg of the chameleon hash can be reduced to the CDH problem.

  • (1) B sends the generator g of group 𝔾 and the public key y = u · gt = ga+t ∈ 𝔾 to A, where 00178_psisdg12260_122600a_page_16_4.jpg and the secret key corresponding to y is a + t. At the same time, B randomly selects 00178_psisdg12260_122600a_page_16_5.jpg as the hypothetical index of the forged parameter, that is, the j-th query of Hr from A corresponds to the hash of the target plaintext M ’.

  • (2) Hr query (at most q times), B creates an empty list Hlist and let the five-tuple (h,Mi,ri,yi,bi) be the element in it, which means that B has set Hr(M) = h / H𝔾(Mi) = ri. When A makes the i-th inquiry to Hr(·), B randomly selects 00178_psisdg12260_122600a_page_16_6.jpg and answers as follows:

    ‧If i = j, return 00178_psisdg12260_122600a_page_16_7.jpg;

    ‧Otherwise, calculate 00178_psisdg12260_122600a_page_16_8.jpg.

    Take yi as the answer to the query Hr(Mi), and append (h,Mi,ri, yi,bi)to the list.

  • (3) Adapt’ query (at most q times). In the process of A requesting check parameter of plaintext M ’ related to h, B let M’=Mi be the i-th Hr query, and respond to the query in the following way:

    ‧If ij, then retrieval the tuple (h,Mi,ri,yi,bi) in Hlist, compute 00178_psisdg12260_122600a_page_17_1.jpg, and return Ri’ to A. Because of 00178_psisdg12260_122600a_page_17_2.jpg, Ri ’ is the check parameter constructed by ri on Mi with secret key a + r.

    ‧If i = j, then interrupt.

  • (4) A outputs (M’*, R’*).

    If M’* ≠ Mj, interrupt;

    ‧Otherwise, B outputs 00178_psisdg12260_122600a_page_17_3.jpg as (r*)a. For

    00178_psisdg12260_122600a_page_17_4.jpg

    If the guess i from B is correct and A finds a correct forgery, then B successfully solves the given CDH problem, that is, B finds R’*=(r*)a based on (g, ga, r*) with A. The successful output from B is determined by the following 3 events:

    ε1 : B isn’t interrupted during A ’s parameter inquiry process.

    ε2: A produces a valid “plaintext-parameter” pair (M’*, R’*).

    ε3 : ε2 occurs and the subscript of M’* in the corresponding five-tuple (h,Mi,ri,yi,bi) is i = j.

    00178_psisdg12260_122600a_page_17_5.jpg

    So the advantage of B is:

    00178_psisdg12260_122600a_page_17_6.jpg

    Since the CDH problem holds on 𝔾, the advantage 00178_psisdg12260_122600a_page_17_7.jpg of polynomial adversary B is negligible, so the chameleon hash algorithm is collision resistant. (Theorem 1 is proved)

Theorem 2 Let 𝔾 be a gap group, and the chameleon hash function Hh is collision resistance on 𝔾, if the CDH problem on 𝔾 is difficult, the chameleon short signature is EUF-CMA.

Specifically, suppose there is an EUF-CMA adversary A who breaks the short signature scheme with the advantage of ω(κ), then there must be an adversary B to solve the CDH on 𝔾 at least by the advantage of

00178_psisdg12260_122600a_page_17_8.jpg

where e is the base of the natural logarithm, qH is the maximum number of queries to Hh.

Proof: The game process of 00178_psisdg12260_122600a_page_18_1.jpg is similar to the 00178_psisdg12260_122600a_page_18_2.jpg.

  • (1) Adversary B runs Setup(κ) and KeyGen(Parm)to generate the key pair (pk, sk), selects a random function 00178_psisdg12260_122600a_page_18_3.jpg, and send the system parameters and public key to adversary A.

  • (2) Adversary A can request any chameleon hash query HhHash(pk,M) about M, and B responds with (h,R) as the corresponding answer. A can request any signature query Sign(·) about h, and B responds with σ. During this process, q is the maximum number of times A queries Hh(·), and Μ𝒪.

  • (3) The adversary A outputs a signature pair (h*, σ*). If Verify(pk, h*, σ*) = 1 then the attack from A is successful, in which the signature σ* of the chameleon hash h * has not been queried by it before.

Analysis: Knowing σ = hx from formula (3.4), if B can find a certain chameleon hash triple (h*, M*, R*), such that σ* = (h*)x, then σ* is the signature of the chameleon hash h* related to the plaintext M*. Since adversary B knows {g, у = gx, h = Hash(pk, M)} and want to leverage A as a subroutine to attack the chameleon short signature, its goal is to find out σ* = (h*)x. In step (3) of the game 00178_psisdg12260_122600a_page_18_4.jpg, (h*, σ*) is generated by adversary A, but h* is generated by B, so B can be set h* ← Hh(M*) ← Hash(pk, M*). When B lets h* be the chameleon hash of a target “plaintext-parameter” pair (M*,R*), his goal is to call A to calculate (h*)x based on the triple (g, gx, h*), which is to solve the CDH problem. Throughout the game, B doesn’t know which chameleon hash will be generated by A to forge a short signature, Therefore, he has to make a guess that the j-th query Hh corresponds to A’s final forged result.

For simplicity without loss of generality, we assume that 1). Adversary A only initiates a plaintext chameleon hash query Hh, and doesn’t initiate a adapt query; 2). Adversary A will not initiate the same query twice Hh(M)to M; 3). Adversary A must have asked hHh(M) before requesting the signature; 4). Adversary A must have inquired about h* ← Hh(M*) before outputs the signature (h*, σ*).

In the actual process, B implicitly regards u = ga in the known tuple (g, и = ga, h*) as its own public key (in fact, B does not know the specific value of a), then (h*)a is a forgery signature of the chameleon hash h* related to (M*,R*), where h* is generated by B Randomly, (h*)a is forged by A. To hide instance u = ga, B needs to select a random number t and send и · gt to A as the public key of B.

The following proves the Existential-Unforgeability game 00178_psisdg12260_122600a_page_18_5.jpg of the short signature can be reduced to the CDH problem.

  • (1) B sends the generator g of group 𝔾 and the public key y = u · gt = ga+t ∈ 𝔾 to A, where 00178_psisdg12260_122600a_page_18_6.jpg and the secret key corresponding to y is a+t. At the same time, B randomly selects 00178_psisdg12260_122600a_page_18_7.jpg as the hypothetical index of the forged signature, that is, the j-th query of Hh from A corresponds to the signature of the target hash h *.

  • (2) Hh query (at most q times), B creates an empty list Hlist, and let the tuple (Mi, yi, bi) be the element in it, which means that B has set Hh(Mi) = Hash(pk,Mi) = yi. When A makes the i-th inquiry to Hh(·), B randomly selects 00178_psisdg12260_122600a_page_18_8.jpg and answers as follows:

    ‧If i = j,return 00178_psisdg12260_122600a_page_19_1.jpg;

    ‧Otherwise, calculate 00178_psisdg12260_122600a_page_19_2.jpg.

    Take yi as answer to the query Hh(Mi), and append (Mi, yi, bi) to the list.

  • (3) Sign query (at most q times). In the process of A requesting the signature of h related to plaintext M, B let M=Mi be the i-th Hh query, and respond to the query in the following way:

    ‧If ij, then retrieval the tuple (Mi, yi, bi) in Hlist, compute 00178_psisdg12260_122600a_page_19_3.jpg, and return σ to A. Because of 00178_psisdg12260_122600a_page_19_4.jpg, σ is the signature constructed by the secret key a + r on Mi.

    ‧If i = j, then interrupt.

  • (4) A outputs (h*, σ*).

    ‧If M*≠ Mj in triple (h*, M*, R*), then interrupt;

    ‧Otherwise, B outputs 00178_psisdg12260_122600a_page_19_5.jpg. For

    00178_psisdg12260_122600a_page_19_6.jpg

    If the guess i from B is correct and A finds a correct forgery, then B successfully solves the given CDH problem, that is, B finds σ* =(h*)a based on (g, ga, h*) with A. Therefore, the advantage of B is the same as Theorem 1, which is:

    00178_psisdg12260_122600a_page_19_7.jpg

    Since the CDH problem holds on 𝔾, the advantage 00178_psisdg12260_122600a_page_19_8.jpg of polytime adversary B is negligible, so the short signature algorithm is EUF-CMA (Theorem 2 is proved).

© (2022) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Weiqiang Jiang, Kedi Yang, and Youliang Tian "Traitor tracing scheme for relational databases based on blockchain", Proc. SPIE 12260, International Conference on Computer Application and Information Security (ICCAIS 2021), 122600A (24 May 2022); https://doi.org/10.1117/12.2637501
Advertisement
Advertisement
RIGHTS & PERMISSIONS
Get copyright permission  Get copyright permission on Copyright Marketplace
KEYWORDS
Digital watermarking

Data modeling

Detection and tracking algorithms

Computer security

Data centers

Databases

Information security

Back to Top