Blog

What is J1939-91C? A Guide to Secure Communication in SAE J1939 Networks

March 27, 2026

Modern heavy-duty vehicles rely on the SAE J1939 communication protocol to allow Electronic Control Units (ECUs) to exchange data across the vehicle network. As vehicles become more connected, security becomes critical. This is where SAE J193991C comes into play.

J1939-91C is a security standard designed to add authentication, message integrity, and optional encryption to J1939 communication. It ensures that only trusted ECUs can join the network and that messages exchanged between devices are protected from tampering, spoofing, or replay attacks.

This article explains how J1939-91C secures communication through network formation, rekeying, secure messaging, and provisioning.

Overview of J1939-91C Security Architecture

The security architecture of J1939-91C operates in several phases:

  • Network Formation (Mutual Authentication)
  • Rekeying
  • Secure Messaging
  • Provisioning

Each phase ensures that ECUs in the network remain authenticated and that communication remains secure throughout the system’s lifecycle.

Network Formation (Mutual Authentication)

When an ECU joins a secured J1939 network, it must first prove its identity. J1939-91C uses certificate-based authentication to verify that devices are trusted participants.

1. Receive the Leader’s X.509 Certificate

The process begins when the ECU receives the leader’s X.509 digital certificate. This certificate contains the leader’s public key and identity information.

Digital certificates allow devices to confirm that they are communicating with legitimate participants in the network.

2. Verify the Certificate with the Trusted Root CA

The ECU then verifies the received certificate against a trusted Root Certificate Authority (CA) stored locally.

If the certificate chain is valid, the ECU confirms that the leader is a trusted device.

3. Transmit the ECU’s Own Certificate

After verifying the leader, the ECU sends its own X.509 certificate to the network leader.

This allows the leader to perform the same verification process and confirm the identity of the joining ECU.

4. Leader Sends a Cryptographic Challenge

Once certificates are exchanged, the leader sends a challenge message to the ECU.

This challenge is a random value used to ensure the ECU actually possesses the private key associated with its certificate.

5. ECU Signs the Challenge with Its Private Key

The ECU signs the challenge using its private key and sends the signed response back to the leader.

Because only the legitimate ECU should possess this private key, this proves the ECU’s authenticity.

6. Mutual Verification of Signatures

Both devices verify each other's responses using the corresponding public keys from their certificates.

If the verification succeeds, the devices confirm that they are communicating with legitimate and trusted participants.

7. Derive a Secure Session Key

After successful authentication, the devices generate a shared session key using a key agreement method such as Elliptic Curve Diffie-Hellman (ECDH).

This session key is then used to secure future communication between ECUs.

In simple terms:

Before joining the network, devices prove their identity to each other and agree on a shared secret key for secure communication.

Rekeying (Periodic Key Updates)

To maintain long-term security, J1939-91C periodically updates session keys.

To maintain long-term security, J1939-91C periodically updates session keys.

  • The network leader sends a rekey request to ECUs.
  • ECUs process the request and install the new session key.
  • Each ECU acknowledges the update.
  • Freshness counters are reset.

Regular key updates reduce the risk of compromised keys and maintain the security of the network over time.

Secure Messaging in J1939-91C

Once authentication and key establishment are complete, ECUs can exchange secure messages.

Message Authentication

Each outgoing message includes a cryptographic message authentication code (CMAC) generated using AES-128.

The CMAC is calculated using:

  • Message data
  • Freshness value (counter)
  • Shared session key

This ensures that the message was created by a trusted ECU and has not been modified.

Replay Protection

J1939-91C includes freshness counters in each message.

These counters prevent attackers from replaying previously captured messages to manipulate system behavior.

Optional Encryption

For certain Parameter Group Numbers (PGNs), payload data may also be encrypted using AES-128 encryption.

This provides confidentiality in addition to authentication and integrity.

Provisioning (Manufacturing Stage)

Security in J1939-91C begins during the manufacturing or provisioning phase.

Each ECU is prepared with several critical security elements:

  • ECU-specific X.509 certificate
  • Private key stored in secure hardware or HSM
  • Trusted Root CA certificate
  • Network security configuration
  • PGN security policies and encryption flags

This provisioning ensures that only authorized devices can participate in the secured network.

Why J1939-91C Is Important

As vehicles become increasingly connected, protecting in-vehicle networks from cyber threats becomes essential. J1939-91C provides several key benefits:

  • Authentication of ECUs joining the network
  • Protection against message spoofing
  • Prevention of replay attacks
  • Optional encryption for sensitive data
  • Secure key management for long-term operation

By introducing modern cryptographic techniques into the J1939 ecosystem, J1939-91C helps ensure that heavy-duty vehicle networks remain secure and trustworthy.

Conclusion

J1939-91C is a critical advancement in securing SAE J1939 networks for modern vehicles. By introducing mutual authentication, session key management, secure messaging, and provisioning, it ensures that only trusted ECUs can join the network and that all communications remain protected from tampering, spoofing, or replay attacks.

With features like periodic rekeying, AES-128 CMAC authentication, optional encryption, and freshness counters, J1939-91C provides both integrity and confidentiality for vehicle communications. Implementing this standard not only strengthens the security of in-vehicle networks but also builds trust in connected vehicle systems, paving the way for safer and more reliable operations.

In simple terms: J1939-91C ensures that every device in a vehicle network is verified, messages are secure, and communication cannot be faked or replayed—making modern vehicle networks safer than ever.