Microcontroller MAC Authentication for Peripheral Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microcontrollers face challenges in verifying the authenticity of data transmitted between microprocessor and peripheral devices, as some peripherals may not implement verification features, leading to potential data corruption and unreliable communication.

Innovation Solution

A method and system using message authentication codes (MACs) are employed, where a microprocessor generates and transmits a valid MAC with data to a peripheral, and then sends an invalid MAC to verify the peripheral's authentication capabilities, ensuring data integrity by checking the peripheral's response to both MACs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is transmitted between microprocessor and peripheral without verification features, then communication simplicity is maintained, but data reliability deteriorates

Engineering Contradiction:
Improvedata reliabilityVSAvoidverification feature complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces message authentication codes (MACs) as an intermediary verification mechanism between the microprocessor and peripheral. The MAC serves as a mediator that enables authentication without requiring the peripheral to have complex verification features, thus improving data reliability while maintaining peripheral simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary authentication by generating and transmitting MACs before data processing occurs. The microprocessor generates a valid MAC in advance, transmits it with the data, and the peripheral uses it to verify data integrity before further processing, preventing corruption propagation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If MAC verification is implemented at peripheral, then data authenticity is improved, but peripheral complexity increases

Engineering Contradiction:
Improvedata authenticityVSAvoidperipheral complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The microprocessor performs the complex MAC generation and verification tasks, serving itself and the peripheral. The peripheral only needs to transmit received MAC values back to the microprocessor for verification, rather than implementing its own complex verification logic, thus maintaining peripheral simplicity while ensuring data authenticity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The verification functionality is extracted from the peripheral and centralized in the microprocessor. The peripheral's role is reduced to simple signal transmission, while the microprocessor handles all authentication logic, separating verification complexity from the peripheral device.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If invalid MAC testing is performed, then detection precision is improved, but communication time increases

Engineering Contradiction:
Improveauthentication detection precisionVSAvoidauthentication time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs a limited form of testing by using valid MACs for normal operation and only performing additional verification when security concerns arise. Invalid MAC testing is not continuously performed but rather on-demand or in specific security-critical scenarios, balancing detection precision with time efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9438581B2Authenticating data at a microcontroller using message authentication codes
Publication Date: 2016.09.06 GM GLOBAL TECHNOLOGY OPERATIONS LLC
  • US9438581B2 patent drawing
  • US9438581B2 patent drawing
  • US9438581B2 patent drawing

AI summary

A system and method of verifying data at a microcontroller using message authentication codes (MACs) includes generating at a microprocessor of the microcontroller a valid MAC using valid data; transmitting the valid MAC to a peripheral of the microcontroller along with the valid data; receiving an authentication message at the microprocessor from the peripheral in response to transmitting the valid MAC; generating at the microprocessor an invalid MAC, which is created by changing one or more bits of the valid MAC; transmitting the invalid MAC to the peripheral along with the valid data in response to the authentication message; and receiving a second authentication message at the microprocessor from the peripheral in response to transmitting the invalid MAC.