Gostaria de anexar um módulo SRAM ao RasPi.
Minha idéia é armazenar dados confidenciais (criptografados) no cartão SD, mas manter a chave em um módulo SRAM. Teria sua própria bateria de reserva (ou supercapacitor ) e um interruptor anti-violação que apagaria o conteúdo se o gabinete fosse aberto.
Existe alguma maneira de fazer interface com a SRAM apenas com as 8 linhas GPIO disponíveis?
O próprio módulo SRAM precisaria de uma capacidade de pelo menos 128 bits (o tamanho da menor chave AES ), mas mesmo uma memória de 1 bit exigiria 7 linhas de endereço e uma linha de dados mais 2 ou 3 linhas de controle.
Isso pode ser feito? Eu acho que pode ser possível trapacear reutilizando uma linha de E / S projetada para outra coisa.
fonte
Você pode usar apenas um pequeno microcontrolador para emular a RAM por SPI ou I2C.
Todos os micros, com exceção dos menores, teriam 128 bits de RAM para armazenar a chave
por exemplo
MSP430G2001 possui 128 bytes de RAM
PIC12F508 possui 50 bytes de RAM (16 bytes para chave, 34 bytes livres)
PIC10F202 possui 24 bytes de RAM (16 bytes para chave, 8 bytes livres)
Se você realmente prefere RAM serial, eles também existem
23K640 é 64kbits / 2.7-3.6V
fonte
Você está assumindo que existem apenas 8 linhas de gpio disponíveis no Pi. De fato, é possível ter até 17.
Não sei os detalhes de como acessá-los, mas você pode encontrar mais informações aqui
http://elinux.org/RPi_Low-level_peripherals
fonte
Você pode usar os módulos I 2 C SRAM, como o PCF8570P £ 1,50ish SRAM de 256x8Bit. Opera entre 2.5V e 6.0V, possui um modo de economia de energia que consome apenas 50nA e pode ser empilhado para criar mais RAM, se necessário.
Conecte-o diretamente ao I2C ou a um Master para vários dispositivos I2C. Usa apenas 2 GPIO, Energia e Negativo, com a opção de MCU desligar a retenção de RAM usando uma bateria pequena.
A preocupação com a segurança de Alex Chamberlains deve ser levada a sério se você quiser proteger a chave privada. Possivelmente pensando em criar algum tipo de isolamento no seu código que exija escalação para acessar a SRAM.
fonte