| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Hardware |
| Embodiment | Multi-Chip Embedded |
| Status | Active |
| Sunset date | 9/23/2026 |
| Caveat | Interim validation |
| Vendor | Outset Medical, Inc. |
| Algorithm | ACVP Cert |
|---|---|
| AES-CBC | A2699 |
| AES-CBC | A2701 |
| AES-CCM | A2699 |
| AES-CCM | A2701 |
| AES-CTR | A2699 |
| AES-CTR | A2701 |
| AES-GCM | A2699 |
| AES-GCM | A2701 |
| Counter DRBG | A2699 |
| Counter DRBG | A2701 |
| DSA KeyGen (FIPS186-4) | A2699 |
| DSA SigVer (FIPS186-4) | A2699 |
| DSA SigVer (FIPS186-4) | A2701 |
| ECDSA KeyGen (FIPS186-4) | A2699 |
| ECDSA KeyVer (FIPS186-4) | A2699 |
| ECDSA SigVer (FIPS186-4) | A2699 |
| ECDSA SigVer (FIPS186-4) | A2701 |
| HMAC-SHA-1 | A2699 |
| HMAC-SHA-1 | A2701 |
| HMAC-SHA2-256 | A2699 |
| HMAC-SHA2-256 | A2701 |
| HMAC-SHA2-384 | A2699 |
| HMAC-SHA2-384 | A2701 |
| HMAC-SHA2-512 | A2699 |
| HMAC-SHA2-512 | A2701 |
| KAS-ECC-SSC Sp800-56Ar3 | A2699 |
| KAS-ECC-SSC Sp800-56Ar3 | A2701 |
| KAS-FFC-SSC Sp800-56Ar3 | A2699 |
| KDF SSH | A2703 |
| KDF TLS | A2699 |
| KDF TLS | A2702 |
| RSA SigVer (FIPS186-4) | A2699 |
| RSA SigVer (FIPS186-4) | A2699 |
| RSA SigVer (FIPS186-4) | A2699 |
| RSA SigVer (FIPS186-4) | A2701 |
| RSA SigVer (FIPS186-4) | A2701 |
| RSA SigVer (FIPS186-4) | A2701 |
| SHA-1 | A2699 |
| SHA-1 | A2701 |
| SHA2-224 | A2699 |
| SHA2-224 | A2701 |
| SHA2-256 | A2699 |
| SHA2-256 | A2701 |
| SHA2-384 | A2699 |
| SHA2-384 | A2701 |
| SHA2-512 | A2699 |
| SHA2-512 | A2701 |
| SHA3-256 | A2700 |
flowchart LR
%% Deterministic review-risk graph for Tablo Medical Informatics System
%% Review prompts and evidence gaps, NOT vulnerability findings.
subgraph CMVP["CMVP-disclosed clues"]
C2["[low] Firmware update / recovery<br/>/ rollback (referenced in<br/>text)<br/><i>upgrade</i>"]
C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>Status Output</i>"]
C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>SSH<br/>HTTPS</i>"]
C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<br/>application</i>"]
end
subgraph Inference["Derived inference"]
I2["Possible only, trusted<br/>code is reachable through<br/>update and recovery paths."]
I3["Possible only, some<br/>services may process input<br/>before, or without,<br/>operator authentication."]
I5["Possible only, a protocol<br/>is referenced, but whether<br/>it is a live channel or<br/>only a KDF/algorithm name<br/>is unconfirmed."]
I6["Possible only, a<br/>runtime/OS is referenced,<br/>but its membership in the<br/>cryptographic boundary is<br/>not established."]
end
subgraph Risk["Reviewer question"]
R2["Are update images<br/>authenticated before<br/>parsing, and are<br/>downgrade/rollback paths<br/>constrained?"]
R3["Can unauthenticated<br/>services leak state,<br/>consume resources, or<br/>transition security state?"]
R5["If a live TLS/SSH/IKE<br/>channel exists, could<br/>library CVEs apply, or is<br/>this only a<br/>KDF/documentation name?"]
R6["If the OS/runtime is<br/>in-boundary, could its<br/>CVEs be hidden by<br/>firmware-only versioning?"]
end
subgraph Evidence["Evidence needed to close"]
E2["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>update image format ·<br/>signature-before-parse<br/>proof · anti-rollback /<br/>downgrade policy"]
E3["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>pre-auth reachability<br/>matrix · rate limits and<br/>output redaction ·<br/>abuse-case tests"]
E5["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>library identity and<br/>version ·<br/>certificate-validation<br/>behaviour · protocol-CVE<br/>disposition"]
E6["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>runtime identity and<br/>config · kernel/runtime<br/>hardening profile ·<br/>patch/backport manifest"]
end
C2 --> I2 --> R2 --> E2
C3 --> I3 --> R3 --> E3
C5 --> I5 --> R5 --> E5
C6 --> I6 --> R6 --> E6
classDef clue fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef infer fill:#fff7e6,stroke:#b98500,color:#6b4e00;
classDef risk fill:#fbe9e9,stroke:#b02a2a,color:#7a1f1f;
classDef evidence fill:#e6f4ea,stroke:#1e7d34,color:#14532d;
class C2,C3,C5,C6 clue;
class I2,I3,I5,I6 infer;
class R2,R3,R5,R6 risk;
class E2,E3,E5,E6 evidence;flowchart LR
%% Deterministic clue tier for Tablo Medical Informatics System
%% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
subgraph CMVP["CMVP-disclosed clues (deterministic)"]
C2["[low] Firmware update / recovery / rollback (referenced in text)<br/><i>upgrade</i><br/>src: text:keyword"]
C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>Status Output</i><br/>src: text:keyword"]
C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>SSH<br/>HTTPS</i><br/>src: text:keyword"]
C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<br/>application</i><br/>src: text:keyword"]
end
classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
class C2,C3,C5,C6 clueLow;Outset Medical, Inc. Tablo Medical Informatics System Hardware Version: 1.0 Hardware Part Number: PN-0002824 Firmware Version: MIES 4.9.12.6269 FIPS Security Level: 1 Document Version: 1.2 Prepared for: Prepared by: Outset Medical, Inc. Corsec Security, Inc.
3052 Orchard Drive 12600 Fair Lakes Circle, Suite 210
San Jose, CA 95134 Fairfax, VA 22033 United States of America United States of America Phone: +1 669 231-8200 Phone: +1 703 267 6050 www.outsetmedical.com www.corsec.com
Abstract This is a non-proprietary Cryptographic Module Security Policy for Tablo Medical Informatics System (firmware version: MIES 4.9.12.6269) from Outset Medical, Inc. (Outset). This Security Policy describes how Tablo Medical Informatics System meets the security requirements of Federal Information Processing Standards (FIPS) Publication 140-3, which details the U.S. and Canadian government requirements for cryptographic modules. More information about the FIPS 140-3 standard and validation program is available on the Cryptographic Module Validation Program (CMVP) website, which is maintained by the National Institute of Standards and Technology (NIST) and the Canadian Centre for Cyber Security (CCCS). This document also describes how to run the module in a secure Approved mode of operation. This policy was prepared as part of the Level 1 FIPS 140-3 validation of the module. Tablo Medical Informatics System is referred to in this document as Medical Informatics System or the module. References This document deals only with operations and capabilities of the module in the technical terms of a FIPS 140-3 cryptographic module security policy. More information is available on the module from the following sources:
| # | Section | Page |
|---|
| Item | Page |
|---|---|
| Table 1 – Security Levels | 6 |
| Table 2 – Cryptographic Module Tested Configuration | 7 |
| Table 3 – Cryptographic Algorithm Sources | 7 |
| Table 4 – Approved Algorithms Validation Certificates | 8 |
| Table 5 – Non-Approved Algorithms Allowed in the Approved Mode of Operation | 10 |
| Table 6 – Non-Approved Algorithms Allowed in the Approved Mode of Operation with No Security Claimed | 10 |
| Table 7 – Ports and Interfaces | 12 |
| Table 8 – LED Indicator | 13 |
| Table 9 – Roles, Service Commands, Input and Output | 14 |
| Table 10 – Approved Services | 15 |
| Table 12 – SSPs | 22 |
| Table 13 – Non-Deterministic Random Number Generation Specification | 25 |
| Table 14 – Acronyms | 30 |
| Figure 1 – Tablo Hemodialysis System Functions | 5 |
| Figure 2 – Tablo Medical Informatics System PN-0002824 | 10 |
| Figure 3 – Module Block Diagram (with Cryptographic Boundary) | 11 |
| Figure 4 – Status/Show Version Screen | 17 |
1. General The Outset Tablo is a dialysis machine designed from the inside out to offer a better and easier experience for patients and providers. The Outset Tablo machine creates an all-in-one solution that reduces care and infrastructure costs, expands the variety of eligible users, and enables new care delivery models. The Tablo Hemodialysis System is an automated machine designed to filtrate blood and offers multiple automated maintenance functions. It consists of a water purification system, Tablo cartridge, Non-invasive blood pressure cuff, and a two-way data communication. The Tablo Hemodialysis System is a mobile indoor unit that establishes a two-way data communication that automatically sends treatment data as well as machine performance to the Outset Tablo Cloud. The Tablo machine includes touchscreen guidance that contains animations and conversational instructions. Figure 1
| ISO/IEC 24579 Section 6. [Number Below] | FIPS 140-3 Section Title | Security Level |
|---|---|---|
| 1 | General | 1 |
| 2 | Cryptographic Module Specification | 1 |
| 3 | Cryptographic Module Interfaces | 1 |
| 4 | Roles, Services, and Authentication | 1 |
| 5 | Software/Firmware Security | 1 |
| 6 | Operational Environment | 1 |
| 7 | Physical Security | 1 |
| 8 | Non-Invasive Security | N/A1 |
| 9 | Sensitive Security Parameter Management | 1 |
| 10 | Self-tests | 1 |
| 11 | Life-Cycle Assurance | 1 |
| 12 | Mitigation of Other Attacks | N/A |
The Tablo machine feature set includes inexpensive operations, direct connection to the Tablo Cloud, automated functions, and effective hemodialysis features:
1 N/A – Not Applicable
Tablo Medical Informatics System ©2024 Outset Medical, Inc.
| Model | Hardware (Part number and version) | Firmware Version | Distinguishing Features |
|---|---|---|---|
| Tablo Medical Informatics System | PN-0002824 1.0 | MIES 4.9.12.6269 | High performance ARM processor (NXP i.MX 6Dual), onboard DDR3 and Flash memory, USB, Ethernet, and UART interfaces. |
| Certificate Number | Implementation Name | Version | Use |
|---|---|---|---|
| A2699 | Tablo Medical Informatics System Bouncy Castle Cryptographic Library | 1.0 | Provides implementations for general-purpose cryptographic primitives cryptographic primitives |
| A2700 | Tablo Medical Informatics System CPU Jitter Library | 1.0 | Conditioning function used in entropy mechanism |
| A2701 | Tablo Medical Informatics System OpenSSL Cryptographic Library | 1.0 | Provides implementations for general-purpose |
| A2702 | Tablo Medical Informatics System TLS KDF Library | 1.0 | TLS key derivation function implementation |
| A2703 | Tablo Medical Informatics System SSH KDF Library | 1.0 | SSH key derivation function implementation |
2. Cryptographic Module Specification Tablo Medical Informatics System is a hardware module with a multi-chip embedded embodiment. The module is a single board computer (embedded within the Tablo dialysis machine) that securely protects and transmits patient data.
Table 2 below lists the module configuration(s) used for validation testing. Table 2 – Cryptographic Module Tested Configuration
Table 3 lists the cryptographic algorithm sources employed by the module. Table 3 – Cryptographic Algorithm Sources Validation certificates for each approved security function are listed in Table 4. ©2024 Outset Medical, Inc.
| CAVP Certificate2 Tablo Medical Informatics System Bouncy Castle Cryptographic Library | Algorithm and Standard | Mode / Method | Description / Key Size(s) / Key Strengths | Use / function |
|---|---|---|---|---|
| A2699 | AES FIPS PUB 197 NIST SP 800-38A | CBC, CTR | 128, 256 | Encryption/decryption |
| A2699 | AES NIST SP 800-38C | CCM | 128, 256 | Encryption/decryption |
| A2699 | AES NIST SP 800-38D | GCM | 128, 256 | Encryption/decryption |
| Vendor Affirmed | CKG NIST SP 800-133rev2 | - | - | Cryptographic key generation |
| A2699 | CVL NIST SP 800-135rev1 | TLS 1.2 KDF | - | Key derivation3 |
| A2699 | DRBG NIST SP 800-90Arev1 | Counter-based (derivation function – yes; prediction resistance – no) | 128, 192, 256-bit AES-CTR | Deterministic random bit generation |
| A2699 | DSA FIPS PUB 186-4 | SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | 2048 | Key generation |
| SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | 1024, 2048, 3072 | Digital signature verification | ||
| A2699 | ECDSA FIPS PUB 186-4 | SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | B-163, B-233, B-283, B-409, B-571, K-163, K-233, K-283, K-409, K-571, P-192, P-224, P-256, P-384, P-521 | Key generation, key verification, digital signature verification |
| A2699 | HMAC FIPS PUB 198-1 | SHA-1, SHA2-256, SHA2-384, SHA2-512 | 112 (minimum) | Message authentication |
| A2699 | KAS-SSC4 NIST SP 800-56Arev3 | FFC DH | 2048/224, 2048/256 | Shared secret computation |
| ECC CDH | B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521 | Shared secret computation | ||
| A2699 | RSA FIPS PUB 186-4 | X9.31 | 1024, 2048, 3072, 4096 (SHA-1, SHA2-256, SHA2- 384, SHA2-512) | Digital signature verification |
| PKCS#1 v1.5 PSS | 1024, 2048, 3072, 4096 (SHA-1, SHA2-224, SHA2- 256, SHA2-384, SHA2-512) | Digital signature verification | ||
| A2699 Tablo Medical Informatics System CPU Jitter Library | SHS FIPS PUB 180-4 | SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | - | Message digest |
| A2700 Tablo Medical Informatics System OpenSSL Cryptographic Library | SHA-3 FIPS PUB 202 | SHA3-256 | - | Conditioning function |
Table 4 – Approved Algorithms Validation Certificates
2 This table includes vendor-affirmed algorithms that are approved but CAVP testing is not yet available.
No part of the TLS protocol, other than the KDF, has been tested by the CAVP and CMVP.
4 The methods of shared secret computation are approved per FIPS 140-3 IG D.F
| CAVP Certificate2 | Algorithm and Standard | Mode / Method | Description / Key Size(s) / Key Strengths | Use / function |
|---|---|---|---|---|
| A2701 | AES FIPS PUB 197 NIST SP 800-38A | CBC, CTR | 128, 256 | Encryption/decryption |
| A2701 | AES NIST SP 800-38C | CCM | 128, 256 | Encryption/decryption |
| A2701 | AES NIST SP 800-38D | GCM | 128, 256 | Encryption/decryption |
| Vendor Affirmed | CKG NIST SP 800-133rev2 | - | - | Cryptographic key generation |
| A2701 | DRBG NIST SP 800-90Arev1 | Counter-based (derivation function – yes; prediction resistance – no) | 256-bit AES-CTR | Deterministic random bit generation |
| A2701 | DSA FIPS PUB 186-4 | SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | 1024, 2048, 3072 | Digital signature verification |
| A2701 | ECDSA FIPS PUB 186-4 | SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | B-163, B-233, B-283, B-409, B-571, K-163, K-233, K-283, K-409, K-571, P-192, P-224, P-256, P-384, P-52 | Digital signature verification |
| A2701 | HMAC FIPS PUB 198-1 | SHA-1, SHA2-256, SHA2-384, SHA2-512 | 112 (minimum) | Message authentication |
| A2701 | KAS-SSC NIST SP 800-56Arev3 | ECC CDH5 | B-233, B-283, B-409, B-571, K-233, K-283, K-409, K-571, P-224, P-256, P-384, P-521 | Shared secret computation |
| A2701 | RSA FIPS PUB 186-4 | X9.31 | 1024, 2048, 3072, 4096 (SHA-1, SHA2-256, SHA2- 384, SHA2-512) | Digital signature verification |
| PKCS#1 v1.5 PSS | 1024, 2048, 3072, 4096 (SHA-1, SHA2-224, SHA2- 256, SHA2-384, SHA2-512) | Digital signature verification | ||
| A2701 Tablo Medical Informatics System TLS KDF Cryptographic Library | SHS FIPS PUB 180-4 | SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | - | Message digest |
| A2702 Tablo Medical Informatics System SSH KDF Cryptographic Library | CVL NIST SP 800-135rev1 | TLS 1.2 KDF | - | Key derivation6 |
| A2703 | CVL NIST SP 800-135rev1 | SSH KDF | - | Key derivation7 |
The vendor affirms the following cryptographic security methods:
5 ECC CDH – Elliptic Curve Cryptography Cofactor Diffie-Hellman
No part of the TLS protocol, other than the KDF, has been tested by the CAVP and CMVP.
7 No part of the SSH protocol, other than the KDF, has been tested by the CAVP and CMVP.
| Algorithm | Caveat | Use / Function |
|---|---|---|
| AES (Cert. A2701) | - | Key unwrapping |
| Algorithm / Function | Use / Function |
|---|---|
| Blowfish | Decryption |
OpenSSL DRBG cert. A2701 and Bouncy Castle DRBG cert. A2699) as both symmetric keys and seeds for generating asymmetric key pairs. The module’s DRBGs are seeded via entropy generated from the module’s internal entropy mechanism. The module implements the non-Approved but allowed algorithms shown in Table 5 below, in both the Tablo Medical Informatics System OpenSSL Cryptographic Library and Tablo Medical Informatics System Bouncy Castle Cryptographic Library. Table 5
The cryptographic boundary of the module is defined by the physical perimeter of the Tablo Medical Informatics System (shown in Figure 2). A logical block diagram of the module’s hardware components is provided in Figure 3 below. Figure 2 – Tablo Medical Informatics System PN-0002824 Tablo Medical Informatics System ©2024 Outset Medical, Inc.
Figure 3 – Module Block Diagram (with Cryptographic Boundary)
There are no excluded hardware or firmware components.
The module supports an Approved mode of operation only. When installed, configured, and operated according to this Security Policy, the module does not support a non-Approved mode of operation. Tablo Medical Informatics System ©2024 Outset Medical, Inc.
| Physical Port | Logical Interface | Data That Passes Over Port/Interface |
|---|---|---|
| RS8-232/UART | • Control Input • Status Output | • System state information • Network configuration information • MIES firmware version • MIES operational status |
| Ethernet | • Data Input • Data Output • Control Input • Status Output | • Black box log data • Treatment data • Patient Data • License information |
| USB9 | • Data Input • Data Output | • Wi-Fi configuration and status data • Patient data files • Provisioning |
| Wi-Fi | • Data Input • Data Output • Control Input • Status Output | • Black box log data • Treatment data • Patient Data • License information |
| 12V DC10-Input | • Power | • N/A |
| LED | • Status Output | • N/A |
| GPIO11 | • Status Output | • N/A |
| USB OTG12 | (Not in Use) | |
| SD/MMC13 | (Not in Use) | |
| SIM14 Card slot | (Not in Use) |
9 USB – Universal Serial Bus
10 DC – Direct Current
11 GPIO – General Purpose Input/Output
12 USB OTG – Universal Serial Bus On-The-Go
SD/MMC – Secure Digital Multi-Media Card
14 SIM – Subscriber Identity Module
Tablo Medical Informatics System ©2024 Outset Medical, Inc.
Physical Port SATA15 I2C16 I2S17 SPI18 CAN19 HDMI20 VGA21 Audio
Logical Interface (Not in Use) (Not in Use) (Not in Use) (Not in Use) (Not in Use) (Not in Use) (Not in Use) (Not in Use)
Data That Passes Over Port/Interface
| LED | Meaning |
|---|---|
| 1 blink | Module is loaded |
| 2 blinks | Module is performing self-tests |
| 3 blinks | Module has entered normal operation |
| 4 blinks | Module has entered critical error state |
| 8 blinks | Module performing “Import Legacy Data” operation |
Table 8
16 I2C – Inter-Integrated Circuit
17 I2S – Inter-IC Sound
18 SPI – Serial Peripheral Interface
19 CAN – Controller Area Network
HDMI – High-Definition Multimedia Interface
21 VGA – Video Graphics Array
Tablo Medical Informatics System ©2024 Outset Medical, Inc.
| Role | Service | Input | Output |
|---|---|---|---|
| CO | Show Status | Command | Module operational status |
| CO | Perform Self-tests On-demand | Power-cycle | Status |
| CO | Show Module Version | Command | Module name and version |
| CO | Perform Zeroization | Command | Status |
| User | Import Provision File | Command, Provision File | Status |
| User | Import Patient Data | Command, Patient Data | Status |
| User | Export Patient Data | Command, Patient Data | Data, Status |
| User | Import License Info and Configuration File | Command, License Info, Configuration File | Status |
| User | Establish SSH Session | Command, Endpoint | Status |
| User | Establish TLS Session | Command, Endpoint | Status |
| User | Transmit Data to Cloud | Command, Data | Status, data |
4. Roles, Services, and Authentication The sections below describe the module’s authorized roles, services, and operator authentication methods.
The module supports a Crypto Officer (CO) role and a User role. The CO role performs cryptographic initialization or management functions and general security services. The User role performs general security services, including cryptographic operations and other approved security functions. The operator assumed a Crypto Officer role implicitly by invoking a service allocated to the Crypto Officer and assumes a User role implicitly by invoking a service allocated to the User. The module does not support multiple concurrent operators. Table 9 – Roles, Service Commands, Input and Output Tablo Medical Informatics System ©2024 Outset Medical, Inc.
| Service | Description | Approved Security Function(s) | Keys/SSPs | Roles | Access rights to Keys/SSPs | Indicator |
|---|---|---|---|---|---|---|
| Show Status | Returns mode status | None | - | CO | - | N/A22 |
| Perform Self-tests On-demand | Performs pre-operational self-tests | None | - | CO | - | N/A |
| Show Module version | Returns module versioning information | None | - | CO | - | N/A |
| Perform Zeroization | Zeroizes memory and storage locations containing keys and SSPs | None | Master Key | CO | Master Key – Z | “PHI related files are removed successfully SUCCESS” |
| Import Provision File | Imports provision file via USB | AES (CBC) CTR DRBG SHA-3 | Master Key Provisioning File Decryption Key Treatment In-Progress Data Key CTR DRBG Entropy CTR DRBG Seed CTR DRBG 'V' Value CTR DRBG 'Key' Value | User | Master Key – E Provisioning File Decryption Key – E Treatment In-Progress Data Key – G CTR DRBG Entropy – W, E CTR DRBG Seed – G, E CTR DRBG 'V' Value – G, E CTR DRBG 'Key' Value – G, E | “Decrypting provisioning file” |
| Import Patient Data | Imports patient data via USB | AES CBC | Patient Data Encryption Key Prescription Key | User | Patient Data Encryption Key – E Prescription Key – W, E | “Decrypting patient data” |
| Export Patient Data | Exports patient data via USB | AES CBC | Patient Data Encryption Key Prescription Key | User | Patient Data Encryption Key – E Prescription Key – W, E | “Encrypting patient data” |
| Import License Info and Configuration File | Imports license info and configuration file from the Internet | AES (CBC, GCM) | License File Decryption Key Configuration File Decryption Key | User | License File Decryption Key – E Configuration File Decryption Key – E | “Finished downloading license file successfully” And “Retrieving remote config from {location} Retrieved config: {config text}” |
Descriptions of the services available to the authorized roles are provided in Table 10 below. Please note that the keys and Sensitive Security Parameters (SSPs) listed in the table indicate the type of access required using the following notation:
| Service | Description | Approved Security Function(s) | Keys/SSPs | Roles | Access rights to Keys/SSPs | Indicator |
|---|---|---|---|---|---|---|
| Establish SSH Session | Establishes a SSH session between the module and Wi-Fi module within Tablo | AES (CBC, CTR, GCM) CKG DRBG DSA ECDSA KAS-FFC-SSC KAS-ECC-SSC SSH KDF SHA-3 | AES GCM IV SSH Password DH Private Key Component DH Public Key Component ECDH Private Key Component ECDH Public Key Component SSH Shared Secret SSH Session Key SSH Authentication Key CTR DRBG Entropy CTR DRBG Seed CTR DRBG 'V' Value CTR DRBG 'Key' Value | User | AES GCM IV – G, E SSH Password – E DH Private Key Component – G, E DH Public Key Component – G, W, R, E ECDH Private Key Component – G, E ECDH Public Key Component – G, W, R, E SSH Shared Secret – G, E, Z SSH Session Key – G, SSH Authentication Key – G, CTR DRBG Entropy – W, E CTR DRBG Seed – G, E CTR DRBG 'V' Value – G, E CTR DRBG 'Key' Value – G, E | “SSH command complete” |
| Establish TLS Session | Establishes a TLS connection | CKG DRBG DSA ECDSA KAS-FFC-SSC KAS-ECC-SSC RSA SHA-3 TLS KDF | DH Private Key Component DH Public Key Component ECDH Private Key Component ECDH Public Key Component TLS Premaster Secret TLS Master Secret TLS Session Key TLS Authentication Key AES GCM IV CTR DRBG Entropy CTR DRBG Seed CTR DRBG 'V' Value CTR DRBG 'Key' Value | User | DH Private Key Component – G, E DH Public Key Component – G, W, R, E ECDH Private Key Component – G, E ECDH Public Key Component – G, W, R, E TLS Premaster Secret – G, E, Z TLS Master Secret – G, E, Z TLS Session Key – G TLS Authentication Key – G AES GCM IV – G CTR DRBG Entropy – W, E CTR DRBG Seed – G, E CTR DRBG 'V' Value – G, E CTR DRBG 'Key' Value – G, E | “TLS transaction complete” |
| Transmit Data to Cloud | Transmits patient data to the cloud | AES (CBC, CCM, GCM) HMAC SHS | TLS Session Key TLS Authentication Key AES GCM IV Treatment In-Progress Data Key | User | TLS Session Key – E TLS Authentication Key – E AES GCM IV – E Treatment In-Progress Data Key – E | “TLS transaction complete” |
| Import Legacy Data | Import legacy patient data from previous format | AES CBC | Patient Data Encryption Key Prescription Key | User | Patient Data Encryption Key – E Prescription Key – W, E | “Decrypting patient data” |
The operator can verify the module firmware version on the Tablo Status Screen: Figure 4 – Status/Show Version Screen
The module does not support authentication mechanisms; roles are implicitly selected based on the service invoked. Refer to Table 10 above for a listing of the services associated with each authorized role. ©2024 Outset Medical, Inc.
5. Software/Firmware Security All firmware components within the cryptographic boundary are verified using an integrity technique implemented within the cryptographic module itself. The module implements a CRC-32 integrity test of the module firmware. Failure of the integrity check for the module will cause the module to enter a critical error state. Tablo Medical Informatics System is not delivered to end-users as a standalone offering and is only used in conjunction with the Outset Tablo. The CO can initiate the pre-operational tests on demand by power-cycling the Outset Tablo. The module does not support firmware upgrade. In order to provision the module, the CO must first invoke the “Import Provision File” service and obtain the specified indicator that the service was executed successfully (note this step is not required to operate the module in Approved mode). ©2024 Outset Medical, Inc.
6. Operational Environment The operational environment of the module does not provide access to a general-purpose operating system (OS). The module employs a non-modifiable operational environment. The operating system offers no mechanism whereby the operator can modify software/firmware components, nor can the operator load and execute software or firmware that was not included as part of the validation of the module. The module’s operating system is Linux 4.1.15 LTS23. LTS – Long Term Support ©2024 Outset Medical, Inc.
7. Physical Security As a multi-chip embedded module, the module is composed of production-grade components necessary to meet FIPS 140-3 level 1 physical security requirements. All components of the hardware are coated with commercial standard passivation. ©2024 Outset Medical, Inc.
8. Non-Invasive Security There are currently no approved non-invasive mitigation techniques referenced in ISO/IEC 19790:2021 Annex F. ©2024 Outset Medical, Inc.
| Key/SSP Name/Type Keys | Strength | Security Function and Cert. Number | Generation | Import / Export | Establishment | Storage | Zeroization | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| Master Key | 256 bits | AES (CBC) (Cert. A2701) | No | No / No | Preloaded | Plaintext in non-volatile memory | “Perform Zeroization” service | Secure the module’s main keystore |
| Patient Data Encryption Key | 256 bits | AES (CBC) (Cert. A2701) | No | No / No | Preloaded | Encrypted by the Master Key in non- volatile memory | No | Encrypting and decrypting Patient Data |
| Provisioning File Decryption Key | 256 bits | AES (Cert. A2701) | No | No / No | Preloaded | Encrypted by the Master Key in non- volatile memory | No | Decryption of Provision File |
| License File Decryption Key | 256 bits | AES (Cert. A2701) | No | No / No | Preloaded | Encrypted by the Master Key in non- volatile memory | No | Decryption of License File |
| Configuration File Decryption Key | 256 bits | AES (Cert. A2701) | No | No / No | Preloaded | Encrypted by the Master Key in non- volatile memory | No | Decryption of Configuration File |
| Prescription Key | 256 bits | AES (Cert. A2701) | No | Import: Electronically via USB Export: No | No | Encrypted in non-volatile memory | No | Encryption and decryption of Patient Prescription Data |
| Treatment In- Progress Data Key | 256 bits | AES (Cert. A2701) | Internally generated via DRBG | No / No | No | Encrypted in non-volatile memory | No | Encryption of Treatment Data. Used to encrypt data internally on the MIES. |
| Treatment Data Public Key | 2048-bit | RSA (Cert. A2701) | No | No / No | Preloaded | Encrypted in non-volatile memory | No | Encryption of Treatment Data |
| SSH Session Key | 128/192/256- bit | AES (Cert. A2701) | No | No / No | Derived internally via SSH KDF | Plaintext in volatile memory | Reboot; remove power; session termination | Encryption and decryption of SSH session packet |
| SSH Authentication Key | 160/256/512- bit | HMAC (Cert. A2701) | No | No / No | Derived internally via SSH KDF | Plaintext in volatile memory | Reboot; remove power; session termination | Authentication of SSH session packets |
| DH Private Key Component | 2048/224, 2048/256 | KAS-SSC-FFC (Cert. A2699) | Generated internally via approved DRBG | No / No | No | Plaintext in volatile memory | Reboot; remove power; session termination | Generation of SSH and TLS shared secrets |
| DH Public Key Component | 2048/224, 2048/256 | KAS-SSC-FFC (Cert. A2699) | Generated internally via approved DRBG | No / Yes | No | Plaintext in volatile memory | Reboot; remove power; session termination | Generation of SSH and TLS shared secrets |
| ECDH Private Key Component | All approved P/B/K curves | KAS-SSC-ECC (Certs. A2699 and A2701) | Generated internally via approved DRBG | No / No | No | Plaintext in volatile memory | Reboot; remove power; session termination | Generation of SSH and TLS shared secrets |
9. Sensitive Security Parameter Management The module supports the keys and other SSPs listed in Table 11
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import / Export | Establishment | Storage | Zeroization | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| ECDH Public Key Component | All approved P/B/K curves | KAS-SSC-ECC (Certs. A2699 and A2701) | Generated internally via approved DRBG | No / Yes | No | Plaintext in volatile memory | Reboot; remove power; session termination | Generation of SSH and TLS shared secrets |
| TLS Session Key | AES AES-GCM | AES (Certs. A2699 and A2701) AES-GCM (Cert. A2701) | No | No / No | Derived internally using the TLS Master Secret | Plaintext in volatile memory | Reboot; remove power; session termination | Encryption and decryption of TLS session packets; AES GCM IV is used with the TLS Session key. |
| TLS Authentication Key Other SSPs | HMAC (Certs. A2699 and A2701) | No | No / No | Derived internally using the TLS Master Secret | Plaintext in volatile memory | Reboot; remove power; session termination | Authentication of TLS session packets | |
| SSH Password | - | SSH KDF (Cert. ) | No | No / No | Preloaded | Encrypted in non-volatile memory | No | Password used to authenticate MIES to Wi-Fi module |
| SSH Shared Secret | - | No | No / No | Computed via DH/ECDH shared secret computation | Plaintext in volatile memory | Reboot; remove power; session termination | Derivation of the SSH Session and authentication Keys; AES GCM IV is used with the SSH Session key. | |
| TLS Premaster Secret | - | TLS 1.2 KDF (Cert. A2702) | No | No / No | Computed via DH/ECDH shared secret computation | Plaintext in volatile memory | Reboot; remove power; session termination | Derivation of the TLS master secret |
| TLS Master Secret | - | - | No | No / No | Derived internally using the TLS Premaster Secret via TLS KDF | Plaintext in volatile memory | Reboot; remove power; session termination | Derivation of the TLS session (AES) and authentication (HMAC) keys, and the GCM IV. |
| AES GCM IV | - | AES GCM (Certs. A2699 and A2701) | No | No / No | Derived internally using the TLS Master Secret24 or generated for SSH in compliance with RFC 564725. | Plaintext in volatile memory | Reboot; remove power; session termination | Initialization vector for AES GCM |
| DRBG entropy input | - | DRBG (Certs. A2699 and A2701) | N/A | No / No | Produced internally via Approved entropy source | Plaintext in RAM | Upon module reboot Upon session termination | Establishment of seed for CTR_DRBG |
| DRBG seed | - | DRBG (Certs. A2699 and A2701) | N/A | No / No | Established internally using entropy input string via DRBG | Plaintext in RAM | Upon module reboot Upon session termination | Generation of random number |
| DRBG ‘V’ value | - | DRBG (Certs. A2699 and A2701) | Generated internally within DRBG | No / No | N/A | Plaintext in RAM | Upon module reboot Upon session termination | State value for CTR_DRBG |
24 The IV generation method complies with technique #1 (for TLS 1.2 GCM Cipher Suites) in FIPS 140-3 IG C.H. RFC 5246 defines the TLS 1.2 protocol; RFC
25 The IV generation method complies with technique #1 (for SSHv2 protocol) in FIPS 140-3 IG C.H. Each IV is generated and used only within each
protocol’s implementation. ©2024 Outset Medical, Inc.
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import / Export | Establishment | Storage | Zeroization | Use & Related Keys |
|---|---|---|---|---|---|---|---|---|
| DRBG ‘Key’ value | - | DRBG (Certs. A2699 and A2701) | Generated internally within DRBG | No / No | N/A | Plaintext in RAM | Upon module reboot Upon session termination | State value for CTR_DRBG |
The AES-GCM IV is used in the following protocols:
The module performs all applicable key assurances for its DH and ECDH implementations as specified in section 9 of NIST SP 800-56Arev3. These tests are performed as conditional tests. In order to zeroize all keys and CSPs present within the module, the operator shall decommission the module by performing the following steps:
Table 12 below specifies the module’s entropy sources. RFC – Request For Comment ©2024 Outset Medical, Inc.
| Entropy Source | Minimum number of bits of entropy | Details |
|---|---|---|
| CPU Time Jitter Based Non- Physical TRNG version 3.3 | 256 | The module requests 256 bits of entropy per call and receives 256 number of bits of entropy. Seed material is provided to the module’s DRBG by the CPU jitter mechanism residing within the module’s cryptographic boundary. |
Table 12 – Non-Deterministic Random Number Generation Specification ©2024 Outset Medical, Inc.
10. Self-Tests Both pre-operational and conditional self-tests are performed by the module. Pre-operational tests are performed between the time a cryptographic module is powered on or instantiated (after being powered off, reset, rebooted, cold-start, power interruption, etc.) and before the module transitions to the operational state. Conditional selftests are performed by the module during module operation when certain conditions exist. The following sections list the self-tests performed by the module, their expected error status, and the error resolutions.
The module performs the following pre-operational self-test(s): • Firmware integrity test (using CRC-32)
The module performs the following conditional cryptographic algorithm self-tests (CASTs):
The CO can initiate the pre-operational self-test (as well as the conditional CASTS) on demand for periodic testing of the module by power-cycling the Tablo machine. The LED will blink 2 times to indicate that self-tests are running.
Upon failure of any self-test, the module will set an internal flag and enter a critical error state. In this state, the module will no longer perform cryptographic services or output data over the data output interfaces. For any subsequent request for cryptographic services, the module will return a failure indicator. To recover, the module must be reinitialized by power-cycle of the Tablo machine. If the pre-operational self-tests complete successfully, then the module can resume normal operations. If the module continues to experience self-test failures after reinitializing, then the module will not be able to resume normal operations, and the CO should contact Outset Medical, Inc. for assistance. ©2024 Outset Medical, Inc.
11. Life-Cycle Assurance The sections below describe how to ensure the module is operating in its validated configuration. Module operators shall follow all guidance provided guidance in this section to ensure the module is operating in a compliant manner. Operating the module without following this guidance (including the use of undocumented services) will result in non-compliant behavior and is outside the scope of this Security Policy.
The Medical Informatics System is delivered to the end user contained within the larger Outset Tablo machine, and there are no further installation procedures required by the operator.
No initialization steps are required to be performed by end-users.
No setup steps are required to be performed by end-users.
There are no specific management activities required of the CO role to ensure that the module runs securely. However, if any irregular activity is noticed or the module is consistently reporting errors, then Outset Customer Support should be contacted. Module operators can view the module’s operational status via the Tablo machine GUI.
The following list provides guidance for the User role: • In case the module’s power is lost and then restored, the key used for the AES GCM encryption or decryption shall be re-established.
There are no known CVEs associated with the cryptographic module. ©2024 Outset Medical, Inc.
12. Mitigation of Other Attacks This section is not applicable. The module does not claim to mitigate any attacks beyond the FIPS 140-3 Level 1 requirements for this validation. ©2024 Outset Medical, Inc.
| Definition | |
|---|---|
| Term | |
| AES | Advanced Encryption Standard |
| ANSI | American National Standards Institute |
| API | Application Programming Interface |
| CAST | Cryptographic Algorithm Self-Test |
| CBC | Cipher Block Chaining |
| CCCS | Canadian Centre for Cyber Security |
| CCM | Counter with Cipher Block Chaining - Message Authentication Code |
| CFB | Cipher Feedback |
| CKG | Cryptographic Key Generation |
| CMAC | Cipher-Based Message Authentication Code |
| CMVP | Cryptographic Module Validation Program |
| CO | Cryptographic Officer |
| CPU | Central Processing Unit |
| CSP | Critical Security Parameter |
| CTR | Counter |
| CVL | Component Validation List |
| DEP | Default Entry Point |
| DES | Data Encryption Standard |
| DH | Diffie-Hellman |
| DRBG | Deterministic Random Bit Generator |
| DSA | Digital Signature Algorithm |
| ECB | Electronic Code Book |
| ECC | Elliptic Curve Cryptography |
| ECC CDH | Elliptic Curve Cryptography Cofactor Diffie-Hellman |
| ECDH | Elliptic Curve Diffie-Hellman |
| ECDSA | Elliptic Curve Digital Signature Algorithm |
| EMI/EMC | Electromagnetic Interference /Electromagnetic Compatibility |
| FFC | Finite Field Cryptography |
| FIPS | Federal Information Processing Standard |
| GCM | Galois/Counter Mode |
13. Acronyms and Abbreviations Table 13 provides definitions for the acronyms and abbreviations used in this document. Table 13 – Acronyms ©2024 Outset Medical, Inc.
| Term | Definition |
|---|---|
| GMAC | Galois Message Authentication Code |
| GPC | General-Purpose Computer |
| HMAC | (keyed-) Hash Message Authentication Code |
| KAS | Key Agreement Scheme |
| KAT | Known Answer Test |
| KTS | Key Transport Scheme |
| KW | Key Wrap |
| KWP | Key Wrap with Padding |
| MD | Message Digest |
| NIST | National Institute of Standards and Technology |
| OCB | Offset Codebook |
| OFB | Output Feedback |
| OS | Operating System |
| PBKDF | Password-Based Key Derivation Function |
| PCT | Pairwise Consistency Test |
| PKCS | Public Key Cryptography Standard |
| PSS | Probabilistic Signature Scheme |
| PUB | Publication |
| RC | Rivest Cipher |
| RNG | Random Number Generator |
| RSA | Rivest Shamir Adleman |
| SHAKE | Secure Hash Algorithm KECCAK |
| SHA | Secure Hash Algorithm |
| SHS | Secure Hash Standard |
| SP | Special Publication |
| TLS | Transport Layer Security |
| XEX | XOR Encrypt XOR |
| XTS | XEX-Based Tweaked-Codebook Mode with Ciphertext Stealing |
Prepared by: Corsec Security, Inc.
2600 Fair Lakes Circle, Suite 210
Fairfax, VA 22033 United States of America Phone: +1 703 267 6050 Email: info@corsec.com http://www.corsec.com