  This article surveys blockchain-based approaches for several security
services. These services include authentication, confidentiality, privacy, and
access control list (ACL), data and resource provenance, and integrity
assurance. All these services are critical for the current distributed
applications, especially due to the large amount of data being processed over
the networks and the use of cloud computing. Authentication ensures that the
user is who he/she claims to be. Confidentiality guarantees that data cannot be
read by unauthorized users. Privacy provides the users the ability to control
who can access their data. Provenance allows an efficient tracking of the data
and resources along with their ownership and utilization over the network.
Integrity helps in verifying that the data has not been modified or altered.
These services are currently managed by centralized controllers, for example, a
certificate authority. Therefore, the services are prone to attacks on the
centralized controller. On the other hand, blockchain is a secured and
distributed ledger that can help resolve many of the problems with
centralization. The objectives of this paper are to give insights on the use of
security services for current applications, to highlight the state of the art
techniques that are currently used to provide these services, to describe their
challenges, and to discuss how the blockchain technology can resolve these
challenges. Further, several blockchain-based approaches providing such
security services are compared thoroughly. Challenges associated with using
blockchain-based security services are also discussed to spur further research
in this area.
