Sobre o chip DS28E01
O DS28E01-100 é um chip 1-Wire® que possui um número de registro ROM exclusivo de 64 bits e um mecanismo de autenticação robusto, fornecendo um método seguro para estabelecer uma raiz de confiança em sistemas embarcados. Ele opera no protocolo 1-Wire, que permite a comunicação com um microcontrolador usando apenas um único pino de dados. O dispositivo suporta tensão de alimentação de 1,8 V a 5,5 V e uma ampla faixa de temperatura de -40 °C a +85 °C.
Apresentação dos recursos
- Baixo consumo de energia;
- Mecanismo de autenticação seguro;
- Protocolo de comunicação 1-Wire;
- Autenticação criptográfica;
- Número de registro ROM exclusivo de 64 bits;
- Identificador ROM exclusivo de 64 bits gravado a laser na fábrica;
- Interface serial 1-Wire com recursos de segurança robustos;
- Sensor de temperatura de alta precisão integrado;
- Monitoramento de tensão no chip;
- Verificação automática da integridade dos dados;
- Saída de dreno aberto para acionar LEDs e outros dispositivos;
- Suporta modo overdrive para comunicação mais rápida;
- Autoteste integrado para ambientes de desenvolvimento e produção.
Parâmetro de desempenho
- 64 bytes de EEPROM do usuário;
- Autenticação SHA-2 de 256 bits 1-Wire;
- Memória protegida de 2Kb;
- Protocolo de comunicação 1-Wire;
- Pacote SOT-23 de 3 pinos;
- Faixa de tensão operacional de 1,8 V a 5,5 V;
- Faixa de temperatura operacional de -40 °C a +85 °C.
Configuração do pino
O DS28E01-100 tem um pacote SOT-23 de 3 pinos, com a seguinte configuração de pinos:
1 – GND (Terra)
2 – DQ (Pino de dados)
3 – Vcc (Tensão de alimentação)
Diagrama de blocos
O DS28E01-100 é composto pelos seguintes blocos funcionais:
Interface 1-Wire
ROM de 64 bits Mecanismo
de autenticação forte
Reinicialização ao ligar e oscilador Monitor de
tensão de
alimentação Proteção contra gravação e controle do ciclo de gravação
Aplicações
Sistemas invioláveis; Controle
de acesso e armazenamento seguro; Identificação e
autenticação seguras;
Inicialização segura e atualizações de firmware em sistemas embarcados.
Chip compatível com a série DALLAS
Abaixo estão nossos modelos de chips Dallas disponíveis para descriptografia:
- DS1205
- DS1920
- DS1820
- DS1954
- DS1955
- DS1961
- DS1963L
- DS1963S
- DS1971
- Seletor digital 1982
- Sensor de temperatura digital
- DS1990A
- DS1991
- DS1994
- DS1995
- DS1992
- Seletor digital 1985
- Chamada Seletiva Digital 1986
- DS1993
- DS1996
- DS2405
- DS2406
- Duplo estágio 2430A
- DS2431
- DS2432
- DS2433
- DS2436
- Processador de sinal digital 2002
- Processador de sinal digital 2503
- Processador de sinal digital 2505
- Casa de dois andares
Como funciona o DS28E01?
O chip DS28E01 usa um módulo de criptografia SHA-160 para proteger os dados envolvidos no algoritmo. Os 55 bytes de dados consistem em uma chave de 8 bytes, um número aleatório especificado pelo usuário de 5 bytes, 32 bytes de conteúdo EEPROM, um ROMID de 7 bytes, um valor fixo de 2 bytes (0xFF) e um endereço EEPROM TA1 de 1 byte.
A MCU pode verificar a segurança do chip lendo o valor hash de 20 bytes criptografado pelo SHA e comparando-o com o valor hash calculado pela MCU através do mesmo algoritmo. Para garantir que a MCU execute a mesma operação de criptografia, ela deve gerar a mensagem exata de 55 bytes que está dentro do chip.
A chave de 8 bytes é gerada e gravada pela MCU, o número aleatório de 5 bytes é gravado no bloco de notas antes do chip executar o SHA, os 32 bytes de dados EEPROM são retornados pelo chip antes da leitura do valor hash de 20 bytes, o ROMID de 7 bytes pode ser lido a qualquer momento, o valor fixo de 2 bytes pode ser obtido no manual e o TA1 de 1 byte é gravado pela MCU.
Como desbloquear os chips Dallas?
O desbloqueio dos chips Dallas pode ser feito através de dois métodos. O primeiro método envolve desmontar e descompilar o código do chip de controle principal para localizar o código de verificação criptografado e contorná-lo ou modificar a memória RAM. Esse método é altamente eficaz, mas também complexo, exigindo conhecimento especializado em instruções de montagem, arquitetura de chips, chips de criptografia e ferramentas de desenvolvimento. No entanto, ele não é comercialmente viável, pois o resultado da quebra é incerto e o cliente deve pagar pelo processo de quebra antes de obter o código de máquina descriptografado.
O segundo método envolve simular a forma de onda de comunicação durante o processo de verificação. Para protocolos de comunicação lentos, um microcomputador de chip único pode ser usado para simulação, enquanto para protocolos de alta velocidade, um CPLD deve ser usado. Este método envolve gerar o mesmo número aleatório todas as vezes.
Como usar o DS28E01?
Passo 1: Inicializar a chave DS28E01
A chave de inicialização é operada apenas na fábrica antes da produção do produto e só precisa ser operada uma vez.
Procedimento:
1. Leia o chip ROMID.
2. Gere uma chave exclusiva de 64 bits por meio de um determinado algoritmo para garantir que as chaves geradas por cada placa-mãe sejam diferentes.
3. Grave a chave na área de armazenamento temporário do chip e leia-a novamente para verificar se a gravação está correta.
4. Execute o comando de carregamento da chave do chip para permitir que o chip salve a chave de 64 bits da área de armazenamento temporário na área de armazenamento da chave.
5. Pronto.
Passo 2: Verifique a chave DS28E01
A verificação da chave é feita na aplicação do produto. Sempre que o produto é iniciado, a chave DS28E01 é verificada para garantir que está correta.
Se a verificação for aprovada, o produto funcionará normalmente; se a verificação não estiver correta, o produto não funcionará corretamente através de determinados meios.
Procedimento:
1. Leia o ROMID do chip.
2. Através do mesmo algoritmo do processo de inicialização, gere uma chave de 64 bits.
3. Grave um número aleatório de 8 bytes na área de armazenamento temporário do chip (apenas 5 bytes são usados) e leia-o novamente para verificação.
4. Envie um comando de autenticação criptografado para o chip, que pode ler de volta 32 bytes de dados EEPROM e 20 bytes de valor hash.
5. Use os dados lidos acima, gere uma mensagem de resumo de 55 bytes e execute a operação SHA1.
6. Compare se o valor hash calculado por você é consistente com o valor hash lido de volta do chip.




