Como gerar no cliente um QR Code de pagamento instantâneo sem conexão com a internet
(blog.javien.dev)Veja também: https://pt.news.hada.io/topic?id=10280
- O Dimipay é uma solução interna de pagamento instantâneo por QR usada na Korea Digital Media High School.
- Como os alunos costumavam usar planos de dados baratos, muitas vezes não tinham acesso livre à internet, então foi pensado um método de pagamento que funcionasse mesmo sem conexão.
- Um membro da equipe que liderou o projeto de pagamentos offline registrou detalhadamente o processo de pesquisa no blog, então estamos compartilhando aqui.
Abordagem técnica:
- Token de pagamento inspirado em TOTP
- Geração dinâmica das chaves necessárias para criptografia usando o contador do TOTP e HKDF
- Criptografia com chave simétrica usando XChaCha20-Poly1305
- Validação da validade do código de pagamento
- Foi introduzido um nonce (
uuidv7) para distinguir tokens já usados ou expirados - Se o nonce tiver sido gerado antes do horário do pagamento mais recente, a transação é rejeitada
- A intenção é prevenir ataques de replay
- Foi introduzido um nonce (
- Adoção do formato TLV (Tag-Length-Value): permite serializar o payload de forma flexível e compacta
3 comentários
Pelo vídeo de demonstração, a qualidade está absurda.
Pay gerado localmente... é o LG Pay mesmo kkkkkkkk
kkkkkkkk