Tabela de conteúdos

ProvTransaction - Manual de Integração

1. Introdução

Este manual foi desenvolvido para tratar unicamente da implementação do processo de integração da plataforma ProvTransaction com a aplicação de Retaguarda e Canais. Neste estão disponíveis também os procedimentos e regras de uso e validação.

2. Configuração

A primeira providência é instalar o ambiente Python em hardware definido na especificação do projeto, considerando a quantidade de sementes que serão armazenadas no banco de dados de objetos residente em memória.

Importante: Cada componente com semente ocupa 915 Bytes. Portanto, cada 1GB de RAM suporta em torno de 1 milhão de componentes.

2.1 Ambiente Python

O Python pode ser encontrado no site do projeto, que oferece instaladores, fontes, scripts e todos os procedimentos necessários para instalação nos sistemas operacionais Windows e Linux.

2.1.1 REDIS

É responsável pelo processamento criptográfico sendo customizado através de plugins que implementam o algoritmo OATH gerados previamente distribuídos aos usuários.Tem número fixo e muitos estão persistidos.

O Redis deve ser instalado no seu ambiente utilizando o gerenciamento de instalação de pacotes/programas do sistema operacional escolhido.

Após a instalação ele pode rodar como aplicativo ou serviço.

2.1.2 TORNADO

É o responsável pela conectividade, integração e interação com o formulário da transação é customizável através de extensions que são criadas dinamicamente a cada nova conexão sendo eles que se conectam ao Redis localizando um componente através do número de série gerando um novo código provTransaction ou validando um digitado no canal.

Como no caso do Redis, você deve utilizar o gerenciamento de pacotes da sua distribuição para adicionar o Tornado ao seu Python.

2.1.3 MÓDULOS ADICIONAIS

Módulos Python também necessários: Pycrypto e Pyinstaller.

Importante: Durante o uso o canal se conecta ao Tornado e e suas extensions buscam os plugins Redis, sendo essa relação imprevisível porquê dependem de quem está conectado no momento.

2.2 Plataforma ProvTansaction

A plataforma ProvTransaction é o resultado de implementações Python dentro da estrutura de customização previstas no Redis e Tornado, que otimizam esses módulos tornando-os mais rápidos e protegidos.

Para instalação da plataforma ProvTransaction, entre em contado com a equipe técnica da Provmed TI.

2.2.1 PACOTES

“seed” : Gera exclusivamente sementes “em claro” diretamente em arquivos texto.
“seedk”: Gera sementes criptografadas em arquivo texto.
“seedjs”: Gera componentes e sementes criptografadas em arquivo json.
”seedict1”: Gera componentes e sementes criptografadas no Redis.
*** existem aplicações de importação/exportação/ de/para armazenamento texto/json/Redis por faixas de tokens incluindo funções leitura e apagamento geral do componentes no Redis que pode ser demorado para quantidades massivas por causa dos “snapshots” persistidos.
“tkrd” : Gera código ProvTransaction de uma semente e desafio dados.
“qrled”: POC da aplicação mobile para apresentações em desktop usando webcam.
“totp”: Apresenta em display gráfico o código ProvTransaction de um componente dado armazenado no Redis com desafio fixo na janela de tempo para ser usado em testes e homologações.
“zig”: Geração e armazenamento seguro via software da chave de criptografia de sementes.
“zag”: Recuperação da chave armazenada de criptografia de sementes função que internamente pode ser agregado a geradores de sementes.

2.2.2 CONECTIVIDADE (TORNADO)

Os recursos de segurança utilizados para uso na plataforma são extensions Tornado chamadas através de conexão http/https através de comandos “post” ou “get”.

http://localhost:8888/oath/ – Geração de código ProvTransaction utilizada para o envio de códigos de aprovação através de canais paralelos como SMS ao invés de Qrcoode.
http://localhost:8888/ocra/ – Validação básica informando serial, semente e desafio.
http://localhost:8888/seed/ – Exportação de sementes a partir de um número de série utilizado na ativação da App mobile.
http://localhost:8888/monitora/ – Medição número de usuários conectados no Redis e volume de transações por segundo além de status de memória em uso/disponível em/para operação no banco de dados.

Importante: Substitua “localhost” pelo número IP ou URL do servidor que hospeda a plataforma ProvTransaction.

2.2.3 QRCODE (COMPOSIÇÃO)

O usuário tem disponível em seu smartphone um estoque local de sementes além da chave de criptografia de Qrcode, previamente distribuídos na fase de ativação.

No momento de publicar o formulário da transação o banco cria um Qrcode (versão “10”, nível de correção “L”) incluindo 3 informações agrupadas e criptografadas (AES256) em uma sequência de caracteres, a saber:

EXEMPLO:
           (1)   (2)    (3)  
Aberto:  4000000-123-1234567890
Cifrado: LIQz5+VC5mLwQjQMQ/FME98SvJA=
  1. Numero de série: de uma das sementes presentes no smartphone do usuário escolhida aleatoriamente;
  2. Desafio de sessão: valor aleatório a ser agregado na semente no cálculo do código de confirmação;
  3. Chave de criptografia de sementes: obtida diretamente da plataforma usada para abrir sementes no smartphone;

Aberto Cifrado

Na transação o App lê o Qrcode recuperando a semente realizando a geração do cálculo OATH.

3. Processos

Após o ambiente estar em conformidade com as especificações necessárias, e a plataforma ProvTransaction homologada, os pacotes estarão disponíveis para utilização. Para cada processo existem utilitários e aplicativos específicos, que serão descritos nos próximos tópicos.

3.1 Preparação

3.2 Distribuição

3.3 Ativação

3.4 Aprovação

4. Conclusão

<Voltar ao Ínicio>