@@ -282,27 +282,32 @@ This is a straightforward way to permit each component to verify the identity
282
282
of the other, which will provide sufficient basis for verifying identity when
283
283
mTLS meshes are involved.
284
284
285
- - An alternative would be to define a single trust bundle, requiring the OCG
286
- and the mesh to each use the same CA certificate. This adds considerable
287
- operational complexity (especially in the world of enterprise PKI) without
288
- any real benefit.
285
+ - An alternative would be to require the OCG and the mesh to share the same
286
+ root certificate(s), in which case they would have exactly the same trust
287
+ bundle. This adds considerable operational complexity (especially in the
288
+ world of enterprise PKI) without any real benefit.
289
289
290
290
### Solving the Protocol Problem
291
291
292
292
The protocol problem is that the OCG needs a way to indicate to the mesh that
293
293
it intends to participate in the mesh for a given connection, and the mesh
294
294
needs to accept the OCG's participation.
295
295
296
- As a starting point for OCG/mTLS mesh interaction:
297
-
298
- - The OCG MUST use an mTLS connection to communicate with meshed workloads.
296
+ We start by requiring that the OCG MUST use mTLS to communicate with meshed
297
+ workloads, and that the identities of both peers MUST be verified:
299
298
300
299
- The OCG MUST use an mTLS certificate ultimately signed by a certificate in
301
300
the trust bundle provided to the mesh.
302
301
303
302
- The mesh MUST use an mTLS certificate ultimately signed by a certificate in
304
303
the trust bundle provided to the OCG.
305
304
305
+ - The OCG MUST verify the mesh's certificate against the trust bundle
306
+ provided to the OCG.
307
+
308
+ - The mesh MUST verify the OCG's certificate against the trust bundle
309
+ provided to the mesh.
310
+
306
311
- The OCG MUST send the ` ocg.gateway.networking.k8s.io/v1 ` ALPN protocol
307
312
during mTLS negotiation. The mesh MUST interpret this ALPN selection as a
308
313
signal that the OCG intends to participate in the mesh.
0 commit comments