
Meu nome é Valery Bogdanov, sou o chefe do grupo de teste na equipe de pagamentos móveis do departamento de tecnologia da informação da NSPK, e falarei sobre como as carteiras móveis funcionam usando o exemplo de nosso aplicativo Mir Pay .
Primeiro, vamos ver como funciona o pagamento com cartão de plástico. No caso clássico, o cartão é emitido ao titular pelo banco emissor. Neste caso, o cartão em uma área protegida de memória armazena a chave MK-AC ( Application Cryptogram Master Key ) compartilhada com o emissor . No momento do pagamento (se for operação online ) gera um mapa baseado na chave de sessão MK-AC SK-AC ( Application Cryptogram Session Key ) e a partir daí, utilizando os dados do mapa e dados sobre a operação recebidos do terminal, gera um criptograma ARQC ( Autorização Solicitar criptograma ). A geração do criptograma é baseada no algoritmo 3DES (DES triplo ). No caso geral, os dados da transação são enviados do cartão para o terminal, depois para o host do banco adquirente (ou seja, atendendo ao comerciante), depois para o sistema de pagamento e, na última fase, para o banco emissor (ou seja, emissão do cartão) para autorização.

O emissor verifica o criptograma gerando-o com base nos dados da transação fornecidos com o ARQC e comparando-o com o valor dos dados recebidos. O banco emissor pode aprovar ou rejeitar a operação com base nos resultados da análise dos dados do cartão, criptogramas, limites estabelecidos, avaliação de risco e outros parâmetros.
Agora vamos dar uma olhada na diferença entre pagar com uma carteira móvel. Aqui, o banco emissor não dá nada ao titular da carteira (exceto para o cartão, é claro, mas não participa diretamente do pagamento), em vez disso, o titular do cartão insere seus dados na carteira, e "aparece" nela, ou melhor, não ela, mas um token especial -perfil gerado com base neste mapa. Já está claro que não será possível providenciar o pagamento, como no caso clássico, uma vez que o telefone carece dos dados do cartão e da chave MK-AC do emissor - em vez deles são utilizados o perfil do token e suas chaves especiais. Antes de lidar com o pagamento, vamos entender o que acontece quando um cartão é “adicionado” a uma carteira móvel.

O titular do cartão insere os dados no aplicativo (1), que os transfere de forma criptografada (mais sobre isso mais tarde) através dos hosts do provedor de serviços de carteira móvel ( WSP - provedor de serviços de carteira ) para o sistema de pagamento. No caso do Mir Pay, o prestador do serviço de carteira é o NSPK, então os dados vão imediatamente para o sistema de pagamento (2) . O processamento posterior ocorre na plataforma de pagamento móvel (PMP). O PMP desencripta os dados, determina pelo número do cartão de quem foi emitido e pede-lhe a confirmação da possibilidade de adicionar o cartão à carteira (3) . Em caso de resposta positiva (4) para este cartão, o procedimento para gerar um perfil token (5) e enviá-lo para o telefone (6)... Assim, em vez dos dados do cartão, o dispositivo móvel armazenará um perfil-token associado a este cartão e a este dispositivo. Observe que a conversão do perfil de token para os dados do cartão original não é possível fora da plataforma de pagamento móvel. Após salvar o perfil do token no dispositivo do usuário, o Mir Pay solicita um pacote de chaves one-time do PMP (7) , que será utilizado pelo aplicativo ao fazer uma compra como chave de sessão, semelhante ao SK-AC mencionado acima . Como o nome indica, uma chave descartável não pode ser usada mais de uma vez, portanto, durante o uso, o aplicativo Mir Pay baixa periodicamente novas partes das chaves do PMP. Isso conclui a adição do mapa ao aplicativo.
Agora, vamos ver como o processo de pagamento mudou em comparação com o pagamento por cartão de plástico.

O primeiro estágio é quase o mesmo, apenas os dados de perfil de token são usados em vez dos dados do cartão e o criptograma ARQC é gerado em uma chave única recebida do PMP como uma sessão SK-AC . Outra diferença entre o Mir Pay e os cartões plásticos é que ao gerar um criptograma, ao invés do 3DES , é utilizado um algoritmo de codificação de bloco simétrico mais moderno AES ( Advanced Encryption Standard ).
Além disso, os dados da operação também passam pelo terminal, host do banco adquirente, e entram no sistema de pagamento. Pelo número do token (do perfil do token), o sistema de pagamento determina que não está lidando com um cartão comum, mas com um token, e envia a operação ao PMP para verificar o criptograma e a chamada detokenização - transformando o token de volta em dados reais do cartão. Sim, o criptograma agora é verificado não pelo emissor, mas pelo PMP, pois é nas profundezas da plataforma que as próprias chaves de uso único e o perfil de token são gerados. Além disso, a operação com os dados do cartão já é enviada ao banco emissor para autorização. No caminho de volta - transformação reversa.
Em Mir Payo esquema com chaves de uso único é usado, mas há outra abordagem - armazenar uma chave no dispositivo. Esta abordagem requer um elemento de segurança no dispositivo e algumas carteiras podem aplicá-lo, uma vez que certos dispositivos possuem tal elemento de segurança. Em nosso caso, dada a enorme variedade de telefones Android, isso simplesmente não é possível. Essa especificidade explica o esquema escolhido.
Considerando o processo de tokenização descrito acima, um ponto sutil pode ser notado: ao pagar com carteira, os dados do perfil do token são usados, porém, quando um cartão é adicionado, seus dados são enviados para os hosts do sistema de pagamento, e esses dados são estritamente confidenciais. Para proteger os dados do cartão no Mir Payum sistema de proteção de vários estágios é fornecido. Na inicialização, um mecanismo de controle da integridade do aplicativo e verificação do ambiente é habilitado automaticamente, o que não permite o uso de um aplicativo falso modificado por pessoas não autorizadas. Se um risco significativo for detectado, o aplicativo informa o usuário sobre isso e exclui automaticamente todos os perfis de token armazenados. Além disso, os resultados dessas verificações também são analisados na lateral do PMP.
Para a troca de dados confidenciais PMP e Mir Paygerar pares de chaves e trocar componentes públicos. Devido ao fato de que não podemos confiar 100% no armazenamento de chaves embutido, um esquema foi desenvolvido com o armazenamento de diferentes componentes de chaves em locais diferentes: tanto no armazenamento de chaves quanto na RAM. Ou seja, para iniciar uma operação fraudulenta, é necessário, em primeiro lugar, extrair os criptogramas de todas essas chaves e, em segundo lugar, elas também precisam ser descriptografadas! Mas isso não é tão fácil e não é muito eficaz, uma vez que as teclas de uso único são usadas para as operações. E só depois de Mir Paye PMP trocaram chaves públicas, ou seja, criaram na verdade um canal seguro, onde é permitida a transferência de dados sigilosos, que são criptografados com algoritmos resistentes à criptografia. Por meio desse mecanismo, o perfil de token, as chaves únicas para a realização de transações e os dados de transações já concluídas são entregues ao dispositivo do usuário.
Como você pode ver nesta descrição, a segurança dos pagamentos baseados em carteiras móveis não se mantém apenas ao nível dos cartões de plástico, e em alguns casos até a supera! O aplicativo Mir Pay cumpre os requisitos de segurança nacionais e internacionais e permite que os titulares do cartão Mir usem seus telefones celulares para pagamentos sem medo de vazamento de dados pessoais.
Atualmente o desenvolvimento do Mir Paycontinua - tendo lançado as primeiras versões em pouco tempo, já estamos introduzindo novos desenvolvimentos no aplicativo, não esquecendo de melhorar o que já foi feito.
Vários pontos exigem desenvolvimento - você precisa levar em consideração os modelos de smartphones lançados e planejados recentemente, sem os serviços do Google - mude para equivalentes russos ou desenvolva sua própria solução.