Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Compliance Framework Mapping

This page maps Open Sesame’s security controls to specific requirements in NIST 800-53, DISA STIG, PCI-DSS, SOC 2, and FedRAMP. Controls that are fully implemented cite the source crate or configuration. Controls that depend on design-intent features are marked accordingly.

NIST 800-53 Rev. 5

AC – Access Control

ControlTitleOpen Sesame MechanismStatus
AC-3Access EnforcementSecurityLevel clearance hierarchy (core-types/src/security.rs): Open < Internal < ProfileScoped < SecretsOnly. Each daemon registers at a clearance level; messages are routed only to peers at sufficient clearance. CapabilitySet enforces per-agent authorization.Implemented
AC-4Information Flow EnforcementIPC bus enforces sender clearance: a daemon cannot emit messages above its own SecurityLevel. Recipient filtering ensures low-clearance daemons never receive high-clearance messages (core-ipc/src/server.rs).Implemented
AC-6Least PrivilegePer-daemon Landlock filesystem sandboxing, seccomp-bpf syscall allowlists, systemd NoNewPrivileges=yes, empty capability bounding set, ProtectSystem=strict.Implemented
AC-6(1)Authorize Access to Security FunctionsCapability::Admin, Capability::Unlock, Capability::Lock restricted to agents with explicit grants. Delegation narrows scope via CapabilitySet.intersection().Implemented
AC-6(9)Log Use of Privileged FunctionsBLAKE3 hash-chained audit log records all vault operations (core-profile).Implemented
AC-17Remote AccessNoise IK mutual authentication for all IPC. SSH agent forwarding for remote vault unlock. PrivateNetwork=yes on secrets daemon.Implemented

AU – Audit and Accountability

ControlTitleOpen Sesame MechanismStatus
AU-2Event LoggingStructured JSON logging (global.logging.json = true), journald integration. Events include: unlock/lock, secret CRUD, profile activation, daemon lifecycle.Implemented
AU-3Content of Audit RecordsEach entry includes: timestamp, agent identity, operation, profile, security level. AgentIdentity provides agent type, delegation chain, attestations.Implemented
AU-10Non-repudiationBLAKE3 hash-chained audit log. Each entry’s hash chains to the previous. sesame audit verify detects tampering.Implemented
AU-11Audit Record RetentionAudit chain files persist on disk indefinitely. Retention policy is delegated to the operating environment.Implemented (storage)
AU-12Audit Record GenerationAll daemons emit structured log events. The audit chain is generated by core-profile’s audit logger.Implemented

IA – Identification and Authentication

ControlTitleOpen Sesame MechanismStatus
IA-2Identification and Authentication (Organizational Users)AuthFactorId enum: Password, SshAgent, Fido2, Tpm, Fingerprint, Yubikey (core-types/src/auth.rs). Password and SshAgent backends implemented.Partially Implemented
IA-2(1)Multi-Factor Authentication to Privileged AccountsAuthCombineMode: Any, All, Policy (core-types/src/auth.rs). Policy mode supports threshold-based MFA (N required factors + M additional).Implemented
IA-2(6)Access to Accounts – Separate DeviceHardware security keys (FIDO2, YubiKey) as separate physical devices. SSH agent forwarding uses the operator’s local key.Partially Implemented (SSH agent implemented; FIDO2/YubiKey defined but backends not yet implemented)
IA-5Authenticator ManagementArgon2id KDF (19 MiB, 2 iterations) for password. BLAKE3 domain-separated key derivation. Per-profile salts.Implemented
IA-5(2)Public Key-Based AuthenticationNoise IK X25519 static keys for IPC. SSH agent Ed25519/RSA keys for vault unlock.Implemented

SC – System and Communications Protection

ControlTitleOpen Sesame MechanismStatus
SC-8Transmission Confidentiality and IntegrityNoise IK protocol: X25519 + ChaChaPoly + BLAKE2s with forward secrecy. All IPC authenticated and encrypted.Implemented
SC-12Cryptographic Key Establishment and ManagementBLAKE3 domain-separated key hierarchy. Master key derived from auth factors. Sub-keys derived via BLAKE3 derive_key with unique context strings per purpose.Implemented
SC-13Cryptographic ProtectionCryptoConfig (core-types/src/crypto.rs) with configurable algorithm selection. GovernanceCompatible profile uses NIST-approved algorithms (PBKDF2-SHA256, HKDF-SHA256, AES-GCM, SHA-256).Implemented
SC-28Protection of Information at RestSQLCipher: AES-256-CBC + HMAC-SHA512 per page. Per-profile encryption keys.Implemented
SC-28(1)Cryptographic Protection (at Rest)Vault files are encrypted at rest with keys derived from Argon2id KDF output through BLAKE3 domain-separated derivation.Implemented
SC-39Process IsolationPer-daemon systemd services with Landlock, seccomp-bpf, NoNewPrivileges, ProtectSystem=strict. Secrets daemon: PrivateNetwork=yes.Implemented

SI – System and Information Integrity

ControlTitleOpen Sesame MechanismStatus
SI-7Software, Firmware, and Information IntegrityGPG-signed APT packages. SLSA build provenance. OciReference with provenance digest for extensions. WASM extensions identified by content hash (AgentType::Extension { manifest_hash }).Implemented
SI-16Memory Protectionmemfd_secret(2) removes pages from kernel direct map. Guard pages (PROT_NONE). Volatile zeroize on drop. LimitCORE=0, MADV_DONTDUMP.Implemented

DISA STIG

STIG RequirementOpen Sesame MechanismStatus
Encrypted storage at restSQLCipher AES-256-CBC + HMAC-SHA512, per-profile encryption keysImplemented
Memory protection for credentialsmemfd_secret(2), guard pages, canary verification, volatile zeroizeImplemented
Audit trail integrityBLAKE3 hash chain with tamper detection via sesame audit verifyImplemented
Least privilege process isolationLandlock, seccomp-bpf, per-daemon clearance levels, systemd hardeningImplemented
No core dumpsLimitCORE=0 in all daemon services, MADV_DONTDUMP on secure allocationsImplemented
Authentication strengthArgon2id with memory-hard parameters (19 MiB). Multi-factor support.Implemented
Access control for sensitive dataSecurityLevel hierarchy, CapabilitySet authorizationImplemented
Session managementHeartbeat-based delegation with TTL expiry, TrustVector.authz_freshnessImplemented (types); Design Intent (runtime enforcement)

PCI-DSS v4.0

Requirement 3: Protect Stored Account Data

Sub-RequirementOpen Sesame Mechanism
3.5.1 Restrict access to cryptographic keysMaster key held in memfd_secret(2) memory, accessible only to the owning daemon process. Key derivation hierarchy: master key -> per-profile vault key -> SQLCipher page key.
3.5.1.2 Store secret keys in fewest possible locationsOne master key per installation, derived into per-profile keys. Master key exists only in protected memory; never on disk in plaintext.
3.6.1 Key management proceduressesame init generates keys. AuthCombineMode defines unlock policy. Key rotation via re-enrollment.

Requirement 7: Restrict Access to System Components and Cardholder Data

Sub-RequirementOpen Sesame Mechanism
7.2.1 Access control systemCapabilitySet per agent. SecurityLevel per daemon. DelegationGrant for scoped access transfer.
7.2.2 Assign access based on job classificationTrust profiles map to roles. Each profile has its own vault with its own secrets.

Requirement 8: Identify Users and Authenticate Access

Sub-RequirementOpen Sesame Mechanism
8.3.1 All user access authenticatedAll IPC authenticated via Noise IK. Vault unlock requires enrolled factor(s).
8.3.2 Strong authentication for all accessArgon2id (memory-hard). Multi-factor via AuthCombineMode. Hardware factors defined.
8.6.1 System and application accounts managedAgentIdentity with typed AgentType, capability scoping, delegation chains.

Requirement 10: Log and Monitor All Access

Sub-RequirementOpen Sesame Mechanism
10.2.1 Audit logs capture eventsBLAKE3 hash-chained audit log, structured JSON logging.
10.2.1.2 All actions by administrative accountsCapability::Admin operations logged with full agent identity and delegation chain.
10.3.1 Audit log protected from tamperingHash chain provides tamper evidence. sesame audit verify detects modification.

SOC 2 Trust Service Criteria

CriteriaCategoryOpen Sesame Mechanism
CC6.1Logical and Physical Access ControlsSecurityLevel hierarchy, CapabilitySet, Noise IK authentication, per-daemon sandbox
CC6.2Prior to Issuing System Credentialssesame init with factor enrollment. AgentIdentity creation with attestation.
CC6.3Based on AuthorizationCapabilitySet intersection for delegation. Policy-based approval gates (Design Intent).
CC6.6Restrict AccessLandlock, seccomp-bpf, PrivateNetwork=yes (secrets daemon), ProtectHome=read-only
CC6.7Restrict TransmissionNoise IK encryption for all IPC. No plaintext secret transmission.
CC6.8Prevent or Detect Unauthorized SoftwareWASM extensions identified by manifest_hash. OciReference with provenance. GPG-signed packages.
CC7.1Monitor Infrastructuresystemd watchdog (WatchdogSec=30), structured logging, sesame status
CC7.2Monitor for AnomaliesRate-limited vault unlock attempts. Audit chain verification.
CC8.1Changes to InfrastructureConfiguration layered inheritance with PolicyOverride audit trail

FedRAMP

FedRAMP baselines inherit from NIST 800-53. The controls mapped in the NIST 800-53 section above apply to FedRAMP at the corresponding baseline level (Low, Moderate, High).

Cryptographic Algorithm Compliance

FedRAMP requires FIPS 140-validated cryptographic modules. Open Sesame provides a GovernanceCompatible crypto profile (core-types/src/crypto.rs) that selects NIST-approved algorithms:

ComponentLeadingEdge (Default)GovernanceCompatible
KDFArgon2idPBKDF2-SHA256 (600K iterations)
HKDFBLAKE3HKDF-SHA256
Noise cipherChaChaPolyAES-256-GCM
Noise hashBLAKE2sSHA-256
Audit hashBLAKE3SHA-256

The GovernanceCompatible profile uses algorithms that have FIPS 140-validated implementations in widely-used cryptographic libraries. Open Sesame itself is not FIPS-validated; deployments requiring FIPS validation must use a FIPS-validated cryptographic provider at the library level. See Cryptographic Inventory for the full algorithm inventory.