2.2.4 Autenticação
Podemos dividir a autenticação no SIP em dois grupos: Entre dois UA ou entre um UA e um servidor. Os agentes de usuários devem se autenticar no início da sessão a fim de garantir que o interlocutor é realmente quem diz ser. Os servidores podem exigir uma autenticação do emissor antes de redirecionar uma chamada para o agente de usuário receptor.
A autenticação pode ser feita baseando-se no HTTP Digest ou utilizando criptografia e troca de certificados.
Na Figura 1, podemos observar o processo de autenticação utilizando HTTP Digest em um servidor proxy (a) e um servidor de registro (b). Na autenticação do usuário no servidor de proxy, o agente de usuário envia a requisição de começo de sessão. O servidor proxy recusa o pedido, com uma resposta de erro 407, avisando que requer autenticação e faz um desafio para o usuário. Este apresenta as suas credenciais de acesso no campo Authorization do cabeçalho da mensagem SIP, a qual possui mesmo Call-Id da mensagem recusada e CSeq incrementado de uma unidade. Se o usuário enviar as credenciais corretamente, o servidor proxy aceita a requisição e continua com os procedimentos de início da sessão.
Na Figura 1b, pode-se observar a transação de autenticação de um usuário que deseja acessar um servidor de registro. Inicialmente, o agente de usuário envia uma mensagem com a primitiva Register, sem informações do usuário. Como o servidor de registro exige que o usuário seja registrado, este retorna uma mensagem 401 (UNAUTHORIZED), afirmando que exige registro. O usuário envia então uma mensagem de registro com as informações do usuário habilitado a usar o servidor. A conexão é então estabelecida e o usuário pode registrar um novo apelido no servidor.
graphic
Figura 1: Processo de Autorização. Na figura a, podemos observar a autenticação em um servidor proxy e na figura b, a autenticação em um servidor de registro.
No HTTP Digest, utiliza-se nome de usuário e senha para credenciar o usuário ao serviço, contudo este método não garante a segurança, pois as credencias são transmitidas em claro. O HTTP Digest deve ser utilizado com TLS (Transport Layer Security) ou com S/MIME (Secure / Multipurpose Internet Mail Extensions) para prover segurança na autenticação SIP. Para autenticar duas entidades SIP, o TLS é eficiente, mas para a autenticação de mais de duas entidades, o S/MIME se torna mais indicado.
Para mais informações sobre o processo de autenticação por criptográfica e troca de certificados, deve-se consultar o trabalho de PKI deste site (3).