Cloud-assisted mutual authentication and privacy preservation protocol for telecare medical information systems. (April 2018)