<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
<!ENTITY RFC6256 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6256.xml">
<!ENTITY RFC4838 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4838.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5050 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5050.xml">
<!ENTITY RFC6257 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6257.xml">
]>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdep"4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="no" ?>
<?rfc subcompact="no" ?>

<rfc category="exp" ipr="trust200902" docName="draft-birrane-dtn-adm-bpsec-01" obsoletes="" updates="" submissionType="IETF" xml:lang="en">

   <!-- ***** FRONT MATTER ***** -->
   <front> 
      <title abbrev="BPSEC ADM">Bundle Protocol Security Application Data Model</title>
      <author fullname="Edward J. Birrane" initials="E.B." surname="Birrane">
         <organization> Johns Hopkins Applied Physics Laboratory </organization>
         <address>
            <email>Edward.Birrane@jhuapl.edu</email>
         </address>
      </author>
      <author fullname="Evana DiPietro" initials="E.D." surname="DiPietro">
         <organization> Johns Hopkins Applied Physics Laboratory </organization>
         <address>
            <email>Evana.DiPietro@jhuapl.edu</email>
         </address>
      </author>
      <author fullname="David Linko" initials="D.L." surname="Linko">
         <organization> Johns Hopkins Applied Physics Laboratory </organization>
         <address>
            <email>David.Linko@jhuapl.edu</email>
         </address>
      </author>
      <date year="2018" />
      
       <!-- Meta-data Declarations -->
      <area>General</area>
      <workgroup>Delay-Tolerant Networking</workgroup>
      <keyword>DTN</keyword>
      <keyword>Network Management</keyword>

      <abstract>
         <t>
            This document describes the Application Data Model (ADM) for the
            Bundle Protocol Security (BPSEC) in compliance with the template
            provided by <xref target="I-D.birrane-dtn-adm"/>.
         </t>
      </abstract>
   </front>
  
   <middle>
      <section title="Introduction" toc="default">
         <t>
            An Application Data Model (ADM) provides a guaranteed 
            interface for the management of an application or 
            protocol in accordance with the Asynchronous Management 
            Architecture (AMA) defined in <xref target="I-D.birrane-dtn-ama"/>. 
       		This document is in compliance with the template
            provided by <xref target="I-D.birrane-dtn-adm"/>.
         </t>
         <t>
            BPSEC (<xref target="I-D.ietf-dtn-bpsec"/>) defines integrity and
            confidentiality mechanisms for securing extension blocks within a Bundle Protocol bundle. The BPSEC Agent ADM provides the set of information used to monitor and configure common aspects of any BPSEC software implementation.
         </t>
             
         <section title="Technical Notes" toc="default">
            <t>
               <list style="symbols">
                  <t>
                     This document describes Version 1.0 of the BPSEC Agent ADM.
                  </t>
                  <t>
                     The Asynchronous Resource Identifier (ARI) for this ADM is 
                     NOT correctly set. A sample ARI is used in this version of the
                     specification and MAY change in future versions of this ADM
                     until an ARI registry is established. This notice will be removed
                     at that time.
                  </t>
                  <t>
                     Agent applications MAY choose to ignore the name, description,
                     or other annotative information associated with the component definitions within this ADM where such items are only used to provide human-readable information or are otherwise not necessary to manage a device.                     
                  </t>              
               </list>
            </t>
         </section>
      
         <section title="Scope" toc="default">
            <t>
               This ADM specifies those components of the Asynchronous 
               Management Model (AMM) common to the BPSEC management of any instance 
               of a BPA. 
            </t>
            <t>
               Any Manager software implementing this ADM MUST perform the responsibilities of an AMA Manager as outlined in <xref target="I-D.birrane-dtn-adm"/> as they relate to the objects included 
               in this document.
            </t>
            <t>
               Any Agent software implementing this ADM MUST perform the responsibilities
               of an AMA Agent as outlined in <xref target="I-D.birrane-dtn-adm"/> as they relate to the objects included in this document.
            </t>
         </section>
         
         <section title="Requirements Language" toc="default">
            <t>
               The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
               "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
               document are to be interpreted as described in 
               <xref target="RFC2119" pageno="false" format="default">RFC 2119</xref>.
            </t>
         </section>   
                 
      </section>
      <section title="Structure and Design of this ADM">
        <t>
          The BPSEC Agent ADM's structure is in accordance to <xref target="I-D.birrane-dtn-adm"/>. This ADM contains metadata, edd, variables, table templates, report templates, and controls. Externally Defined Data (EDD) are values that are calculated external to the ADM system. Table Templates are column templates that will be followed by any instance of this table available in the network. They may not be created dynamically within the network by Managers. Controls are predefined and sometimes parameterized opcodes that can be run on an Agent. Controls are preconfigured in Agents and Managers as part of ADM support. Variables are values that are statically defined in an ADM or dynamically by Managers in a network deployment. There are no constants, macros, or operators in this ADM at this time. The contents of this ADM are derived from the main functions and data that are needed to configure and manage BPSEC. 
        </t>
        <t>
          All ADMs have metadata that includes the name, namespace, and version of the ADM, as well as the name of the organization that is issuing that particular ADM. This is important for identification purposes of the ADMs and to ensure version control.

          The EDDs chosen deal with bundle integrity blocks and bundle confidentiality blocks, the most important concepts from the Bundle Security Protocol. 

          This ADM additionally incorporates a "uses statement." The purpose of this statement is to pull in the information present in another ADM. In this case, this ADM "uses" the AMP Agent ADM.
        </t>
      </section>
      <section title="Naming and Identification">
         <t>
            This section outlines the namespaces used to uniquely identify
            ADM objects in this specification.
         </t>

         <section title="Namespace and Nicknames">
            <t>
               In accordance with <xref target="I-D.birrane-dtn-adm"/>, every ADM
               is assigned a moderated Namespace. In accordance with 
               <xref target="I-D.birrane-dtn-amp"/>, these namespaces may be
               enumerated for compactness. The namespace and ADM identification
               for these objects is defined as follows.
            </t>
            <texttable anchor="agent_ns" title="Namespace Information" align="center">
               <ttcol align="center">Identifier</ttcol>
               <ttcol align="center">Value</ttcol>
               
               <c>Namespace</c>
               <c>DTN/bpsec</c>

               <c>ADM Enumeration</c>
               <c>4</c>
            </texttable>
                              
			<t>
              Given the above ADM enumeration, in accordance with 
              <xref target="I-D.birrane-dtn-amp"/>, the following AMP
              nicknames are defined.
            </t>
            
            <texttable anchor="bp_nn" title="BPSEC ADM Nicknames" align="center" style="full">
               <ttcol width="10%" align="center">Nickname</ttcol>
               <ttcol width="45%" align="center">Collection</ttcol>
               
               <c>80</c>
               <c>DTN/bpsec/Const</c>

               <c>81</c>
               <c>DTN/bpsec/Ctrl</c>

               <c>82</c>
               <c>DTN/bpsec/Edd</c>

               <c>83</c>
               <c>DTN/bpsec/Mac</c>

               <c>84</c>
               <c>DTN/bpsec/Oper</c>

               <c>85</c>
               <c>DTN/bpsec/Rptt</c>

               <c>87</c>
               <c>DTN/bpsec/Tblt</c>

               <c>89</c>
               <c>DTN/bpsec/Var</c>

               <c>90</c>
               <c>DTN/bpsec/Mdat</c>

               <c>91-99</c>
               <c>DTN/bpsec/Reserved</c>
            </texttable>
         
         </section>
      </section>

      <section title="BPSEC Agent ADM JSON Encoding">
     <t>
      The following is the JSON encoding of the BPSEC Agent ADM:
     <figure>
     <artwork>    
{
  "uses":["Amp:Agent"],
  "Mdat": [
    {
      "name": "name",
      "type": "STR",
      "value": "bpsec",
      "description": "The human-readable name of the ADM."
    },
    {
      "name": "namespace",
      "type": "STR",
      "value": "DTN:BundleProtocolSecurity",
      "description": "The namespace of the ADM."
    },
    {
      "name": "version",
      "type": "STR",
      "value": "v1.0",
      "description": "The version of the ADM."
    },
    {
      "name": "organization",
      "type": "STR",
      "value": "JHUAPL",
      "description": "The name of the issuing organization of the ADM."
    }
  ],

  "Edd": [
    {
      "name": "num_good_tx_bcb_blk",
      "type": "UINT",
      "description": "Total successfully Tx Bundle Confidentiality blocks"
    },
    {
      "name": "num_bad_tx_bcb_blk",
      "type": "UINT",
      "description": "Total unsuccessfully Tx Block Confidentiality Block 
        (BCB) blocks"
    },
    {
      "name": "num_good_rx_bcb_blk",
      "type": "UINT",
      "description": "Total successfully Rx BCB blocks"
    },
    {
      "name": "num_bad_rx_bcb_blk",
      "type": "UINT",
      "description": "Total unsuccessfully Rx BCB blocks"
    },
    {
      "name": "num_missing_rx_bcb_blks",
      "type": "UINT",
      "description": "Total missing-on-RX BCB blocks"
    },
    {
      "name": "num_fwd_bcb_blks",
      "type": "UINT",
      "description": "Total forward BCB blocks"
    },
    {
      "name": "num_good_tx_bcb_bytes",
      "type": "UINT",
      "description": "Total successfully Tx BCB bytes"
    },
    {
      "name": "num_bad_tx_bcb_bytes",
      "type": "UINT",
      "description": "Total unsuccessfully Tx BCB bytes"
    },
    {
      "name": "num_good_rx_bcb_bytes",
      "type": "UINT",
      "description": "Total successfully Rx BCB bytes"
    },
    {
      "name": "num_bad_rx_bcb_bytes",
      "type": "UINT",
      "description": "Total unsuccessfully Rx BCB bytes"
    },
    {
      "name": "num_missing_rx_bcb_bytes",
      "type": "UINT",
      "description": "Total missing-on-Rx BCB bytes"
    },
    {
      "name": "num_fwd_bcb_bytes",
      "type": "UINT",
      "description": "Total forwarded BCB bytes"
    },
    {
      "name": "num_good_tx_bib_blks",
      "type": "UINT",
      "description": "Total successfully Tx Block Integrity Block (BIB)
        blocks"
    },
    {
      "name": "num_bad_tx_bib_blks",
      "type": "UINT",
      "description": "Total unsuccessfully Tx BIB blocks"
    },
    {
      "name": "num_good_rx_bib_blks",
      "type": "UINT",
      "description": "Total successfully Rx BIB blocks"
    },
    {
      "name": "num_bad_rx_bib_blks",
      "type": "UINT",
      "description": "Total unsuccessfully Rx BIB blocks"
    },
    {
      "name": "num_miss_rx_bib_blks",
      "type": "UINT",
      "description": "Total missing-on-Rx BIB blocks"
    },
    {
      "name": "num_fwd_bib_blks",
      "type": "UINT",
      "description": "Total forwarded BIB blocks"
    },
    {
      "name": "num_good_tx_bib_bytes",
      "type": "UINT",
      "description": "Total successfully Tx BIB bytes"
    },
    {
      "name": "num_bad_tx_bib_bytes",
      "type": "UINT",
      "description": "Total unsuccessfully Tx BIB bytes"
    },
    {
      "name": "num_good_rx_bib_bytes",
      "type": "UINT",
      "description": "Total successfully Rx BIB bytes"
    },
    {
      "name": "num_bad_rx_bib_bytes",
      "type": "UINT",
      "description": "Total unsuccessfully Rx BIB bytes"
    },
    {
      "name": "num_miss_rx_bib_bytes",
      "type": "UINT",
      "description": "Total missing-on-Rx BIB bytes"
    },
    {
      "name": "num_fwd_bib_bytes",
      "type": "UINT",
      "description": "Total forwarded BIB bytes"
    },
    {
      "name": "last_update",
      "type": "TV",
      "description": "Last BPSEC update"
    },
    {
      "name": "num_known_keys",
      "type": "UINT",
      "description": "Number of known keys"
    },
    {
      "name": "key_names",
      "type": "STR",
      "description": "Known key names"
    },
    {
      "name": "ciphersuite_names",
      "type": "STR",
      "description": "Known ciphersuite names"
    },
    {
      "name": "rule_source",
      "type": "STR",
      "description": "Known rule sources"
    },
    {
      "name": "num_good_tx_bcb_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Tx BCB blocks from SRC"
    },
    {
      "name": "num_bad_tx_bcb_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed TX BCB blocks from SRC"
    },
    {
      "name": "num_good_rx_bcb_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Rx BCB blocks from SRC"
    },
    {
      "name": "num_bad_rx_bcb_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed RX BCB blocks from SRC"
    },
    {
      "name": "num_missing_rx_bcb_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of missing-onRX BCB blocks from SRC"
    },
    {
      "name": "num_fwd_bcb_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of forwarded BCB blocks from SRC"
    },
    {
      "name": "num_good_tx_bcb_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Tx bcb bytes from SRC"
    },
    {
      "name": "num_bad_tx_bcb_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed Tx bcb bytes from SRC"
    },
    {
      "name": "num_good_rx_bcb_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Rx bcb bytes from SRC"
    },
    {
      "name": "num_bad_rx_bcb_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed Rx bcb bytes from SRC"
    },
    {
      "name": "num_missing_rx_bcb_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of missing-on-Rx bcb bytes from SRC"
    },
    {
      "name": "num_fwd_bcb_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of forwarded bcb bytes from SRC"
    },
    {
      "name": "num_good_tx_bib_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Tx BIB blocks from SRC"
    },
    {
      "name": "num_bad_tx_bib_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed Tx BIB blocks from SRC"
    },
    {
      "name": "num_good_rx_bib_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Rx BIB blocks from SRC"
    },
    {
      "name": "num_bad_rx_bib_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed Rx BIB blocks from SRC"
    },
    {
      "name": "num_miss_rx_bib_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of missing-on-Rx BIB blocks from SRC"
    },
    {
      "name": "num_fwd_bib_blks_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of forwarded BIB blocks from SRC"
    },
    {
      "name": "num_good_tx_bib_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Tx BIB bytes from SRC"
    },
    {
      "name": "num_bad_tx_bib_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed Tx BIB bytes from SRC"
    },
    {
      "name": "num_good_rx_bib_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of successfully Rx BIB bytes from SRC"
    },
    {
      "name": "num_bad_rx_bib_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of failed Rx BIB bytes from SRC"
    },
    {
      "name": "num_missing_rx_bib_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of missing-on-Rx BIB bytes from SRC"
    },
    {
      "name": "num_fwd_bib_bytes_src",
      "type": "UINT",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Number of forwarded BIB bytes from SRC"
    },
    {
      "name": "last_update_src",
      "type": "TV",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Last BPSEC update from SRC"
    },
    {
      "name": "last_reset",
      "type": "TV",
      "parmspec": [{"type":"STR","name":"Src"}],
      "description": "Last reset"
    }
  ],

  "Tblt" : [
    {
      "name": "keys",
      "columns": [{"type":"STR","name":"key_name"}],
      "description": "This table lists all keys in the security policy 
        database."
    },
    {
      "name": "ciphersuites",
      "columns": [{"type":"STR","name":"csname"}],
      "description": "This table lists supported ciphersuites."
    },    
    {
      "name": "bib_rules",
      "columns": [{"type":"STR","name":"SrcEid"}, 
                  {"type":"STR","name":"DestEid"},
                  {"type":"UINT","name":"TgtBlk"},
                  {"type":"STR","name":"csName"},
                  {"type":"STR","name":"keyName"}
                ],
      "description": "BIB Rules."
    },
    {
      "name": "bcb_rules",
      "columns": [{"type":"STR","name":"SrcEid"}, 
                  {"type":"STR","name":"DestEid"},
                  {"type":"UINT","name":"TgtBlk"},
                  {"type":"STR","name":"csName"},
                  {"type":"STR","name":"keyName"}
                ],
      "description": "BCB Rules."
    }
  ],

 "Var": [
    {
      "name": "total_bad_tx_blks",
      "type": "UINT",
      "initializer": {
        "type": "UINT",
        "postfix-expr": [{
        	"ns":"DTN/bpsec,
        	"nm":"Edd.num_bad_tx_bib_blks_src",
        },{

        	"ns":"DTN/bpsec,
        	"nm":"Edd.num_bad_tx_bcb_blks_src",
        },{
       		"ns":"Amp/Agent",
       		"nm":"Oper.plusUINT",
        }]
      },
      "description": "This is the number of failed TX blocks (# failed BIB + 
        # failed bcb)."
    }
  ],

  "Rptt": [
    {
      "name": "full_report",
      "definition" : [
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_tx_bcb_blk",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_tx_bcb_blk",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_rx_bcb_blk",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_rx_bcb_blk",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_missing_rx_bcb_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_fwd_bcb_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_tx_bcb_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_tx_bcb_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_rx_bcb_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_rx_bcb_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_missing_rx_bcb_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_fwd_bcb_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_tx_bib_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_tx_bib_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_rx_bib_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_rx_bib_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_miss_rx_bib_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_fwd_bib_blks",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_tx_bib_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_tx_bib_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_good_rx_bib_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_bad_rx_bib_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_miss_rx_bib_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_fwd_bib_bytes",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.last_update",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.num_known_keys",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.key_names",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.ciphersuite_names",
        },
        {
        	"ns":"DTN/bpsec"
          	"nm": Edd.rule_source",
        }
      ],
      "description": "all known meta-data, externally defined data, and
        variables"
    },
    {
      "name": "source_report",
      "parmspec": [{"type":"STR","name":"Source"}],
      "definition": [{
	        "ns":"DTN/bpsec",
	        "nm": "Edd.num_good_tx_bcb_blks_src",	
          	"ap": [{	
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_tx_bcb_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_good_rx_bcb_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_rx_bcb_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_missing_rx_bcb_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_fwd_bcb_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_good_tx_bcb_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_tx_bcb_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_good_rx_bcb_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_rx_bcb_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_missing_rx_bcb_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_fwd_bcb_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_good_tx_bib_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_tx_bib_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_good_rx_bib_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_rx_bib_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_miss_rx_bib_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_fwd_bib_blks_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_good_tx_bib_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_tx_bib_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_good_rx_bib_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_bad_rx_bib_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_missing_rx_bib_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.num_fwd_bib_bytes_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.last_update_src",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        },
        {
        	"ns":"DTN/bpsec",
          	"nm": "Edd.last_reset",
          	"ap": [{
            	"type": "ParmName",
            	"value": "Source"
          }]
        }    
      ],
      "description": "security info by source"
    }
  ],

  "Ctrl": [
  {
      "name": "rst_all_cnts",
      "description": "This control causes the Agent to reset all counts 
        associated with block or byte statistics and to set the Last 
        Reset Time of the BPsec EDD data to the time when the control 
        was run."
    },
    {
      "name": "rst_src_cnts",
      "parmspec": [{"type":"STR","name":"src"}],
      "description": "This control causes the Agent to reset all counts 
        (blocks and bytes) associated with a given bundle source and set
        the Last Reset Time of the source statistics to the time when 
        the control was run."
    },
    {
      "name": "delete_key",
      "parmspec": [{"type":"STR","name":"key_name"}],
      "description": "This control deletes a key from the BPsec system."
    },
    {
      "name": "add_key",
      "parmspec":[
                  {"type":"STR","name":"key_name"},
                  {"type":"BYTESTR","name":"keyData"}
                ],
      "description": "This control adds a key to the BPsec system."
    },
    {
      "name": "add_bib_rule",
      "parmspec": [
                    {"type":"STR","name":"source"},
                    {"type":"STR","name":"destination"},
                    {"type":"INT","name":"target"},
                    {"type":"STR","name":"ciphersuiteId"},
                    {"type":"STR","name":"key_name"}
                  ],
      "description": "This control configures policy on the BPsec protocol 
        implementation that describes how BIB blocks should be applied to
        bundles in the system. This policy is captured as a rule which 
        states when transmitting a bundle from the given source endpoint
        ID to the given destination endpoint ID, blocks of type target
        should have a BIB added to them using the given ciphersuite and the
        given key."
    },
    {
      "name": "del_bib_rule",
      "parmspec": [
                    {"type":"STR","name":"source"},
                    {"type":"STR","name":"destination"},
                    {"type":"INT","name":"target"}
                  ],
      "description": "This control removes any configured policy on the 
        BPsec protocol implementation that describes how BIB blocks should
        be applied to bundles in the system. A BIB policy is uniquely 
        identified by a source endpoint Id, a destination Id, and a target
        block type."
    },
    {
      "name": "list_bib_rules",
      "description": "This control returns a table describinng all of the 
        BIB policy rules that are known to the BPsec implementation."
    },
    {
      "name": "add_bcb_rule",
      "parmspec": [
                    {"type":"STR","name":"source"},
                    {"type":"STR","name":"destination"},
                    {"type":"INT","name":"target"},
                    {"type":"STR","name":"ciphersuiteId"},
                    {"type":"STR","name":"key_name"}
                  ],
      "description": "This control configures policy on the BPsec protocol 
        implementation that describes how BCB blocks should be applied to
        bundles in the system. This policy is captured as a rule which 
        states when transmitting a bundle from the given source endpoint id
        to the given destination endpoint id, blocks of type target should
        have a bcb added to them using the given ciphersuite and the given
        key."
    },
    {
      "name": "del_bcb_rule",
      "parmspec": [
                    {"type":"STR","name":"source"},
                    {"type":"STR","name":"destination"},
                    {"type":"INT","name":"target"}
                  ],
      "description": "This control removes any configured policy on the 
        BPsec protocol implementation that describes how BCB blocks should
        be applied to bundles in the system. A bcb policy is uniquely 
        identified by a source endpoint id, a destination endpoint id, and
        a target block type."
    },
    {
      "name": "list_bcb_rules",
      "description": "This control returns a table describing all of the bcb 
        policy rules that are known to the BPsec implementation"
    }
  ]
}

    </artwork>
  </figure>
</t>

      </section>

    	
				    
    <section anchor="IANA" title="IANA Considerations" toc="default">
      <t>
		At this time, this protocol has no fields registered by IANA.
	  </t>
    </section>
  </middle>

   <!--  *****BACK MATTER ***** -->
   <back>
      <references title="Informative References">
               
      <?rfc include="reference.I-D.draft-birrane-dtn-ama-07"?>        
                    
      </references>
      
      <references title="Normative References">
         &RFC2119;     
         
 
 <?rfc include="reference.I-D.draft-birrane-dtn-adm-02"?>
 <?rfc include="reference.I-D.draft-birrane-dtn-amp-04"?>
 <?rfc include="reference.I-D.ietf-dtn-bpsec"?>         
      </references>
    
  </back>
</rfc>