, ,
(Software College, Shenyang Normal University, Shenyang 110034, China)
Abstract: The rise of computer science and technology has brought a lot of convenience to people, but at the same time, network security faces unprecedented challenges. In order to meet the higher level of security capability in the future based on block chain, we design a new anti-leaked authentication data sharing scheme in this paper. For the process of data sharing between internet enterprises, user’s information is easily stolen or tampered. In particular, employees in the company leak user’s sensitive data unintentionally or intentionally. These behaviors affect the efficiency of data asset sharing. For this reason, this paper uses the negative representation of information to share information. Based on the character of decentralization, openness, difficult to-change, and using the smart contract in the blockchain to reduce costs, solve all problems, improve work efficiency and promote social development of the intelligent.
Key words: information security; blockchain; smart contract; negative database
The rapid growth in network technologies has provided a flexibility of communication and content that has had a transformative impact to all aspects of society. Therefore, more and more companies in different areas import client authentication data each other. They use this method to realize the realization of traffic monetizing, client’s fund switching and other mutually beneficial operations. For example, Google import client authentication information to Apple, JD.COM import client authentication information to WeChat and so on.
Cryptology technology is an important security control mechanism. However, it is not highly secure. If internal employee do the improper operation or leak information maliciously, it can cause serious consequences, especially with regard to biometric authentication information (e.g., fingerprint and iris). Thus far, many traditional cryptographic methods[1-3]have been proposed to protect the authentication data. Although these schemes can use encryption and decryption algorithm for protecting shared authentication data, some of them need encrypt and decrypt the database repeatedly for providing the database service. This method must highly reduce efficiency. Some other schemes have a valid access control to the positive database, but this method does not eliminate all security risks, such as the threat of the disclosure of biometric information, or the threat of an offline decryption of authentication information to obtain the entity’s long-term key. In order to solve the problem, the company is necessary to adopt new methods and techniques.
Therefore, the technology of negative information algorithm is adopted. Negative representation of information was first proposed by Esponda et al in 2004[4-6]which was inspired by the negative selection mechanism in the biological immune system. Negative database (NDB) is one of the main models of negative information representation. TheNDBrealizes data security, privacy protection and other purposes by storing the original data collection[4,7-8]. At present, theNDBis used in some application scenarios. For example, theNDBcan be used to protect the user’s privacy data in [5]. It has a series of operation operators on theNDB, which can support database operation under the premise of protecting the positive database security, such as schemes in [9-10]. It also can be used for data hiding and it “hides” the original data by using complementary set information contained in aNDB, such as scheme in [11].
Negative representation of information is a new kind of information representation method to achieve the goal of protecting data security and privacy. When the problem of sharing authentication data is solved, the contract issue is coming. For example, no one can prove the validity of the agreement and no one can guarantee that party B will not deny the data and so on. At this time, the traditional way is to sign a legal agreement. But the scheme is extremely inefficient. For this problem, a smart contract based on block chain is adopted. The phrase “smart contracts” was first coined by computer scientist Nick Szabo in [12]. Emerging smart contract systems over decentralized cryptocurrencies allow mutually distrustful parties to transact safely without trusted third parties[13]. Within the block chain context, smart contracts are scripts stored on the block chain. Compared with the traditional contract, it can save a lot of manpower, time and resources, but can bring more stable and safer benefits.
In this paper, based on block chain, we design a new anti-leaked authentication data sharing scheme. In other words, theNDBwhich is generated through aNDBalgorithm can be embedded as a smart contract and chained to block chain. The scheme provides authentication data protection to enhance the security without increasing much cost and manpower. Moreover, the proposed scheme can be adopted in large data set and biometric authentication. Overall, our contributions are:
1) We propose the authentication data sharing based on block chain. Therefore, it can protect the contract. We analyze the security of the proposed scheme and show that it can resist hostile attacks, data leakage, biometric authentication information attacks and internal offline dictionary attacks.
2) We propose the authentication data shared by this scheme is negative information. So a company can share and receive the authentication data trustingly that can’t be afraid of being leaked.
The rest of the paper is organized as follows: We outline preliminaries in Section 1. Next, a primary generic construction idea of authentication data sharing and a concrete scheme is presented in Section 1. Then, the security and efficiency analysis are given in Section 3. This paper is finally concluded in Section 4.
The concept of blockchain was first proposed by Satoshi Nakamoto in 2008[14]. In the years that followed, it has become a central component of the electronic currency bitcoin: the public ledger of all transactions.
The core advantage of blockchain technology is decentralization.It has some unique features like data irreversibility, data tamper-resistant and data maintenance by all participants, which make blockchain technology become a natural “distributed ledger”.
Blockchain can be divided into six levels: data layer, network layer, consensus layer, incentive layer, contract layer and application layer. Figure 1 shows this infrastructure model.
Among them, the data layer encapsulates the underlying data blocks, relevant data encryption, timestamp, other basic data and algorithms. The network layer includes distributed networking mechanism, data transmission mechanism and data verification mechanism. The consensus layer mainly encapsulates all kinds of consensus algorithms of network nodes. The incentive layer integrates economic factors into the block chain technology system, including the distribution mechanism and distribution mechanism of economic incentives. Contract layer mainly encapsulates all kinds of scripts, algorithms and intelligent contracts, which is the basis of block chain programmable characteristics. The application layer encapsulates various application scenarios and cases of blockchain. In this model, the structure based on timestamp, the consensus mechanism of distributed nodes, the economic incentive based on consensus computing force and the flexible programmable intelligent contract are the most representative innovation points of block chain technology.
Blockchain technology can improve the security of data, reduce the cost of data maintenance and promote the intelligent development of organizations. In the future, it will have a wide range of application prospects in these fields of banking, auditing, copyright andsocial contact.
Negative database was first proposed and given the basic concept by Esponda et al in 2004[15]. The concept ofNDBis of great significance in the field of cryptography.NDBcan be described as: suppose the database is a data set composed of n-bit binary strings, andUis a complete set composed of n-bit binary strings, thenNDBstores a compressed form of contents in (U-DB). Since theNDBhas a many-to-one relationship with the original database, we use the notation “*” to represent “don’t care”. We represent the alphabet in theNDBas {0,1,*}, if the value of a bit of a record inNDBis “*”, this bit is called an indeterminate position; if the value of a bit of a record inNDBis “0” or “1”, this bit is called a determinate position. Tab.1 illustrates this example in detail.
Subsequently, a gaussian negative survey was proposed in [16], which made the probability of participants choosing negative options subject to the high probability distribution. It also used the gaussian negative survey to collect clustered spatial data and support regional clustering query. In 2007, Horey and his colleagues[17]applied negative surveys to anonymous data collection in sensor networks. Groat and his colleagues proposed a multi-dimensional negative survey in [18-19], which can be used to construct a data aggregation model in participatory perception applications. In 2012, Horey et al[20]. Applied negative survey to location privacy protection. They proposed a negative quadtree model and showed that their model had high efficiency and accuracy. Bao, Luo and Zhang pointed out in literature [21] that unreasonable negative values may be generated in the original negative survey model, and proposed two effective methods to solve this problem. In [22], Bao, Luo and Lu proposed the confidence calculation method of negative survey, which can be used to evaluate the quality of reconstruction results. Du, Luo and Zhao proposed a privacy protection data publishing method based on negative survey in [23], which is called negative data publishing.
At present, some negative database generation algorithms have been proposed. Typically, the prefix algorithm[24]is the first algorithm used to generate binary negative databases. In order to generate a negative database that is difficult to solve[24], also proposes anRNDBalgorithm. In 2005, Jia et al. proposed a q-hidden algorithm for generating difficultSATinstances[25]. Liu et al[26]. Proposed hybrid-NDBpublic algorithm by combining prefix algorithm and q-hidden algorithm. In [27], Liu, Luo and Yue also proposed p-hidden algorithm.
In this section, we outline our proposed dynamic identity-based negative authenticated scheme. Our proposed scheme in this paper is based on theNDB. TheNDBand hash function are employed to preserve security of theID, in which forward security and forward anonymity are preserved by use the dynamicID. In addition, replay attacks are prevented by using a smart card. Using our protocol, either party can’t incur loss. A blockchain is like a monitor recording everyone’s behavior. Every action or transaction is stored in a block and connected to the blockchain securely. No one can tamper with these records. We write smart contracts on the blockchain, which are self-enforcing code that executes commands.
Tab.2 Notation
For clarity, we describe the protocol regarding three network participants that we call user (U), the server of companyA(severA) and the server of companyB(serverB). This protocol comprises three phases: registration phase, authentication phase and password changing phase.
The notations used in this paper are shown in Table 2.
If a user wants to be a legitimate user of a server, he/she must first register with the server. The server controls the access of system resources by authenticating the user whether it is legal or not, and protects the resource security. In this phase, the server generates system parameters. First, definewis the chosen key size, the serverSselect a finite fieldFqover a large prime numberq, whereq>2w. An elliptic curve equationE:y2=x3+ax+b(modq) overFqis determined, wherea,b∈Fq, and it satisfies the condition of 4a3+27b2≠0(modq). Meanwhile, serverSselects a public pointPwith the ordernoverE, and utilizesPto generate a cyclic additive groupGof order n overE. Hash function {0,1}*→{0,1}liis denoted byHi, wherei∈{0,1,2,3} andliis the output bit length ofHi. When user wishes to register his/her to sever, the following operations are performed, can be seen in Fig.2.
Fig.2 Registration Process
First, the user chooses his/herid, and the user sends his/heridto serverA. Thisidis saved and acknowledged by serverA. After serverAreceiving the registration request message from the user, serverAchooses a random numberγ, then computesID=H0(id) andPW=H3(ID‖pw0‖γ), wherepw0is the initial password. Next, serverAstores (ID,γ) in the registration table. At the same time, serverAstores[γ,PW,Hi(i=0,1,2,3)(·),G] in the user’s smart card, and return it to user. After above, the user must change the password immediately in the password changing phase. Server A publishes the block onto the blockchain. From this moment, the block can’t be tampered with.
In order to avoid the repeated registration of user, after the serverAreceives the authentication information of user successfully, the data information of user is shared to the serverBand linked to the blockchain. The authentication data sharing stage is shown in Fig.3.
Fig.3 Authentication Data Sharing Process
In this phase, serverAwill generate timestampTand random numbern, and use negative database generation algorithm to calculateG(PW). Then calculateV=H4(T‖n‖ID‖G(PW)) and publishV, afterwards, the smart contract code agreed by both parties on the blockchain, and sendID,G(PW),T,n,Vto the server of companyBfor integrity check. Shared data can only be used if the validation integrity check and DPoS is successfully published on the blockchain. Finally,ID,G(PW),T,n,Vand smart contract code will be recorded on the blockchain.
After registering, if the user wishes to use the server resource, he/she can initiate a login request to the server. After receiving the user’s login request, the server provides the authentication service. We can see Fig.4 for the process of this stage.
Fig.4 User Authentication Process(Get B Company’s Services)
The steps for this stage are described below.
1) The user inserts his/her smart card into the card reader, input his/heridU,pwU, and open a session with the serverB.
2) The serverBchooses a random number s, and computesv=H1(IDU‖IDS‖PW),V=vP,S=sP,S*=S+V. Then the serverBsends {IDS,S*} to the user.
If an employee within the company leaks information about the user, this scheme can adjust the i value inGi(·) and invalidate the original negative database. Then repeat steps 2.2~2.4.
The smart contract in this paper is mainly designed for the cooperation details between companies. In blockchain, the relevant contract terms are automatically executed in the form of smart contracts. The full life cycle activities of this smart contract mainly include: clause generation, clause release,code verification and code execution. Clause generation is to fill in the clause template, including the clause number, theIDof the clause proposer, the clause code and its hash. Clause release refers to the posting of signed clauses on the blockchain. Code verification is the process of checking code before it is executed, if there has any error, the designer will fix bug patches in time. Code execution means that when the blockchain receives the transaction signal, it reads the code from the blockchain and executes it, then finally returns the execution result to the blockchain.
3.1.1 Security Analysis of Negative Database
Negative database is a new technology of data security. At present, there are few effective studies on negative database. But it can’t negate the advantage of negative databases. First, negative databases can perform some operations and calculations like positive databases. In today’s big data era, negative database has no complex operation like repeated encryption and decryption. It can be more convenient and secure without consuming too much computer resources. Second, it is easy to convert a positive database to a negative database, but difficult to convert a negative database to a positive database, this characteristic adds to the safety. Third, negative database generation algorithm has randomness, so a positive database can generate many different negative databases. In addition, it is difficult to determine the size of the negative database corresponding to the positive database.
3.1.2 Security Analysis of Smart Contract
In this scheme, the details of cooperation between companies are represented by computer code as smart contracts, which are written into the distributed network system of blockchain in advance. When an event occurs in a contract, the smart contract is triggered and automatically executes the corresponding contract terms. Smart contracts on blockchain are written and executed in code. Once signed, they must be performed. Besides, traceability and tamper ability of blockchain can avoid contract disputes. The user information is finally recorded on the distributed ledger, the blockchain can automatically imports, automatically classifies, automatically shares, and automatically performs the intelligent contract to facilitate the protection of user information.
3.1.3 Security Analysis of This Scheme
The following reasons prove that our scheme is very secure.
First, this scheme is based on blockchain. All IoT collaborations on the blockchain will be added to the timestamp to guarantee availability for future generations. At the same time, smart contracts on the blockchain can be applied to the blockchain data, and commercial terms can be implemented in the communications of the IoT to ensure the effectiveness and security of the IoT in large-scale application.
Second, this scheme shows that the code is the rule. It provides trust, recording, transparency and communication support to users on the Internet.
Then, this scheme uses negative database generation algorithms, hash functions and ECC algorithms. If an attacker wants to solve the scheme, he must break the algorithms simultaneously. But in fact, it’s very hard to break one of these algorithms. For example, the biggest advantage of ECC is that it uses shorter keys to achieve greater security. Elliptic curve discrete logarithm algorithm is the most difficult problem to solve in ECC. In other words, based on the current known mathematical methods, there is no way to calculate the difference between positive and negative values of the one-way function. This means that solving the discrete logarithm problem of an elliptic curve is much more difficult than factoring for the same number of digits. Because the denser the computational space of an algorithm means the more powerful a cryptosystem is, the ECC is very difficult to breach.
Finally, a negative database is a complement to a positive database. A system can have an infinite number of negative databases, so you can generate an infinite number of versions of the user’s authentication information. If someone finds the parameter of the negative database where the authentication information is located and leaks the user’s authentication information, the system will identify the information, mark the negative database, discard it forever, and regenerate a new negative database different from the previous parameters.
This scheme needs to store all user information in a negative database. It is assumed that there aremvalid legal users and the user information length isl, then the space complexity isO(m×l). However, this scheme uses the hash function to map the data in the original negative database to a smaller negative database, so the space complexity is lower, the storage space required is less, and the required space is easier to obtain.
Compared to RSA and DSA, ECC uses shorter keys for higher efficiency. This scheme can select SHA-512 algorithm whose time complexity isO(n)[28]. Moreover, if we choose K-hidden algorithm as negative database generating algorithm, the time complexity of generating a negative database will beO(n×r×K)[29]. In general,kandrare relatively small, so its time complexity can be approximately equal toO(n). Therefore, the computational workload used in the algorithm is very low, the time required is very short, and the efficiency is very high.
Network information security has become a key issue affecting the development of network information technology. Cryptography is an important means to realize network information security. Encryption algorithm is the key part of cryptographic protocol. But traditional cybersecurity measures are increasingly vulnerable, it is particularly important to design an information security technology that is safe and efficient and can absolutely adapt to the current network environment. From the perspective of the trend of global technology and finance and the current development level of network security, blockchain is undoubtedly the best choice. Compared with the pure big data technology, blockchain will become a technology of great concern in the technology and financial industry. Blockchain technology will break the monopoly of the traditional big data, avoid the illegal factors of big data applications, data application and extend to all walks of life. It can ensure the true and traceability of big data,and also really solve the problem of the ownership of large data. The negative database adopted by this scheme has been used in some application scenarios. A series of operators on negative database can support database operation under the premise of protecting the security of positive database.
As the study of negative database is still in its infancy, there are still many problems to be solved, such as the optimization of negative database algorithm, improvement of instance generation algorithm, implementation of basic operations (such as the insertion, deletion, modification, intersection and union of negative database) and exploration of new application fields.
Blockchain technology has become a hot industry at present. Many enterprises have begun to explore the blockchain market, which has a broad prospect, but the technology itself is still not mature enough, and there is still a lot of room for expansion. In the future, many fields in the society are expected to use the application technology based on blockchain to create a new industrial ecological chain, reduce transaction costs and realize a more efficient and convenient transaction mechanism.