Internet DRAFT - draft-nishizuka-dots-inter-domain-mechanism

draft-nishizuka-dots-inter-domain-mechanism







DOTS                                                        K. Nishizuka
Internet-Draft                                        NTT Communications
Intended status: Standards Track                                  L. Xia
Expires: June 30, 2017                                            J. Xia
                                           Huawei Technologies Co., Ltd.
                                                                D. Zhang

                                                                 L. Fang
                                                               Microsoft
                                                                 C. Gray
                                                           Comcast, Inc.
                                                              R. Compton
                                            Charter Communications, Inc.
                                                       December 27, 2016


        Inter-organization cooperative DDoS protection mechanism
          draft-nishizuka-dots-inter-domain-mechanism-02

Abstract

   As DDoS attacks evolve rapidly in the aspect of volume and
   sophistication, cooperation among operators has become very necessary
   because it gives us quicker and more sophisticated protection to cope
   with the varius DDoS attacks.  This document describes possible
   mechanisms which implement the cooperative inter-organization DDoS
   protection by DOTS protocol.  The described data models are intended
   to cover intra-organization and inter-organization solutions.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on June 30, 2017.






Nishizuka, et al.         Expires June 30, 2017                 [Page 1]

Internet-Draft     Inter-organization DDoS protection      December 2016


Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Scope . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Key Words . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.2.  Definition of Terms . . . . . . . . . . . . . . . . . . .   4
   3.  Inter-organization DDoS Protection Requirements . . . . . . .   4
     3.1.  Provisioning Requirements . . . . . . . . . . . . . . . .   4
       3.1.1.  Automatic Provisioning vs Manual Provisioning . . . .   5
     3.2.  Coordination Requirements . . . . . . . . . . . . . . . .   5
       3.2.1.  Near Source Protection Problem  . . . . . . . . . . .   5
     3.3.  Returning Path Requirements . . . . . . . . . . . . . . .   6
   4.  Inter-organization DOTS Architecture  . . . . . . . . . . . .   6
     4.1.  Distributed Architecture  . . . . . . . . . . . . . . . .   7
     4.2.  Centralized Architecture  . . . . . . . . . . . . . . . .  10
   5.  Inter-organization DOTS Protocol  . . . . . . . . . . . . . .  11
     5.1.  Provisioning Stage  . . . . . . . . . . . . . . . . . . .  13
       5.1.1.  Messages  . . . . . . . . . . . . . . . . . . . . . .  13
       5.1.2.  Operations  . . . . . . . . . . . . . . . . . . . . .  17
     5.2.  Signaling Stage . . . . . . . . . . . . . . . . . . . . .  18
       5.2.1.  Messages  . . . . . . . . . . . . . . . . . . . . . .  18
       5.2.2.  Operations  . . . . . . . . . . . . . . . . . . . . .  24
   6.  Other Considerations  . . . . . . . . . . . . . . . . . . . .  25
     6.1.  Billing Data  . . . . . . . . . . . . . . . . . . . . . .  25
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  26
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  26
   9.  Normative References  . . . . . . . . . . . . . . . . . . . .  26
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  26







Nishizuka, et al.         Expires June 30, 2017                 [Page 2]

Internet-Draft     Inter-organization DDoS protection      December 2016


1.  Introduction

   These days, DDoS attacks are getting bigger and more sophisticated.
   All organizations facing to the internet should be prepared for such
   attacks in order to minimize damages to their business.  There are
   still too big platforms of DDoS attacks which consist of vulnerable
   servers, broadband routers and other network equipments including IoT
   devices distributed all over the world.  Because of the amplification
   feature of the reflection attack, attackers can generate massive
   attacks with small resources.  Moreover, there are many booters who
   are selling DDoS attacks as a service.  DDoS attack is commoditized,
   so frequency of DDoS attacks is also increasing.

   These trends of the attack could exceed a capacity of a protection
   system of one organization in the aspect of volume and frequency.
   Therefore, sharing the capacity and capability of the protection
   system with each other has become very necessary.

   By utilizing other organization's resources, the burden of the
   protection can be shared.  The shared resources are not only CPU/
   memory resources of dedicated mitigation devices but also the
   capability of mitigation actions such as blackholing and filtering.
   We call the protection which utilize resources of each other
   "cooperative DDoS protection".

   The cooperative DDoS protection have numerous merits.  First, as
   described above, it can leverage the capacity of the protection by
   sharing the resources among organizations.  Generally DDoS attack
   happens unexpectedly, thus the capacity utilization ratio of a
   protection system is not constant.  So, while the utilization ratio
   is low, it can be used by other organization which is under attack.
   Second, organizations can get various countermeasures.  If an attack
   is highly sophisticated and there is no countermeasure in the system,
   cooperative DDoS protection can offer optimal countermeasure of all
   partners.  Third, it can block malicious traffic near to the origin
   of the attack.  Near source defense is ideal for the health of the
   internet because it can reduce the total cost of forwarding packets
   which are mostly consist of useless massive attack traffic.
   Sometimes uplink circuits get congested by massive attacks, so
   cooperative DDoS protection by uplink organization is the only way to
   solve such a congestion problem.  Finally, it can reduce time to
   respond.  After getting attacked, prompt response is important
   because the outage of the service can make significant loss to the
   victim organization.  Cooperating channel between partner
   organizations can be automated by DOTS protocol.

   The proposed solutions are covering both intra-organization and
   inter-organization situations.



Nishizuka, et al.         Expires June 30, 2017                 [Page 3]

Internet-Draft     Inter-organization DDoS protection      December 2016


1.1.  Scope

   The solutions described in this draft are based on intra-organization
   and inter-organization usecases in [I-D.draft-ietf-dots-use-cases].
   The DOTS protocols coordinating DDoS protection in inter-organization
   situations in this draft are compliant with requirements in [I-
   D.draft-ietf-dots-requirements].  Generally DOTS is assumed to be
   most effective when aiding coordination of attack response between
   two or more organizations, but single organization scenarios are also
   valuable[I-D.draft-mortensen-dots-architecture].  The data model
   described in this draft is mainly focusing on inter-organization
   coordination of DDoS protection because it also covers single
   organization scenarios.  The information required in single
   organization scenarios is assumed to be a subset of the information
   required in inter-organization scenarios.

2.  Terminology

2.1.  Key Words

   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 [RFC2119].

2.2.  Definition of Terms

   This document uses the terms defined in [I-D.draft-ietf-dots-
   requirements].

3.  Inter-organization DDoS Protection Requirements

   In this section, requirements unique to inter-organization
   cooperative DDoS protection are described.

3.1.  Provisioning Requirements

   In inter-organization situation, a DOTS client is in a different
   organization from a DOTS server.  To enable the protection in other
   organization, provisioning information should be informed to a DOTS
   server in advance.  In the later section, the total scenario is
   divided into two stages: provisioning stage and signaling stage.  In
   provisioning stage, a DOTS client is required to communicate
   registration messages with DOTS server which include the capacity
   building of protection.  The data model of registration message is
   defined in the protocol section of this draft.  It is also required
   to find a way to provision other organization's DDoS protection
   service in secure manner.  All of the messages should have




Nishizuka, et al.         Expires June 30, 2017                 [Page 4]

Internet-Draft     Inter-organization DDoS protection      December 2016


   confidentiality, integrity and authenticity.  The requirments of the
   message protocol is following [I-D.draft-ietf-dots-requirements].

3.1.1.  Automatic Provisioning vs Manual Provisioning

   Manual provisioning is easier way to utilize DDoS protection service
   of other organizations.  An organization can trust other organization
   who are going to use their DDoS protection service by any means like
   phone, e-mail, Web portal, etc,. However, it will take much time to
   provision the DDoS protection system, therefore the attack will
   succeed to make significant impact on the protected service.  To
   reduce the time to start the protection, automatic provisioning is
   desirable.  If an organization could build a capacity of protection
   by exchanging information of the DDoS protection service via dots
   protocol in short time, the cooperative DDoS protection will succeed
   at a certain level.  Other important works carried out in the
   bootstrapping process are auto-discovery, automatic capability
   building between the member DDoS protection service providers as the
   basis for the following coordination process.

3.2.  Coordination Requirements

   The number of the member DDoS protection service provider of
   cooperative DDoS protection is important factor.  If only two
   providers are involved, there is a bilateral relationship only.  It
   is easy to negotiate about the capacity of their own DDoS protection
   system.  In the state of emergency, they can decide to ask for help
   each other if the capacity of their own system is insufficient.  When
   a lot of providers are joining cooperative DDoS protection, it is
   difficult to decide where to ask for help.  They need to negotiate
   about their capacity with every participant.  It is needed to take
   into account all combinations to do appropriate protection.  The
   coordination between the member providers of cooperative DDoS
   protection is a complete process consisting of mitigation start/stop,
   status notification, mitigation policy updates and so on.  The Inter-
   organization DOTS architectures described in the later section are
   intended to fulfill these requirements.

3.2.1.  Near Source Protection Problem

   Stopping malicious traffic at the nearest point in the internet will
   reduce exhaustion of resources in all the path of the attack.  To
   find the entry point of the attack, traceback of the attack traffic
   to the origin is needed.  If there is cooperative partner near the
   attack source, asking for help to that network is most effective.
   However, the problem is that it is difficult to decide which network
   is nearest to the attack source because in many cases source address
   of attack packets are spoofed to avoid to be visible from others.



Nishizuka, et al.         Expires June 30, 2017                 [Page 5]

Internet-Draft     Inter-organization DDoS protection      December 2016


   Moreover, uncovering some topology information of operator's network
   would be required in order to make the decision correctly, however
   there could be privacy protection issue between operators.  Those
   problems will lead to the difficulties of locating the attack source.

3.3.  Returning Path Requirements

   As one of protection methods, some DDoS protection service provider
   announce BGP route to detour the attack traffic to their own network
   to deal with it.  After scrubbing, cleaned traffic should be returned
   to the original destination.  The returning path is often called
   "clean pipe".  The DDoS service provider should be careful about
   routing loop because if the end point of a clean pipe is still
   included in a reach of the announced BGP route, the traffic will
   return to the mitigation path again and again.  In the case of inter-
   organization DDoS protection, returning path information should be
   propagated to partners.

4.  Inter-organization DOTS Architecture

   With the fast growth of DDoS attack volume and sophistication, a
   global cooperative DDoS protection service is desirable.  This
   service can not only address the inter-organization uplink congestion
   problem, but also take full advantage of global DDoS mitigation
   resources from different operators efficiently and enable the near
   source mitigation.  Moreover, with the way of providing DDoS
   mitigation as service, more customers will get the service flexibly
   by their demands with maximized territory and resources.  Together
   with on- premise DDoS protection appliance, the multiple layer DDoS
   protection system provides a comprehensive DDoS protection against
   all types of attacks, such as application layer attacks, network
   layer large traffic attacks and others.

   DOTS protocol is used among DOTS agents to facilitate the coordinated
   DDoS protection service as a whole.  [I-D.draft-ietf-dots-use-cases]
   lists most options that DOTS agents could be, and describes their
   communications.  Although this document is initiated to specify the
   DOTS protocol for the inter-organization use cases, the final
   protocol would and should be the same since it is all about the
   signaling messages and their process between the DOTS clients and
   DOTS servers essentially.  In other words, the protocol described
   here would also apply to all the intra-organization use cases.  To
   support all the identified use cases and possibly new use cases in
   future, DOTS protocol must be extensible in terms of the message
   definition, protocol process, etc, which will be discussed in details
   in the following section.  The text below discusses the protocol
   mainly in respect of inter-organization use cases.




Nishizuka, et al.         Expires June 30, 2017                 [Page 6]

Internet-Draft     Inter-organization DDoS protection      December 2016


   The inter-organization DDoS protection service is set up by the
   member operators' own DDoS protection system and the coordination
   protocol between them.  The inter-organization protocol for the goal
   of DDoS protection coordination is the main focus of this document.
   Note that both network operators and cloud based DDoS protection
   service providers can participate in the inter-organization DDoS
   protection service.  In general, the member operator's own DDoS
   protection system should at least consist of attack detector,
   customer (DOTS client), controller (DOTS server, and possible DOTS
   client for the inter-organization use cases) and mitigator.

   Attack Detector:  be responsible for attack detection and source
         traceback.  An example is the flow analyzer

   Customer:  when certain DDoS attack is detected, it requests
         mitigation service to the controller and exchanges status with
         controller regularly

   Controller:  be responsible for intra-organization DDoS mitigation
         controlling and communication with customer and other
         operators' controller for inter-organization coordination

   Mitigator:  be responsible for mitigation and results reporting

   There are two ways for operators to implement the inter-organization
   DDoS protection service: distributed way or centralized way.  The
   following parts give the respective discussion to them with aligning
   to DOTS terms.

4.1.  Distributed Architecture

   Operators can set up the bilateral cooperative relation of DDoS
   protection between each other, thereby a distributed inter-
   organization DDoS protection service is realized, which has the peer
   to peer Communication among all the participated operators.  The
   distributed architecture is illustrated in the following diagram:















Nishizuka, et al.         Expires June 30, 2017                 [Page 7]

Internet-Draft     Inter-organization DDoS protection      December 2016


                                                      Customer
                                                     +-------+
                                                     |DOTS   |
                                                     |Client |
                                                     +----A--+
                                                          |
                ----------------                        --+------
           ////-                \\\\                 ///  |      \\\
        ///                 +-----------------------------+-------+ \\
      //  +-----------------+-------+  \\         /       |       |   \
    ||    |                 |       |    ||         +-----V-+-----V-+  |
   | +----V----------+  +---V---+---V---+  |    |   |DOTS   |DOTS   |  |
   | |DOTS   |DOTS   <-->DOTS   |DOTS   <--+----+--->Server |Client |  |
   | |Server |Client |  |Server |Client |  |    |   +-----A-+------A+  |
   | +--A----+-------+  +----A--+---A---+  |     |    Controller  /    |
   |    | Controller       Controller\     |     |      /        /     |
    ||  |                    | \      \  ||       \   //       //     /
      \\|                    |  \      //          \\/   ISP2 /     //
        |\\        ISP1      |   \   //  \          / \\     /   ///
        |  \\\\-             | -////      \        /    ----/----
        |       -+-----------+-    \       \      /        /
        |                    |      \       \    /        /
        |                    |       \       \  /        /
    +---V---+           +----V--+     \   -----/---    //
    |DOTS   |           |DOTS   |      \//   / \\  \\ /
    |Client |           |Client |    // \   /    \   /\\
    +-------+           +-------+   /    \ /      \ /   \
    Customer            Customer      +---V---+----V--+  |     +-------+
                                  |   |DOTS   |DOTS   |  |     |DOTS   |
                                  |   |Client |Server <---+---->Client |
                                  |   +-------+-------+   |    +-------+
                                   |    Controller       |     Customer
                                   |                     |
                                    \   cloud based     /
                                     \\  Anti-DDoS    //
                                       \\\ Provider ///
                                          --------

      Figure 1: Distributed Architecture for Inter-organization DDoS
                            Protection Service

   As shown in above diagram, when the customer is suffering a large
   traffic DDoS attack, it acts as the DOTS client to request DDoS
   protection service to its operator.  The operator's controller acts
   as the DOTS server to authenticate the customer's validity and then
   initiate the intra-organization DDoS mitigation service with its own
   resource for the customer.  If the controller finds the attack volume
   exceeds it capacity, or the attack type is unknown type, or its



Nishizuka, et al.         Expires June 30, 2017                 [Page 8]

Internet-Draft     Inter-organization DDoS protection      December 2016


   inter-organization upstream link is congested, it should act as the
   DOTS client to request inter-organization coordinated DDoS Protection
   service to its upstream operators' controller which it has
   cooperative relation with.  The operator's controller should support
   the functions of DOTS server and DOTS client at the same time in
   order to participate in the system of inter-organization DDoS
   protection service.  In other words, as the representative for an
   operator's DDoS protection service, the controller manages and
   provides DDoS mitigation service to its customer in one hand, but may
   require helps from other operators under some situation especially
   when the attack volume exceeds its capacity or the attack is from
   other operators.  The inter-organization coordination can be a
   repeated process until the nearest operator located from the attack
   source receives the inter-organization coordination request and
   starts to mitigate the attack traffic.

   In particular, each operator is able to decide its responding actions
   to its peering operator's request flexibly by its internal policies,
   such as whether or not perform the mitigation function, or relay the
   request message to other operators.  But these are out of the scope
   of this document.

   The distributed architecture is straightforward and simple when the
   number of member operators are not too large.  For deployment, all
   the work an operator needs to do is to configure other cooperative
   member operator's information (i.e., IP, port, DNS name, etc) and
   relevant policies for subsequent inter-organization communication.
   Regarding to operation, each operator's controller just performs the
   mitigation service according to customer's request and possibly
   requests for inter-organization helps to other operators if
   necessary.  In the meantime, the mitigation report and statistics
   information is exchanged between the peering operators for the goal
   of monitoring and accounting.

   Some points for this architecture are noted as below:

   o  Every operator controller only has the information of those
      opeators which have cooperative relation with it, and does not
      necessarily have the information of all operators participated in
      the inter-organization DDoS protection service.  The incomplete
      information may not lead to the most optimized operation

   o  When the number of member operators is very large, a new joining
      operator will be required to configure and maintain a lot of
      peering operators' information.  It's very complex and error-prone

   o  Due to the exclusive repeating nature of the this architecture
      mentioned above, it's possible that the really effective



Nishizuka, et al.         Expires June 30, 2017                 [Page 9]

Internet-Draft     Inter-organization DDoS protection      December 2016


      mitigation service by one upstream operator starts after several
      rounds of repeating the inter-organization coordination process.
      It may take a long time and is unacceptable

4.2.  Centralized Architecture

   For the centralized architecture, the biggest difference from the
   distributed architecture is that a centralized orchestrator exists
   for controlling the inter-organization DDoS protection coordination
   centrally.  The centralized architecture for the inter-organization
   DDoS protection service is illustrated in the following diagram:

                                    Orchestrator
                                +-------+-------+
                                ADOTS   |DOTS   A
                               /|Server |Client |\
                             /  +---AA--+A--A---+  \
                           /        |  \  /          \
                         /          |/  /\            \
                       /           /| /    \            \
                -----/---------- /  /       \           --\------
           ////-   /           /\\\\|         \      ///   \     \\\
        ///      /           /   /  |\\        \   //        \      \\
      //       /           /   /    |  \\        \/            \      \
    ||       /           /   /      |    ||       \ +-------+---V---+  |
   | +-----V---------+ /+---V---+---V---+  |    |  \|DOTS   |DOTS   |  |
   | |DOTS   |DOTS   V  |DOTS   |DOTS   |  |    |   VClient |Server |  |
   | |Client |Server |  |Server |Client |   |   |   +-------+---A---+  |
   | +-------+---A---+  +----A--+-------+  |     |   Controller |      |
   |  Controller |           |  Controller |     |              |      |
    ||           |           |           ||       \             |     /
      \\         |           |         //          \\    ISP2   |   //
        \\\      | ISP1      |       //              \\\        |///
           \\\\- |           | -////                    --------+
                -+-----------+-                                 |
                 |           |                                  |
                 |           |                                  |
           +-----V-+    +----V--+                           +---V---+
           |DOTS   |    |DOTS   |                           |DOTS   |
           |Client |    |Client |                           |Client |
           +-------+    +-------+                           +-------+
           Customer     Customer                            Customer

      Figure 2: Centralized Architecture for Inter-organization DDoS
                            Protection Service

   As shown in above diagram, the orchestrator is the core component to
   the whole system.  Each operator controller only communicates with it



Nishizuka, et al.         Expires June 30, 2017                [Page 10]

Internet-Draft     Inter-organization DDoS protection      December 2016


   for the goal of registering, coordination requesting and reporting.
   When it receives the inter-organization coordination request message
   from the operator controller, a simple way is to notify all the other
   operator controllers which have registered to the orchestrator, to
   enable the possible mitigation services.  Another way is to choose a
   number of operators to notify them to enable the mitigation services
   according to the traceback result or other policies.  The details
   about traceback are to be discussed in future.  Based on the above
   analysis, the orchestrator is also a combination of DOTS server and
   DOTS client which support both functions at the same time.

   In addition to the orchestrator and its related functions, the
   signaling and operations of centralized architecture are very similar
   to the distributed architecture.

   The centralized architecture has its own characteristics as below:

   o  Since it is the centralized architecture, the orchestrator is easy
      to suffer the single failure problem like failure, congestion and
      performance downgrade, which directly influences the availability
      of the whole system.  This can be improved by some redundancy
      mechanism

   o  A centralized orchestrator facilitates the auto-discovery
      mechanism for the member operators.  And for each controller, its
      deployment and operation becomes easy since it is only required to
      communicate with the orchestrator during the whole process

   o  Due to the direct communication between the orchestrator and all
      controllers, the inter-organization DDoS coordination is able to
      be finished in a short and fixed time period

   o  Only the central orchestrator is required to support different
      transport protocols (e.g., TCP, UDP, CoAP) to communicate with all
      the controllers.  The orchestrator is able to translate and relay
      different transport protocols among all the operators.  So, the
      operator controller uses one transport protocol to communicate
      with orchestrator and is not required to support multiple kinds of
      transport protocol

5.  Inter-organization DOTS Protocol

   According to [I-D.draft-ietf-dots-requirements], DOTS protocols MUST
   take steps to protect the confidentiality, integrity and authenticity
   of messages sent between the DOTS client and server, and provide peer
   mutual authentication between the DOTS client and server before a
   DOTS session is considered active.  The DOTS agents can use HTTPS
   (with TLS) for the goal of protocol security.  The HTTP RESTful APIs



Nishizuka, et al.         Expires June 30, 2017                [Page 11]

Internet-Draft     Inter-organization DDoS protection      December 2016


   are used in this section as the protocol channel, and the DOTS
   message content can be in JSON format.

   With respect to the inter-organization DOTS protocol, all the DOTS
   messages are exchanged between DOTS client and server, no matter what
   the architecture (distributed or centralized) is.  So, the message
   formats and operations of DOTS protocol ought to be the same for all
   architecture options.  The DOTS messages can be categorized by which
   time period they are mainly required in for DDoS protection, as
   below:

   o  Provisioning stage: Before getting attacked by malicious traffic,
      a DOTS client should register itself to the DOTS server, as well
      as enable capacity building in advance

   o  Signaling stage: Once the DOTS client has registered itself to the
      DOTS server, the DOTS session is created between them and the
      signaling stage begins.  The signaling stage ends when the DOTS
      client cancels its registration to the DOTS server and the DOTS
      session is closed.  During the signaling stage, the DOTS client
      should ask the DOTS server for DDoS mitigation service to the
      customer service under attack once the attack is detected.  When
      the attack is over, the DOTS client should notify the DOTS server
      to stop the mitigation service.

   DOTS protocol can run on HTTPS (with TLS) and support several
   different ways for authentication:

   o  Employ bidirectional certificate authentication ([ITU-T X.509]) on
      the DOTS server and client: Both DOTS server and client need to
      verify the certificates of each other

   o  Employ unidirectional certificate authentication ([ITU-T X.509])
      on the DOTS server: Only the DOTS server needs to install the
      certificate.  The DOTS client needs to verify its certificate.  In
      the opposite direction, DOTS server can authenticate DOTS client
      by the ways of user/role:password, IP address white-list or
      digital signature

   o  Employ bidirectional digital signature authentication on the DOTS
      server and client: In this condition, the DOTS server and client
      must keep the customer's private key safely, which is used for
      calculate the digital signature

   Besides authenticating the DOTS client, the DOTS server also verifies
   the timestamp of the packets from the DOTS client.  If the time
   difference between the timestamp and the current time of the DOTS
   server exceeds the specified threshold (60 seconds as an example),



Nishizuka, et al.         Expires June 30, 2017                [Page 12]

Internet-Draft     Inter-organization DDoS protection      December 2016


   the DOTS server will consider the packet invalid and will not process
   it.  Therefore, NTP must be configured on both the DOTS server and
   client to ensure time synchronization.  This method can protect DOTS
   server against the replay attack effectively.

   The following sections present the detailed description of all the
   DOTS messages for each stage, and the relevant DOTS protocol
   operations.

5.1.  Provisioning Stage

   In the provisioning stage, DOTS client can be located either in the
   customer side, in the operator controller or in the inter-
   organization orchestrator (for the centralized architecture).  In any
   cases, the DOTS client should register itself to its peering DOTS
   server which provides the intra/inter organization DDoS mitigation
   service to it, in order to set up the DOTS protocol session.  More
   importantly, the registration process also facilitates the auto-
   discovery, capacity building and configuration between the DOTS
   client and server.

5.1.1.  Messages

   In the provisioning stage, the messages of registration (DOTS client
   to server), registration response (DOTS server to client),
   registration cancelling (DOTS client to server) and registration
   cancelling response (DOTS server to client) are required.  Since all
   the messages in this stage are not expected to be used under the DDoS
   attack conditions, transmitting all the messages through DOTS data
   channel over the TLS is able to meet the requirements of reliability,
   privacy and integrity.

   The HTTP POST method with the message body in JSON format is used for
   the registration and registration response messages as below:

      METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/registration
      registration body:
      {
       "customer_name": string;
       "ip_version": string;
       "protected_zone": [
            "index": number;
            "need_alias": string;
            "ipv4_CIDR": string;
            "ipv6_address": string;
            "BGP_route": string;
            "SIP_URI": string;
            "E164_number": string;



Nishizuka, et al.         Expires June 30, 2017                [Page 13]

Internet-Draft     Inter-organization DDoS protection      December 2016


            "DNS_name": string;
       ];
       "protected_port": string;
       "protected_protocol": string;
       "countermeasures": string;
       "tunnel_information": string;
       "next_hop": string;
       "security_profile": {
           "TLS": string;
           "DTLS": string;
           "CoAP": string;
       }
       "white_list": [
           "name": string;
           "source_ip": string;
           "destination_ip": string;
           "source_port": string;
           "destination_port": string;
           "protocol": string;
           "length": string;
           "TTL": string;
           "DSCP": number;
           "ip_flags": number;
           "tcp_flags": number;
       ];
       "black_list": [
           "name": string;
           "source_ip": string;
           "destination_ip": string;
           "source_port": string;
           "destination_port": string;
           "protocol": string;
           "length": string;
           "TTL": string;
           "DSCP": number;
           "ip_flags": number;
           "tcp_flags": number;
       ];
      }
      registration response body:
      {
       "customer_name": string;
       "customer_id": string;
       "alias_of_mitigation_address": [
           "index": number;
           "alias": string;
       ];
       "security_profile": string;



Nishizuka, et al.         Expires June 30, 2017                [Page 14]

Internet-Draft     Inter-organization DDoS protection      December 2016


       "access_token": string;
       "thresholds_bps": number;
       "thresholds_pps": number;
       "duration": number;
       "capable_attack_type": string;
       "registration_time": string;
       "mitigation_status": string;
       }


      Registration body:
      customer_name: The name of the customer (DOTS client);
      ip_version: Current IP version. It can be "v4" or "v6";
      protected_zone: Limit the address range of protection. Especially
      it will be limited to the prefixes possessed by the customer;
          index: index of the protected zone;
          need_alias: the flag representing if this protected zone needs
          an alias. "true" represents that the alias is needed;
          ipv4_CIDR: ipv4 CIDR address or prefix scope of 
          the protected zone;
          ipv6_address: ipv6 address or prefix scope of the protected
          zone;
          BGP_route: BGP route of the protected zone;
          SIP_URI: SIP URI of the protected zone;
          E164_number: E.164 number of the protected zone;
          DNS_name: DNS name of the protected zone;
      protected_port: Limit the port range of protection, "0" represents
      all the ports are to be protected;
      protected_protocol: Valid protected protocol values include tcp and
      udp, "all" represents all the protocols are to be protected;
      countermeasures: Some of the protection need mitigation and others
      need Blackholing, "all" represents the DOTS client can accept all
      kinds of countermeasures;
      tunnel_information: The tunnel between the mitigation provider's
      network and the customer's network. Tunnel technologies such as
      GRE[RFC2784] can be used to return normal traffic. "null" represents
      there is no tunnel information provided and the DOTS server can
      decide the return tunnel for the normal traffic by itself;
      next_hop: The returning path to the customer's network. "null"
      represents there is no next hop information provided and the DOTS
      server can decide it by itself;
      security_profile: The security profile in transport layer for the
      DOTS signaling channel that DOTS client supports;
          TLS: "true" represents that the DOTS client supports TLS over
          TCP, "false" represents the opposite side;
          DTLS: "true" represents that the DOTS client supports DTLS
          over UDP, "false" represents the opposite side;
          CoAP: "true" represents that the DOTS client supports CoAP,
          "false" represents the opposite side;
      white_list: The white-list information provided to the DOTS server;
      name: Name of the white-list;
      source_ip: The source ip address attribute used in the white-list;
      destination_ip: The destination ip address attribute used in the
      white-list;
      source_port: The source port attribute used in the white-list;
      destination_port": The destination port attribute used in the
      white-list;
      protocol: The protocol attribute in ip packet header used in the
      white-list;
      length: The length attribute in ip packet header used in the
      white-list;
      TTL: The TTL attribute in ip packet header used in the white-list;
      DSCP: The DSCP attribute in ip packet header used in the
      white-list;
      ip_flags: The ip flags attribute used in the white-list;
      tcp_flags: The tcp flags attribute used in the white-list;

      black_list: The black-list information provided to the DOTS
      server;
      name: Name of the black-list;



Nishizuka, et al.         Expires June 30, 2017                [Page 15]

Internet-Draft     Inter-organization DDoS protection      December 2016


      source_ip: The source ip address attribute used in the black-list;
      destination_ip: The destination ip address attribute used in the
      black-list;
      source_port: The source port attribute used in the black-list;
      destination_port: The destination port attribute used in the
      black-list;
      protocol: The protocol attribute in ip packet header used in the
      black-list;
      length: The length attribute in ip packet header used in the
      black-list;
      TTL: The TTL attribute in ip packet header used in the black-list;
      DSCP: The DSCP attribute in ip packet header used in the
      black-list;
      ip_flags: The ip flags attribute used in the black-list;
      tcp_flags: The tcp flags attribute used in the black-list;


      registration response body:
      customer_name: The name of the customer (DOTS client);
      customer_id: The unique id of the customer (DOTS client);
      alias_of_mitigation_address:
           index: index of the protected zone;
           alias: The alias that the DOTS server assigns to this
           protected zone;
      security_profile: The negotiated security profile for the DOTS
      session;
      access_token: Authentication token (e.g. pre-shared nonce).
      "null" represents there is no access token;
      thresholds_bps: If an attack volume is over this threshold,
      the controller will reject the protection in order to comply with
      the negotiated contract;
      thresholds_pps: If an attack volume is over this threshold, the
      controller will reject the protection in order to comply with the
      negotiated contract;
      duration: If an attack longed over this threshold, the controller
      will reject the protection in order to comply with the negotiated
      contract;
      capable_attack_type: Limit the protectable attack type;
      registration_time: The time of registration;
      mitigation_status: The status of current mitigation service of
      the ISP.

   Similarly, another HTTP POST method with the message body in JSON
   format is used for the registration cancelling and registration
   cancelling response messages as below:





















Nishizuka, et al.         Expires June 30, 2017                [Page 16]

Internet-Draft     Inter-organization DDoS protection      December 2016


    METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/
    registration_cancelling
       registration cancelling body:
       {
       "customer_id": string;
       "reasons": string;
       }
       registration cancelling response body:
       {
       "customer_id": string;
       "result": string;
       }

       Registration cancelling body:
       customer_id: The unique id of the customer (DOTS client);
       reasons: The reasons why the DOTS client cancel the registration;

       registration cancelling response body:
       customer_id: The unique id of the customer (DOTS client);
       result: The final result if the DOTS controller accepts the
       registration cancelling request.

5.1.2.  Operations

   The main operations in the provisioning stage include:

   o  The customers (DOTS client) registers to operator controller with
      configuration and capability building including protection
      methods, process capacity, protected zone, security profile,
      white/black-list, etc;

   o  The DOTS client in operator controller registers to the DOTS
      server in inter-organization orchestrator (centralized
      architecture) or other operator controllers (distributed
      architecture) according to inter-organization DDoS protection
      requirements;

   o  The DOTS client can send the registration cancelling message to
      the DOTS server for cancelling its DDoS protection service.

   The DOTS server indicates the result of processing the POST request
   using HTTP response codes:

   o  Response code 200 (OK) will be returned in the response if the
      DOTS server has accepted the mitigation request and will try to
      mitigate the attack.  The HTTP response will include the JSON body
      of response messages specified above;

   o  If the request is missing one or more mandatory attributes then
      400 (Bad Request) will be returned in the response or if the



Nishizuka, et al.         Expires June 30, 2017                [Page 17]

Internet-Draft     Inter-organization DDoS protection      December 2016


      request contains invalid or unknown parameters then 500 (Invalid
      query) will be returned in the response.  The HTTP response will
      include the JSON body received in the request, with an extra
      attribute to represent the specific error reason:

           "error_reason": number;
              0: Bad Request;
              1: Invalid Query;
              2: Server Error;
              3: Protected Zone Confliction;
              4: Countermeasure Not Support;
              5: Security Profile Not Support;
              6: Confliction Exists for White-list or Black-list;
              255: Others;

5.2.  Signaling Stage

   During the signaling stage, the DOTS signaling channel created with
   the negotiated security profile in the provisioning stage is used for
   the DDoS attack mitigation coordination.  Once the DOTS client
   detects the attack to the customer service, a mitigation initiation
   request message is created and sent to the provisioned DOTS server to
   call for the DDoS protection service.  The DOTS server decides to
   protect the customer service based on the information from the
   request message and its configured policy.  One operator's DOTS
   server may ask the co-located DOTS client to resume sending the
   mitigation initiation request message to other operators' DOTS server
   to request the inter-organization coordinated mitigation service
   while it isn't able to deal with the attack by itself.  Meanwhile,
   some other messages are required to be communicated between DOTS
   client and server for information updates about status, efficacy and
   scope.  When the DOTS server is informed from the mitigator that the
   attack is over, it should notify the DOTS client to terminate the
   mitigation service.

5.2.1.  Messages

   In the signaling stage, the DOTS signaling channel is expected to
   transmit DOTS messages under extremely hostile network conditions
   such as link saturation.  To meet the requirements of resilience and
   robustness, unidirectional messages MUST be supported within the
   bidirectional signal channel to allow for unsolicited message
   delivery, enabling asynchronous notifications between DOTS client and
   server.  So, the listed DOTS messages are required: mitigation
   initiation request (DOTS client to server), mitigation efficacy
   updates (DOTS client to server), mitigation status updates (DOTS
   server to client), mitigation termination (DOTS client to server),




Nishizuka, et al.         Expires June 30, 2017                [Page 18]

Internet-Draft     Inter-organization DDoS protection      December 2016


   mitigation termination status acknowledgement (DOTS client to server)
   and heartbeat (bidirectional message).

   Mitigation Request:

   A HTTP POST method with the message body in JSON is used for the
   mitigation request message:

       METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/
       mitigation_request
         mitigation request body:
         {
          "version": string;
          "type": string;
          "alert_id": string;
          "sender_id": string;
          "sender_asn": string;
          "mitigation_action": number;
          "lifetime": number;
          "max_bandwidth": number;
          "packet_header": {
              "dst_ip": string;
              "dst_ports": string;
              "src_ips": string;
              "src_ports": string;
              "protocols": string;
              "tcp_flags": string;
              "fragment": string;
              "pkt_len": string;
              "icmp_type": string;
              "icmp_code": string;
              "DSCP": string;
              "TTL": string;
          }
          "current_throughputs": {
              "bps": string;
              "pps": string;
          }
          "peak_throughputs": {
              "bps": string;
              "pps": string;
          }
          "average_throughputs": {
              "bps": string;
              "pps": string;
          }
          "info": {
              "attack_types": string;
              "started": number;



Nishizuka, et al.         Expires June 30, 2017                [Page 19]

Internet-Draft     Inter-organization DDoS protection      December 2016


              "ongoing": number;
              "severity": number;
              "direction": number;
              "health": number;
          }
          "vendor": {
              "name": string;
              "version": string;
              "payload": {
                     "offset": number;
                     "content": string;
                     "hash": string;
              }
           }
         }



         mitigation request body:
         version: A 3 digit set, similar to linux.  (Major.Minor.Revision);
         type: Only "attack" in scope for v1;
         alert_id: A SHA-256 hash that is derived from DST_IP and started
         with some random nonce;
         sender_id: A SHA-256 hash signature of the sender. This is used
         to validate who sent it;
         sender_asn: Asn of the sender. Could be used to link back to
         sender_id to validate the sender of being a valid sender_id;
         mitigation_action: The requested mitigation actions by DOTS client.
         Possible value could be: 1 - mitigation, 2 - blackhole,
         3 - flowspec, ...;
         lifetime: The desired lifetime of the mitigation service from the
         DOTS client. Upon the expiry of this lifetime, and if the request
         is not refreshed, the mitigation service is stopped.
         The service can be refreshed by sending the message with the same
         "alert_id" again. A lifetime of zero indicates indefinite lifetime
         for the mitigation service. This is an optional attribute in the
         request message;
         max_bandwidth: The max bandwidth DOTS client can undertake.
         The unit is "G bytes";
         packet_header: IP packet header contents used for report.
         CSV (Comma Separated Values) format is used here when multiple
         values are possible. Note that no spaces between comma's for CSV
         format, and the multiple values for every attribute should be in
         the same order as they are assigned.
            dst_ip: A single /32 ip under attack;
            dst_ports: The destination port(s) used for the attack;
            src_ips: The list of source ips of the attack;
            src_ports: The source port(s) used for the attack;
            protocols: The protocol numbers used for the attack. The list
            of IP protocol numbers are defined and maintained by IANA;
            tcp_flags: The tcp flags used for the attack. Possible value
            could be: SYN, FIN, ACK, PSH, RST, URG, NULL;
            fragment: The fragment flags in ip header for the attack.
            Possible value could be: DF - Don't fragment, IsF - Is a
            fragment, FF - First fragment, LF - Last fragment;
            pkt_len: The packet length used for the attack;
            icmp_type: The icmp type used for the attack;
            icmp_code: The icmp code used for the attack;
            DSCP: The DSCP value used for the attack.;
            TTL: The TTL value used for the attack;
            current_throughputs: Current throughput in bps/pps for the
            above attack flows
            bps: bytes per second;
            pps: packets per second;



Nishizuka, et al.         Expires June 30, 2017                [Page 20]

Internet-Draft     Inter-organization DDoS protection      December 2016


         peak_throughputs: The peak throughput in bps/pps for the above
         attack flows until the time the DOTS request message is sent
            bps: bytes per second;
            pps: packets per second;
         average_throughputs: The calculated average throughput in
         bps/pps for the above attack flows until the time the DOTS
         request message is sent
            bps: bytes per second;
            pps: packets per second;
         info: Other general information which is possibly useful
            attack_types: List of attacks being used together for this
            attack, on this single DST_IP;
            started:  Unix EPOCH when the attack is started;
            ongoing: The value representing whether the attack is still
            ongoning. 1 - yes, 0 - no;
            severity: The severity level of the attack. 1, 2, 3 - low,
            medium, high;
            direction: The direction of the attack. in or out;
            health: The health condition of the DOTS client. 0-100;
         vendor:
            name: Company name;
            version: version of the DOTS client on the vendors device;
            payload: The attack packet payload provided to DOTS server
            for further analysis
               offset: The payload offset;
               content: The payload content that is base64 encoded;
            hash:  A SHA-256 hash used as a checksum, of the original
            payload before being base64 encoded. This is to proof the
            payload is complete. Not to prove if
                   it has been tampered with;

   Mitigation Status Exchange:

   A HTTP POST method with the message body in JSON is used for the
   mitigation efficacy updates message:

       METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/
       mitigation_efficacy_updates
         mitigation efficacy updates body:
         {
          "version": string;
          "alert_id": string;
          "sender_id": string;
          "sender_asn": string;
          "attack_status": string;
          "health": number;
         }

         mitigation efficacy updates body:
         version: A 3 digit set, similar to linux.
         (Major.Minor.Revision);
         alert_id: A SHA-256 hash that is derived from DST_IP and
         started with some random nonce;
         sender_id: A SHA-256 hash signature of the sender.
         This is used to validate who sent it;
         sender_asn: Asn of the sender. Could be used to link back to
         sender_id to validate the sender of being a valid sender_id;
         attack_status: The current attack status of the DOTS client.
         Possible value could be: 0 - in-process, 1 - terminated;
         health: The health condition of the DOTS client. 0-100;

   A HTTP POST method with the message body in JSON is used for the
   mitigation status updates message:



Nishizuka, et al.         Expires June 30, 2017                [Page 21]

Internet-Draft     Inter-organization DDoS protection      December 2016


      METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/
      mitigation_status_updates
      mitigation status updates body:
     {
      "version": string;
      "alert_id": string;
      "sender_id": string;
      "sender_asn": string;
      "status": number;
      "error_reason": number;
      "lifetime": number;
      "source_ports": string;
      "destination_ports": string;
      "source_ips": string;
      "destination_ip": string;
      "TCP_flags": string;
      "start_time": number;
      "end_time": number;
      "forwarded_total_packets": number;
      "forwarded_total_bits": number;
      "forwarded_peak_pps": number;
      "forwarded_peak_bps": number;
      "forwarded_average_pps": number;
      "forwarded_average_bps": number;
      "malicious_total_packets": number;
      "malicious_total_bits": number;
      "malicious_peak_pps": number;
      "malicious_peak_bps": number;
      "malicious_average_pps": number;
      "malicious_average_bps": number;
      "record_time": string;
      }


      mitigation status updates body:
      version: A 3 digit set, similar to linux. 
      (Major.Minor.Revision);
      alert_id: A SHA-256 hash that is derived from DST_IP and started
      with some random nonce;
      sender_id: A SHA-256 hash signature of the sender. This is used to
      validate who sent it. The sender is the DOTS server for this
      message;
      sender_asn: Asn of the sender. Could be used to link back to
      sender_id to validate the sender of being a valid sender_id;
      status: Current mitigation status, such as: pending, ongoing, done,
      error;
      error_reason: If status attribute is error, then this attribute
      expresses its reason, the possible value could be: 0 - Bad Request,
      1 - Server Error, 3 - Mitigation Scope Confliction, 4 - Mitigation
      Action Not Support, 255 - Others;
      lifetime: The lifetime of mitigation service that DOTS server has
      assigned to DOTS client. DOTS client MUST follow this value;
      source_ports: For TCP or UDP or SCTP or DCCP: the source range of
      ports (e.g., 1024-65535) of the discarded traffic;
      destination_ports: For TCP or UDP or SCTP or DCCP: the destination
      range of ports (e.g., 1-443) of the discarded traffic;
      source_ips: The source IP addresses or prefixes of the discarded
      traffic;
      destination_ip: The destination IP addresses or prefixes of the
      discarded traffic;
      TCP_flags: TCP flag of the discarded traffic;
      start_time: The start time for the duration of this mitigation
      status message;



Nishizuka, et al.         Expires June 30, 2017                [Page 22]

Internet-Draft     Inter-organization DDoS protection      December 2016


      end_time: The end time for the duration of this mitigation status
      message;
      forwarded_total_packets: The total number of packets forwarded;
      forwarded_total_bits: The total bits for all the packets forwarded;
      forwarded_peak_pps: The peak pps of the traffic forwarded;
      forwarded_peak_bps: The peak bps of the traffic forwarded;
      forwarded_average_pps: The average pps of the traffic forwarded;
      forwarded_average_bps: The average bps of the traffic forwarded;
      malicious_total_packets: The total number of malicious packets;
      malicious_total_bits: The total bits of malicious packets;
      malicious_peak_pps: The peak pps of the malicious traffic;
      malicious_peak_bps: The peak bps of the malicious traffic;
      malicious_average_pps: The average pps of the malicious traffic;
      malicious_average_bps: The average bps of the malicious traffic;
      record_time: The time the mitigation status updates message is
      created;

   Mitigation Termination:

   A HTTP POST method with the message body in JSON is used for the
   mitigation termination request message:

      METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/
      mitigation_termination_request
         mitigation termination request body:
         {
          "version": string;
          "alert_id": string;
          "sender_id": string;
          "sender_asn": string;
         }

      mitigation termination request body:
      version: A 3 digit set, similar to linux.  (Major.Minor.Revision);
      alert_id: A SHA-256 hash that is derived from DST_IP and started
      with some random nonce;
      sender_id: A SHA-256 hash signature of the sender. This is used
      to validate who sent it;
      sender_asn: Asn of the sender. Could be used to link back to
      sender_id to validate the sender of being a valid sender_id;

   A HTTP POST method with the message body in JSON is used for the
   mitigation termination status acknowledgement message:














Nishizuka, et al.         Expires June 30, 2017                [Page 23]

Internet-Draft     Inter-organization DDoS protection      December 2016


        METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/
        mitigation_termination_status_acknowledgement
         mitigation termination status acknowledgement body:
         {
          "version": string;
          "alert_id": string;
          "sender_id": string;
          "sender_asn": string;
         }

        mitigation termination status acknowledgement body:
        version: A 3 digit set, similar to linux.
        (Major.Minor.Revision);
        alert_id: A SHA-256 hash that is derived from DST_IP and started 
        with some random nonce;
        sender_id: A SHA-256 hash signature of the sender. This is used
        to validate who sent it;
        sender_asn: Asn of the sender. Could be used to link back to
        sender_id to validate the sender of being a valid sender_id;

   Heartbeat:

   A HTTP POST method with the message body in JSON is used for the
   heartbeat message:

       METHOD:POST - URL:{scheme}://{host}:{port}/dots/api/heartbeat
         heartbeat body
         {
          "version": string;
          "sender_id": string;
          "sender_asn": string;
         }

        heartbeat body:
        version: A 3 digit set, similar to linux.
        (Major.Minor.Revision);
        sender_id: A SHA-256 hash signature of the sender. This is used
        to validate who sent it;
        sender_asn: Asn of the sender. Could be used to link back to
        sender_id to validate the sender of being a valid sender_id;

5.2.2.  Operations

   The main operations in the signaling stage include:

   o  The customer (DOTS client) detects malicious attack, requests
      mitigation service to its operator controller (DOTS server);

   o  DOTS server authenticates and provides its intra- organization
      mitigation service to the DOTS client;

   o  When the DOTS server are mitigating the attack and finding the
      attack volume exceeds it capacity, or the attack type is unknown
      type, or its upstream link is congested, it should request to
      other DOTS server for inter-organization cooperation;




Nishizuka, et al.         Expires June 30, 2017                [Page 24]

Internet-Draft     Inter-organization DDoS protection      December 2016


   o  Working DOTS server report their statistics results by mitigation
      status updates message to the DOTS client;

   o  The DOTS client can updates its mitigation scope to the DOTS
      server by resending the mitigation request message.  It also can
      update its mitigation efficacy result to the DOTS server;

   o  When the DOTS server is informed from the mitigator that the
      attack is over, it should notify the DOTS client by the mitigation
      status updates message to terminate the mitigation service;

   o  When DOTS client is notified by the DOTS server to terminate its
      mitigation service, it should send a DOTS termination request
      message to the DOTS server.  The DOTS server stop its mitigation
      service and notifies it to DOTS client by sending DOTS status
      updates message.  At last, DOTS client sends a DOTS mitigation
      termination acknowledgement message to finish the whole DOTS
      session;

   o  The heartbeat message is exchange between the DOTS client and DOTS
      server to check their respective status.  If any side of the
      channel fails to receive the heartbeat message, then it will
      trigger an alert or further investigation into why they never
      reached their destination.

6.  Other Considerations

6.1.  Billing Data

   This is not technical nor a part of dots protocol but it has relation
   to deployment models.  If other organization utilized resources of
   DDoS protection service, it is natural to charge it according to the
   amount of use.  However, how to count the amount of use differs among
   DDoS protection service providers.  For example, some DDoS protection
   service provider charges users by volume of the attack traffic or
   dropped packets.  On the other hand, some of them use volume of
   normal traffic.  Number of execution can be also used.  We can not
   decide what information should be taken into account for billing
   purpose in advance, however those information is needed to be
   exchanged while coordinating DDoS protection.  These information
   could be also used to determine which service would be used when
   asking for help.  Though it is out of the scope of dots, coordinating
   and optimizing the cooperation in the aspect of business is difficult
   to solve.







Nishizuka, et al.         Expires June 30, 2017                [Page 25]

Internet-Draft     Inter-organization DDoS protection      December 2016


7.  Security Considerations

   TBD

8.  IANA Considerations

   No need to describe any request regarding number assignment.

9.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC2784]  D. Farinacci., T. Li., S. Hanks., D. Meyer., and P.
              Traina., "Generic Routing Encapsulation (GRE), March
              2000".

   [I-D.draft-ietf-dots-use-cases]
              R. Dobbins, Ed., S. Fouant., D. Migault., R.  Moskowitz.,
              N. Teague., L. Xia, K. Nishizuka., "Use cases for DDoS
              Open Threat Signaling, October 2015".

   [I-D.draft-ietf-dots-requirements]
              A. Mortensen., R. Moskowitz., and T.  Reddy., "DDoS Open
              Threat Signaling Requirements, draft-ietf-dots-
              requirements-00, October 2015".

   [I-D.draft-mortensen-dots-architecture]
              A. Mortensen., F. Andreasen., T. Reddy., C. Gray., R.
              Compton., and N. Teague., "Distributed-Denial-of-Service
              (DDoS) Open Threat Signaling Architecture, March 2016".

   [I-D.draft-reddy-dots-transport]
              T. Reddy., D. Wing., P. Patil., M. Geller., M.
              Boucadair., and R. Moskowitz., "Co-operative DDoS
              Mitigation, October 2015".

Authors' Addresses

   Kaname Nishizuka
   NTT Communications
   GranPark 16F
   3-4-1 Shibaura, Minato-ku, Tokyo
   108-8118,Japan

   EMail: kaname@nttv6.jp



Nishizuka, et al.         Expires June 30, 2017                [Page 26]

Internet-Draft     Inter-organization DDoS protection      December 2016


   Liang Xia
   Huawei Technologies Co., Ltd.
   101 Software Avenue, Yuhuatai District
   Nanjing, Jiangsu
   210012, China

   EMail: frank.xialiang@huawei.com


   Jinwei Xia
   Huawei Technologies Co., Ltd.
   101 Software Avenue, Yuhuatai District
   Nanjing, Jiangsu
   210012, China

   EMail: xiajinwei@huawei.com


   Dacheng Zhang
   Beijing
   China

   EMail: dacheng.zdc@alibaba-inc.com


   Luyuan Fang
   Microsoft
   15590 NE 31st St
   Redmond, WA 98052

   EMail: lufang@microsoft.com


   Christopher Gray
   Comcast, Inc.
   United States

   EMail: Christopher_Gray3@cable.comcast.com


   Rich Compton
   Charter Communications, Inc.

   EMail: Rich.Compton@charter.com







Nishizuka, et al.         Expires June 30, 2017                [Page 27]