170 likes | 259 Vues
This comprehensive guide outlines the design and implementation of a secure microkernel operating system architecture, focusing on key subsystems such as Cryptographic, Logging, I/O, and Communication. It covers aspects like election/authentication, symmetric/asymmetric encryption, resource control, and contract management.
E N D
Ebola OR The Abolition of Root
Ebola Equality Based Operating LAir (suggestions welcome)
Kernel Requirements • Microkernel • Security • Flexibility • Scheduling • Reliability
Subsystems • Cryptographic • Logging • I/O • Communication • Election/Authentication
Cryptographic Subsystem • Symmetric • Assymetric • Threshold • Digital Signature
Logging Subsystem • Local • Remote • Cached in file until full • Hashed, Encrypted, sent to random user • Receipt • Hash, UID recordedand encrypted
Input/Ouput Subsystem • Mostly controls TCP Ports • Resource control • Protection from covert analysis
Communication Subsystem • Interfaces • Text • Email/S-MIME • HTTPS • Presently controls Scheduling • Voting Functionality • Posts Contracts • Public Record
Election Subsystem • Allocates Resources • Creates new UID's • Centerpoint for threshold keys
Initial Configuration • Defines Startup Contracts • User Addition/Deletion • Resources Allocation • Initial Groups • Change Thresholds
User Addition • Voted in • Private filesystem • Resource allocation(decided at initial) • Private key never exists on system. • User posseses inviolate filesystem • No UID except user allowed • Encrypted
Group Creation • Control resides within communication subsystem • Group is a unique UID • Can be threshold or single user controlled • Resources allocated from users • Voting parameters
Contracts • Contract resides in communication subsystem • Shell script • Signed by group
Configuration Issues • De-allocation of resources • Accountability vs. Logging Privacy • Controls for system shutdown
Design Issues • Reboot • Hierarchical groups • Resource alocation algorithms • Contiuity assurance • Contract "language" • Power limitation of groups • Re-Keying for user addition