Je voudrais attacher un module SRAM au RasPi.
Mon idée est de stocker des données sensibles (cryptées) sur la carte SD mais de garder la clé sur un module SRAM. Il aurait sa propre batterie de secours (ou supercondensateur ) et un interrupteur anti-sabotage qui effacerait le contenu si le boîtier était ouvert.
Existe-t-il un moyen de s'interfacer à la SRAM avec uniquement les 8 lignes GPIO disponibles?
Le module SRAM lui-même aurait besoin d'une capacité d'au moins 128 bits (la taille de la plus petite clé AES ) mais même une mémoire large de 1 bit semble nécessiter 7 lignes d'adresse et une ligne de données plus 2 ou 3 lignes de contrôle.
Peut-on le faire? Je pense qu'il peut être possible de tricher en réutilisant une ligne d'E / S conçue pour autre chose.
la source
Vous pouvez simplement utiliser un petit microcontrôleur pour émuler la RAM sur SPI ou I2C.
Tous les micros, sauf les plus petits, auraient 128 bits de RAM pour stocker la clé
par exemple
MSP430G2001 a 128 octets de RAM
PIC12F508 a 50 octets de RAM (16 octets pour la clé, 34 octets libres)
PIC10F202 a 24 octets de RAM (16 octets pour la clé, 8 octets libres)
Si vous préférez vraiment la RAM série, elles existent aussi
23K640 est 64kbits / 2,7-3,6V
la source
Vous supposez qu'il n'y a que 8 lignes gpio disponibles sur le Pi. En fait, il est possible d'en avoir jusqu'à 17.
Je ne connais pas les détails pour y accéder, mais vous pouvez trouver plus d'informations ici
http://elinux.org/RPi_Low-level_peripherals
la source
Vous pouvez utiliser des modules I 2 C SRAM, comme le PCF8570P £ 1.50ish 256x8Bit SRAM. Il fonctionne entre 2,5 V et 6,0 V, dispose d'un mode d'économie d'énergie qui consomme aussi peu que 50 nA et peut être empilé pour créer plus de RAM si nécessaire.
Connectez-le directement à I2C ou à un maître pour plusieurs appareils I2C. Utilise uniquement 2 GPIO, Power et Negative, avec l'option de mise hors tension du microcontrôleur avec une petite batterie.
Le problème de sécurité d'Alex Chamberlains doit être pris au sérieux si vous souhaitez protéger la clé privée. Penser éventuellement à créer une sorte d'isolement dans votre code qui nécessite une escalade pour accéder à la SRAM.
la source