  Social authentication has been suggested as a usable authentication ceremony
to replace manual key authentication in messaging applications. Using social
authentication, chat partners authenticate their peers using digital identities
managed by identity providers. In this paper, we formally define social
authentication, present a protocol called SOAP that largely automates social
authentication, formally prove SOAP's security, and demonstrate SOAP's
practicality in two prototypes. One prototype is web-based, and the other is
implemented in the open-source Signal messaging application.
  Using SOAP, users can significantly raise the bar for compromising their
messaging accounts. In contrast to the default security provided by messaging
applications such as Signal and WhatsApp, attackers must compromise both the
messaging account and all identity provider-managed identities to attack a
victim. In addition to its security and automation, SOAP is straightforward to
adopt as it is built on top of the well-established OpenID Connect protocol.
