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.
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).