A Bootstrapping Server Function (BSF) is an intermediary element in Cellular networks which provides application-independent functions for mutual authentication of user equipment and servers unknown to each other and for 'bootstrapping' the exchange of secret session keys afterwards.
This allows the use of additional services like Mobile TV and PKI, which need authentication and secured communication.
UE and BSF mutually authenticate via 3GPP protocol AKA (Authentication and Key Agreement); additionally, the BSF sends related queries to the Home Subscriber Server (HSS).
Afterwards, UE and BSF agree on a session key to be used for encrypted data exchange with the application server (NAF).
When the UE again connects to the NAF, the NAF is able to obtain the session key as well as user-specific data from the BSF and can start data exchange with the end device (UE), using the related session keys for encryption.