Apenas para esclarecer alguns conceitos primeiro ...
Acredito que o acesso a dados através de um serviço da web fornece segurança - não preciso passar o nome de usuário e a senha do servidor db, etc.
Acho que você está confundindo os conceitos de (1) Transport Layer Security (TLS) e (2) controles de acesso na declaração acima ... Se um nome de usuário e senha precisam ser fornecidos ou não, isso não tem relação com o fato de um serviço da Web ser fornecida através de (1) um canal criptografado e (2) autenticação (por exemplo, uma chave API).
Um serviço da Web extremamente mal escrito ainda pode exigir que as senhas sejam enviadas em texto sem formatação por HTTP. Uma pessoa mal escrita pode fazer isso por HTTPS (seguro, mas uma vez quebrado, por exemplo, através de um ataque do tipo intermediário , aberto a abusos). Um serviço da Web melhor escrito deve lidar com a conectividade do banco de dados internamente com base em outras entradas, por exemplo, IDs de sessão, após a validação dos controles de autenticação e direito.
De volta ao ponto principal, o comentário de @ marcus sobre sua pergunta é basicamente isso. Os aspectos de segurança não são tratados de maneira diferente das tecnologias "modernas" e cobrem questões de implementação, como:
- Se o seu protocolo de comunicação (emprestando um pouco da resposta do @ RobertHarvey) suporta a transmissão de dados criptografados.
- A estrutura de carga útil da mensagem que é retransmitida entre o servidor e o cliente.
- Como o servidor gerencia sua conectividade com o banco de dados (que realmente é isolado do cliente, consulte o primeiro parágrafo).
Para maiores informações: