1. In a system comprising a user equipment (UE), a service provider (SP) that comprises a Network Access Function (NAF), and an authentication end point (AEP) that comprises a Bootstrapping Server Function (BSF) which communicate via a network that implements a Generic Bootstrapping Architecture, a method of authenticating the UE by the AEP, comprising, at the AEP: receiving a request from the UE for access to a service provided by the SP; determining one or more authentication protocols that are supported by the UE; negotiating with the UE to select one of the authentication protocols that are acceptable to the SP and that are supported by the UE; and authenticating the UE using the selected authentication protocol, wherein based on the received request, an association of a shared secret key may be established.