# An Internet of Things Access Control Scheme Based on Permissioned Blockchain and Edge Computing
## 6 Security and Performance Analysis
### Security Analysis  
1. Confidentiality. It specifies the access control rights of different users to IoT data, and only authorized users can obtain data and perform related operations. Specifically, confidentiality requires the system to set corresponding authentication rules, access control, and review mechanisms. In this paper, the system architecture first authenticates the user at the edge, which eliminates the risk of malicious users attacking the management system from the outside. It presents a lightweight interface for the end user. The user does not need to join the blockchain and can access the data by interacting with the agent device. **Theorem 1**. : _If there is an adversary \(A\) who can win the security game with a non-negligible advantage \(\varepsilon\) in polynomial time, another adversary in polynomial time can be constructed to solve the difficult problem of dbdh with the advantage of \(\varepsilon/2\)._ \begin{table}
\begin{tabular}{l c c c c c} \hline \hline
**Schemes** & **Decentralization** & **Flexibility** & **Traceability** & **Fine Grained** & **Scalability** \\ \hline Refs. [8; 9] & \(\times\) & \(\surd\) & \(\times\) & \(\times\) & commonly \\ Refs. [10; 11] & \(\times\) & \(\surd\) & \(\times\) & \(\surd\) & commonly \\ Ref. [13] & \(\surd\) & \(\surd\) & \(\times\) & \(\surd\) & commonly \\ This scheme & \(\surd\) & \(\surd\) & \(\surd\) & \(\surd\) & good \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Function comparison. Figure 6: Log replication process. Proof. : Select plaintext attack model, which is carried out through the interactive game between Challenger B and Adversary A, with the following steps:  
1. Setup. First, Challenger B runs the global initialization algorithm to generate the global parameter GP of the system, and then Adversary A specifies the set of destroyed AA. The AA initialization algorithm is implemented in each attribute center AA to generate public-private key pairs. For the destroyed AAS, the adversary can get the public key and private key; for normal AAS, the adversary can only get the public key. 2. Phase 1. Adversary A asks Challenger B for the private key with attribute set \(S=(y_{1},y_{2},\ldots,y_{q1})\) and the conversion key, but the attribute set cannot satisfy the access structure \((A,\rho)\) to be challenged by Adversary A, and Challenger B runs the key generation algorithm to generate the private key and conversion key corresponding to attribute set s for adversary A. 3. Challenge. Adversary A sends two equal length messages \(M_{0}\), \(M_{1}\) to [PERSON] When [PERSON] receives the message, he tosses a fair coin randomly, the message is encrypted according to the result \(b\in\{0,1\}\), and then encrypted under the access structure \((A,\rho)\) to generate the encrypted ciphertext \(CT\). [PERSON] then sends the challenge ciphertext to Adversary A. 4. Phase 2. Repeat phase 1 and continue to ask [PERSON] about the private key and the conversion key. The attribute set of the private key and the conversion key cannot meet the challenge of access structure \((A,\rho)\). 5. Guess. Guess \(b^{\prime}\in\{0,1\}\) about ciphertext \(b\) output by adversary A. If \(b=0\), adversary A's advantage is \(\varepsilon\), that \(P_{r}[b^{\prime}=b]=\frac{1}{2}+\varepsilon\). If \(b=1\), that \(P_{r}[b^{\prime}=b]=\frac{1}{2}\), So, the challenger's advantage in the DBDH game is: \[Adv_{A}=P_{r}[b^{\prime}=b]-\frac{1}{2}=\frac{1}{2}(\frac{1}{2}+\varepsilon+ \frac{1}{2})-\frac{1}{2}=\frac{\varepsilon}{2}\] (3)  
\(\square\)  
Therefore, if Adversary A overcomes our scheme with an advantage that cannot be ignored, Challenger B can solve the difficult problem of DBDH with the advantage of \(\varepsilon/2\). 2. Credibility. Based on the characteristics of the blockchain, it ensures that the contract is transparent, tamperproof, and traceable, and also ensures that the users and data owners execute the contract honestly.