## 3 Literature Review
### Blockchain-Based IDMSs
The system, as proposed by the designer, performs better compared to three other systems using the same concept, but it also has a limitation in that it uses the address of the ISC as a universal unique identifier UUID, which is not readable by users, and, as the system stores the full attributes information in the user device, that will decrease the availability of information when the user is offline. In the study presented in [47], a hybrid methodology was proposed as a part of the Impilo project for data management in healthcare by combining a central database and decentralized infrastructure \"blockchain\". The new approach tries to create ownership and management of data on the patient side to increase security of electronic health records and keep it shareable at the same time. Patient information is stored on a central database during the validation process, and the transaction is stored on the blockchain. The system operation begins by logging into the Impilo app and storing the registration information in a new file, and then communicating with the DB to store the medical information. The blockchain will generate a new hash, communicate with both sides, and then store the transaction details on the chain if the verification process is correctly completed. In this approach, the decryption key of medical information in a database is the user login password; so, if an attacker knows the user login password, they will have access to all the user information, and this decreases the security of the database. In [50], researchers proposed a framework to solve the centralized problem of access control and its related privacy and ethical issues, and to give users full control of their IOT devices. The proposed framework is based on two main concepts: a blockchain and a machine learning algorithm. The researchers addressed two problems in IoT environment access control: centralized access control (AC) and security policy management. The proposed framework distributes the security policy (a set of guidelines and security rules) in the blockchain by using a smart contract instead of storing it in a server, as in a traditional AC, and improves it by using an online learning mechanism of machine learning algorithms to solve the problem of a non-contextual security policy. An online learning machine type is used to detect any AC rules which do not satisfy the security policy, or which may lead to any security threat. Authors in [36] used the private Ethereum network to design a cryptographic authentication scheme. The authors developed a smart contract and published it on a private chain, and then evaluated the scheme's functions by using web3j and a proof of security model. The research introduced a transitively closed undirected graph authentication (TCUGA) scheme to update the certificates by the signatory with no re-signing process needed by using a trapdoor hash function and allowing the administrator to prove the certificate relationships \"even when they are not in the same equivalence class\" after they are received from the signatory. A permissioned blockchain-based IDM user authentication scheme was introduced in [33] to solve key management and authentication issues in e-health systems by using a key distributed mechanism of personal biometrics. The proposed system contains four main members: the founder, the user (U), the registration center (RC), and the medical server (MS), in addition to the smart contract that provides access control functions. It has two major mathematical problems: the computational Diffie-Hellman problem (CDHP) and the discrete logarithm problem (DLP). The proposed scheme is provided with a mutual authentication equation and achieves anonymity by making the user's identity hidden. The designer tested the proposed system and guaranteed the security requirements by using the Scyther tool, which is an automatic verification tool for security protocols. An attempt to solve traditional banking issues by developing a blockchain-based IDM and access control (BIMAC) framework was presented in [51].