Java security – Como usar JAAS com Tomcat 6

Filed Under (Java, Segurança, Servlet/JSP) by Antonio Passos on 28-10-2008

Tagged Under : , , , ,

Aprenda como criar módulo de autenticação e autorização JAAS (Java Authorization and Autentication) para seus aplicativos web escritos em Java (Servlet e JSP) com esse documento.

CAPTCHA para aplicativos web escritos em Java (Servlet e JSP)

Filed Under (Segurança, Servlet/JSP) by Antonio Passos on 10-09-2008

Tagged Under : , , ,

CaptchaCAPTCHA, acrônimo de completely automated public Turing test to tell computers and humans apart, é um recurso simples usado para determinar se um usuário é humano ou não.

Consiste em uma imagem de difícil interpretação por computadores contendo um determinado código. Esse código é gerado aleatoriamente cada vez que a página contendo o CAPTCHA é acessada, devendo ser digitado e enviado para validação.

O uso de CAPTCHA é cada vez mais freqüente em formulários de cadastro e telas de login.

Para aplicativos web escritos em Java (JSP e Servlets), são muitos os CAPTCHAs disponíveis. Para o exemplo deste post, uso o kaptcha, disponível em http://code.google.com/p/kaptcha/.
Read the rest of this entry »

Desmistificando o CAPTCHA

Filed Under (Segurança) by Antonio Passos on 14-07-2008

Tagged Under : , ,

Captcha

Por Rodrigo Oliveira *

Deparamo-nos com as imagens acima cada vez mais em páginas da Web. Como se chamam? Com qual finalidade são inseridos?

Esses amontoados de letras ou números são chamados de CAPTCHA, acrônimo de "Completely Automated Public Turing test to tell Computers and Humans Apart", ou, traduzido, "Teste de Turing Público completamente automatizado para diferenciar entre computadores e humanos".

Sua finalidade, como o nome sugere, é gerar imagens distorcidas, com base em um algoritmo previamente estabelecido, de forma que só o ser humano seja capaz de entender. Com o uso de CAPTCHA, busca-se garantir que as finalizações dos processos sejam efetuadas por seres humanos. Sejam conclusões de compras, preenchimentos de cadastros ou envios de comentários.

Ao diferenciar seres humanos de computadores, o CAPTCHA aumenta consideravelmente a confiabilidade das transações realizadas pela internet. Por isso, ele é considerado um importante recurso de segurança para barrar ataques automatizados a sites de e-commerce, portais, blogs etc.

O uso do CAPTCHA, entretanto, tem apresentado problemas. Como se trata de recurso visual, de uma imagem, não pode ser lido por leitores de tela, o que o torna inacessível a deficientes visuais. A alternativa? Tornar o CAPTCHA audível. Porém vários softwares de reconhecimento de voz podem ser utilizado para quebrar sua segurança, além de excluir, desta vez, os usuários surdos-mudos.

Optar entre a facilidade de utilização do site e criar dificuldades para pessoas inescrupulosas é só mais uma dentre as difíceis decisões de projeto em que conflitam usabilidade, acessibilidade, estética, segurança e confiabilidade. Daí que a decisão de utilizar ou não CAPTCHA deve se basear nos requisitos definidos pela equipe e de forma a garantir equilíbrio entre os requisitos não-funcionais ou de qualidade.

Para concluir, uma curiosidade. O uso do CAPTCHA fez surgir os servos humanos (a natureza humana, às vezes, decepciona): pessoas recrutadas para "catalogar" CAPTCHAS de um determinado site com a finalidade de detectar erros de implementação e criar softwares de ataque específico.

Espero que este artigo tenha contribuído para esclarecer o que é CAPTCHA, qual sua finalidade, e ajudado a desmistificar e entender o porquê de as empresas virem adotando cada vez mais este recurso em  seus sites.

Rodrigo Oliveira possui mais de 14 anos de experiência na área de TI, tendo realizado trabalhos nos mais diversos segmentos. É Analista de Sistemas graduado pela Universidade Paulista e pós-graduado em Docência para o Ensino Superior. Trabalha como consultor  de banco de dados e em projetos Cobol, Java e Informix na Politec, em Brasília.