Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
f039aec
adding smart os download for review, and common TPM documenation as a…
Chr1st0ph3rTurn3r Oct 15, 2025
23dee8c
typo
Chr1st0ph3rTurn3r Oct 15, 2025
e69fbb4
began edits
Chr1st0ph3rTurn3r Oct 22, 2025
8d07a8d
updates per review from Philippe, and input from conversation.
Chr1st0ph3rTurn3r Nov 14, 2025
352bde4
merge with latest changes to the r1 docs.Merge branch '7.1.0-documen…
Chr1st0ph3rTurn3r Nov 18, 2025
b6751c7
mid update commit for this topic - sec-conductor-onboard.md
Chr1st0ph3rTurn3r Nov 18, 2025
5b3cf6d
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Nov 19, 2025
7cf42fd
commit changes
Chr1st0ph3rTurn3r Nov 19, 2025
a9e9da3
merging latest 7.1-r1 updates"Merge branch '7.1.0-documentation' int…
Chr1st0ph3rTurn3r Nov 21, 2025
7e04963
updating Secure conductor onboarding
Chr1st0ph3rTurn3r Nov 21, 2025
16869fd
updated secure conductor onboarding with information from the latest …
Chr1st0ph3rTurn3r Nov 24, 2025
d5c6851
interim commit
Chr1st0ph3rTurn3r Nov 24, 2025
df1505a
updating landing page with link to 7.1 release notes
Chr1st0ph3rTurn3r Nov 25, 2025
f5f3995
topic review comments added.
Chr1st0ph3rTurn3r Nov 25, 2025
5ebd93e
additional review comments and updates to the release notes and about…
Chr1st0ph3rTurn3r Nov 25, 2025
61b01e0
review comments added.
Chr1st0ph3rTurn3r Nov 25, 2025
142b913
minor tweaks
Chr1st0ph3rTurn3r Nov 25, 2025
8376ce2
interim commit
Chr1st0ph3rTurn3r Dec 8, 2025
f27b494
adding ML-KEM info for Swift Beta
Chr1st0ph3rTurn3r Dec 9, 2025
3a1b7d3
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Dec 9, 2025
95cd56b
adding config integrity topic to Security section.
Chr1st0ph3rTurn3r Dec 9, 2025
60d1f06
merge Merge branch '7.1.0-r2-documentation' of github.com:128technol…
Chr1st0ph3rTurn3r Dec 9, 2025
3d54bcf
updates to config integrity, and a minor change to ML-KEM which is no…
Chr1st0ph3rTurn3r Dec 9, 2025
bbd99dd
Update docs/enhanced-sec-key-mgmt.md
Chr1st0ph3rTurn3r Dec 10, 2025
1531f54
Update docs/concepts-config-integrity.md
Chr1st0ph3rTurn3r Dec 10, 2025
b1d0a7f
Update docs/concepts-config-integrity.md
Chr1st0ph3rTurn3r Dec 10, 2025
38ee27b
Update docs/concepts-config-integrity.md
Chr1st0ph3rTurn3r Dec 10, 2025
b29d08e
Update docs/concepts-config-integrity.md
Chr1st0ph3rTurn3r Dec 10, 2025
bae4152
Update docs/concepts-config-integrity.md
Chr1st0ph3rTurn3r Dec 10, 2025
4944b6d
Update docs/concepts-config-integrity.md
Chr1st0ph3rTurn3r Dec 10, 2025
0f86a17
Update docs/concepts-config-integrity.md
Chr1st0ph3rTurn3r Dec 10, 2025
9e5225e
updates per review - not complete yet.
Chr1st0ph3rTurn3r Dec 10, 2025
e51b54b
updates per review, resolving merge conflicts - not complete yet.
Chr1st0ph3rTurn3r Dec 10, 2025
c6a49fc
final updates. Please review config integrity and ML KEM.
Chr1st0ph3rTurn3r Dec 10, 2025
122de1a
fixing typo in link
Chr1st0ph3rTurn3r Dec 10, 2025
d0f0f20
hiding new feature info in the release notes about ML-KEM
Chr1st0ph3rTurn3r Dec 11, 2025
636e1ce
fixed typo
Chr1st0ph3rTurn3r Dec 11, 2025
3c0a2d6
adding LED diagrams and other info to match hardware guide.
Chr1st0ph3rTurn3r Dec 16, 2025
90ca30f
addig graphics for port status leds
Chr1st0ph3rTurn3r Dec 17, 2025
f95613a
interim commit
Chr1st0ph3rTurn3r Jan 5, 2026
a4e3eae
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Jan 6, 2026
79b872b
mergeMerge branch '7.1.0-r2-documentation' of github.com:128technolo…
Chr1st0ph3rTurn3r Jan 6, 2026
d384a94
Iain B review, other input.
Chr1st0ph3rTurn3r Jan 6, 2026
3955dd4
adding review input/feature updates.
Chr1st0ph3rTurn3r Jan 9, 2026
63d92f4
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Jan 9, 2026
a507ba4
clarification and missed comment addressed.
Chr1st0ph3rTurn3r Jan 9, 2026
47986dd
merging latest changes to local branchMerge branch '7.1.0-r2-documen…
Chr1st0ph3rTurn3r Jan 9, 2026
e51a34b
feature updates for Swift beta drop of 7.1.3-r2
Chr1st0ph3rTurn3r Jan 12, 2026
f686e99
review feedback.
Chr1st0ph3rTurn3r Jan 13, 2026
da00ed1
Merge branch 'master' into 7.1.0-r2-documentation
MichaelBaj Jan 14, 2026
58425f4
listing resolved issues, updating CLI doc.
Chr1st0ph3rTurn3r Jan 14, 2026
0cb5921
fix broken links
Chr1st0ph3rTurn3r Jan 14, 2026
274e361
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Jan 15, 2026
2791465
typo?
Chr1st0ph3rTurn3r Jan 15, 2026
1baf75d
IMA, SHA-384/512 info.
Chr1st0ph3rTurn3r Jan 21, 2026
86c9a4c
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Jan 22, 2026
6ce3651
Add EoSVR release note, IMA release note, and text describing IMA. Wa…
Chr1st0ph3rTurn3r Jan 23, 2026
83de898
added IMA error info.
Chr1st0ph3rTurn3r Jan 23, 2026
242f839
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Jan 28, 2026
bd7f032
update IMA info
Chr1st0ph3rTurn3r Jan 28, 2026
4366650
IMA edits
Chr1st0ph3rTurn3r Jan 28, 2026
29c440f
date and build number for swift Beta.
Chr1st0ph3rTurn3r Jan 29, 2026
b109d70
date change, typo fixes, and adding better IMA info to the release no…
Chr1st0ph3rTurn3r Jan 30, 2026
f0bdf7d
mnior edits.
Chr1st0ph3rTurn3r Feb 2, 2026
456afa2
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Feb 3, 2026
e09863e
adding draft info for vTPM, updating build number and date for Swift …
Chr1st0ph3rTurn3r Feb 3, 2026
79ca34a
mergeMerge branch '7.1.0-r2-documentation' of github.com:128technolo…
Chr1st0ph3rTurn3r Feb 3, 2026
9d07673
adding link to config integrity topic
Chr1st0ph3rTurn3r Feb 4, 2026
0107322
Correct security metadata-key regenerate command to rotate security m…
Chr1st0ph3rTurn3r Feb 5, 2026
441e397
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Feb 6, 2026
c78101f
updates with a couple new issues
Chr1st0ph3rTurn3r Feb 9, 2026
3b594b6
interim commit with some new jiras for the release notes.
Chr1st0ph3rTurn3r Feb 9, 2026
96ea63c
interim commit
Chr1st0ph3rTurn3r Feb 10, 2026
ac61076
updating smart download topic with gui info, and adding latest cli docs.
Chr1st0ph3rTurn3r Feb 11, 2026
c08eb3d
fix broken link
Chr1st0ph3rTurn3r Feb 11, 2026
9160fa8
another broken link
Chr1st0ph3rTurn3r Feb 11, 2026
3a8b100
Merge branch 'master' into 7.1.0-r2-documentation
Chr1st0ph3rTurn3r Feb 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/about_releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ However, issues resolved in `4.3.12`, which was released on 3/12/2021 are not ad

| Version | Initial GA Version | First Release Shipping Date | Latest GA Version | End of Engineering support | End of Support |
| -- | -- | -- | -- | -- | -- |
| Release 7.1 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | November 25, 2025 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | September 4, 2026 | March 4, 2027 |
| Release 7.1 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | December 4, 2025 | [7.1.0](release_notes_128t_7.1.md#release-710-50r1) | September 4, 2026 | March 4, 2027 |
| Release 7.0 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | October 14, 2025 | [7.0.1](release_notes_128t_7.0.md#release-701-1r1) | July 14, 2026 | January 14, 2027 |
| Release 6.3 | [6.3.0](release_notes_128t_6.3.md#release-630-107r1) | September 30, 2024 | [6.3.7-6-sts](release_notes_128t_6.3.md#release-637-6-sts) | May 6, 2026 | November 6, 2026 |
| Release 6.2 | [6.2.0](release_notes_128t_6.2.md#release-620-39r1) | November 16, 2023 | [6.2.10-lts](release_notes_128t_6.2.md#release-6210-10-lts) | September 6, 2026 | March 6, 2027 |
Expand Down
828 changes: 720 additions & 108 deletions docs/cli_reference.md

Large diffs are not rendered by default.

2,734 changes: 2,015 additions & 719 deletions docs/cli_stats_reference.md

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions docs/concept-tpm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Trusted Platform Module Overview
sidebar_label: Trusted Platform Module
---

#### Version History

| Release | Modification |
| ------- | --------------------------- |
| 7.1.3-r2 | Trusted Platform Module support added. |

A Trusted Platform Module (TPM) is a secure cryptoprocessor that stores cryptographic keys. It serves as a secure storage mechanism for essential security artifacts such as digital certificates.

## TPM-Based Certificates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should include some language for the vTPM here as well. I believe @haberkornsam had some info for the public cloud docs. He's out sick so will review with him next week.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the blurb on vTPM below is good. We could maybe include something about the Endorsement key and attestation keys and how its required for the vTPM to be initialized with an Endorsement seed and we will generate an EK and AK. But that is also getting pretty technical and not SSR specific.


The SSR400 and SSR440 use the TPM-based certificate to ensure secure identification of the device. The device has a burnt-in idev-id certificate on the TPM. The idev-id certificate provides the device's Juniper serial number and model, proving that the device was manufactured in a Juniper facility. The TPM certificate is the most secure way for a Juniper device to prove its identity.

### Benefits of TPM-Based Certificates

- Provides trust. Helps to establish advanced security in an insecure digital world.
- Provides confidentiality. Data sent is encrypted and only visible to the server and client.
- Provides integrity. Ensures that the data has not been modified during the transfer.

### How Does a Conventional SSL/TLS Certificate Work?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know that we need this SSL/TLS section. People can look this stuff up on the internet if they want. We should focus on our product's specific behavior.

We are adding support for vTPM. This should be included in this document.

We should state that the TPM/vTPM is used to generate private keys to be used for each certificate to be used on the system (e.g., web server, SSH, SVR).


Secure Socket Layer (SSL) is a protocol that allows encryption. It helps to secure and authenticate communications between a client and a server. It can also secure email, VoIP, and other communications over unsecured networks. SSL is also referred to as Transport Layer Security (TLS).

In unsecured HTTP connections, hackers can easily intercept messages between client and server. SSL certificates use a public/private keypair system to initiate the HTTPS protocol. Hence, SSL certificates enable secure connections for users and clients to connect. SSL/TLS works through:

- Secure communication that begins with a TLS handshake. The two communicating parties open a secure connection and exchange the public key.

- During the TLS handshake, the two parties generate session keys. The session keys encrypt and decrypt all communications after the TLS handshake.

- Different session keys encrypt communications in each new session.

- TLS ensures that the user on the server side, or the website the user is interacting with, is who they claim.

- TLS also ensures that data has not been altered, since a Message Authentication Code (MAC) is included with transmissions.

When a signed SSL certificate secures a website, it proves that the organization has verified and authenticated its identity with the trusted third party. When the browser trusts the CA, the browser now trusts that organization’s identity too.

For additional details on how SSR uses TPM, see [Configuration Integrity](concepts-config-integrity.md).

### Support for vTPM on Conductor-managed Deployments

If a vTPM is present on a platform, the SSR will first check to see if a trusted certificate and private key already exists. For Azure, AWS, and GCP it is expected that these platforms generate their own keys and certificates. On other platforms, if no certificate and private key is present, a single `DevID` certificate and `master` private key are created and stored in the vTPM.

Each certificate installed on the system is signed with a uniquely created private key pair and stored on disk, encrypted with the master key stored in the vTPM.


86 changes: 86 additions & 0 deletions docs/concepts-config-integrity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Configuration Integrity
sidebar_label: Configuration Integrity
---

#### Version History

| Release | Modification |
| ------- | --------------------------- |
| 7.1.3 | SSR Configuration Integrity added. |

SSR Configuration Integrity addresses security requirements for protecting sensitive data stored on SSR devices when they are at rest - when a system is powered off for extended periods, physically stolen, or have their storage media removed and analyzed offline by malicious actors seeking to extract sensitive information or compromise network security.

SSR devices are frequently deployed in environments where physical security cannot be guaranteed, ranging from remote branch offices and retail locations to temporary installations and field deployments. In these environments, configuration files, private keys, and operational data stored on the device require protection from unauthorized access.

Modern compliance requirements and regulatory frameworks mandate encryption-at-rest for sensitive data, particularly in the financial services, healthcare, and government sectors. High-security customers require robust protection against data exfiltration to maintain their security posture and meet regulatory obligations. These requirements have evolved beyond simple access controls to demand cryptographic protection of stored credentials, configuration data, and private key material that could be exploited to compromise broader network infrastructure.

SSR Configuration Integrity protects authentication credentials, keys and certificates, network topology information, and other pieces of sensitive SSR configuration from unauthorized access when the system is powered off.

Furthermore, Configuration Integrity prevents network and SSR operations from executing when the system is determined to be in a compromised state. These protected secrets cannot be exfiltrated even if the bad actor has physical access to the drive, preventing attackers from impersonating network nodes or intercepting encrypted communications. Most importantly, it meets compliance requirements for encryption-at-rest without impacting runtime performance, allowing organizations to satisfy regulatory mandates while maintaining the high-performance networking capabilities that SSR devices are designed to provide.

Configuration Integrity does not address any runtime access-policy or permissions concerns. Proper file and directory permissions are still required, as well as proper login and authentication controls. Configuration Integrity augments the existing SSR security functionality to provide encryption-at-rest guarantees.

Configuration Integrity is enabled by default on new installations of, and upgrades to, SSR 7.1.3-r2.

## How It Works

Configuration Integrity utilizes a hybrid approach combining TPM2 hardware security with Linux native filesystem encryption, administered by the userspace tool fscrypt. fscrypt utilizes an AES-256 key generated and protected by the TPM to perform encryption and decryption operations. Once the encrypted directories are unlocked, they operate as a normal directory; the encryption is transparent to the user.

### Major Components

The following are the major components of Configuration Integrity.

### TPM2 Hardware Security Module

The TPM is the trust anchor of the system. It creates and unseals the Filesystem Encryption Key (FEK), and is the only component of the system that can perform this task. If the storage of the SSR is somehow separated from the TPM, the FEK can no longer be unsealed, and the filesystem cannot be unlocked, ensuring that sensitive data remains protected.

All SSR TPMs are provisioned with an RSA-2048 key, which is used to perform the encryption and decryption of the FEK.

### Filesystem Encryption Key (FEK)

The FEK is a 256-bit random number generated by the TPM. Once it has been generated, it is encrypted by the TPM using RSA-2048 before being written to disk. At no time will the unencrypted FEK be written on disk. Any time it is decrypted, it is stored in memory only.

### fscrypt

fscrypt is a userspace interface to the Kernel-level filesystem and encryption stacks. It operates on a per-directory basis, leveraging either a PAM module, a passphrase, or a 256-bit raw key to unlock and decrypt the directory. The SSR uses only the raw key mode.

fscrypt requires that no target directory exist as a repository for decrypted files. Because technology allows the recovery of deleted files from a directory, the process of migrating files to an existing encrypted directory leaves traces of the unencrypted versions on disk resulting in a potential security risk.

All sensitive files will be written to the encrypted directory from their inception onward, ensuring that there is no security risk. fscrypt configured in raw_key mode uses AES-256-XTS encryption for file contents and AES-256-CBC-CTS encryption for filenames.

### Configuration Integrity Systemd Service

The Integrity Handler is the systemd service responsible for Configuration Integrity on the system. If it detects that a system has not been configured for Configuration Integrity, it will perform a series of checks to see if it can support the feature. If the system can support the feature, it will onboard the system into Configuration Integrity.

Once a system is onboarded, the Integrity Handler is responsible for unlocking the encrypted directories so they can be transparently used by the system. It does so with the following sequence:

1. Locate encrypted FEK on disk.
2. Unseal FEK with the TPM.
3. Pass unencrypted FEK to fscrypt.
4. fscrypt uses the FEK to automatically unlock the necessary encrypted directories.

If any of these steps fail, it is interpreted as an integrity event. Network activities are blocked. An emergency log is generated and broadcast to all consoles on the system that the system integrity is compromised and it must be reprovisioned. The SSR will repeatedly try to start the integrity service to unlock the encrypted directories and fail, each time writing the emergency log.

```
Broadcast message from systemd-journald@TESTsystem1 (Mon 2025-12-01 17:15:20 UTC):

integrity-handler: Integrity event detected. A clean installation is required.
```

Recovery steps require physical access to the device to [reimage the system with a fresh ISO](intro_installation_univ-iso.md).

## Troubleshooting
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a subsection to troubleshooting for what to do when a system has been compromised: Zeroize -> Factory Reset, or RMA.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No factory reset unfortunately, because some of the directories we need for the factory reset will be locked, and we won't be able to unlock them due to the compromise. The only options are clean install or RMA.


Use the information below to investigate issues and understand the Configuration Integrity feature.

### Logging

Logging is handled through existing system components rather than a dedicated log category. During initial system provisioning, all Configuration Integrity initialization is logged as part of the standard provisioning process. On subsequent boots, the systemd service that is responsible for unlocking encrypted directories logs all unlock operations and service status information through the systemd journal. Use `journalctl -u integrity-handler` for visibility into the operational state of the encryption system during the boot sequence.

Key operational messages include TPM provisioning status and error conditions, filesystem encryption capability detection results, and detailed logging of FEK generation, storage, and retrieval operations. The system also logs all directory encryption and decryption operations along with integrity violation events that may trigger protective responses.

### Compromised System

In the event your system has been compromised, the device must be reprovisioned with a [clean install from a bootable USB](intro_installation_univ-iso.md). If that is not viable, contact your sales team or Juniper technical support to begin the RMA process.

2 changes: 1 addition & 1 deletion docs/config-custom-certs.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ Store the value of the token in a file called `token.txt` for use later.
### Issue a Private-key Creation Request

:::important
It is necessary for all of the following REST APIs to use the name `custom_ssr_peering` in order for this private key and certificate to be visible and usable by Enhanced Security Key Managementin 7.0. This is a reserved name specifically used by Enhanced Security Key Management.
It is necessary for all of the following REST APIs to use the name `custom_ssr_peering` in order for this private key and certificate to be visible and usable by Enhanced Security Key Management in 7.0. This is a reserved name specifically used by Enhanced Security Key Management.
:::

The goal of this workflow is to ensure that the private key of the SSR never leaves the SSR. To do so, we need to instruct the SSR to create a private key. To accomplish this, we provide the SSR some details, including:
Expand Down
Loading