Here are some tips and hints:
1) It's not just because information can not be read orthodox (through common operating systems) that it is secure. This is called falsa sensação de segurança
. The best way to protect your data is through encryption (and all the power of the mathematics behind it) once encrypted, no matter what medium or medium on which that data will be trafficked, stored and / or copied, which it is important that to be decrypted would require a tremendous computational effort, a lot of time and / or a lot of money;
2) Basically, there are 2 distinct types of cryptographic algorithms using keys: Simétrico
and Assimétrico
. To simplify, I suggest using a symmetric key cryptography algorithm. Currently, there are several such as: AES
, Twofish
, Serpent
, Blowfish
, CAST5
, RC4
, 3DES
and / or IDEA
, and it will not be difficult to find libraries in C capable of implementing them;
3) Your hardware can work quietly using a standard file system, such as NTFS
, and simply read and write files and uncomplicated using arduino hardware;
4)
If the intent is to store the cryptographic key in the pen-drive , I suggest that it be protected by a% this could also be done through symmetric key cryptography, with a key that is easy to remember. I suggest using a compression library (such as zlib ) that is able to compress and protect data with a password, such as on chip credit cards;
5) On * nix systems, the pen-drive device is represented by a special file within the PIN
directory. For example: /dev
, /dev/sdb
, etc. Such a file can be opened by means of the /dev/sdc
function while reading and writing the data can be done using the open()
and read()
functions respectively. Another alternative would be to use the write()
function for direct manipulation of the USB device.
References:
PIN:
link
Symmetric Encryption:
link
Asymmetric Cryptography:
link
Function: ioctl()
:
link
Function: ioctl()
:
link
I hope I have helped!