Quando me conecto a algum site de e-commerce com meu navegador eu uso HTTPS que usa um certificado que (mais ou menos) garante que example.com
é de fato example.com
.
Agora eu me conecto a um SQL Server em algum lugar na Internet - pode ser o SQL Azure, por exemplo, e então apenas me conecto a uma URL como abcdef.database.windows.net
. Há uma chance de haver um servidor falso lá e eu expor meus dados confidenciais. Não encontrei nenhuma evidência de que certificados ou qualquer coisa equivalente sejam usados ao conectar-se ao SQL Server.
Como a identidade do host do SQL Server é garantida?
Não estou familiarizado com o Azure, mas posso falar com o SQL Server em geral. O SQL tem uma propriedade chamada Force Encryption (que é definida por meio do SQL Configuration Manager), que, ao que parece, forçará os clientes a se conectarem em sessões criptografadas. Isso é feito com certificados como o SSL. Isso garante a autenticidade do servidor, além de fornecer comunicações criptografadas.
É um pouco sutil - você pode usar um certificado emitido por uma CA em que os clientes confiam ou o SQL pode usar um certificado autoassinado (menos seguro). Também há configurações do lado do cliente que você pode definir na string de conexão que influenciará a conexão - dependendo do ODBC ou OLEDB, as propriedades pertinentes são algo como "Criptografar" e "TrustServerCertificate".