idnits 2.17.1 draft-birrane-dtn-adm-bpsec-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** There are 17 instances of too long lines in the document, the longest one being 4 characters in excess of 72. ** The abstract seems to contain references ([I-D.birrane-dtn-adm]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 2, 2018) is 2123 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Outdated reference: A later version (-06) exists of draft-birrane-dtn-adm-02 == Outdated reference: A later version (-08) exists of draft-birrane-dtn-amp-04 == Outdated reference: A later version (-27) exists of draft-ietf-dtn-bpsec-06 Summary: 3 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Delay-Tolerant Networking E. Birrane 3 Internet-Draft E. DiPietro 4 Intended status: Experimental D. Linko 5 Expires: January 3, 2019 Johns Hopkins Applied Physics Laboratory 6 July 2, 2018 8 Bundle Protocol Security Application Data Model 9 draft-birrane-dtn-adm-bpsec-01 11 Abstract 13 This document describes the Application Data Model (ADM) for the 14 Bundle Protocol Security (BPSEC) in compliance with the template 15 provided by [I-D.birrane-dtn-adm]. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on January 3, 2019. 34 Copyright Notice 36 Copyright (c) 2018 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 1.1. Technical Notes . . . . . . . . . . . . . . . . . . . . . 2 53 1.2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 1.3. Requirements Language . . . . . . . . . . . . . . . . . . 3 55 2. Structure and Design of this ADM . . . . . . . . . . . . . . 3 56 3. Naming and Identification . . . . . . . . . . . . . . . . . . 4 57 3.1. Namespace and Nicknames . . . . . . . . . . . . . . . . . 4 58 4. BPSEC Agent ADM JSON Encoding . . . . . . . . . . . . . . . . 5 59 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 60 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 61 6.1. Informative References . . . . . . . . . . . . . . . . . 23 62 6.2. Normative References . . . . . . . . . . . . . . . . . . 23 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 65 1. Introduction 67 An Application Data Model (ADM) provides a guaranteed interface for 68 the management of an application or protocol in accordance with the 69 Asynchronous Management Architecture (AMA) defined in 70 [I-D.birrane-dtn-ama]. This document is in compliance with the 71 template provided by [I-D.birrane-dtn-adm]. 73 BPSEC ([I-D.ietf-dtn-bpsec]) defines integrity and confidentiality 74 mechanisms for securing extension blocks within a Bundle Protocol 75 bundle. The BPSEC Agent ADM provides the set of information used to 76 monitor and configure common aspects of any BPSEC software 77 implementation. 79 1.1. Technical Notes 81 o This document describes Version 1.0 of the BPSEC Agent ADM. 83 o The Asynchronous Resource Identifier (ARI) for this ADM is NOT 84 correctly set. A sample ARI is used in this version of the 85 specification and MAY change in future versions of this ADM until 86 an ARI registry is established. This notice will be removed at 87 that time. 89 o Agent applications MAY choose to ignore the name, description, or 90 other annotative information associated with the component 91 definitions within this ADM where such items are only used to 92 provide human-readable information or are otherwise not necessary 93 to manage a device. 95 1.2. Scope 97 This ADM specifies those components of the Asynchronous Management 98 Model (AMM) common to the BPSEC management of any instance of a BPA. 100 Any Manager software implementing this ADM MUST perform the 101 responsibilities of an AMA Manager as outlined in 102 [I-D.birrane-dtn-adm] as they relate to the objects included in this 103 document. 105 Any Agent software implementing this ADM MUST perform the 106 responsibilities of an AMA Agent as outlined in [I-D.birrane-dtn-adm] 107 as they relate to the objects included in this document. 109 1.3. Requirements Language 111 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 112 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 113 document are to be interpreted as described in RFC 2119 [RFC2119]. 115 2. Structure and Design of this ADM 117 The BPSEC Agent ADM's structure is in accordance to 118 [I-D.birrane-dtn-adm]. This ADM contains metadata, edd, variables, 119 table templates, report templates, and controls. Externally Defined 120 Data (EDD) are values that are calculated external to the ADM system. 121 Table Templates are column templates that will be followed by any 122 instance of this table available in the network. They may not be 123 created dynamically within the network by Managers. Controls are 124 predefined and sometimes parameterized opcodes that can be run on an 125 Agent. Controls are preconfigured in Agents and Managers as part of 126 ADM support. Variables are values that are statically defined in an 127 ADM or dynamically by Managers in a network deployment. There are no 128 constants, macros, or operators in this ADM at this time. The 129 contents of this ADM are derived from the main functions and data 130 that are needed to configure and manage BPSEC. 132 All ADMs have metadata that includes the name, namespace, and version 133 of the ADM, as well as the name of the organization that is issuing 134 that particular ADM. This is important for identification purposes 135 of the ADMs and to ensure version control. The EDDs chosen deal with 136 bundle integrity blocks and bundle confidentiality blocks, the most 137 important concepts from the Bundle Security Protocol. This ADM 138 additionally incorporates a "uses statement." The purpose of this 139 statement is to pull in the information present in another ADM. In 140 this case, this ADM "uses" the AMP Agent ADM. 142 3. Naming and Identification 144 This section outlines the namespaces used to uniquely identify ADM 145 objects in this specification. 147 3.1. Namespace and Nicknames 149 In accordance with [I-D.birrane-dtn-adm], every ADM is assigned a 150 moderated Namespace. In accordance with [I-D.birrane-dtn-amp], these 151 namespaces may be enumerated for compactness. The namespace and ADM 152 identification for these objects is defined as follows. 154 +-----------------+-----------+ 155 | Identifier | Value | 156 +-----------------+-----------+ 157 | Namespace | DTN/bpsec | 158 | | | 159 | ADM Enumeration | 4 | 160 +-----------------+-----------+ 162 Table 1: Namespace Information 164 Given the above ADM enumeration, in accordance with 165 [I-D.birrane-dtn-amp], the following AMP nicknames are defined. 167 +----------+------------------------------+ 168 | Nickname | Collection | 169 +----------+------------------------------+ 170 | 80 | DTN/bpsec/Const | 171 | | | 172 | 81 | DTN/bpsec/Ctrl | 173 | | | 174 | 82 | DTN/bpsec/Edd | 175 | | | 176 | 83 | DTN/bpsec/Mac | 177 | | | 178 | 84 | DTN/bpsec/Oper | 179 | | | 180 | 85 | DTN/bpsec/Rptt | 181 | | | 182 | 87 | DTN/bpsec/Tblt | 183 | | | 184 | 89 | DTN/bpsec/Var | 185 | | | 186 | 90 | DTN/bpsec/Mdat | 187 | | | 188 | 91-99 | DTN/bpsec/Reserved | 189 +----------+------------------------------+ 191 Table 2: BPSEC ADM Nicknames 193 4. BPSEC Agent ADM JSON Encoding 195 The following is the JSON encoding of the BPSEC Agent ADM: 197 { 198 "uses":["Amp:Agent"], 199 "Mdat": [ 200 { 201 "name": "name", 202 "type": "STR", 203 "value": "bpsec", 204 "description": "The human-readable name of the ADM." 205 }, 206 { 207 "name": "namespace", 208 "type": "STR", 209 "value": "DTN:BundleProtocolSecurity", 210 "description": "The namespace of the ADM." 211 }, 212 { 213 "name": "version", 214 "type": "STR", 215 "value": "v1.0", 216 "description": "The version of the ADM." 217 }, 218 { 219 "name": "organization", 220 "type": "STR", 221 "value": "JHUAPL", 222 "description": "The name of the issuing organization of the ADM." 223 } 224 ], 226 "Edd": [ 227 { 228 "name": "num_good_tx_bcb_blk", 229 "type": "UINT", 230 "description": "Total successfully Tx Bundle Confidentiality blocks" 231 }, 232 { 233 "name": "num_bad_tx_bcb_blk", 234 "type": "UINT", 235 "description": "Total unsuccessfully Tx Block Confidentiality Block 236 (BCB) blocks" 237 }, 238 { 239 "name": "num_good_rx_bcb_blk", 240 "type": "UINT", 241 "description": "Total successfully Rx BCB blocks" 242 }, 243 { 244 "name": "num_bad_rx_bcb_blk", 245 "type": "UINT", 246 "description": "Total unsuccessfully Rx BCB blocks" 247 }, 248 { 249 "name": "num_missing_rx_bcb_blks", 250 "type": "UINT", 251 "description": "Total missing-on-RX BCB blocks" 252 }, 253 { 254 "name": "num_fwd_bcb_blks", 255 "type": "UINT", 256 "description": "Total forward BCB blocks" 257 }, 258 { 259 "name": "num_good_tx_bcb_bytes", 260 "type": "UINT", 261 "description": "Total successfully Tx BCB bytes" 262 }, 263 { 264 "name": "num_bad_tx_bcb_bytes", 265 "type": "UINT", 266 "description": "Total unsuccessfully Tx BCB bytes" 267 }, 268 { 269 "name": "num_good_rx_bcb_bytes", 270 "type": "UINT", 271 "description": "Total successfully Rx BCB bytes" 272 }, 273 { 274 "name": "num_bad_rx_bcb_bytes", 275 "type": "UINT", 276 "description": "Total unsuccessfully Rx BCB bytes" 277 }, 278 { 279 "name": "num_missing_rx_bcb_bytes", 280 "type": "UINT", 281 "description": "Total missing-on-Rx BCB bytes" 282 }, 283 { 284 "name": "num_fwd_bcb_bytes", 285 "type": "UINT", 286 "description": "Total forwarded BCB bytes" 287 }, 288 { 289 "name": "num_good_tx_bib_blks", 290 "type": "UINT", 291 "description": "Total successfully Tx Block Integrity Block (BIB) 292 blocks" 293 }, 294 { 295 "name": "num_bad_tx_bib_blks", 296 "type": "UINT", 297 "description": "Total unsuccessfully Tx BIB blocks" 298 }, 299 { 300 "name": "num_good_rx_bib_blks", 301 "type": "UINT", 302 "description": "Total successfully Rx BIB blocks" 303 }, 304 { 305 "name": "num_bad_rx_bib_blks", 306 "type": "UINT", 307 "description": "Total unsuccessfully Rx BIB blocks" 308 }, 309 { 310 "name": "num_miss_rx_bib_blks", 311 "type": "UINT", 312 "description": "Total missing-on-Rx BIB blocks" 313 }, 314 { 315 "name": "num_fwd_bib_blks", 316 "type": "UINT", 317 "description": "Total forwarded BIB blocks" 318 }, 319 { 320 "name": "num_good_tx_bib_bytes", 321 "type": "UINT", 322 "description": "Total successfully Tx BIB bytes" 323 }, 324 { 325 "name": "num_bad_tx_bib_bytes", 326 "type": "UINT", 327 "description": "Total unsuccessfully Tx BIB bytes" 328 }, 329 { 330 "name": "num_good_rx_bib_bytes", 331 "type": "UINT", 332 "description": "Total successfully Rx BIB bytes" 333 }, 334 { 335 "name": "num_bad_rx_bib_bytes", 336 "type": "UINT", 337 "description": "Total unsuccessfully Rx BIB bytes" 338 }, 339 { 340 "name": "num_miss_rx_bib_bytes", 341 "type": "UINT", 342 "description": "Total missing-on-Rx BIB bytes" 343 }, 344 { 345 "name": "num_fwd_bib_bytes", 346 "type": "UINT", 347 "description": "Total forwarded BIB bytes" 348 }, 349 { 350 "name": "last_update", 351 "type": "TV", 352 "description": "Last BPSEC update" 353 }, 354 { 355 "name": "num_known_keys", 356 "type": "UINT", 357 "description": "Number of known keys" 358 }, 359 { 360 "name": "key_names", 361 "type": "STR", 362 "description": "Known key names" 363 }, 364 { 365 "name": "ciphersuite_names", 366 "type": "STR", 367 "description": "Known ciphersuite names" 368 }, 369 { 370 "name": "rule_source", 371 "type": "STR", 372 "description": "Known rule sources" 373 }, 374 { 375 "name": "num_good_tx_bcb_blks_src", 376 "type": "UINT", 377 "parmspec": [{"type":"STR","name":"Src"}], 378 "description": "Number of successfully Tx BCB blocks from SRC" 379 }, 380 { 381 "name": "num_bad_tx_bcb_blks_src", 382 "type": "UINT", 383 "parmspec": [{"type":"STR","name":"Src"}], 384 "description": "Number of failed TX BCB blocks from SRC" 385 }, 386 { 387 "name": "num_good_rx_bcb_blks_src", 388 "type": "UINT", 389 "parmspec": [{"type":"STR","name":"Src"}], 390 "description": "Number of successfully Rx BCB blocks from SRC" 391 }, 392 { 393 "name": "num_bad_rx_bcb_blks_src", 394 "type": "UINT", 395 "parmspec": [{"type":"STR","name":"Src"}], 396 "description": "Number of failed RX BCB blocks from SRC" 397 }, 398 { 399 "name": "num_missing_rx_bcb_blks_src", 400 "type": "UINT", 401 "parmspec": [{"type":"STR","name":"Src"}], 402 "description": "Number of missing-onRX BCB blocks from SRC" 403 }, 404 { 405 "name": "num_fwd_bcb_blks_src", 406 "type": "UINT", 407 "parmspec": [{"type":"STR","name":"Src"}], 408 "description": "Number of forwarded BCB blocks from SRC" 409 }, 410 { 411 "name": "num_good_tx_bcb_bytes_src", 412 "type": "UINT", 413 "parmspec": [{"type":"STR","name":"Src"}], 414 "description": "Number of successfully Tx bcb bytes from SRC" 415 }, 416 { 417 "name": "num_bad_tx_bcb_bytes_src", 418 "type": "UINT", 419 "parmspec": [{"type":"STR","name":"Src"}], 420 "description": "Number of failed Tx bcb bytes from SRC" 421 }, 422 { 423 "name": "num_good_rx_bcb_bytes_src", 424 "type": "UINT", 425 "parmspec": [{"type":"STR","name":"Src"}], 426 "description": "Number of successfully Rx bcb bytes from SRC" 427 }, 428 { 429 "name": "num_bad_rx_bcb_bytes_src", 430 "type": "UINT", 431 "parmspec": [{"type":"STR","name":"Src"}], 432 "description": "Number of failed Rx bcb bytes from SRC" 433 }, 434 { 435 "name": "num_missing_rx_bcb_bytes_src", 436 "type": "UINT", 437 "parmspec": [{"type":"STR","name":"Src"}], 438 "description": "Number of missing-on-Rx bcb bytes from SRC" 439 }, 440 { 441 "name": "num_fwd_bcb_bytes_src", 442 "type": "UINT", 443 "parmspec": [{"type":"STR","name":"Src"}], 444 "description": "Number of forwarded bcb bytes from SRC" 445 }, 446 { 447 "name": "num_good_tx_bib_blks_src", 448 "type": "UINT", 449 "parmspec": [{"type":"STR","name":"Src"}], 450 "description": "Number of successfully Tx BIB blocks from SRC" 451 }, 452 { 453 "name": "num_bad_tx_bib_blks_src", 454 "type": "UINT", 455 "parmspec": [{"type":"STR","name":"Src"}], 456 "description": "Number of failed Tx BIB blocks from SRC" 457 }, 458 { 459 "name": "num_good_rx_bib_blks_src", 460 "type": "UINT", 461 "parmspec": [{"type":"STR","name":"Src"}], 462 "description": "Number of successfully Rx BIB blocks from SRC" 463 }, 464 { 465 "name": "num_bad_rx_bib_blks_src", 466 "type": "UINT", 467 "parmspec": [{"type":"STR","name":"Src"}], 468 "description": "Number of failed Rx BIB blocks from SRC" 469 }, 470 { 471 "name": "num_miss_rx_bib_blks_src", 472 "type": "UINT", 473 "parmspec": [{"type":"STR","name":"Src"}], 474 "description": "Number of missing-on-Rx BIB blocks from SRC" 475 }, 476 { 477 "name": "num_fwd_bib_blks_src", 478 "type": "UINT", 479 "parmspec": [{"type":"STR","name":"Src"}], 480 "description": "Number of forwarded BIB blocks from SRC" 481 }, 482 { 483 "name": "num_good_tx_bib_bytes_src", 484 "type": "UINT", 485 "parmspec": [{"type":"STR","name":"Src"}], 486 "description": "Number of successfully Tx BIB bytes from SRC" 487 }, 488 { 489 "name": "num_bad_tx_bib_bytes_src", 490 "type": "UINT", 491 "parmspec": [{"type":"STR","name":"Src"}], 492 "description": "Number of failed Tx BIB bytes from SRC" 493 }, 494 { 495 "name": "num_good_rx_bib_bytes_src", 496 "type": "UINT", 497 "parmspec": [{"type":"STR","name":"Src"}], 498 "description": "Number of successfully Rx BIB bytes from SRC" 499 }, 500 { 501 "name": "num_bad_rx_bib_bytes_src", 502 "type": "UINT", 503 "parmspec": [{"type":"STR","name":"Src"}], 504 "description": "Number of failed Rx BIB bytes from SRC" 505 }, 506 { 507 "name": "num_missing_rx_bib_bytes_src", 508 "type": "UINT", 509 "parmspec": [{"type":"STR","name":"Src"}], 510 "description": "Number of missing-on-Rx BIB bytes from SRC" 511 }, 512 { 513 "name": "num_fwd_bib_bytes_src", 514 "type": "UINT", 515 "parmspec": [{"type":"STR","name":"Src"}], 516 "description": "Number of forwarded BIB bytes from SRC" 517 }, 518 { 519 "name": "last_update_src", 520 "type": "TV", 521 "parmspec": [{"type":"STR","name":"Src"}], 522 "description": "Last BPSEC update from SRC" 523 }, 524 { 525 "name": "last_reset", 526 "type": "TV", 527 "parmspec": [{"type":"STR","name":"Src"}], 528 "description": "Last reset" 529 } 530 ], 532 "Tblt" : [ 533 { 534 "name": "keys", 535 "columns": [{"type":"STR","name":"key_name"}], 536 "description": "This table lists all keys in the security policy 537 database." 538 }, 539 { 540 "name": "ciphersuites", 541 "columns": [{"type":"STR","name":"csname"}], 542 "description": "This table lists supported ciphersuites." 543 }, 544 { 545 "name": "bib_rules", 546 "columns": [{"type":"STR","name":"SrcEid"}, 547 {"type":"STR","name":"DestEid"}, 548 {"type":"UINT","name":"TgtBlk"}, 549 {"type":"STR","name":"csName"}, 550 {"type":"STR","name":"keyName"} 552 ], 553 "description": "BIB Rules." 554 }, 555 { 556 "name": "bcb_rules", 557 "columns": [{"type":"STR","name":"SrcEid"}, 558 {"type":"STR","name":"DestEid"}, 559 {"type":"UINT","name":"TgtBlk"}, 560 {"type":"STR","name":"csName"}, 561 {"type":"STR","name":"keyName"} 562 ], 563 "description": "BCB Rules." 564 } 565 ], 567 "Var": [ 568 { 569 "name": "total_bad_tx_blks", 570 "type": "UINT", 571 "initializer": { 572 "type": "UINT", 573 "postfix-expr": [{ 574 "ns":"DTN/bpsec, 575 "nm":"Edd.num_bad_tx_bib_blks_src", 576 },{ 578 "ns":"DTN/bpsec, 579 "nm":"Edd.num_bad_tx_bcb_blks_src", 580 },{ 581 "ns":"Amp/Agent", 582 "nm":"Oper.plusUINT", 583 }] 584 }, 585 "description": "This is the number of failed TX blocks (# failed BIB + 586 # failed bcb)." 587 } 588 ], 590 "Rptt": [ 591 { 592 "name": "full_report", 593 "definition" : [ 594 { 595 "ns":"DTN/bpsec" 596 "nm": Edd.num_good_tx_bcb_blk", 597 }, 598 { 599 "ns":"DTN/bpsec" 600 "nm": Edd.num_bad_tx_bcb_blk", 601 }, 602 { 603 "ns":"DTN/bpsec" 604 "nm": Edd.num_good_rx_bcb_blk", 605 }, 606 { 607 "ns":"DTN/bpsec" 608 "nm": Edd.num_bad_rx_bcb_blk", 609 }, 610 { 611 "ns":"DTN/bpsec" 612 "nm": Edd.num_missing_rx_bcb_blks", 613 }, 614 { 615 "ns":"DTN/bpsec" 616 "nm": Edd.num_fwd_bcb_blks", 617 }, 618 { 619 "ns":"DTN/bpsec" 620 "nm": Edd.num_good_tx_bcb_bytes", 621 }, 622 { 623 "ns":"DTN/bpsec" 624 "nm": Edd.num_bad_tx_bcb_bytes", 625 }, 626 { 627 "ns":"DTN/bpsec" 628 "nm": Edd.num_good_rx_bcb_bytes", 629 }, 630 { 631 "ns":"DTN/bpsec" 632 "nm": Edd.num_bad_rx_bcb_bytes", 633 }, 634 { 635 "ns":"DTN/bpsec" 636 "nm": Edd.num_missing_rx_bcb_bytes", 637 }, 638 { 639 "ns":"DTN/bpsec" 640 "nm": Edd.num_fwd_bcb_bytes", 641 }, 642 { 643 "ns":"DTN/bpsec" 644 "nm": Edd.num_good_tx_bib_blks", 645 }, 646 { 647 "ns":"DTN/bpsec" 648 "nm": Edd.num_bad_tx_bib_blks", 649 }, 650 { 651 "ns":"DTN/bpsec" 652 "nm": Edd.num_good_rx_bib_blks", 653 }, 654 { 655 "ns":"DTN/bpsec" 656 "nm": Edd.num_bad_rx_bib_blks", 657 }, 658 { 659 "ns":"DTN/bpsec" 660 "nm": Edd.num_miss_rx_bib_blks", 661 }, 662 { 663 "ns":"DTN/bpsec" 664 "nm": Edd.num_fwd_bib_blks", 665 }, 666 { 667 "ns":"DTN/bpsec" 668 "nm": Edd.num_good_tx_bib_bytes", 669 }, 670 { 671 "ns":"DTN/bpsec" 672 "nm": Edd.num_bad_tx_bib_bytes", 673 }, 674 { 675 "ns":"DTN/bpsec" 676 "nm": Edd.num_good_rx_bib_bytes", 677 }, 678 { 679 "ns":"DTN/bpsec" 680 "nm": Edd.num_bad_rx_bib_bytes", 681 }, 682 { 683 "ns":"DTN/bpsec" 684 "nm": Edd.num_miss_rx_bib_bytes", 685 }, 686 { 687 "ns":"DTN/bpsec" 688 "nm": Edd.num_fwd_bib_bytes", 689 }, 690 { 691 "ns":"DTN/bpsec" 692 "nm": Edd.last_update", 693 }, 694 { 695 "ns":"DTN/bpsec" 696 "nm": Edd.num_known_keys", 697 }, 698 { 699 "ns":"DTN/bpsec" 700 "nm": Edd.key_names", 701 }, 702 { 703 "ns":"DTN/bpsec" 704 "nm": Edd.ciphersuite_names", 705 }, 706 { 707 "ns":"DTN/bpsec" 708 "nm": Edd.rule_source", 709 } 710 ], 711 "description": "all known meta-data, externally defined data, and 712 variables" 713 }, 714 { 715 "name": "source_report", 716 "parmspec": [{"type":"STR","name":"Source"}], 717 "definition": [{ 718 "ns":"DTN/bpsec", 719 "nm": "Edd.num_good_tx_bcb_blks_src", 720 "ap": [{ 721 "type": "ParmName", 722 "value": "Source" 723 }] 724 }, 725 { 726 "ns":"DTN/bpsec", 727 "nm": "Edd.num_bad_tx_bcb_blks_src", 728 "ap": [{ 729 "type": "ParmName", 730 "value": "Source" 731 }] 732 }, 733 { 734 "ns":"DTN/bpsec", 735 "nm": "Edd.num_good_rx_bcb_blks_src", 736 "ap": [{ 737 "type": "ParmName", 738 "value": "Source" 739 }] 740 }, 741 { 742 "ns":"DTN/bpsec", 743 "nm": "Edd.num_bad_rx_bcb_blks_src", 744 "ap": [{ 745 "type": "ParmName", 746 "value": "Source" 747 }] 748 }, 749 { 750 "ns":"DTN/bpsec", 751 "nm": "Edd.num_missing_rx_bcb_blks_src", 752 "ap": [{ 753 "type": "ParmName", 754 "value": "Source" 755 }] 756 }, 757 { 758 "ns":"DTN/bpsec", 759 "nm": "Edd.num_fwd_bcb_blks_src", 760 "ap": [{ 761 "type": "ParmName", 762 "value": "Source" 763 }] 764 }, 765 { 766 "ns":"DTN/bpsec", 767 "nm": "Edd.num_good_tx_bcb_bytes_src", 768 "ap": [{ 769 "type": "ParmName", 770 "value": "Source" 771 }] 772 }, 773 { 774 "ns":"DTN/bpsec", 775 "nm": "Edd.num_bad_tx_bcb_bytes_src", 776 "ap": [{ 777 "type": "ParmName", 778 "value": "Source" 779 }] 780 }, 781 { 782 "ns":"DTN/bpsec", 783 "nm": "Edd.num_good_rx_bcb_bytes_src", 784 "ap": [{ 785 "type": "ParmName", 786 "value": "Source" 787 }] 788 }, 789 { 790 "ns":"DTN/bpsec", 791 "nm": "Edd.num_bad_rx_bcb_bytes_src", 792 "ap": [{ 793 "type": "ParmName", 794 "value": "Source" 795 }] 796 }, 797 { 798 "ns":"DTN/bpsec", 799 "nm": "Edd.num_missing_rx_bcb_bytes_src", 800 "ap": [{ 801 "type": "ParmName", 802 "value": "Source" 803 }] 804 }, 805 { 806 "ns":"DTN/bpsec", 807 "nm": "Edd.num_fwd_bcb_bytes_src", 808 "ap": [{ 809 "type": "ParmName", 810 "value": "Source" 811 }] 812 }, 813 { 814 "ns":"DTN/bpsec", 815 "nm": "Edd.num_good_tx_bib_blks_src", 816 "ap": [{ 817 "type": "ParmName", 818 "value": "Source" 819 }] 820 }, 821 { 822 "ns":"DTN/bpsec", 823 "nm": "Edd.num_bad_tx_bib_blks_src", 824 "ap": [{ 825 "type": "ParmName", 826 "value": "Source" 827 }] 828 }, 829 { 830 "ns":"DTN/bpsec", 831 "nm": "Edd.num_good_rx_bib_blks_src", 832 "ap": [{ 833 "type": "ParmName", 834 "value": "Source" 835 }] 836 }, 837 { 838 "ns":"DTN/bpsec", 839 "nm": "Edd.num_bad_rx_bib_blks_src", 840 "ap": [{ 841 "type": "ParmName", 842 "value": "Source" 843 }] 844 }, 845 { 846 "ns":"DTN/bpsec", 847 "nm": "Edd.num_miss_rx_bib_blks_src", 848 "ap": [{ 849 "type": "ParmName", 850 "value": "Source" 851 }] 852 }, 853 { 854 "ns":"DTN/bpsec", 855 "nm": "Edd.num_fwd_bib_blks_src", 856 "ap": [{ 857 "type": "ParmName", 858 "value": "Source" 859 }] 860 }, 861 { 862 "ns":"DTN/bpsec", 863 "nm": "Edd.num_good_tx_bib_bytes_src", 864 "ap": [{ 865 "type": "ParmName", 866 "value": "Source" 867 }] 868 }, 869 { 870 "ns":"DTN/bpsec", 871 "nm": "Edd.num_bad_tx_bib_bytes_src", 872 "ap": [{ 873 "type": "ParmName", 874 "value": "Source" 875 }] 876 }, 877 { 878 "ns":"DTN/bpsec", 879 "nm": "Edd.num_good_rx_bib_bytes_src", 880 "ap": [{ 881 "type": "ParmName", 882 "value": "Source" 883 }] 884 }, 885 { 886 "ns":"DTN/bpsec", 887 "nm": "Edd.num_bad_rx_bib_bytes_src", 888 "ap": [{ 889 "type": "ParmName", 890 "value": "Source" 891 }] 892 }, 893 { 894 "ns":"DTN/bpsec", 895 "nm": "Edd.num_missing_rx_bib_bytes_src", 896 "ap": [{ 897 "type": "ParmName", 898 "value": "Source" 899 }] 900 }, 901 { 902 "ns":"DTN/bpsec", 903 "nm": "Edd.num_fwd_bib_bytes_src", 904 "ap": [{ 905 "type": "ParmName", 906 "value": "Source" 907 }] 908 }, 909 { 910 "ns":"DTN/bpsec", 911 "nm": "Edd.last_update_src", 912 "ap": [{ 913 "type": "ParmName", 914 "value": "Source" 915 }] 916 }, 917 { 918 "ns":"DTN/bpsec", 919 "nm": "Edd.last_reset", 920 "ap": [{ 921 "type": "ParmName", 922 "value": "Source" 923 }] 924 } 925 ], 926 "description": "security info by source" 927 } 928 ], 930 "Ctrl": [ 931 { 932 "name": "rst_all_cnts", 933 "description": "This control causes the Agent to reset all counts 934 associated with block or byte statistics and to set the Last 935 Reset Time of the BPsec EDD data to the time when the control 936 was run." 937 }, 938 { 939 "name": "rst_src_cnts", 940 "parmspec": [{"type":"STR","name":"src"}], 941 "description": "This control causes the Agent to reset all counts 942 (blocks and bytes) associated with a given bundle source and set 943 the Last Reset Time of the source statistics to the time when 944 the control was run." 945 }, 946 { 947 "name": "delete_key", 948 "parmspec": [{"type":"STR","name":"key_name"}], 949 "description": "This control deletes a key from the BPsec system." 950 }, 951 { 952 "name": "add_key", 953 "parmspec":[ 954 {"type":"STR","name":"key_name"}, 955 {"type":"BYTESTR","name":"keyData"} 956 ], 957 "description": "This control adds a key to the BPsec system." 958 }, 959 { 960 "name": "add_bib_rule", 961 "parmspec": [ 962 {"type":"STR","name":"source"}, 963 {"type":"STR","name":"destination"}, 964 {"type":"INT","name":"target"}, 965 {"type":"STR","name":"ciphersuiteId"}, 966 {"type":"STR","name":"key_name"} 967 ], 968 "description": "This control configures policy on the BPsec protocol 969 implementation that describes how BIB blocks should be applied to 970 bundles in the system. This policy is captured as a rule which 971 states when transmitting a bundle from the given source endpoint 972 ID to the given destination endpoint ID, blocks of type target 973 should have a BIB added to them using the given ciphersuite and the 974 given key." 975 }, 976 { 977 "name": "del_bib_rule", 978 "parmspec": [ 979 {"type":"STR","name":"source"}, 980 {"type":"STR","name":"destination"}, 981 {"type":"INT","name":"target"} 982 ], 983 "description": "This control removes any configured policy on the 984 BPsec protocol implementation that describes how BIB blocks should 985 be applied to bundles in the system. A BIB policy is uniquely 986 identified by a source endpoint Id, a destination Id, and a target 987 block type." 988 }, 989 { 990 "name": "list_bib_rules", 991 "description": "This control returns a table describinng all of the 992 BIB policy rules that are known to the BPsec implementation." 993 }, 994 { 995 "name": "add_bcb_rule", 996 "parmspec": [ 997 {"type":"STR","name":"source"}, 998 {"type":"STR","name":"destination"}, 999 {"type":"INT","name":"target"}, 1000 {"type":"STR","name":"ciphersuiteId"}, 1001 {"type":"STR","name":"key_name"} 1002 ], 1003 "description": "This control configures policy on the BPsec protocol 1004 implementation that describes how BCB blocks should be applied to 1005 bundles in the system. This policy is captured as a rule which 1006 states when transmitting a bundle from the given source endpoint id 1007 to the given destination endpoint id, blocks of type target should 1008 have a bcb added to them using the given ciphersuite and the given 1009 key." 1010 }, 1011 { 1012 "name": "del_bcb_rule", 1013 "parmspec": [ 1014 {"type":"STR","name":"source"}, 1015 {"type":"STR","name":"destination"}, 1016 {"type":"INT","name":"target"} 1017 ], 1018 "description": "This control removes any configured policy on the 1019 BPsec protocol implementation that describes how BCB blocks should 1020 be applied to bundles in the system. A bcb policy is uniquely 1021 identified by a source endpoint id, a destination endpoint id, and 1022 a target block type." 1023 }, 1024 { 1025 "name": "list_bcb_rules", 1026 "description": "This control returns a table describing all of the bcb 1027 policy rules that are known to the BPsec implementation" 1028 } 1029 ] 1030 } 1031 5. IANA Considerations 1033 At this time, this protocol has no fields registered by IANA. 1035 6. References 1037 6.1. Informative References 1039 [I-D.birrane-dtn-ama] 1040 Birrane, E., "Asynchronous Management Architecture", 1041 draft-birrane-dtn-ama-07 (work in progress), June 2018. 1043 6.2. Normative References 1045 [I-D.birrane-dtn-adm] 1046 Birrane, E., DiPietro, E., and D. Linko, "AMA Application 1047 Data Model", draft-birrane-dtn-adm-02 (work in progress), 1048 June 2018. 1050 [I-D.birrane-dtn-amp] 1051 Birrane, E., "Asynchronous Management Protocol", draft- 1052 birrane-dtn-amp-04 (work in progress), June 2018. 1054 [I-D.ietf-dtn-bpsec] 1055 Birrane, E. and K. McKeever, "Bundle Protocol Security 1056 Specification", draft-ietf-dtn-bpsec-06 (work in 1057 progress), October 2017. 1059 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1060 Requirement Levels", BCP 14, RFC 2119, 1061 DOI 10.17487/RFC2119, March 1997, 1062 . 1064 Authors' Addresses 1066 Edward J. Birrane 1067 Johns Hopkins Applied Physics Laboratory 1069 Email: Edward.Birrane@jhuapl.edu 1071 Evana DiPietro 1072 Johns Hopkins Applied Physics Laboratory 1074 Email: Evana.DiPietro@jhuapl.edu 1075 David Linko 1076 Johns Hopkins Applied Physics Laboratory 1078 Email: David.Linko@jhuapl.edu