-
O Artigo
-
Objetivo
- Propor de um novo modelo para geração do PIN
-
Conteúdo
- Geração de PIN usando Gramática Regular e Gramática Livre de Contexto
- Reconhecimento do PIN usando Autômatos Finitos e Autômatos Pushdown
-
Introdução
-
Ideia Geral
- Os caixas eletrônicos (ATM) substituiem os bancos para muitas operações saques, depósitos, geração de extratos, transferências, etc. por sua facilidade de operação, acessibilidade e outros fatores
- Orientado para o cliente, as duas chaves para qualquer transação em ATM são o cartão do banco e o PIN (código numérico 4 dígitos)
- PINs são gerados pelo banco, randomicamente, e dados ao titular da conta de forma confidencial, após o qual o cliente pode alterar o seu PIN
-
Dificuldade
- A geração randômica do primeiro PIN é simples e rápida
- A gestão de inúmeros PINs é complexa
-
Histórico
- 1º ATM - 1967, por John Shepherd-Barron, Londres
- Com serviços bancários de saques, depósitos e outros serviços, evita filas nas agências bancárias
- Problemas de segurança tornaram-se mais críticos a partir dos anos 90, quando usuários passaram a se preocupar menos com a complexidade dos PINs, facilitando invasões
- instituições investem enormes quantias na compra de ferramentas de terceiros para gerar aleatoriamente seus primeiros PINs
-
Métodos existentes de geração de PIN
-
IBM 3624
- O mais simples. O PIN é uma encriptação do número da conta/cartão, com chave exclusiva. Se um novo cartão é emitido, um novo PIN é gerado
-
IBM 3624 + offset
- O usuário pode escolher seu PIN, que é encriptado e armazenado no banco emissor ou no cartão do usuário
-
VISA
- O método VISA é semelhante ao IBM 3624 + offset. É gerado utilizando o número da conta + o PIN do usuário. Com base neste no conta/PIN é gerado o PVKI, que é uma chave encriptada de verificação.
-
Proposta de geração de PINs
-
1. PIN gerado por Gramática Regular
-
Gramática regular é do tipo 3 na Hierarquia de Chomsky
-
G = (V, T, P, S)
- S - Símbolo Inicial
- V - Símbolos não Terminais
- T - Símbolos Terminais
- P - Conjunto de Produções na forma
S → Aa/bB/a/b/ε
- Onde maiúsculos são não terminais, minúsculos são terminais e ε é a string vazia
-
Geração do PIN''
- Exemplo
- A → B5
- B5 → C05
- C05 → D405
- D405 → 9405
-
2. PIN gerado por Gramática Livre de Contexto
-
Gramática livre de contexto é do tipo 2 na Hierarquia de Chomsky
-
G = (V, T, P, S)
- S - Símbolo Inicial
- V - Símbolos não Terminais
- T - Símbolos Terminais
- P - Conjunto de Produções na forma
S → Aa/bB/a/b/ε
- Onde maiúsculos são não terminais, minúsculos são terminais e ε é a string vazia
- São referidas como gramáticas de estrutura de frase
-
Geração do PIN
- Algoritmos de análise sintática
-
3. PIN gerado em Python
-
-
Reconhecimento dos PINs com Autômato Finito e Autômato a Pilha
-
Implementação
-
AFD
- Uma cadeia será reconhecida por um autômato apenas se a derivação dessa string começar no estado inicial e terminar no estado de aceitação.
-
M = {Q, Fi, Fa, Σ, δ}
- Q = nº de estados = {q0, q1, q2, q3, q4}
- Fi = q0 (estado inicial)
- Fa = q4 (estado final)
- $ = Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} (alfabetos de entrada)
- δ: Q × Σ → Q * definido como
δ (q0, $) = q1
δ (q1,$) = q2
δ (q2, $) = q3
δ (q3, $) = q4
-
Autômato a Pilha
- A artigo propõe o reconhecimento utilizando autômato a pilha (pushdown) que, conforme visto em aula não é tão eficiente quanto a utilizar diretamente as gramáticas, por exemplo com os algoritmos CYK ou Early
-
O que é
- É um autômato com uma estrutura de dados em pilha, reconhecedor de Linguagens Livres de Contexto
-
Quando uma string é aceita?
- Esvaziando a pilha
- Ou entrando no estado de aceitação
-
Processo de implementação
- O administrador digita o ID do cliente, ID da conta e nº do cartão
(serão usados para a geração do PIN)
- O administrador seleciona Gramática Regular ou Livre de Contexto.
- O sistema gera os PINs que ainda não foram gerados.
- Cada registro com ID cliente, ID conta e nº cartão terá um PIN correspondente
- No ATM, após o cliente inserir o cartão e digitar o PIN, o servidor valida o PIN digitado com o armazenado no sistema
- Se o cliente solicitar a alteração do PIN, o sistema deverá registrar o motivo da alteração (prazo de expiração ou bloqueio), definir o PIN como nulo e executar a gramática para criar um novo PIN
- Ao inserir o PIN no ATM, este será enviado para o servidor, onde será reconhecido por Máquina de Estado Finito ou Autômato a Pilha e então a autorização será concedida.
-
Conclusões
-
Do autor
- A aplicação do artigo é a criação de uma estrutura para produzir PIN de forma rápida e confiável.
- Pode-se usar a estrutura para criar um sistema de mercado
-
Nossas conclusões
- O artigo tem alguns GAPs entre a geração e o reconhecimento do PIN.
- Ficou clara a aplicabilidade das regras de produção referente às gramáticas regular e livre de contexto, porém após o primeiro reconhecimento do respectivo autômato reconhecedor, entendemos que para as próximas verificações do PIN eles não seriam necessários
- Também não ficou claro o motivo de nova proposta usando gramáticas: os modelos existentes possuem limitações? Quais?
- SIN5023 - Reconhecimento Sintático e Estrutural de Padrões
- Alunos:
André Prado
Diego Dedize
- Professora:
Ariane Machado