Design a Digital Key and Access Control System for Vehicles
Last updated: February 21, 2025
Quick Overview
Design a system that allows Rivian owners to unlock, start, and share access to their vehicles using smartphones, key cards, and digital keys.
Rivian
System Design
Software Engineer
Rivian
February 21, 2025Software Engineer
Onsite - System Design
System Design
Medium
5
8
4,194 solved
Design a system that allows Rivian owners to unlock, start, and share access to their vehicles using smartphones, key cards, and digital keys.
Digital vehicle access is a core connected-car feature. Rivian uses phone-as-key and key card systems. This question tests security-focused system design and your ability to handle offline authentication scenarios when the vehicle cannot reach the cloud.
What the Interviewer Expects
- Design secure BLE and UWB-based phone-as-key authentication
- Implement key sharing with granular permissions and time-limited access
- Handle offline authentication when the vehicle has no cloud connectivity
- Design the key provisioning and revocation lifecycle
- Address relay attack prevention using UWB distance bounding
Key Topics to Cover
BLE and UWB protocols
Asymmetric cryptography and certificate management
Offline-first authentication
Access control and permission models
Relay attack prevention
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
- How does the vehicle authenticate the phone when it has no internet connection?
- How would you revoke a shared key if the vehicle is offline?
- What happens if the owner's phone battery dies?
- How do you prevent relay attacks on BLE-based key systems?
Sharpen Your Skills on Codemia
Practice similar problems with our interactive workspace, get AI feedback, and track your progress.
Practice System Design ProblemsSample Answer
Requirements
- Functional Requirements:
- Digital Key Creation: Allow users to create and manage digital keys via a mobile app.
- Unlock/Start Vehicle: Enable vehicle unlocking and starting v...
Capacity Estimation
- User Base: Rivian aims to sell around 200,000 vehicles annually, with an estimated 1 million users over 5 years.
- Key Usage: If each user has an average of 3 keys, we will deal with appro...
Submit Your Answer
Markdown supported