Lamassu IoT supports multiple authentication mechanisms for both device enrollment and API access. This page describes the authentication methods available across the platform.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lamassuiot/lamassuiot/llms.txt
Use this file to discover all available pages before exploring further.
Authentication Methods
Lamassu provides different authentication approaches depending on the use case:Mutual TLS (mTLS)
mTLS is the primary authentication method for device operations, particularly during enrollment and certificate lifecycle management. How it works:- Devices present a valid client certificate during the TLS handshake
- The certificate must be issued by a CA trusted by the DMS (Device Management Service)
- The DMS validates the client certificate against configured validation CAs
- Used extensively in EST (Enrollment over Secure Transport) workflows
- Device certificate enrollment and re-enrollment
- Secure device-to-platform communication
- Bootstrap authentication before initial certificate issuance
JWT Bearer Tokens
All Lamassu REST APIs support JWT (JSON Web Token) authentication for user and service access. Configuration:- Standard JWT format with header, payload, and signature
- Claims include user identity, roles, and expiration
- Supports standard
aud,iss,exp, andsubclaims
EST Authentication Profiles
The DMS Manager service implements RFC 7030 (EST) with flexible authentication profiles. Available profiles:| Authentication Mode | Description | Use Case |
|---|---|---|
| mTLS | Client certificate required | Production device enrollment |
| NoAuth | No authentication required | Testing, internal networks |
| Webhook | External authorization service | Custom auth logic, SCEP integration |
GET /cacerts- Retrieve CA certificates (typically no auth required)POST /simpleenroll- Enroll new certificate (requires authentication)POST /simplereenroll- Renew existing certificate (authenticated with current cert)POST /serverkeygen- Server-generated key pair (requires authentication)
EST Authentication Workflow
Initial Enrollment with mTLS
-
Obtain bootstrap certificate
- Device is provisioned with a manufacturer certificate or bootstrap credential
- Bootstrap certificate must be trusted by the DMS validation CA list
-
Generate CSR
-
Submit enrollment request
-
Extract issued certificate
Re-enrollment
Devices use their current certificate to authenticate re-enrollment requests:Identity Extraction
Lamassu extracts identity information from different authentication sources:Client Certificate Identity
When using mTLS:- Subject DN fields (CN, O, OU, etc.) are extracted
- Certificate serial number is available
- Issuer information is validated against trusted CAs
JWT Claims
When using JWT tokens:- Standard claims:
sub,iss,aud,exp - Custom claims can be mapped to user attributes
- Role and permission claims for authorization
Authentication Configuration
DMS Authentication Settings
Configure DMS authentication when creating or updating a DMS instance:Service-Level Authentication
Each Lamassu service can be configured with authentication requirements:Security Best Practices
Use mTLS for Devices
Always require client certificates for device operations. Bootstrap certificates should have short validity periods.
Rotate Bootstrap Certs
Regularly rotate bootstrap certificates and update device provisioning processes.
Validate JWT Signatures
Configure JWT validation with your IdP’s public keys. Never accept unsigned tokens in production.
Limit EST NoAuth
Only use NoAuth EST profiles in isolated development environments.
Troubleshooting Authentication Issues
EST Enrollment Failures
Problem:401 Unauthorized during enrollment
Solutions:
- Verify client certificate is trusted by DMS validation CAs
- Check certificate expiration dates
- Ensure client certificate chain is complete
- Validate TLS handshake with
openssl s_client
400 Bad Request during enrollment
Solutions:
- Verify CSR is base64-encoded DER format (not PEM)
- Check Content-Type header is
application/pkcs10 - Ensure no newlines in base64 data (use
base64 -w 0) - Validate CSR locally:
JWT Authentication Issues
Problem: Token rejected by API Solutions:- Verify token expiration (
expclaim) - Check token signature if validation is enabled
- Ensure
Authorization: Bearerheader format is correct - Decode JWT to inspect claims:
Related Topics
- Authorization - Role-based access control
- Security Best Practices - Comprehensive security hardening
- PKI Operations - Certificate authority management
