The iMessage protocol is based on the Apple Push Notification service (APNs)—a proprietary, binary protocol.[25] It sets up a Keep-Alive connection with the Apple servers. Every connection has its own unique code, which acts as an identifier for the route that should be used to send a message to a specific device. The connection is encrypted with TLS using a client-side certificate, that is requested by the device on the activation of iMessage.