-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
230 lines (210 loc) · 11.6 KB
/
index.html
File metadata and controls
230 lines (210 loc) · 11.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
<!--
SPDX-FileCopyrightText: © 2025 LG Electronics, Inc.
SPDX-License-Identifier: Apache-2.0
For the full license text, please see the accompanying LICENSE file or visit
http://www.apache.org/licenses/LICENSE-2.0.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="OpenSCMS - Open source implementation of IEEE1609.2.1 SCMS">
<title>OpenSCMS - Open Source SCMS Implementation</title>
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<!-- Header Component -->
<div id="header-placeholder"></div>
<main class="main-content">
<!-- Hero Section -->
<section class="hero-section">
<div class="container">
<div class="hero-content">
<div class="hero-text">
<p class="hero-badge">OPEN SOURCE • V2X PKI • IEEE 1609.2.1</p>
<h1 class="hero-title">OpenSCMS</h1>
<p class="hero-subtitle">
An open-source, deployable <strong>Security Credential Management System (SCMS)</strong>
aligned with <strong>IEEE 1609.2.1 (2022)</strong>—built for modularity, observability,
easy deployment and testing.
</p>
<div class="hero-tags">
<a class="tag" href="pages/docs/components/overview.html">RA / ECA / ACA services</a>
<a class="tag" href="pages/docs/guides/setup/kubernetes.html">Docker + Kubernetes</a>
<a class="tag" href="pages/docs/api-reference.html">OpenAPI specs</a>
<a class="tag" href="pages/about/openscms/architecture.html">1609.2-style (non-X.509) certs</a>
</div>
</div>
</div>
</div>
</section>
<section class="two-column-section">
<div class="container">
<div class="two-columns">
<div class="column">
<h2>Core Capabilities</h2>
<p class="column-intro">
OpenSCMS implements the complete server-side lifecycle defined by IEEE 1609.2.1,
covering registration, enrollment, authorization provisioning and trust material
distribution.
The architecture is designed for correctness, parallelism, and responsibility isolation.
</p>
<div class="capability-item">
<h3><strong>Standards-Conformant Service Interfaces</strong></h3>
<p>
REST-based endpoints aligned with IEEE 1609.2.1 component semantics,
published as OpenAPI v3 specifications, following all the details presented
in IEEE 1609.2.1 (2022) document.
</p>
</div>
<div class="capability-item">
<h3><strong>Asynchronous, High-Throughput Processing</strong></h3>
<p>
Authorization and successor-enrollment workflows leverage task-queuing and
parallel worker execution to support high-throughput certificate processing.
Furthermore, the stateless architecture of the components allows for the
enhancement and evolution of OpenSCMS to become a fully scalable architecture.</p>
</div>
<div class="capability-item">
<h3><strong>Full Device Lifecycle Management</strong></h3>
<p>
End Entities (OBU/RSU) progress through controlled states
(Registered → Enrolled → Provisioning → Successor Enrolled),
via the Registration Authority across all protocol flows.</p>
</div>
<div class="capability-item">
<h3><strong>Explicit & Implicit Certificate Support</strong></h3>
<p>
Supports both explicit (ECDSA P-256) and implicit (ECQV) certificates,
including OBK, UBK, and CUBK butterfly expansion mechanisms for
pseudonym provisioning.
</p>
</div>
</div>
<div class="column">
<div class="highlight-box">
<h2>Deployment & Operations</h2>
<ul class="highlight-list">
<li><strong>Kubernetes-native architecture</strong> with Docker-based containerization
</li>
<li><strong>Unified deployment model</strong> using Helm and Skaffold</li>
<li><strong>Configurable via environment parameters</strong> for flexible policy control
</li>
<li><strong>Integrated logging and deterministic failure handling</strong></li>
</ul>
<p class="highlight-note">
Designed for reproducible environments — from local Minikube clusters
to production-grade Kubernetes infrastructure.
</p>
</div>
<div class="highlight-box">
<h2>Component Architecture</h2>
<ul class="highlight-list">
<li><strong>RA:</strong> registration, lifecycle enforcement, authorization
orchestration</li>
<li><strong>ECA:</strong> enrollment and successor enrollment certificate issuance</li>
<li><strong>ACA:</strong> authorization certificate generation (butterfly +
non-butterfly)</li>
</ul>
<p class="highlight-note">
A modular microservice design separates cryptographic execution
(C-based core) from orchestration logic (Rust backend),
enabling safe concurrency and extensibility.
</p>
</div>
</div>
</div>
</div>
</section>
<!-- Architecture Section -->
<section class="architecture-section">
<div class="container">
<h2>Architecture at a Glance</h2>
<p class="section-intro">
Each component maintains its own state (local database). Public APIs are exposed per role and
described via OpenAPI.
</p>
<div class="architecture-diagram">
<img src="assets/brochure.png" alt="OpenSCMS Architecture Overview" class="brochure-img">
</div>
</div>
</section>
<!-- Features Grid Section -->
<section class="features-grid-section">
<div class="container">
<h2>Additional Highlights</h2>
<div class="features-grid">
<div class="feature-box">
<h3>IEEE 1609.2.1 Certificate Support</h3>
<ul>
<li>Enrollment and Authorization certificate flows</li>
<li>Implicit (ECQV) and Explicit (ECDSA P-256) certificates</li>
<li>OBK, UBK, and CUBK butterfly mechanisms</li>
<li>For application (non-butterfly): encrypted or plain-text</li>
</ul>
<p class="feature-note">
Designed specifically for V2X ecosystems, with full lifecycle handling
of registration, enrollment, provisioning, revocation, and trust distribution..
</p>
</div>
<div class="feature-box">
<h3>Standalone Cryptographic & ASN.1 Engine</h3>
<p>
OpenSCMS includes a dedicated C-based cryptographic core
(<strong>oscms-codecs-bridge</strong>) responsible for:</p>
<ul>
<li>ASN.1 SPDU encoding/decoding</li>
<li>ECDSA signing and verification</li>
<li>ECIES encryption/decryption</li>
<li>Implicit certificate reconstruction</li>
</ul>
<p class="feature-note">
The codec abstraction layer is decoupled from service logic,
allowing alternative ASN.1 implementations without impacting the backend.
</p>
</div>
<div class="feature-box">
<h3>Modular & Open Architecture</h3>
<ul>
<li>Microservices-based design aligned with REST-based standard flows</li>
<li>Rust backend with safe C integration via bindgen</li>
<li>Docker + Kubernetes unified deployment model</li>
<li>Apache License 2.0</li>
</ul>
<p class="feature-note">
Built for transparency, auditability, and extensibility —
enabling researchers, OEMs, and infrastructure providers to
evaluate and extend SCMS implementations with confidence.
</p>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="cta-section">
<div class="container">
<div class="cta-content">
<h2>Get Started with OpenSCMS</h2>
<p>Explore the documentation, try a deployment, or contribute to the project.</p>
<div class="cta-buttons">
<a href="pages/docs/overview.html" class="btn-primary">View Documentation</a>
<a href="https://github.com/OpenSCMS/OpenSCMS" class="btn-secondary" target="_blank">View on
GitHub</a>
<a href="pages/about/overview/introduction.html" class="btn-secondary">Learn More</a>
</div>
</div>
</div>
</section>
</main>
<!-- Footer Component -->
<div id="footer-placeholder"></div>
<!-- Component Loader -->
<script src="js/path-utils.js"></script>
<script src="js/sidebar-manager.js"></script>
<script src="js/breadcrumb.js"></script>
<script src="js/sidebar-templates.js"></script>
<script src="js/components.js"></script>
</body>
</html>