Teste de Segurança de Número Aleatório do OneKey App

Este artigo fornece um relatório de teste de segurança sobre a aleatoriedade da geração de frases mnemônicas no OneKey App (carteira de software), abarcando todos os sistemas operacionais suportados pelo OneKey App (macOS, Windows, Android, iOS) e seus respectivos clientes (Desktop e Extensão).

Conclusão do Teste

O OneKey App emprega APIs de número aleatório criptograficamente fortes específicas da plataforma recomendadas por diretrizes de desenvolvimento nos clientes Windows, macOS, iOS e Android, bem como na extensão Chrome. Testes internos confirmam conformidade com os padrões de segurança de número aleatório NIST SP 800-22 e FIPS 140-2.

  • Em plataformas baseadas no Chrome (Windows, macOS), é utilizada a API segura de número pseudo-aleatório crypto.getRandomValues fornecida pelo Chrome para gerar números pseudo-aleatórios criptograficamente fortes.
  • Em plataformas Android e iOS baseadas no React Native, são chamadas, respectivamente, as interfaces de número aleatório seguro fornecidas pelo sistema SecureRandome SecRandomCopyBytes.
⚠️ Nota: Embora o OneKey App adote rigorosamente as diretrizes de desenvolvimento de segurança, a segurança da geração de números aleatórios também pode ser afetada pela implementação do sistema operacional/hardware do dispositivo do usuário.

Teste de Segurança de Número Aleatório

NIST SP 800-22 FIPS 140-2

NIST SP 800-22 (Publicação Especial 800-22 do Instituto Nacional de Padrões e Tecnologia) é um documento publicado pelo Instituto Nacional de Padrões e Tecnologia dos EUA, que envolve principalmente um conjunto de testes estatísticos para testar Geradores de Números Pseudo-Aleatórios (PRNG). Ele fornece um conjunto de testes estatísticos para avaliar a aleatoriedade e qualidade das sequências de bits geradas por geradores de números aleatórios.

Projeto

Parâmetros

Segment Length

1024000

Test Items

1 (Todos os 15 testes)

Block Frequency Test - block length(M)

20480

NonOverlapping Template Test - block length(m)

10

Overlapping Template Test - block length(m)

10

Approximate Entropy Test - block length(m)

10

Serial Test - block length(m)

16

Linear Complexity Test - block length(M)

5000

bitstreams

20(20*1024000bits = 20480000bits = 20MB)

 

Windows

Sistema: Win10 22H2; Hardware: i7-13700h

  • Desktop Client
    • O cliente desktop do OneKey App para Windows é uma aplicação Electron que depende do mecanismo Chrome. Usando ferramentas de desenvolvedor, é chamada a API de geração de entropia mnemônica crypto.getRandomValues em tempo de execução para amostrar números aleatórios, totalizando 20MB. Testando de acordo com os parâmetros definidos, foi gerado um "Relatório de Teste" (veja o anexo abaixo), onde todos os itens foram aprovados, atendendo aos requisitos de segurança.
    • Resultados do Teste: NIST SP 800-22-windows-desktop-wini713.txt (Disponível no anexo do artigo)
  • Extensão do Navegador
    • A extensão Chrome depende do mecanismo Chrome. Usando ferramentas de desenvolvedor, é chamada a API de geração de entropia mnemônica crypto.getRandomValues em tempo de execução para amostrar números aleatórios, totalizando 20MB. Testando de acordo com os parâmetros definidos, foi gerado um "Relatório de Teste" (veja o anexo abaixo), onde todos os itens foram aprovados, atendendo aos requisitos de segurança.
    • Resultados do Teste: NIST SP 800-22-windows-ext-wini713.txt (Disponível no anexo do artigo)
macOS

Sistema: Sonoma 14.6; Hardware: MacBook Pro 2020 de 13 polegadas com M1

  • Cliente Desktop
    • O cliente desktop do OneKey App para macOS é uma aplicação Electron que depende do mecanismo Chrome. Usando ferramentas de desenvolvedor, é chamada a API de geração de entropia mnemônica crypto.getRandomValues em tempo de execução para amostrar números aleatórios, totalizando 20MB. Testando de acordo com os parâmetros definidos, foi gerado um "Relatório de Teste" (veja o anexo abaixo), onde todos os itens foram aprovados, atendendo aos requisitos de segurança.
    • Resultados do Teste: NIST SP 800-22-macOS-desktop-macm1p.txt (Disponível no anexo do artigo)
  • Extensão do Navegador
    • A extensão Chrome depende do mecanismo Chrome. Usando ferramentas de desenvolvedor, é chamada a API de geração de entropia mnemônica crypto.getRandomValues em tempo de execução para amostrar números aleatórios, totalizando 20MB. Testando de acordo com os parâmetros definidos, foi gerado um "Relatório de Teste" (veja o anexo abaixo), onde todos os itens foram aprovados, atendendo aos requisitos de segurança.
    • Resultados do Teste: NIST SP 800-22-macOS-ext-macm1p.txt (Disponível no anexo do artigo)
Android

Sistema: hyperOS 1.0.4.0; Hardware: Xiaomi 10s Snapdragon 870

  • Cliente Android
    • O cliente Android do OneKey App, sendo uma aplicação React Native, depende de APIs nativas. No Android, a API do sistema SecureRandom é invocada quando crypto.getRandomValues é chamada na aplicação. Usando o depurador remoto JS do React, é chamada a API de geração de entropia mnemônica crypto.getRandomValues em tempo de execução para amostrar números aleatórios, totalizando 20MB. Testando de acordo com os parâmetros definidos, foi gerado um "Relatório de Teste" (veja o anexo abaixo), onde todos os itens foram aprovados, atendendo aos requisitos de segurança.
    • Resultados do Teste: NIST SP 800-22-android-app-andsm870.txt (Disponível no anexo do artigo)
iOS

Sistema: iOS 17.5; Hardware: iPhoneX A11

  • Cliente iOS
    • .O cliente iOS do OneKey App, sendo uma aplicação React Native, depende de APIs nativas. No iOS, a API do sistema SecRandomCopyBytes é invocada quando crypto.getRandomValues é chamada na aplicação. Usando o depurador remoto JS do React, é chamada a API de geração de entropia mnemônica crypto.getRandomValues em tempo de execução para amostrar números aleatórios, totalizando 20MB. Testando de acordo com os parâmetros definidos, foi gerado um "Relatório de Teste" (veja o anexo abaixo), onde todos os itens foram aprovados, atendendo aos requisitos de segurança.
    • Resultados do Teste: NIST SP 800-22-iOS-app-x.txt (Disponível no anexo do artigo)

Anexos dos Resultados dos Testes

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0