Commit 1068f0d
authored
feat(data-plane): add node-to-node header integrity check (agntcy#1609)
contributes to agntcy#1556
# Description
Currently SLIM does not verify if the header has been tampered.
Node-to-node HMAC validation will ensure the integrity of the packet
header in each hop.
In case the header validation fails, the packet will be taken as
tampered and the message won't be processed.
## Actions
- Added HMAC for relevant header fields to the packet header.
- Extended link negotiation with ECDH key exchange
- Integration tests for node-to-node hop validation check.
## Type of Change
- [ ] Bugfix
- [x] New Feature
- [ ] Breaking Change
- [ ] Refactor
- [ ] Documentation
- [ ] Other (please describe)
## Checklist
- [x] I have read the [contributing
guidelines](/agntcy/repo-template/blob/main/CONTRIBUTING.md)
- [x] Existing issues have been referenced (where applicable)
- [x] I have verified this change is not present in other open pull
requests
- [x] Functionality is documented
- [x] All code style checks pass
- [x] New code contribution is covered by automated tests
- [x] All new and existing tests pass
---------
Signed-off-by: Mark Marton <mark.p.marton@gmail.com>
Signed-off-by: Mark Marton <30534230+markpmarton@users.noreply.github.com>1 parent 62d4d47 commit 1068f0d
30 files changed
Lines changed: 1784 additions & 201 deletions
File tree
- data-plane
- bindings
- go
- java
- rust/src
- config/jwt-auth-hmac
- core
- config/src
- datapath
- benches
- proto/v1
- src
- api/gen
- messages
- service/src
- examples/src/sdk-mock
- tests/integration
- testdata
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
| 225 | + | |
| 226 | + | |
225 | 227 | | |
226 | | - | |
| 228 | + | |
| 229 | + | |
227 | 230 | | |
228 | 231 | | |
229 | | - | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
230 | 235 | | |
231 | 236 | | |
232 | 237 | | |
| |||
266 | 271 | | |
267 | 272 | | |
268 | 273 | | |
269 | | - | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
270 | 277 | | |
271 | 278 | | |
272 | 279 | | |
| |||
332 | 339 | | |
333 | 340 | | |
334 | 341 | | |
335 | | - | |
| 342 | + | |
| 343 | + | |
336 | 344 | | |
337 | 345 | | |
338 | 346 | | |
| |||
375 | 383 | | |
376 | 384 | | |
377 | 385 | | |
378 | | - | |
| 386 | + | |
| 387 | + | |
379 | 388 | | |
380 | 389 | | |
381 | 390 | | |
| |||
385 | 394 | | |
386 | 395 | | |
387 | 396 | | |
388 | | - | |
| 397 | + | |
| 398 | + | |
389 | 399 | | |
390 | 400 | | |
391 | 401 | | |
| |||
395 | 405 | | |
396 | 406 | | |
397 | 407 | | |
398 | | - | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
399 | 411 | | |
400 | 412 | | |
401 | 413 | | |
| |||
405 | 417 | | |
406 | 418 | | |
407 | 419 | | |
408 | | - | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
409 | 423 | | |
410 | 424 | | |
411 | 425 | | |
| |||
415 | 429 | | |
416 | 430 | | |
417 | 431 | | |
418 | | - | |
| 432 | + | |
| 433 | + | |
419 | 434 | | |
420 | 435 | | |
421 | 436 | | |
| |||
425 | 440 | | |
426 | 441 | | |
427 | 442 | | |
428 | | - | |
| 443 | + | |
| 444 | + | |
429 | 445 | | |
430 | 446 | | |
431 | 447 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | 3 | | |
5 | 4 | | |
6 | 5 | | |
| |||
23 | 22 | | |
24 | 23 | | |
25 | 24 | | |
26 | | - | |
| 25 | + | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
| 118 | + | |
118 | 119 | | |
119 | 120 | | |
120 | | - | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
121 | 124 | | |
122 | 125 | | |
123 | 126 | | |
| |||
163 | 166 | | |
164 | 167 | | |
165 | 168 | | |
| 169 | + | |
| 170 | + | |
166 | 171 | | |
167 | 172 | | |
168 | 173 | | |
| |||
285 | 290 | | |
286 | 291 | | |
287 | 292 | | |
288 | | - | |
| 293 | + | |
| 294 | + | |
289 | 295 | | |
290 | 296 | | |
291 | 297 | | |
| |||
338 | 344 | | |
339 | 345 | | |
340 | 346 | | |
341 | | - | |
| 347 | + | |
| 348 | + | |
342 | 349 | | |
343 | 350 | | |
344 | 351 | | |
345 | 352 | | |
346 | 353 | | |
347 | | - | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
348 | 358 | | |
349 | | - | |
| 359 | + | |
| 360 | + | |
350 | 361 | | |
351 | 362 | | |
352 | 363 | | |
| |||
392 | 403 | | |
393 | 404 | | |
394 | 405 | | |
395 | | - | |
| 406 | + | |
| 407 | + | |
396 | 408 | | |
397 | 409 | | |
398 | 410 | | |
| |||
496 | 508 | | |
497 | 509 | | |
498 | 510 | | |
499 | | - | |
| 511 | + | |
| 512 | + | |
500 | 513 | | |
501 | 514 | | |
502 | 515 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
307 | 307 | | |
308 | 308 | | |
309 | 309 | | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
310 | 313 | | |
311 | 314 | | |
312 | 315 | | |
| |||
340 | 343 | | |
341 | 344 | | |
342 | 345 | | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
343 | 349 | | |
344 | 350 | | |
345 | 351 | | |
| |||
362 | 368 | | |
363 | 369 | | |
364 | 370 | | |
| 371 | + | |
365 | 372 | | |
366 | 373 | | |
367 | 374 | | |
| |||
385 | 392 | | |
386 | 393 | | |
387 | 394 | | |
| 395 | + | |
388 | 396 | | |
389 | 397 | | |
390 | 398 | | |
| |||
463 | 471 | | |
464 | 472 | | |
465 | 473 | | |
| 474 | + | |
466 | 475 | | |
467 | 476 | | |
468 | 477 | | |
| |||
584 | 593 | | |
585 | 594 | | |
586 | 595 | | |
| 596 | + | |
587 | 597 | | |
588 | 598 | | |
589 | 599 | | |
| |||
645 | 655 | | |
646 | 656 | | |
647 | 657 | | |
| 658 | + | |
648 | 659 | | |
649 | 660 | | |
650 | 661 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
106 | 115 | | |
107 | 116 | | |
108 | 117 | | |
| |||
120 | 129 | | |
121 | 130 | | |
122 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
123 | 135 | | |
124 | 136 | | |
125 | 137 | | |
| |||
154 | 166 | | |
155 | 167 | | |
156 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
157 | 178 | | |
158 | 179 | | |
159 | 180 | | |
| |||
172 | 193 | | |
173 | 194 | | |
174 | 195 | | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
175 | 199 | | |
176 | 200 | | |
177 | 201 | | |
| |||
258 | 282 | | |
259 | 283 | | |
260 | 284 | | |
| 285 | + | |
| 286 | + | |
261 | 287 | | |
262 | 288 | | |
263 | 289 | | |
| |||
266 | 292 | | |
267 | 293 | | |
268 | 294 | | |
| 295 | + | |
| 296 | + | |
269 | 297 | | |
270 | 298 | | |
271 | 299 | | |
| |||
333 | 361 | | |
334 | 362 | | |
335 | 363 | | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
336 | 367 | | |
337 | 368 | | |
338 | 369 | | |
| |||
386 | 417 | | |
387 | 418 | | |
388 | 419 | | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
389 | 423 | | |
390 | 424 | | |
391 | 425 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
| 35 | + | |
0 commit comments