1. A method for authenticating a client device to communicate with a remote server, comprising: establishing, by the client device, a connection with a first remote server using first device credentials, the first device credentials being unique to and stored at the client device and authenticating the client device to communicate with the first remote server; acquiring, at the client device, second device credentials from the first remote server, the second device credentials authenticating the client device to communicate with a second remote server; establishing, by the client device, a connection with the second remote server using the second device credentials; and when the connection with the second remote server fails: re-establishing, by the client device, the connection with the first remote server using the first device credentials; re-acquiring, at the client device, the second device credentials from the first remote server; and re-establishing, by the client device, the connection with the second remote server using the second device credentials.