MFA for air-gapped networks

For networks with no cloud path, second factors must verify locally, so the choice is which on-premises server holds the tokens and how it stays available. This page covers hardware OTP, FIDO2 keys, seed imports and enclave high availability.

On this page

Why MFA for air-gapped networks needs a different design

In an air-gapped enclave, the usual second factors stop working. Push notifications need a vendor cloud, SMS needs a carrier network, and cloud-based validation has nowhere to call. Every login has to be verified by a server inside the boundary, using credentials that were loaded onto the network before anyone used them. That changes the design from the first decision: the token types you can accept, how seeds reach the server, and how the validating service stays up without a path to the outside world. Treat the MFA server as a core dependency of the enclave, not an add-on, because a failed validator locks out every user at once.

Three design areas drive most of the work. First, token types: hardware OTP tokens and FIDO2 keys are the realistic options, and each needs a documented enrollment path that does not depend on the internet. Second, seed handling: if vendor seed files arrive as SafeNet XML, OATH CSV, Yubikey CSV or PSKC, confirm which format your token batch uses, who holds the decryption material, and how the import is logged and verified against the token serials. Third, high availability inside the enclave: plan replicas, backups and a recovery path for the validator, since an offline system cannot fetch a fix on demand. Software and packages entering the boundary also need an integrity check, which the NERC CIP-013-2 supply chain requirement makes explicit for operators of bulk electric system assets.

For the short answer, privacyIDEA fits most token-heavy enclaves, because it imports seed files, validates hardware OTP and FIDO2 keys, and offers a REST API and RADIUS and PAM integrations that cover VPNs and servers. FreeIPA fits Linux and Kerberos-centric estates, where HOTP and TOTP tokens and central SSH and sudo policies are already part of the directory. Confirm the choice against your user stores, required integrations and token inventory before you commit, and ask a partner to run an import and failover test in a non-production enclave first.

Which requirements shape an air-gapped MFA build

This table maps three regulatory requirements to concrete consequences for an air-gapped MFA build, such as on-premises verification, token seed handling and audit logs. It describes what each requirement means for the design, not legal advice, and the main takeaway is that the regulator's view of the enclave boundary must be confirmed before the architecture is fixed.

RequirementWhat it asks forWhat it means for the build
HIPAA 45 CFR 164.312 (person or entity authentication)Covered entities and business associates must verify that a person or entity seeking access to ePHI is who they claim to be.Verification must run inside the enclave, so the MFA server cannot depend on a cloud check. Keep records of which factor was accepted and when.
HIPAA 45 CFR 164.312 (unique user identification)Each user must be identifiable by a unique identifier, so shared logins cannot be used to access ePHI.Enroll each person's hardware token or key against their own directory identity, and retire tokens from departed staff in the same workflow.
HIPAA 45 CFR 164.312 (audit controls)Systems holding ePHI must record and allow examination of activity.Forward MFA success, failure and enrollment events to an on-premises log store inside the enclave and set a retention period your compliance lead approves.
FTC 16 CFR 314.4(c) (MFA for any individual)Covered financial institutions must use MFA for any individual accessing any information system, with no exceptions for internal users.Plan token coverage for admins, vendors and service-facing staff in the enclave, and document any accounts that cannot use an interactive factor.
NERC CIP-005-7 (interactive remote access)Interactive remote access to high and medium impact BES Cyber Systems passes through an intermediate system with encryption and MFA, with methods to detect and disable active vendor sessions.Place the MFA check at the intermediate system on premises, and keep session-kill procedures that work when the enclave has no external connectivity.
Token seed handling (NERC CIP-013-2 and general practice)Vendor software and supply chain components must be verified for integrity and authenticity before they enter the environment.Seed files for OATH tokens are sensitive. Import them through a controlled process, encrypt them at rest, and confirm with your assessor how seed custody is evidenced.
Enclave boundary interpretationEach regulator defines what counts as in scope, and the boundary of an isolated network is not always the same across frameworks.Confirm with your regulator, assessor or counsel where the enclave boundary sits and whether the MFA server, its replicas and its logs fall inside it.

Which open-source platforms fit an offline enclave

An air-gapped MFA design depends on a server that validates second factors without calling a cloud service. The platforms below cover that core, the directory and certificate services it relies on, and the web SSO layer that sits in front of applications. Each card names what to confirm in your enclave before you commit.

privacyIDEA as the MFA core

privacyIDEA validates OTP and FIDO2 factors on your own servers and is licensed under AGPLv3. Hardware OTP seeds can be imported from SafeNet XML, OATH CSV, Yubikey CSV and PSKC files, and GPG-encrypted seed files are supported. Integrations cover the Linux PAM module, the Windows credential provider and RADIUS for VPNs. Confirm that your token vendor's seed export format is on this list, and that the enclave accepts the FIDO2 attestation model you plan to use.

FreeIPA for directory and OTP

FreeIPA combines 389 Directory Server, MIT Kerberos, the Dogtag certificate authority and SSSD clients in one GPL-3.0-or-later package. It supports HOTP and TOTP tokens, including YubiKeys, and can proxy OTP checks to an existing RADIUS server. Plan for at least two to three replicas per datacenter, and confirm that the enclave can hold its own internal CA and DNS. Keep the first server's certificate renewal and CRL duties in mind when you design backups.

Keycloak as the web SSO layer

Keycloak provides OpenID Connect and SAML 2.0 single sign-on for internal web applications and can federate to LDAP and Active Directory user stores on premises. It is Apache-2.0 licensed and includes WebAuthn support for hardware keys. Push notifications and SMS are not usable here, because they need an external service. Confirm which second factor types Keycloak will enforce for each application, and test the login path with the enclave's own user directory.

Hardware key and attestation policy

FIDO2 security keys work offline because the browser or client verifies the key directly, but the server still has to decide which keys it trusts. Ask the enclave owner which key models and manufacturers are approved, and whether attestation statements must be checked against a local trust list. Record the approved list as configuration evidence. Vendor certificate roots may need to be copied into the enclave by the same transfer process used for software packages.

Seed file transfer and key custody

OTP seeds are secrets, so the process for moving them into the enclave matters as much as the import format. Decide who exports seeds from the vendor system, how the files are protected in transit, and whether they are GPG-encrypted before import. Confirm that the import workflow records each token serial and the operator who loaded it. The seeds should exist only in the enclave once the import is complete.

Offline validation and failover

A validation server in an isolated network has no external fallback, so the design has to keep login working when one node fails. Run at least two MFA nodes behind the same user store and test the failure path before go-live. Confirm that clock drift is controlled, because TOTP and HOTP checks depend on synchronized time. Document how an administrator recovers a locked-out user without a cloud channel.

How hardware token seed files get into an isolated MFA server

Hardware OTP tokens ship with a *seed file*, the secret that lets the MFA server compute the same codes as the token. In an isolated enclave, that file has to cross the air gap before anyone can enroll a token, so the import workflow is part of the security design. privacyIDEA can load seed files in SafeNet XML, OATH CSV, Yubikey CSV and PSKC formats through Token, Import, and it can also import seed files that have been GPG-encrypted with its own GPG key. Before ordering, confirm with each token vendor which export format it produces, whether it encrypts the file, and whether it will deliver the file separately from the tokens. The OATH CSV format covers HOTP, TOTP, OCRA and TAN tokens, so a mixed batch may need more than one import pass or a format check per line.

The reader must define the handling controls before the first file arrives. Specify the transfer medium approved to carry seed files across the boundary, who may hold them at each step, and where they are stored between delivery and import. Keep the person who receives the token shipment separate from the person who imports the seeds, so no single operator can both hold a token and its secret. Set a rule that each seed file is deleted from the import workstation and transfer media once the import is confirmed, and record that deletion. Treat the GPG private key used for encrypted imports as a secret in its own right, with custody and rotation owned by a named role rather than the MFA administrator alone.

Test the workflow with a non-production batch before live tokens are imported. Confirm that each token serial appears in privacyIDEA after import, that a code generated by the physical token authenticates, and that the import event is written to the audit log. Record which person performed each step, the file hashes at each transfer and the deletion confirmation, since these become evidence for access control reviews. Keep the seed file workflow documented alongside the enrollment procedure so that a replacement token batch can follow the same controls.

How an air-gapped MFA rollout runs in phases

The sequence moves from a defined enclave boundary to verified offline media, hardened MFA servers, enrolled tokens and tested high availability, so admin and VPN logins are cut over only after each phase produces its evidence.

  1. Confirm the enclave boundary and requirement scope

    The team agrees which networks sit inside the enclave, which systems need a second factor first (admin consoles, VPN concentrators, Windows and Linux logon, SSH) and which regulations or frameworks set the evidence bar. The engagement lead and the client's security owner sign off on a written scope before any package is built. The output is a signed scope statement with a system inventory, the authentication targets and the list of data flows that cross the boundary. Ask the implementation partner to show how they record the boundary so later changes can be traced.

  2. Build the offline package set and verified media process

    Packages, container images, operating system media and rule sets are collected on a connected staging system, then checked for integrity and authenticity before they are carried into the enclave. Every item is listed in a manifest with hashes and a record of who approved it, which supports the software verification expectations in NERC CIP-013-2 where those apply. The output is a signed package manifest and a media transfer log. Confirm with the partner which signing keys they use and how the transfer media is sanitized and tracked.

  3. Install and harden the MFA servers

    The privacyIDEA or FreeIPA servers are installed from the verified set on dedicated hosts, with the operating system baseline, TLS certificates from the enclave's own certificate authority, administrative access restricted and audit logging sent to the enclave log store. Installation uses only local repositories, with no outbound calls to public services. The output is a hardening checklist with each item marked as tested, and a configuration backup taken after the baseline is in place.

  4. Import seeds and enroll hardware keys

    Hardware OTP seed files are imported through the token import function, using the file format the token vendor supplied, and the import is run in a test instance first. Seed files are handled under the client's key custody rules, and GPG-encrypted files are decrypted only with the designated key. FIDO2 keys are enrolled by the users or help desk under a supervised procedure with identity checks. The output is a tested import log that reconciles counts of imported, rejected and duplicate tokens, and an enrollment record for each user.

  5. Add HA replicas and test failover

    Replica servers are added in line with the directory and replication guidance for the chosen platform, and the team confirms that token state and policies replicate. Failover is tested by stopping the primary, authenticating through each integrated system, and restoring service, with the results captured against the expected behavior. The output is a failover test record listing each target system, the observed result and any defects fixed before cutover. Ask the partner how they handle replication conflicts and what backup restore test they run.

  6. Cut over admin and VPN logins first

    Administrative accounts and VPN or remote access logins are switched to require the second factor first, since these carry the highest exposure and are the most visible in audits. Break-glass accounts and service accounts are documented and handled separately, and a rollback path is kept ready until the cutover is accepted. The output is a cutover sign-off signed by the system owner and the security lead, with the first audit log entries for each cut-over system attached. Remaining logons follow in a later wave once that evidence is reviewed.

Keeping the MFA server highly available inside the enclave

FreeIPA combines 389 Directory Server, MIT Kerberos, the Dogtag certificate system and SSSD on clients, and its OTP support can run on that same identity layer. Availability comes from replicas. The FreeIPA deployment recommendations advise at least two to three replicas in each datacenter, so that losing one server does not remove authentication for the site. The directory is multi-master, which means each replica accepts changes, so the topology itself needs care.

  • Replica count: Plan two to three replicas per datacenter and keep dedicated servers that run no other applications.
  • Replication agreements: Keep no more than four replication agreements per replica to avoid a dense mesh that is hard to troubleshoot.
  • PKI and DNS placement: If you use the integrated certificate authority or DNS, run at least one replica per datacenter with those roles.
  • Client DNS: Configure at least two DNS servers in each client's resolv.conf so clients can find an IdM server when one is down.
  • OTP coverage: Confirm which OTP paths a client can complete while the local replica is isolated from the others.

Confirm with your own test lab how your chosen token types behave when a replica or the first server is offline.

Evidence auditors ask for and which component produces it

This table maps the evidence an assessor typically asks for in an air-gapped MFA deployment to the requirement it supports and the component that produces it. Use it to decide which logs, records and tests to design in from day one, since evidence that is not captured during enrollment or transfer cannot be reconstructed later. Confirm the exact evidence set with your assessor before build.

EvidenceRequirement it supportsComponent that produces it
Enrollment record per hardware token (serial, owner, issue date, assignment)Unique user identification and authenticator control under the HIPAA Security Rule access control standard, and the Safeguards Rule MFA requirementprivacyIDEA token inventory, or FreeIPA OTP token records, exported on a schedule
Seed import log for each token batch (file name, format, import time, operator, count of tokens loaded)Chain of custody for authenticator secrets moved into an isolated enclave; supply chain integrity expectations in NERC CIP-013-2privacyIDEA Token Import audit entries, plus the signed hash of the seed file kept in the transfer record
Authentication logs for successful and failed second-factor checksAudit controls that record and examine activity in systems containing ePHI (45 CFR 164.312) and activity logging for authorized users (16 CFR 314.4)privacyIDEA audit log, or FreeIPA and SSSD logs forwarded to an on-premises SIEM such as Wazuh
Interactive remote access session records through the intermediate systemEncrypted access and multi-factor authentication for remote access to in-scope systems under NERC CIP-005-7Intermediate system logs combined with privacyIDEA authentication events for the same session
Configuration baseline for the MFA server, replicas and integrationsDocumented security configuration and change control for authentication systems, supporting access control and person authentication reviewsVersion-controlled configuration exports and OS hardening records maintained by the operator, with release versions recorded
Backup and restore test results for token database and directory dataContingency planning and reliable recovery of authentication data without losing enrolled tokensFreeIPA ipa-backup and ipa-restore job output, and dated restore test reports from a non-production enclave
Media transfer records for every package, rule set and token file carried across the boundaryVerification of software integrity and authenticity for vendor software and patches before it is installed inside the enclaveTransfer manifest and checksum log kept by the operator, produced outside the MFA component
Token lifecycle events (lost, replaced, revoked, disabled)Timely removal of access for departing users and reissued authenticatorsprivacyIDEA token events and help desk tickets linked by token serial

What do buyers ask before building air-gapped MFA?

What drives the cost of air-gapped MFA?

The main cost drivers are hardware keys, highly available servers inside the enclave, enrollment and help desk effort, integration work for each system, and offline package maintenance. Self-hosted privacyIDEA and FreeIPA are open source, so license fees are usually not the largest line item, but the software is not the whole cost. Hardware OTP tokens and FIDO2 keys are bought per user and replaced over time, which makes them a recurring cost. Each VPN, Linux fleet, Windows domain and web app needs its own configuration and testing. Ask any partner for a quote that separates one-time work (design, integration, seed import, hardening) from recurring work (token replacement, patch intake, support and staff time), and that states which items are priced per system, per user or per site.

How long does an air-gapped MFA rollout take?

The timeline depends on scope: how many systems must use MFA, whether the enclave needs its own high availability pair or cluster, how many token types are in use, and how many users must be enrolled and supported during cutover. Seed file imports, enrollment waves and integration tests usually take longer than the software installation itself. No duration is given here because timelines are set in the written scope for each engagement. Ask for a phased plan that lists which systems move first, the test and rollback steps for each phase, and the dependencies on enclave access, hardware delivery and change approval.

What must our team provide for an air-gapped MFA project?

Your team usually provides network and enclave access details, the list of systems to protect, the user directory or directories to connect, and a named owner for each integration. You also need to supply the change approval path, the hardware token inventory or procurement plan, and the people who will run enrollment and the help desk. For seed imports, your team must control how token files are received, stored and destroyed. Your security team should confirm the required authentication policy for each system before work begins, because the written scope depends on those decisions.

Can our internal team build air-gapped MFA without a partner?

Yes, an internal team can build it if it has experience with the target platform, Linux administration, directory services, RADIUS or PAM integration, and offline software management. The skills most often missing are high availability design, secure seed handling and repeatable offline update procedures. Confirm that your team can maintain the platform after launch, including patch intake, backup and restore testing, and incident response for the MFA server. A partner can take on any of these pieces under a fixed-scope agreement, and the division of work should be written down before the project starts.

How do offline updates stay verifiable inside an isolated network?

Each package carried across the boundary should be checked for integrity and authenticity before installation, and the check should be recorded. NERC CIP-013-2 asks utilities to address verification of software integrity and authenticity of vendor software and patches in their supply chain processes, and that expectation is a useful model for other regulated sectors. In practice, verify published checksums and signatures against the vendor's release records, keep a manifest of every artifact transferred, and test updates in a staging enclave before production. The Security Onion airgap process, which updates from newer ISO media, shows how an offline update path can be structured. Ask your partner to document the transfer, verification and rollback steps for each package type.

How do hardware token seed files get imported into privacyIDEA safely?

privacyIDEA imports hardware token seed files in SafeNet XML, OATH CSV, Yubikey CSV and PSKC formats through Token, Import, and it can import GPG-encrypted seed files with its own GPG key. The OATH CSV format covers HOTP, TOTP, OCRA and TAN tokens. Keep seed files encrypted in transit and at rest, limit who can read them, and delete the source files after a verified import. Record which file, format and operator performed each import so that token assignments can be audited. Confirm the exact import steps for your version in the privacyIDEA documentation before planning the work.

Why are push notifications and SMS not used in an air-gapped network?

Push notifications and SMS depend on external services or carrier networks that an isolated enclave cannot reach. Push also depends on an app that connects to a notification service, which is outside the enclave. Air-gapped designs therefore rely on hardware OTP tokens, FIDO2 security keys, smartcards and locally verified TOTP or HOTP where the policy allows. privacyIDEA supports these token types, and users of standard TOTP and HOTP can keep apps such as Google Authenticator, while push notifications need the privacyIDEA Authenticator app. Confirm that every token type in your design works without outbound connections before procurement.

What happens to logins if the MFA server fails inside the enclave?

Without a highly available design, an MFA outage can lock out administrators and remote staff at the same time. Plan at least two servers in each site, with replication for the user and token data, and test failover before go-live. FreeIPA's deployment recommendations advise at least two to three replicas in each datacenter, and its backup documentation warns that restoring an outdated backup into an active replica topology can break replication. Define an emergency access procedure for break-glass accounts, and confirm how each integrated system behaves when the MFA service is unreachable.

Questions to ask an implementation partner for an isolated enclave

Start with seed handling, because it decides whether the enclave can enroll hardware tokens at all. Ask who imports the seed files, in which format (SafeNet XML, OATH CSV, Yubikey CSV or PSKC, per the privacyIDEA import documentation), and where the files sit between the vendor and the import step. Ask who holds the GPG key used for encrypted seed files, how it is generated, where the private key is stored, and who can revoke it. Ask for the written procedure that deletes plaintext seed files after import and for the log that proves it ran. A partner that cannot name the key custodian before work starts is not ready for a classified or regulated enclave.

Next, test how the partner verifies what crosses the air gap. Ask how each package, container image, rule set and privacyIDEA or FreeIPA update is checked for origin and integrity before it enters the enclave, and whether those checks are recorded in a manifest that your team can re-verify. NERC CIP-013-2 is written for the electric sector, but its supply chain expectation for verifying software integrity and authenticity of vendor software and patches is a useful yardstick for any isolated boundary. Ask what the partner will not do: they should not sign off on your vendor's security posture or issue an audit report. Ask who owns the evidence afterward.

On the MFA design itself, ask how FIDO2 attestation is enforced: which authenticator models are allowed, whether attestation statements are validated or only logged, and who maintains the allowed list. Ask for a high-availability design for the replica topology with the number of replicas, the replication agreements and the failover test plan, including what happens to logins during a site or replica loss. Ask how backups of the replica set are taken and restored, and how the partner avoids restoring an outdated backup into an active topology, which the FreeIPA backup documentation warns can break replication. For lost hardware keys, ask for the recovery path, the identity proofing step, and whether a second enrolled key or a supervised re-enrollment is required.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.