使用 CHERIoT 简化键值服务

  • Ported Key-Value Store to CHERIoT-RTOS: Highlights simplifications and performance improvements.
  • Key-Value Service API: Has addOrUpdate(key, value), read(key) and erase(key) API.
  • Conventional System Design:

    • Use "process" abstraction for key-value store with each user app in its own process.
    • Have a message queue for user processes to interact with key-value store process.
    • Use asymmetric encryption with userKey for authentication, with encryption/decryption overhead.
  • CHERIoT Satisfies Requirements:

    • Compartments and sealed keys meet requirements.
    • Create key-value store compartment with unique sealed userKey.
    • Use static or dynamic sealing.
  • Performance and Simplification:

    • Avoid encryption/decryption compared to conventional system.
    • Key-value store is a threadless compartment in CHERIoT.
    • Use priority-inheriting lock instead of message queue for serialization.
    • Piggybacks on CHERIoT-RTOS' scheduler queue for better performance.
阅读 12
0 条评论