Quero começar falando do Swivel, Swivel é um provedor de soluções de autenticação que foi destaque anos atrás com o Prêmio SC Magazine Europe Award como a melhor solução de autenticação multifator.

Dentre os seus produtos de fatores de autenticação se encontram: OneTouch PUSH, SMS, Token, PINpad, TURing e PINsafe. Neste post usaremos TURing, embora com alguns parâmetros mudados,(poderíamos também usar o PINsafe enviando um SMS, por exemplo).

Como funciona o TURing?

Primeiro, cada usuário que usar essa opção receberá previamente um PIN, que é um código de 4 dígitos,  o usuário precisa manter esse código na memória – assim como a senha do nosso cartão de crédito -. Essa tarefa é executada pelo administrador do servidor Swivel.

Para fazer a autenticação dupla( A2F), a aplicação web requer do usuário um OTC – One Time Code, que solicitará que o usuário digite. Se você não sabe o que é isso, convido-o a ler minha publicação anterior “Autenticação de 2 fatores com o Scriptcase“.

Para determinar qual OTC o usuário deve inserir, no momento da autenticação e logo depois de fazer a conexão com o servidor Swivel, um código de 10 dígitos é enviado para o navegador do usuário na forma de uma imagem retangular, então o usuário leva os números representados por seu PIN na imagem exibida – o PIN que foi atribuído anteriormente pelo administrador do Swivel -, ou seja, se o PIN for 5273, você simplesmente escreve o número na imagem na 5ª posição, depois o número na 2ª posição, depois o número na 7ª posição e finalmente o número na 3ª posição, tudo isso com base na imagem que o servidor enviou.

 

TURring  

TURing example. Based on the example described above, the OTC would be 3507

 

Deve-se notar que, obviamente, as imagens geradas pelo servidor são dinâmicas, ou seja, diferentes a cada vez que uma OTC é solicitada.

Outro ponto a levar em consideração, e mencionado na publicação anterior, é que cada fornecedor indica como deve ser integrado e, em muitos casos, disponibiliza recursos para o programador em diferentes linguagens de programação. Bom no caso do Swivel, tive exemplos em PHP, que baixei e comecei a entender como funcionava e depois a fazer as adaptações no Scriptcase. Eu recomendo que você sempre tente as demos ou exemplos de fornecedores separadamente, certificando-se de que eles funcionam bem antes de ir ao Scriptcase  implementá-lo, isso pode evitar grandes dores de cabeça!

Em resumo, o que fiz primeiro foi entender o funcionamento do exemplo e adaptá-lo às minhas necessidades, criando uma biblioteca php, que usaria no Scriptcase por meio de duas aplicações do tipo blank, decidi que seriam duas aplicações diferentes por causa da maneira  que o TURing funciona. Uma aplicação chamada Token, que é chamada após a validação do Login e Senha Normal (primeiro fator) e que gerencia a configuração da conexão ao servidor, assim como sua interface gráfica de solicitação do segundo fator e por fim, a validação do código inserido pelo usuário. A segunda aplicação pode ser considerado como um procedimento explicitamente responsável por exibir a imagem gerada pelo servidor por meio de um URL no modelo da aplicação 1.

Talvez a explicação anterior possa ter parecido um pouco confusa, por esse motivo fiz um vídeo onde explico com mais detalhes, a maneira que se faz essa implementação.

(legenda em PT-BR disponível)

É evidente que existem maneiras diferentes de implementá-lo, mas o objetivo deste post é mostrar qual é uma dessas maneiras para servir de exemplo para seus projetos.

Na minha publicação seguinte vou falar de como Implementar A2F usando um Desenvolvimento Próprio em NodeJS.

 

 

Você pode gostar de…

Learn by Doing – Aprender fazendo!

Learn by doing é uma metodologia  desenvolvida por John Dewey baseada na criação de conheci...

Te pagam pelo seu sistema ou pelo seu código?

Para todos aqueles que desenvolvem sistemas e softwares todos os dias durante o trabalho, você...

Scriptcase e os Web services

Nesta oportunidade estarei explicando como trabalhar com web services dentro do scriptcase, diretame...

Comente este post

Receba novos posts, ofertas e muito mais toda semana.

Usaremos as informações fornecidas para lhe enviar newsletter e ofertas especiais por email. Você pode cancelar a inscrição quando quiser, clicando em um link no rodapé de qualquer e-mail que receber de nós, ou entrando em contato conosco pelo e-mail sales@scriptcase.net. Saiba mais sobre nossa Polícia de Privacidade.