Basic filesystem encryption info
parent
5e7ec9c814
commit
161e120dfa
|
@ -44,6 +44,7 @@ const CHUNK_SIZE: u16; // Example static chunk size
|
||||||
struct Chunk {
|
struct Chunk {
|
||||||
checksum: u64,
|
checksum: u64,
|
||||||
extends: bool,
|
extends: bool,
|
||||||
|
encrypted: bool,
|
||||||
uuid: Uuid,
|
uuid: Uuid,
|
||||||
data: [u8; CHUNK_SIZE],
|
data: [u8; CHUNK_SIZE],
|
||||||
}
|
}
|
||||||
|
@ -52,6 +53,7 @@ This struct is then encoded into bytes and written to the disk. Drivers for the
|
||||||
It *should* be possible to do autodetection, and maybe for *Actors* to specify which disk/partition they want to be saved to.
|
It *should* be possible to do autodetection, and maybe for *Actors* to specify which disk/partition they want to be saved to.
|
||||||
|
|
||||||
Compression of the data should also be possible, due to `bincode` supporting [flate2](https://lib.rs/crates/flate2) compression.
|
Compression of the data should also be possible, due to `bincode` supporting [flate2](https://lib.rs/crates/flate2) compression.
|
||||||
|
Similarely **AES** encryption can be used, and this allows for only specific chunks to be encrypted.[^encryption]
|
||||||
|
|
||||||
### Reading
|
### Reading
|
||||||
On boot, we start executing code from the beginning of the disk (the boot partition, although that's meaningless at this point).
|
On boot, we start executing code from the beginning of the disk (the boot partition, although that's meaningless at this point).
|
||||||
|
@ -75,6 +77,8 @@ Again, whether actors can:
|
||||||
|
|
||||||
will be determined via [capabilities](/development/design/actor.md#ocap)
|
will be determined via [capabilities](/development/design/actor.md#ocap)
|
||||||
|
|
||||||
|
[^encryption]: Specific details to be figured out later
|
||||||
|
|
||||||
[^find_chunk]: Currently via magic. I have no idea how to do this other than a simple search. Maybe generate an index, or use a **UUID**?
|
[^find_chunk]: Currently via magic. I have no idea how to do this other than a simple search. Maybe generate an index, or use a **UUID**?
|
||||||
|
|
||||||
[^free_chunk]: Again, no idea how.
|
[^free_chunk]: Again, no idea how.
|
||||||
|
|
Loading…
Reference in New Issue