TL;DR
Securing unmanned devices without network connectivity requires pre-shared secrets and physical security measures. This guide outlines how to implement robust authentication using cryptographic keys, secure storage, and tamper detection.
1. Understand the Challenge
Traditional username/password authentication isn’t possible on unconnected machines. We need methods that don’t rely on network communication. The core principle is verifying a device *is who it says it is* without asking for credentials over the internet.
2. Key Generation & Distribution
- Generate Unique Keys: For each device, create a unique cryptographic key pair (public and private). Use a strong random number generator. Consider using an offline Hardware Security Module (HSM) for maximum security during generation.
- Secure Storage of Private Key: This is critical! The private key *must* be protected from unauthorized access. Options include:
- Tamper-Resistant Hardware: A dedicated secure element or Trusted Platform Module (TPM) is ideal.
- Encrypted Storage: If a TPM isn’t available, encrypt the private key using a strong algorithm (e.g., AES-256) with a key derived from device-specific hardware identifiers.
- Distribute Public Keys Securely: The public keys need to be distributed to any systems that will authenticate these devices. This is typically done offline (e.g., via USB drive, secure courier). Maintain a strict record of which public key belongs to which device.
3. Authentication Process
- Challenge Generation: The authenticating system generates a random challenge (a unique string or number).
- Signing the Challenge: The unmanned device uses its *private key* to digitally sign the challenge. This creates a signature.
openssl dgst -sha256 -sign private_key.pem -out signature.bin challenge.txt - Signature Verification: The authenticating system uses the device’s *public key* to verify the signature against the original challenge.
openssl dgst -sha256 -verify public_key.pem -signature signature.bin challenge.txt - Success/Failure: If the signature verifies correctly, authentication succeeds. Otherwise, it fails.
4. Physical Security & Tamper Detection
Authentication relies on the integrity of the device and its private key. Implement these measures:
- Physical Access Control: Restrict physical access to the devices. Use locks, alarms, or secure enclosures.
- Tamper-Evident Seals: Apply tamper-evident seals to the device enclosure. Any breach of the seal indicates potential compromise.
- Hardware Monitoring: If possible, include hardware sensors that detect physical tampering (e.g., accelerometer for movement, light sensor for opening the enclosure). Log these events.
5. Key Rotation
- Regular Updates: Periodically rotate the keys (generate new pairs and replace old ones). This limits the impact of a potential key compromise.
- Offline Process: Key rotation must be done offline to avoid network vulnerabilities.
- Secure Deletion: When replacing keys, securely delete the old private keys from the device’s storage.
6. Considerations for cyber security
- Algorithm Choice: Use strong cryptographic algorithms (e.g., SHA-256 or higher for hashing, RSA with a key length of at least 2048 bits or ECC).
- Random Number Generation: Ensure the random number generator used to create keys is truly random and unpredictable.
- Code Audits: Regularly audit the code responsible for key generation, storage, and authentication to identify potential vulnerabilities.

