À propos de la puce DS28E01
Le DS28E01-100 est une puce 1-Wire® qui dispose d'un numéro d'enregistrement ROM 64 bits unique et d'un puissant moteur d'authentification, offrant ainsi une méthode sécurisée pour établir une racine de confiance dans les systèmes embarqués. Il fonctionne selon le protocole 1-Wire, qui permet de communiquer avec un microcontrôleur à l'aide d'une seule broche de données. Le dispositif prend en charge une tension d'alimentation de 1,8 V à 5,5 V et une large plage de températures de -40 °C à +85 °C.
Présentation des fonctionnalités
- Faible consommation d'énergie ;
- Moteur d'authentification sécurisé ;
- Protocole de communication 1-Wire ;
- Authentification cryptographique ;
- Numéro d'enregistrement ROM unique 64 bits ;
- Identifiant ROM unique de 64 bits gravé au laser en usine ;
- Interface série 1-Wire avec fonctionnalités de sécurité renforcées ;
- Capteur de température haute précision intégré ;
- Surveillance de la tension sur puce ;
- Vérification automatique de l'intégrité des données ;
- Sortie à drain ouvert pour piloter des LED et d'autres dispositifs ;
- Prise en charge du mode overdrive pour une communication plus rapide ;
- Autotest intégré pour les environnements de développement et de production.
Paramètre de performance
- 64 octets d'EEPROM utilisateur ;
- Authentification SHA-2 1-Wire 256 bits ;
- Mémoire protégée de 2 Ko ;
- Protocole de communication 1-Wire ;
- Boîtier SOT-23 à 3 broches ;
- Plage de tension de fonctionnement de 1,8 V à 5,5 V ;
- Plage de température de fonctionnement de -40 °C à +85 °C.
Pin Configuration
Le DS28E01-100 est présenté dans un boîtier SOT-23 à 3 broches, avec la configuration suivante :
1 – GND (masse)
2 – DQ (broche de données)
3 – Vcc (tension d'alimentation)
Schéma fonctionnel
Le DS28E01-100 comprend les blocs fonctionnels suivants :
Interface 1-Wire
ROM 64 bits Moteur
d'authentification forte
Réinitialisation à la mise sous tension et oscillateur Surveillance
de la tension d'alimentation
Protection en écriture et contrôle du cycle d'écriture
Applications
Systèmes inviolables ; contrôle
d'accès et stockage sécurisé ; identification et
authentification sécurisées ;
démarrage sécurisé et mises à jour du micrologiciel dans les systèmes embarqués.
Puce compatible avec la série DALLAS
Vous trouverez ci-dessous nos modèles de puces Dallas disponibles pour le décryptage :
- DS1205
- DS1920
- DS1820
- DS1954
- DS1955
- DS1961
- DS1963L
- DS1963S
- DS1971
- Sélecteur numérique 1982
- Capteur de température numérique
- DS1990A
- DS1991
- DS1994
- DS1995
- DS1992
- Sélecteur numérique 1985
- Sélecteur numérique 1986
- DS1993
- DS1996
- DS2405
- DS2406
- Double étage 2430A
- DS2431
- DS2432
- DS2433
- DS2436
- Processeur de signal numérique 2002
- Processeur de signal numérique 2503
- Processeur de signal numérique 2505
- Maison à deux étages
Comment fonctionne le DS28E01 ?
La puce DS28E01 utilise un module de cryptage SHA-160 pour sécuriser les données impliquées dans l'algorithme. Les 55 octets de données se composent d'une clé de 8 octets, d'un nombre aléatoire de 5 octets spécifié par l'utilisateur, de 32 octets de contenu EEPROM, d'un ROMID de 7 octets, d'une valeur fixe de 2 octets (0xFF) et d'une adresse EEPROM TA1 de 1 octet.
Le microcontrôleur peut vérifier la sécurité de la puce en lisant la valeur de hachage de 20 octets cryptée par SHA et en la comparant à la valeur de hachage calculée par le microcontrôleur à l'aide du même algorithme. Pour s'assurer que le microcontrôleur effectue la même opération de cryptage, il doit générer le message exact de 55 octets qui se trouve à l'intérieur de la puce.
La clé de 8 octets est générée et écrite par le microcontrôleur, le nombre aléatoire de 5 octets est écrit dans le bloc-notes avant que la puce n'effectue le SHA, les 32 octets de données EEPROM sont renvoyés par la puce avant la lecture de la valeur de hachage de 20 octets, le ROMID de 7 octets peut être lu à tout moment, la valeur fixe de 2 octets peut être obtenue à partir du manuel et le TA1 de 1 octet est écrit par le microcontrôleur.
Comment débloquer les jetons Dallas ?
Il existe deux méthodes pour déverrouiller les puces Dallas. La première consiste à désassembler et décompiler le code de la puce de contrôle principale afin de localiser le code de vérification crypté, puis à le contourner ou à modifier la mémoire RAM. Cette méthode est très efficace, mais également complexe, car elle nécessite une expertise en matière d'instructions d'assemblage, d'architecture de puces, de puces de cryptage et d'outils de développement. Cependant, elle n'est pas viable sur le plan commercial, car le résultat du craquage est incertain et le client doit payer pour le processus de craquage avant d'obtenir le code machine décrypté.
La deuxième méthode consiste à simuler la forme d'onde de communication pendant le processus de vérification. Pour les protocoles de communication lents, un micro-ordinateur à puce unique peut être utilisé pour la simulation, tandis que pour les protocoles à haut débit, un CPLD doit être utilisé. Cette méthode consiste à générer le même nombre aléatoire à chaque fois.
Comment utiliser le DS28E01 ?
Étape n° 1 : Initialiser la clé DS28E01
La clé d'initialisation n'est utilisée qu'en usine avant la fabrication du produit, et ne doit être utilisée qu'une seule fois.
Procédure :
1. Lire la ROMID de la puce.
2. Générer une clé unique de 64 bits à l'aide d'un algorithme spécifique afin de garantir que les clés générées par chaque carte mère sont différentes.
3. Écrire la clé dans la zone de stockage temporaire de la puce, puis la relire pour vérifier que l'écriture est correcte.
4. Exécuter la commande de chargement de clé de la puce afin que celle-ci enregistre la clé de 64 bits de la zone de stockage temporaire dans la zone de stockage de clé.
5. Terminé.
Étape n° 2 : Vérifier la clé DS28E01
La clé de vérification est effectuée dans l'application du produit. À chaque démarrage du produit, la clé DS28E01 est vérifiée pour s'assurer qu'elle est correcte.
Si la vérification est réussie, le produit fonctionne normalement. Si la vérification échoue, le produit ne fonctionnera pas correctement par certains moyens.
Procédure :
1. Lire le ROMID de la puce.
2. À l'aide du même algorithme que dans le processus d'initialisation, générer une clé de 64 bits.
3. Écrire un nombre aléatoire de 8 octets dans la zone de stockage temporaire de la puce (seuls 5 octets sont utilisés) et le relire pour vérification.
4. Envoyez une commande d'authentification cryptée à la puce, qui peut relire 32 octets de données EEPROM et 20 octets de valeur de hachage.
5. Utilisez les données lues ci-dessus, générez un message de résumé de 55 octets et effectuez l'opération SHA1.
6. Comparez si la valeur de hachage que vous avez calculée est cohérente avec la valeur de hachage relue à partir de la puce.




