Design and Security Assessment of Usable Multi-factor Authentication and Single Sign-On Solutions for Mobile Applications