Olá Jefferson,
Precisei implementar algo nesse sentido, todavia não utilizei a solução da Griaule mesmo sendo bem mais fácil e documentado porque meu cliente não queria pagar o custo que na época tornaria a solução inviável devido o custo por máquinas.
O leitor que usei foi a Digital Persona (U.are.U 4500) que é um dos mais utilizados no mercado (captura precisa e tem um preço competitivo).
Infelizmente não encontrei nada (documentação, case, etc..) referente a utilização dele em sistemas web (na época, há 2 anos +/-), só tinha exemplos para sistemas desktop (em .NET e Delphi). Como vi que eles disponibilizam um SDK Java (gratuito quando a comparação é 1 para 1), então acabei criando um Java Applet mesmo na parte do front-end e no backend eu criei umas classes Java para fazer a validação e integrei com o Railo. Diga-se de passagem que funciona muito bem.
O único porém é o que comentei contigo, no caso da comparação "1 para n" você vai ter que criar do seu próprio jeito (através de loops, whatever...), porque a comparação que eles vendem tem um algoritmo que é bem eficiente (porém não tive como fazer esse benchmark comparando o que fiz com o que eles vendem). De qualquer forma isso é um problema fácil de se resolver.
Ah, vale lembrar que para eu fazer toda essa integração tive que contratar um servidor Dedicado e instalar as libs no S.O. (a vantagem é que é multiplataforma), porém tive problemas com a versão 64bits para linux, no meu caso só funciona utilizando o sdk 32bits. #FicaDica
Considere utilizar o Digital Persona, depois de pronto fiquei muito feliz com os resultados.
Links úteis:
A vantagem da Griaule é que ela dá suporte a uma infinidade de leitores e uma solução quase que "pronta", porém tudo tem um custo =P
Abraço.