Certificados digitais para autenticação do utilizador

Tradicionalmente, os utilizadores obtêm acesso aos recursos a partir de uma aplicação ou sistema com base no respectivo nome do utilizador e senha.  Ainda pode aumentar mais a segurança do sistema utilizando certificados digitais (em vez de nomes de utilizador e senhas) para autenticar e autorizar sessões entre várias aplicações servidor e os utilizadores.  Além disso, pode utilizar o Gestor de Certificados Digitais (DCM) para associar o certificado de um utilizador ao respectivo perfil do utilizador de iSeries.  Consequentemente, o certificado tem as mesmas autorizações e permissões que o perfil associado.

Um certificado digital funciona como uma credencial eletrônica e verifica se a pessoa que o apresenta é realmente quem diz ser.  Neste ponto de vista, um certificado é semelhante a um passaporte.  Ambos estabelecem a identidade de um indivíduo, contêm um número único para efeitos de identificação e têm uma autoridade emissora reconhecível que verifica a credencial como sendo autêntica.  No caso de um certificado, uma Autoridade de Certificação (CA) funciona como a outra entidade fidedigna, que emite o certificado e o verifica como uma credencial autêntica.

Para efeitos de autenticação, os certificados utilizam uma chave pública e uma chave privada relacionada.  A CA emissora associa estas chaves, juntamente com outras informações sobre o proprietário do certificado, ao próprio certificado para efeitos de identificação.

Um número cada vez maior de aplicações já fornecem suporte para utilizar certificados para autenticação de clientes durante uma sessão de SSL. A partir da V5R1, estas aplicações iSeries fornecem suporte de certificados de autenticação de clientes:

  • Servidor Telnet
  • Servidor IBM HTTP Server (original e potenciado pela Apache)
  • Servidor de Serviços de Diretório (LDAP)
  • Central de Gestão
  • Client Access Express (incluindo Operations Navigator)
  • Servidor FTP

Os certificados podem fornecer um meio mais forte de autenticação de utilizadores por vários motivos:

  • Existe a possibilidade de um indivíduo se esquecer da respectiva senha.  Assim, os utilizadores têm de memorizar ou registar os respectivos nomes de utilizador e senhas para assegurar que não se esquecem delas.  Como resultado, os utilizadores não autorizados podem obter mais prontamente nomes de utilizador e senhas de utilizadores autorizados.  Dado que os certificados são armazenados num arquivo ou noutra localização eletrônica, as aplicações cliente (e não os utilizadores) tratam do acesso e da apresentação do certificado para autenticação.  Isto assegura uma menor probabilidade de os utilizadores partilharem certificados com utilizadores não autorizados, a não ser que os utilizadores não autorizados tenham acesso ao sistema do utilizador.  Além disso, é possível instalar certificados em "smart cards" como meio adicional de os proteger de utilização não autorizada.
  • Um certificado contém uma chave privada, que nunca é enviada com o certificado para identificação.  Em vez disso, o sistema utiliza esta chave durante o processamento de codificação e descodificação.  Outros podem utilizar a chave pública correspondente do certificado para verificar a identidade do emissor dos objetos assinados com a chave privada.
  • Muitos sistemas requerem senhas com 8 caracteres ou menos, tornando-as mais vulneráveis a ataques de suposição.  As chaves criptográficas de um certificado têm centenas de caracteres.  Este comprimento, juntamente com a sua natureza aleatória, torna as chaves criptográficas muito mais difíceis de adivinhar do que as senhas.
  • As chaves de certificados digitais fornecem várias utilizações possíveis que as senhas não fornecem como, por exemplo, integridade dos dados e privacidade. Pode utilizar certificados e as respectivas chaves associadas para:
    • Assegurar a integridade detectando alterações aos dados.
    • Provar que uma determinada ação foi realmente executada.  A isto chama-se não repúdio.
    • Assegure a privacidade das transferências de dados utilizando Secure Sockets Layer (SSL) para codificar sessões de comunicações.