Material sobre Token

5 respostas
K

Boa tarde pessoal.

Alguem tem algum material sobre token para JSF e JBoss 6?

O mais simples possível, pois preciso do Token apenas para autenticação do usuário. Onde um arquivo de certificação ficaria num pen-drive do usuário e no momento do acesso ao sistema, na tela de login, fosse solicitado do usuário o caminho do arquivo de autenticação.

Não sei se a idéia é bem essa, mas estou aceitando sugestões.

Agradeço a colaboração.

Ótima semana a todos.

5 Respostas

E

Qual é o tipo de token que você quer usar?

a) Este aqui, que só gera uma chave aleatória:

b) Este aqui, que usa certificação digital e é mais difícil de instalar e fazer funcionar:

F

Normalmente é um dispositivo que gera o token…vc pode pedir no login ou antes de fazer um processo transacional. Muito comum em aplicações web bancarias…
Aplicações web não podem fazer acesso a maquina do cara como USB etc…
Tem que ser colocado em um campo INPUT HTML mesmo

K

Bom, seria na verdade uma assinatura digital que estaria armazenada no num volume USB do usuário, e este só poderia logar com a confirmação deste arquivo…

Essa idéia não é minha, já vi funcionando no sistema web PROJUDI do meu Estado. Achei bastante interessante esta idéia.

E

Vou explicar resumidamente como é que funciona esse tipo de autenticação digital com token USB ou com smartcards ou com certificados instalados no browser.

Ela é um processo um pouco caro e com vários problemas de instalação, portanto não é interessante você usá-la indiscriminadamente. Só para ter uma idéia, só recentemente é que a Prefeitura de São Paulo começou a forçar que os contribuintes do ISS tenham de usar um certificado digital para acessar o site de emissão de notas fiscais de serviços; antes o processo era opcional.

Entretanto, tem a vantagem ou a desvantagem de (se você usar um certificado emitido por uma autoridade certificadora pertencente ao ICP-Brasil - como um e-CPF ou um e-CNPJ) ter valor legal.

O que ocorre é que você usa o suporte do browser a certificação digital via SSL. Você tem de configurar o web server de tal modo que para esse site ele exija que o cliente tenha um certificado digital instalado, e você precisa também solicitar ao cliente que ele instale o driver do USB token (ou smartcard, ou certificado “em disquete”) que ele vai usar.

Quando você cria sua aplicação Web, o web server fornece à página o certificado completo X.509 de quem se logou, e fica por sua conta destrinchar o certificado para pegar as informações relevantes. Em particular, é um pouquinho chato achar o CPF ou o CNPJ do usuário (que é o que provavelmente você vai usar para validar o login no site).

Um problema é que para deslogar você precisa obrigatoriamente solicitar que o browser do cidadão seja fechado, já que o browser somente mostra uma tela para escolher o certificado e entrar com uma senha na hora que você entra no site.
. Se você sabe que isso pode dar problemas, então evite usar isso.

Em particular, se você precisar de tal autenticação em uma intranet (e em uma VPN) de uma empresa com centenas ou milhares de funcionários, eu recomendaria usar o método de usar o token que gera o número (como o fornecido pela Vasco Systems). É mais simples de instalar e dá menos problemas. E se o cara perder o token (digamos que ele o tenha lavado na máquina :slight_smile: ) é fácil revogá-lo.

K

entanglement:
Vou explicar resumidamente como é que funciona esse tipo de autenticação digital com token USB ou com smartcards ou com certificados instalados no browser.

Ela é um processo um pouco caro e com vários problemas de instalação, portanto não é interessante você usá-la indiscriminadamente. Só para ter uma idéia, só recentemente é que a Prefeitura de São Paulo começou a forçar que os contribuintes do ISS tenham de usar um certificado digital para acessar o site de emissão de notas fiscais de serviços; antes o processo era opcional.

Entretanto, tem a vantagem ou a desvantagem de (se você usar um certificado emitido por uma autoridade certificadora pertencente ao ICP-Brasil - como um e-CPF ou um e-CNPJ) ter valor legal.

O que ocorre é que você usa o suporte do browser a certificação digital via SSL. Você tem de configurar o web server de tal modo que para esse site ele exija que o cliente tenha um certificado digital instalado, e você precisa também solicitar ao cliente que ele instale o driver do USB token (ou smartcard, ou certificado “em disquete”) que ele vai usar.

Quando você cria sua aplicação Web, o web server fornece à página o certificado completo X.509 de quem se logou, e fica por sua conta destrinchar o certificado para pegar as informações relevantes. Em particular, é um pouquinho chato achar o CPF ou o CNPJ do usuário (que é o que provavelmente você vai usar para validar o login no site).

Um problema é que para deslogar você precisa obrigatoriamente solicitar que o browser do cidadão seja fechado, já que o browser somente mostra uma tela para escolher o certificado e entrar com uma senha na hora que você entra no site.
. Se você sabe que isso pode dar problemas, então evite usar isso.

Em particular, se você precisar de tal autenticação em uma intranet (e em uma VPN) de uma empresa com centenas ou milhares de funcionários, eu recomendaria usar o método de usar o token que gera o número (como o fornecido pela Vasco Systems). É mais simples de instalar e dá menos problemas. E se o cara perder o token (digamos que ele o tenha lavado na máquina :slight_smile: ) é fácil revogá-lo.

Muito obrigado pela explicação, entanglement.

O nosso sistema possuia um certificado SSL autenticado pelo tomcat. Com a mudança para o JBoss 6 por conta de uma padronização realizada pelo órgão regulador da TI em nosso Estado, foi solicitada a implementação de assinaturas digitais dos usuários em arquivos armazenados em volumes USB. Estou dando uma estudada num material que encontrei, particularmente no tutorial do Daniel Destro (http://www.guj.com.br/articles/141), que a primeira vista, tem alguma proximidade com a minha necessidade.

Na verdade, tudo esse estudo é para avaliar a viabilidade e custos desta implantação.

Mais uma vez, agradeço pela explicação.

Criado 3 de outubro de 2011
Ultima resposta 3 de out. de 2011
Respostas 5
Participantes 3