From isms-bounces@lists.ietf.org Fri Dec 08 17:25:16 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gso9Y-0005Kg-1v; Fri, 08 Dec 2006 17:25:12 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Gso9W-0005KM-PH
	for isms@ietf.org; Fri, 08 Dec 2006 17:25:10 -0500
Received: from kyoto.netlab.nec.de ([195.37.70.21])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gso9U-00013u-Ar
	for isms@ietf.org; Fri, 08 Dec 2006 17:25:10 -0500
Received: from [192.168.1.128] (unknown [91.89.53.224])
	by kyoto.netlab.nec.de (Postfix) with ESMTP id 4DE5413CF82
	for <isms@ietf.org>; Fri,  8 Dec 2006 23:29:39 +0100 (CET)
Date: Fri, 08 Dec 2006 22:33:36 +0100
From: Juergen Quittek <quittek@netlab.nec.de>
To: isms@ietf.org
Message-ID: <197AB6F199EEE7F03D82E5D0@753F3B888A9969457862729D>
X-Mailer: Mulberry/4.0.5 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-Spam-Score: 0.0 (/)
X-Scan-Signature: cf4fa59384e76e63313391b70cd0dd25
Cc: 
Subject: [Isms] draft minutes of the ISMS session in San Diego
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Dear all,

Please find draft minutes of our session in San Diego at
<http://www3.ietf.org/proceedings/06nov/minutes/isms.txt>

Please check them and send your comments or requests for
changes before December 22nd.

Thanks,

    Juergen
-- 
Juergen Quittek        quittek@netlab.nec.de       Tel: +49 6221 4342-115
NEC Europe Ltd.,       Network Laboratories        Fax: +49 6221 4342-155
Kurfuersten-Anlage 36, 69115 Heidelberg, Germany   http://www.netlab.nec.de


_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Tue Dec 12 06:58:36 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gu6HE-0001r6-21; Tue, 12 Dec 2006 06:58:28 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Gu6HC-0001qw-4o
	for isms@ietf.org; Tue, 12 Dec 2006 06:58:26 -0500
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gu6H9-0006iS-4c
	for isms@ietf.org; Tue, 12 Dec 2006 06:58:26 -0500
Received: from localhost (demetrius.iu-bremen.de [212.201.44.32])
	by hermes.iu-bremen.de (Postfix) with ESMTP id 3CDD25AD06;
	Tue, 12 Dec 2006 12:58:20 +0100 (CET)
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by localhost (demetrius.iu-bremen.de [212.201.44.32]) (amavisd-new,
	port 10024)
	with ESMTP id 13358-09; Tue, 12 Dec 2006 12:58:16 +0100 (CET)
Received: from boskop.local (unknown [10.50.250.214])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hermes.iu-bremen.de (Postfix) with ESMTP id 64D7A5971D;
	Tue, 12 Dec 2006 12:58:16 +0100 (CET)
Received: by boskop.local (Postfix, from userid 501)
	id B03458F7B38; Tue, 12 Dec 2006 12:57:15 +0100 (CET)
Date: Tue, 12 Dec 2006 12:57:15 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@iu-bremen.de>
To: Juergen Quittek <quittek@netlab.nec.de>
Subject: Re: [Isms] draft minutes of the ISMS session in San Diego
Message-ID: <20061212115715.GA116@boskop.local>
Mail-Followup-To: Juergen Quittek <quittek@netlab.nec.de>,
	isms@ietf.org
References: <197AB6F199EEE7F03D82E5D0@753F3B888A9969457862729D>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="mYCpIKhGyMATD0i+"
Content-Disposition: inline
In-Reply-To: <197AB6F199EEE7F03D82E5D0@753F3B888A9969457862729D>
User-Agent: Mutt/1.5.12-2006-07-14
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at iu-bremen.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 850245b51c39701e2700a112f3032caa
Cc: isms@ietf.org
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: j.schoenwaelder@iu-bremen.de
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org


--mYCpIKhGyMATD0i+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Fri, Dec 08, 2006 at 10:33:36PM +0100, Juergen Quittek wrote:
 
> Please find draft minutes of our session in San Diego at
> <http://www3.ietf.org/proceedings/06nov/minutes/isms.txt>
> 
> Please check them and send your comments or requests for
> changes before December 22nd.

Juergen,

attached is a new version with several typos fixed.

/js

-- 
Juergen Schoenwaelder		 {International|Jacobs} University Bremen
<http://www.eecs.iu-bremen.de/>	 P.O. Box 750 561, 28725 Bremen, Germany

--mYCpIKhGyMATD0i+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="isms.txt"

=======================================================
Integrated Security Model for SNMP WG (isms) at IETF 67
San Diego, Thursday, November 9, 2006 at 1510-1610
Taken by Juergen Quittek
=======================================================

Chairs: 
  Juergen Schoenwaelder <j.schoenwaelder@iu-bremen.de>
  Juergen Quittek       <quittek@netlab.nec.de>

Agenda:

0) Session summary
1) Agenda bashing, WG status
2) Discussion of existing WG drafts
3) Review of ISMS milestones
4) Performance analysis of SNMP over SSH


----------------
0) Session summary
As agreed at the last meeting, one of the two existing WG documents
was split into two.  The resulting three documents describe a transport
subsystem for SNMP, a transport security model for SNMP, and a SSH
security model for SNMP.  The new document structure is more modular
and simplifies the potential future specification of other security 
models, for example, a TLS security model in addition to the SSH
model that the ISMS WG develops.  The new document structure was 
approved by the WG and by the responsible AD Sam Hartman.

For the transport subsystem for SNMP and the transport security model
for SNMP all open issues have been resolved and the next versions of
these documents will enter WGLC.  The SSH security model for SNMP
will probably need two more revisions to be ready for WGLC.  The 
biggest open issue is the authentication for notifications.

The charter contains two more documents that do not yet exist.
One describes the usage of RADIUS for the SSH security model.
We have an individual draft, but kept it on hold until the SSH
security model had become sufficiently stable.  This has been
achieved with the current version of the SSH security model.
Now, work on the RADIUS document can go on and the initial WG
draft is planned for December.

The last document on the charter is an applicability statement 
for ISMS.  With the new modular structure, the WG considers it
preferable to have rather applicability statements per module
instead of a generic one for ISMS.  It was agreed to drop this
document and instead add a specific applicability statement to
the SSH security module.  This change was approved by the 
responsible AD.


----------------
1) WG Status (Juergen Quittek)
Only two of the four planned WG documents do exist yet.  One of them
has been split.   All are behind schedule.  Therefore, we need a
discussion of milestones later today.


----------------
2) Discussion of existing WG drafts (David Harrington)
  - Transport Subsystem for SNMP
    draft-ietf-isms-tmsm-04.txt
  - Transport Security Model for SNMP
    draft-ietf-isms-transport-security-model-00.txt
  - Secure Shell Transport Model for SNMP
    draft-ietf-isms-secshell-05.txt 

The main change since last meeting is the new structure containing:
  - a transport subsystem 
  - an SSH transport module 
  - a session security model
This structure was agreed at the last meeting, now it has been 
reflected by the document structure.

David H presented current ISMS issues.  
For the transport subsystem there are

  - #1a How to integrated the transport subsystem into the current
    SNMP architecture?  shall we pass all parameters through all
    involved SNMP ASIs?

  - #1b Which transport addressing scheme to be used (RFC3417, 
    RFC3419, RFC4001)?
    RFC3417 (snmpDomains) are the preferred choice.  Solves also
    issue #1a
    Jeff Hutzelman: What is in that SNMP address type?
    David H: The hostname.
    Jeff H: This does not have an effect our work so far?
    David H: Right.
    Jeff H: Sounds very SNMP-specific, but works OK.  This is a
    solution we can solve within our WG scope.  Other solutions
    might require extensions to SNMP architecture and would be
    out of scope.
  - #2 The transport subsystem MIB is not needed.  Will be eliminated.
All transport subsystem issues are solved.

For the SSH transport model there are the following issues:

  - #1 It is not independent of the security model.  May be possible
    to solve, but needs more work.
    Q: Why does it need to be independent?
    David H: You might want to use two different security models.
    Bert: Is the community name the securityName?
    David H: This may be wrong.  We will fix it.
    Wes Hardaker: The implementers will do what needs to be done with 
         the bits.  What is separated here in the architecture may 
         probably no be separated in an implementation.
    David H: Agreed.
    Jeff H: Can you still use USM for transport?
    David H: Implementors still have alternatives when implementing 
             systems.  They may not implement a transport model, but
             we want to make a recommendation on how it can be done.
             We still have to work through all the elements of 
             procedure.
    Juergen S: (via Jabber) I think the security model is determined 
               by the SNMPv3 message.  We just have to check that the 
               transport security model properly checks that a valid 
               tmStateReference is available from a secure transport.
    Wes: The implementers will do what need to be done.  Separation 
    is hard to get.  They are bound.
    Sam Hartman: Is the proposal to separate the TMSM from SSH TM so 
                 you can use another security model with SSH?
    David H: Yes.
    Juergen S: The transport security model which is left essentially 
               looks at the tmStateReference to pick up the required data 
               from a secure transport and then passes things on.  Since 
               the security model is determined by the SNMPv3 message, 
               we can in principle run other security models on top of SSH.
    Wes: You are adding a lot of complexity with very little gain.
         Your user base will be pretty small.
    Jeff H: It is not necessarily additional complexity, but an abstraction 
            that the security model and the transport model are separate.
    David H: The next version of the document will have this problem 
             solved or state that it cannot be solved.

  - #2 The SSH TM does not do everything that USM can do.  USM has a 
    built-in discovery mechanism. We do not yet have a discovery 
    mechanism built into the SSH TM or the Transport SM.  One 
    solution would be saying 'Let USM do this discovery of the 
    context engine ID'.
    Wes: USM does not discover the context engine ID, but the security 
         engine ID.
    David H: Correct. It's the security engine ID.  At this point in
             time we use USM for that discovery.  I would like at some
             time in the future to see a new mechanism doing discovery
             for any kind of transport model and any security model.
    Jeff H: SSH does not need a security engine ID?
    David H: No.  We discover the security engine ID only in order to
             get the context engine ID.
             We also rely on USM if you want to send a notification and
             no session has been set up yet.
    Eliot Lear: (via Jabber) If you are using USM for notifications,
                you have to define the USM user on every agent.  What
                we are doing here is getting around that.  In effect
                you are saying you cannot use notification if you want
                to benefit from ISMS.
    David H: Call home is not on our charter.  If I want a device to send
             some traps, I want to configure anyway where to send them to.
             I don't want them to be sent to random destinations.         
  - #3 We had a teleconference on asymmetric notification authentication
    but did not find a solution.  There are three options described on the
    slides.
    
For the transport security model issues are solved.
Some details need to be worked out in the next revision, but then we
should be close to WG last call.
 

----------------
3) Review of ISMS milestones (Juergen Quittek)
ISMS is behind schedule.  Planned was to submit the transport subsystem 
document and the SSH security model to the IESG in August 06.

Now we have split the planned SSH security model into a transport 
security model and a SSH transport model.

Juergen Q: Does anybody have a problem with splitting this document?
Nobody spoke up.

David H: The transport subsystem will be ready for WGLC after the next
         revision.  The security model may also be ready after the next
         revision.  The SSH transport model needs some more work.
Juergen Q: Let's set the deadlines to February for the first two and
         to April for the SSH transport model.

The document on RADIUS usage for the SSH security model does not exist 
as a WG draft but as an individual I-D.  This was OK, since the SSH 
security model has been a moving target.  But now it seems to have
become sufficiently stable to start working on the RADIUS document.

Juergen Q: Can we have a first version of the WG I-D in December.
David Nelson: We can have a document reflecting the current structure
              by December.

The charter contains another document: the ISMS applicability statement.
It was suggested to not have this document, but move applicability 
statements into the SSH transport model.

David H: The applicability of the SSH transport model do not necessarily 
         impact other transport models.  Having its applicability stated
         in the same document is probably the best way to go.
Juergen Q: This means we have to extend the SSH transport I-D by an
           applicability section.
Juergen Q: Does anyone have a problem with removing this document from 
           our charter?
Nobody spoke up.


----------------
4) Performance analysis of SNMP over SSH (Vladislav Marinov)
Vladislav presented measurements of performance for session-based
security vs. message-based security with a prototype implementation.

Wes: Excellent results.  There are some caveats.  The NET-SNMP 
     implementation of SNMPv3 was not implemented for speed and uses
     some obviously slow mechanisms that can be improved.  We use OIDs
     as index and we don't do caching everytime a packet comes in we 
     do a complex lookup.

--mYCpIKhGyMATD0i+
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms

--mYCpIKhGyMATD0i+--




From isms-bounces@lists.ietf.org Wed Dec 13 10:41:49 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GuWEv-0002yE-0x; Wed, 13 Dec 2006 10:41:49 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GuWEu-0002y9-6K
	for isms@ietf.org; Wed, 13 Dec 2006 10:41:48 -0500
Received: from alnrmhc11.comcast.net ([204.127.225.91])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GuWEr-0008Kl-I4
	for isms@ietf.org; Wed, 13 Dec 2006 10:41:48 -0500
Received: from harrington73653
	(c-24-128-104-207.hsd1.nh.comcast.net[24.128.104.207])
	by comcast.net (alnrmhc11) with SMTP
	id <20061213154138b1100k4t5be>; Wed, 13 Dec 2006 15:41:38 +0000
From: "David Harrington" <ietfdbh@comcast.net>
To: <isms@ietf.org>
Date: Wed, 13 Dec 2006 10:38:32 -0500
Message-ID: <137701c71ecc$bf3769f0$0600a8c0@china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
Thread-Index: AccezLIoEK+9Ik9BSTWfBgM1aFTtpg==
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
X-Spam-Score: 0.0 (/)
X-Scan-Signature: e5ba305d0e64821bf3d8bc5d3bb07228
Cc: 
Subject: [Isms] unknownTransportModels
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Hi,

Time to starrt some discussions here. 
Is anybody out there????

I am closing in on th enext revision of the transport subsystem
document, and there are a few questions which have been raised that I
am considering how to address.

RFC3412 (the messaging subsystem) has an unknownSecurityModels that
counts the number of packets **received** that were dropped because
the security model (presumably extracted from the incoming message)
was unknown. This counter is never incremented for outgoing messages.

An unknownTransportModels counter would probably never get
incremented. For outgoing messages, this is an implementation
debugging issue that does not need to be exposed in a mib module. For
incoming messages, we would never get the message if a transport model
doesn't exist to support the underlying transport, and we certainly
would'nt get it if the underlying transport doesn't exist.

So I don't think an unknownTransportModels makes protocol sense.

Am I overlooking any scenarios where this counter would be useful?

David Harrington
dharrington@huawei.com 
dbharrington@comcast.net
ietfdbh@comcast.net



_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 13 11:00:33 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GuWWz-0004ox-E3; Wed, 13 Dec 2006 11:00:29 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GuWWy-0004oK-DP
	for isms@ietf.org; Wed, 13 Dec 2006 11:00:28 -0500
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GuWWt-0002PR-IB
	for isms@ietf.org; Wed, 13 Dec 2006 11:00:28 -0500
Received: from localhost (demetrius.iu-bremen.de [212.201.44.32])
	by hermes.iu-bremen.de (Postfix) with ESMTP id AB80E59095;
	Wed, 13 Dec 2006 17:00:08 +0100 (CET)
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by localhost (demetrius.iu-bremen.de [212.201.44.32]) (amavisd-new,
	port 10024)
	with ESMTP id 19594-02; Wed, 13 Dec 2006 17:00:05 +0100 (CET)
Received: from boskop.local (unknown [10.50.250.214])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hermes.iu-bremen.de (Postfix) with ESMTP id A75DC59090;
	Wed, 13 Dec 2006 17:00:02 +0100 (CET)
Received: by boskop.local (Postfix, from userid 501)
	id B35EA8F9E4C; Wed, 13 Dec 2006 17:00:00 +0100 (CET)
Date: Wed, 13 Dec 2006 17:00:00 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@iu-bremen.de>
To: David Harrington <ietfdbh@comcast.net>
Subject: Re: [Isms] unknownTransportModels
Message-ID: <20061213160000.GC3980@boskop.local>
Mail-Followup-To: David Harrington <ietfdbh@comcast.net>,
	isms@ietf.org
References: <137701c71ecc$bf3769f0$0600a8c0@china.huawei.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <137701c71ecc$bf3769f0$0600a8c0@china.huawei.com>
User-Agent: Mutt/1.5.10i
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at iu-bremen.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 856eb5f76e7a34990d1d457d8e8e5b7f
Cc: isms@ietf.org
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: j.schoenwaelder@iu-bremen.de
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

On Wed, Dec 13, 2006 at 10:38:32AM -0500, David Harrington wrote:

> An unknownTransportModels counter would probably never get
> incremented. For outgoing messages, this is an implementation
> debugging issue that does not need to be exposed in a mib module. For
> incoming messages, we would never get the message if a transport model
> doesn't exist to support the underlying transport, and we certainly
> would'nt get it if the underlying transport doesn't exist.
> 
> So I don't think an unknownTransportModels makes protocol sense.

I can't think of a use case for such a counter.

/js

-- 
Juergen Schoenwaelder		 {International|Jacobs} University Bremen
<http://www.eecs.iu-bremen.de/>	 P.O. Box 750 561, 28725 Bremen, Germany

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 13 11:22:46 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GuWsL-00087m-1B; Wed, 13 Dec 2006 11:22:33 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GuWsJ-00087b-GP
	for isms@ietf.org; Wed, 13 Dec 2006 11:22:31 -0500
Received: from alnrmhc14.comcast.net ([204.127.225.94])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GuWsH-0005CE-6P
	for isms@ietf.org; Wed, 13 Dec 2006 11:22:31 -0500
Received: from harrington73653
	(c-24-128-104-207.hsd1.nh.comcast.net[24.128.104.207])
	by comcast.net (alnrmhc14) with SMTP
	id <20061213162227b1400mina7e>; Wed, 13 Dec 2006 16:22:27 +0000
From: "David Harrington" <ietfdbh@comcast.net>
To: <isms@ietf.org>
Date: Wed, 13 Dec 2006 11:19:18 -0500
Message-ID: <137801c71ed2$7317bf10$0600a8c0@china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
Thread-Index: Acce0kAVLiZxKpyUQ7SpdMRgwQkjSA==
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
X-Spam-Score: 0.0 (/)
X-Scan-Signature: b4a0a5f5992e2a4954405484e7717d8c
Cc: 
Subject: [Isms] snmpTransportModel
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Hi,

At ietf67, we agreed to use TDomain and TAddress (RFC3417) rather than
other addressing approaches. So the new revision will have a TDomain
of snmpSSHDomain  and a TAddress of snmpSSHAddress.

The SNMP-TRANSPORT-MIB (Transport-Subsystem-MIB in -04-) has no useful
objects so far, and at ietf67, we agreed to eliminate the MIB module.

The MIB module contains the Textual Convention SnmpTransportModel,
which parallels the SnmpSecurityModel and SnmpMessageProcessingModel
T-Cs from RFC3411. However, we never pass SnmpTransportModel anyplace,
or refer to it in any MIB module, so far.

So the only purpose, at this point, would be to use SnmpTransportModel
to define an IANA registry for IETF transport models, and to
standardize how enterprises can identify their own transport models,
but if it is never actually used, this may not be useful.

So we need to decide whether to keep the textual convention, on the
assumption it might be useful someday (not a very good justification
for a feature), or scrap it (and possibly need to define it in a
specific transport model, which makes document housekeeping and
functional modularity more complex).

There is one place where having an SnmpTransportModel might be useful.
A "session" is currently identified by transport[Domain,Address] and
security[Model,Name,Level]. If somebody wanted to define another
SSH-based transport model, which used the same addressing
domain/address, then this really should be expanded to be
transport[Model,Domain,Address] and security[Model,Name,Level]. There
is not necessarily a 1:1 mapping between transport models and
transport domain/addressing.

This would mean we would need to modify the ASIs (or make sure this
ends up in the cache and LCD, which is about the same thing) to pass
the transport model identifier.

Currently, transportDomain implies transportModel, and the dispatcher
uses transportDomain to determine how to dispatch outgoing messages to
the approrpiate transport model. This usage implicitly assumes a 1:1
mapping between transport model and transport domain/addressing. We
could make that explicit. 

If another transport model wants to use the same address format, they
could define a new domain and then they can utilize the same address
format. For example, if another SSH transport model were created (say
to use as the "SSH-VPN" approach), they would need to define a new
domain (snmpSSHVPNDomain), but could use the same snmpSSHAddress
specification used by snmpSSHDomain. If this is viable, then we do not
need the registration mechanisms for snmp transport models from
SNMP-TRANSPORT-MIB.

I will note that IANA does not maintain a registry for TDomains, so it
may be somewhat harder to prevent assignment collisions, or to find
definitons for enterprise-assigned domains (registered in
enterprise-specific subtrees). We could ask IANA to create a registry
of TDomains. I can envision seeing more development of Tdomains than
security models or messaging models, so a registry might be useful.

David Harrington
dharrington@huawei.com 
dbharrington@comcast.net
ietfdbh@comcast.net



_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 13 14:49:08 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gua63-0004Ci-12; Wed, 13 Dec 2006 14:48:55 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Gua62-0004Cd-5r
	for isms@ietf.org; Wed, 13 Dec 2006 14:48:54 -0500
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gua60-0002iQ-GS
	for isms@ietf.org; Wed, 13 Dec 2006 14:48:54 -0500
Received: from localhost (demetrius.iu-bremen.de [212.201.44.32])
	by hermes.iu-bremen.de (Postfix) with ESMTP id 66F9C5AD32;
	Wed, 13 Dec 2006 20:48:51 +0100 (CET)
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by localhost (demetrius.iu-bremen.de [212.201.44.32]) (amavisd-new,
	port 10024)
	with ESMTP id 06824-05; Wed, 13 Dec 2006 20:48:48 +0100 (CET)
Received: from boskop.local (unknown [10.50.250.214])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hermes.iu-bremen.de (Postfix) with ESMTP id 14CE05AB9C;
	Wed, 13 Dec 2006 20:48:48 +0100 (CET)
Received: by boskop.local (Postfix, from userid 501)
	id 396E28FA182; Wed, 13 Dec 2006 20:48:46 +0100 (CET)
Date: Wed, 13 Dec 2006 20:48:45 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@iu-bremen.de>
To: David Harrington <ietfdbh@comcast.net>
Subject: Re: [Isms] snmpTransportModel
Message-ID: <20061213194845.GA4358@boskop.local>
Mail-Followup-To: David Harrington <ietfdbh@comcast.net>,
	isms@ietf.org
References: <137801c71ed2$7317bf10$0600a8c0@china.huawei.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <137801c71ed2$7317bf10$0600a8c0@china.huawei.com>
User-Agent: Mutt/1.5.10i
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at iu-bremen.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: cd26b070c2577ac175cd3a6d878c6248
Cc: isms@ietf.org
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: j.schoenwaelder@iu-bremen.de
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

On Wed, Dec 13, 2006 at 11:19:18AM -0500, David Harrington wrote:
 
> At ietf67, we agreed to use TDomain and TAddress (RFC3417) rather than
> other addressing approaches. So the new revision will have a TDomain
> of snmpSSHDomain  and a TAddress of snmpSSHAddress.
> 
> The SNMP-TRANSPORT-MIB (Transport-Subsystem-MIB in -04-) has no useful
> objects so far, and at ietf67, we agreed to eliminate the MIB module.
> 
> The MIB module contains the Textual Convention SnmpTransportModel,
> which parallels the SnmpSecurityModel and SnmpMessageProcessingModel
> T-Cs from RFC3411. However, we never pass SnmpTransportModel anyplace,
> or refer to it in any MIB module, so far.
> 
> So the only purpose, at this point, would be to use SnmpTransportModel
> to define an IANA registry for IETF transport models, and to
> standardize how enterprises can identify their own transport models,
> but if it is never actually used, this may not be useful.
> 
> So we need to decide whether to keep the textual convention, on the
> assumption it might be useful someday (not a very good justification
> for a feature), or scrap it (and possibly need to define it in a
> specific transport model, which makes document housekeeping and
> functional modularity more complex).
> 
> There is one place where having an SnmpTransportModel might be useful.
> A "session" is currently identified by transport[Domain,Address] and
> security[Model,Name,Level]. If somebody wanted to define another
> SSH-based transport model, which used the same addressing
> domain/address, then this really should be expanded to be
> transport[Model,Domain,Address] and security[Model,Name,Level]. There
> is not necessarily a 1:1 mapping between transport models and
> transport domain/addressing.
> 
> This would mean we would need to modify the ASIs (or make sure this
> ends up in the cache and LCD, which is about the same thing) to pass
> the transport model identifier.

Lets not over-engineer this. I think the transportDomain is a perfect
way to tell which transport model to use.
 
> Currently, transportDomain implies transportModel, and the dispatcher
> uses transportDomain to determine how to dispatch outgoing messages to
> the approrpiate transport model. This usage implicitly assumes a 1:1
> mapping between transport model and transport domain/addressing. We
> could make that explicit. 

Yes.

> If another transport model wants to use the same address format, they
> could define a new domain and then they can utilize the same address
> format. For example, if another SSH transport model were created (say
> to use as the "SSH-VPN" approach), they would need to define a new
> domain (snmpSSHVPNDomain), but could use the same snmpSSHAddress
> specification used by snmpSSHDomain. If this is viable, then we do not
> need the registration mechanisms for snmp transport models from
> SNMP-TRANSPORT-MIB.

Yes, I believe this is viable.

> I will note that IANA does not maintain a registry for TDomains, so it
> may be somewhat harder to prevent assignment collisions, or to find
> definitons for enterprise-assigned domains (registered in
> enterprise-specific subtrees). We could ask IANA to create a registry
> of TDomains. I can envision seeing more development of Tdomains than
> security models or messaging models, so a registry might be useful.

RFC 4789 established a registry for OIDs below snmpDomains which are
used to identify SNMP transport domains. A specification is required
for new assignments. Since TDomain is an OID, there is no likelihood
of collisions. Enterprise assignments may be hard to find but then
they are probably not made with the intention to be interoperable in
the first place.

/js

-- 
Juergen Schoenwaelder		 {International|Jacobs} University Bremen
<http://www.eecs.iu-bremen.de/>	 P.O. Box 750 561, 28725 Bremen, Germany

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 13 16:28:42 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GubeP-00011B-QO; Wed, 13 Dec 2006 16:28:29 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GubeN-0000z3-9k; Wed, 13 Dec 2006 16:28:27 -0500
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1GubaD-0000qU-TG; Wed, 13 Dec 2006 16:24:15 -0500
Received: from localhost (demetrius.iu-bremen.de [212.201.44.32])
	by hermes.iu-bremen.de (Postfix) with ESMTP id C949C5AD4D;
	Wed, 13 Dec 2006 22:24:04 +0100 (CET)
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by localhost (demetrius.iu-bremen.de [212.201.44.32]) (amavisd-new,
	port 10024)
	with ESMTP id 14174-06; Wed, 13 Dec 2006 22:24:01 +0100 (CET)
Received: from boskop.local (unknown [10.50.250.214])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hermes.iu-bremen.de (Postfix) with ESMTP id 940C05AB9C;
	Wed, 13 Dec 2006 22:24:01 +0100 (CET)
Received: by boskop.local (Postfix, from userid 501)
	id AFE928FA467; Wed, 13 Dec 2006 22:23:59 +0100 (CET)
Date: Wed, 13 Dec 2006 22:23:59 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@iu-bremen.de>
To: isms@ietf.org, ngo@ietf.org
Message-ID: <20061213212359.GA4888@boskop.local>
Mail-Followup-To: isms@ietf.org, ngo@ietf.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.10i
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at iu-bremen.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 082a9cbf4d599f360ac7f815372a6a15
Cc: 
Subject: [Isms] [Internet-Drafts@ietf.org: I-D
	ACTION:draft-schoenw-snmp-discover-00.txt]
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: isms@ietf.org
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Hi,

I started an ID concerning engineID discovery. There was some
discussion about this topic in the ISMS working group in the past and
recently there was a thread on the "netconf goes on" (ngo) mailing
list <ngo@ietf.org>.

ISMS is not really chartered to work on general engineID discovery.
However, any real-world ISMS implementation needs to figure out a way
how to do engineID discovery. The approach documented in the ID does
provide a general discovery mechanism which has the benefit that it
does not need any modifications to existing SNMPv3 standards (as far
as I understand things).

I am looking for review, feedback, criticism and suggestions. If we
manage to find agreement on an approach, I am sure we can talk to the
various ADs how we can best move this forward. Lets get a solution
worked out first.

Since the ISMS list is not really busy and since ISMS implementations
kind of need engineID discovery to be acceptable in practice, I think
it is fine to host further discussions here on this list (and I expect
that a sufficient number of SNMP experts are following the ISMS list
anyway).

/js

----- Forwarded message from Internet-Drafts@ietf.org -----

To: i-d-announce@ietf.org
Cc: 
From: Internet-Drafts@ietf.org
Date: Wed, 13 Dec 2006 15:50:06 -0500
Subject: I-D ACTION:draft-schoenw-snmp-discover-00.txt 
Precedence: list
Reply-To: internet-drafts@ietf.org
Errors-To: i-d-announce-bounces@ietf.org

A New Internet-Draft is available from the on-line Internet-Drafts 
directories.


	Title		: Simple Network Management Protocol (SNMP) EngineID Discovery
	Author(s)	: J. Schoenwaelder
	Filename	: draft-schoenw-snmp-discover-00.txt
	Pages		: 8
	Date		: 2006-12-13
	
   To retrieve management information using the third version of the
   Simple Network Management Protocol (SNMP), it is necessary to know
   the identifier of the remote SNMP protocol engine.  This document
   introduces a discovery mechanism which can be used to learn the
   engine identifier of a remote SNMP protocol engine.  The proposed
   mechanism is independent of the features provided by SNMP security
   models and may be used also by other protocol interfaces to discover
   the engine identifier.


A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-schoenw-snmp-discover-00.txt

[...]

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 13 18:52:13 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GudtR-0001uq-Fn; Wed, 13 Dec 2006 18:52:09 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GudtQ-0001sf-1L; Wed, 13 Dec 2006 18:52:08 -0500
Received: from alnrmhc12.comcast.net ([206.18.177.52])
	by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1GudtM-0007x6-O1; Wed, 13 Dec 2006 18:52:08 -0500
Received: from harrington73653
	(c-24-128-104-207.hsd1.nh.comcast.net[24.128.104.207])
	by comcast.net (alnrmhc12) with SMTP
	id <20061213235201b1200bp64be>; Wed, 13 Dec 2006 23:52:01 +0000
From: "David Harrington" <ietfdbh@comcast.net>
To: <internet-drafts@ietf.org>
Date: Wed, 13 Dec 2006 18:48:45 -0500
Message-ID: <141301c71f11$41104980$0600a8c0@china.huawei.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_1414_01C71EE7.583A4180"
X-Mailer: Microsoft Office Outlook 11
Thread-Index: AccfEToPOQzdi1JrRNqba98oEfFiNw==
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 68623d13ded64d34b180b4eed436a7d1
Cc: isms@ietf.org
Subject: [Isms] Please publish
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

This is a multi-part message in MIME format.

------=_NextPart_000_1414_01C71EE7.583A4180
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Please publish this file as draft-ietf-isms-tmsm-05.txt

Thanks,
David Harrington
dharrington@huawei.com 
dbharrington@comcast.net
ietfdbh@comcast.net

------=_NextPart_000_1414_01C71EE7.583A4180
Content-Type: text/plain;
	name="draft-ietf-isms-tmsm-05.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="draft-ietf-isms-tmsm-05.txt"




Network Working Group                                      D. Harrington
Internet-Draft                                 Huawei Technologies (USA)
Intended status: Standards Track                        J. Schoenwaelder
Expires: June 16, 2007                   International University Bremen
                                                       December 13, 2006


 Transport Subsystem for the Simple Network Management Protocol (SNMP)
                        draft-ietf-isms-tmsm-05

Status of This Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on June 16, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2006).

Abstract

   This document describes a Transport Subsystem, extending the Simple
   Network Management Protocol (SNMP) architecture defined in RFC 3411.
   This document describes a subsystem to contain transport models,
   comparable to other subsystems in the RFC3411 architecture.  As work
   is being done to expand the transport to include secure transport
   such as SSH and TLS, using a subsystem will enable consistent design
   and modularity of such transport models.  This document identifies



Harrington & Schoenwaelder  Expires June 16, 2007               [Page 1]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   and discusses some key aspects that need to be considered for any
   transport model for SNMP.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  The Internet-Standard Management Framework . . . . . . . .  3
     1.2.  Conventions  . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Motivation . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Requirements of a Transport Model  . . . . . . . . . . . . . .  6
     3.1.  Message Security Requirements  . . . . . . . . . . . . . .  6
       3.1.1.  Security Protocol Requirements . . . . . . . . . . . .  6
     3.2.  SNMP Requirements  . . . . . . . . . . . . . . . . . . . .  7
       3.2.1.  Architectural Modularity Requirements  . . . . . . . .  7
       3.2.2.  Access Control Requirements  . . . . . . . . . . . . . 11
       3.2.3.  Security Parameter Passing Requirements  . . . . . . . 12
     3.3.  Session Requirements . . . . . . . . . . . . . . . . . . . 14
       3.3.1.  Session Establishment Requirements . . . . . . . . . . 14
       3.3.2.  Session Maintenance Requirements . . . . . . . . . . . 16
       3.3.3.  Message security versus session security . . . . . . . 16
   4.  Scenario Diagrams for the Transport Subsystem  . . . . . . . . 17
     4.1.  Command Generator or Notification Originator . . . . . . . 17
     4.2.  Command Responder  . . . . . . . . . . . . . . . . . . . . 18
   5.  Cached Information and References  . . . . . . . . . . . . . . 19
     5.1.  securityStateReference . . . . . . . . . . . . . . . . . . 20
     5.2.  tmStateReference . . . . . . . . . . . . . . . . . . . . . 21
   6.  Abstract Service Interfaces  . . . . . . . . . . . . . . . . . 21
     6.1.  Generating an Outgoing SNMP Message  . . . . . . . . . . . 22
     6.2.  Processing for an Outgoing Message . . . . . . . . . . . . 23
     6.3.  Processing an Incoming SNMP Message  . . . . . . . . . . . 23
       6.3.1.  Processing an Incoming Message . . . . . . . . . . . . 23
       6.3.2.  Prepare Data Elements from Incoming Messages . . . . . 23
       6.3.3.  Processing an Incoming Message . . . . . . . . . . . . 24
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 25
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 26
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 26
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 26
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 26
     10.2. Informative References . . . . . . . . . . . . . . . . . . 27
   Appendix A.  Parameter Table . . . . . . . . . . . . . . . . . . . 28
     A.1.  ParameterList.csv  . . . . . . . . . . . . . . . . . . . . 28
   Appendix B.  Why tmStateReference? . . . . . . . . . . . . . . . . 29
     B.1.  Define an Abstract Service Interface . . . . . . . . . . . 29
     B.2.  Using an Encapsulating Header  . . . . . . . . . . . . . . 30
     B.3.  Modifying Existing Fields in an SNMP Message . . . . . . . 30
     B.4.  Using a Cache  . . . . . . . . . . . . . . . . . . . . . . 30
   Appendix C.  Open Issues . . . . . . . . . . . . . . . . . . . . . 31
   Appendix D.  Change Log  . . . . . . . . . . . . . . . . . . . . . 31



Harrington & Schoenwaelder  Expires June 16, 2007               [Page 2]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


1.  Introduction

   This document describes a Transport Subsystem, extending the Simple
   Network Management Protocol (SNMP) architecture defined in [RFC3411].
   This document identifies and discusses some key aspects that need to
   be considered for any transport model for SNMP.

1.1.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

1.2.  Conventions

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

2.  Motivation

   There are multiple ways to secure one's home or business, in a
   continuum of alternatives.  Let's consider three general approaches.
   In the first approach, an individual could buy a gun, learn to use
   it, and sit on your front porch waiting for intruders.  In the second
   approach, one could hire an employee with a gun, schedule the
   employee, position the employee to guard what you want protected,
   hire a second guard to cover if the first gets sick, and so on.  In
   the third approach, you could hire a security company, tell them what
   you want protected, and they could hire employees, train them, buy
   the guns, position the guards, schedule the guards, send a
   replacement when a guard cannot make it, etc., thus providing the
   security you want, with no significant effort on your part other than
   identifying requirements and verifying the quality of the service
   being provided.

   The User-based Security Model (USM) as defined in [RFC3414] largely
   uses the first approach - it provides its own security.  It utilizes
   existing mechanisms (SHA=3Dthe gun), but provides all the =
coordination.
   USM provides for the authentication of a principal, message
   encryption, data integrity checking, timeliness checking, etc.

   USM was designed to be independent of other existing security
   infrastructures.  USM therefore requires a separate principal and key
   management infrastructure.  Operators have reported that deploying
   another principal and key management infrastructure in order to use
   SNMPv3 is a deterrent to deploying SNMPv3.  It is possible but
   difficult to define external mechanisms that handle the distribution



Harrington & Schoenwaelder  Expires June 16, 2007               [Page 3]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   of keys for use by the USM approach.

   A solution based on the second approach might use a USM-compliant
   architecture, but combine the authentication mechanism with an
   external mechanism, such as RADIUS [RFC2865], to provide the
   authentication service.  It might be possible to utilize an external
   protocol to encrypt a message, to check timeliness, to check data
   integrity, etc.  It is difficult to cobble together a number of
   subcontracted services and coordinate them however, because it is
   difficult to build solid security bindings between the various
   services, and potential for gaps in the security is significant.

   A solution based on the third approach might utilize one or more
   lower-layer security mechanisms to provide the message-oriented
   security services required.  These would include authentication of
   the sender, encryption, timeliness checking, and data integrity
   checking.  There are a number of IETF standards available or in
   development to address these problems through security layers at the
   transport layer or application layer, among them TLS [RFC4366], SASL
   [RFC4422], and SSH [RFC4251].

   From an operational perspective, it is highly desirable to use
   security mechanisms that can unify the administrative security
   management for SNMPv3, command line interfaces (CLIs) and other
   management interfaces.  The use of security services provided by
   lower layers is the approach commonly used for the CLI, and is also
   the approach being proposed for NETCONF [I-D.ietf-netconf-ssh].

   This document describes a Transport Subsystem extension to the
   RFC3411 architecture.





















Harrington & Schoenwaelder  Expires June 16, 2007               [Page 4]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   +-------------------------------------------------------------------+
   |  SNMP entity                                                      |
   |                                                                   |
   |  +-------------------------------------------------------------+  |
   |  |  SNMP engine (identified by snmpEngineID)                   |  |
   |  |                                                             |  |
   |  |  +------------+                                             |  |
   |  |  | Transport  |                                             |  |
   |  |  | Subsystem  |                                             |  |
   |  |  +------------+                                             |  |
   |  |                                                             |  |
   |  |  +------------+ +------------+ +-----------+ +-----------+  |  |
   |  |  | Dispatcher | | Message    | | Security  | | Access    |  |  |
   |  |  |            | | Processing | | Subsystem | | Control   |  |  |
   |  |  |            | | Subsystem  | |           | | Subsystem |  |  |
   |  |  +------------+ +------------+ +-----------+ +-----------+  |  |
   |  +-------------------------------------------------------------+  |
   |                                                                   |
   |  +-------------------------------------------------------------+  |
   |  |  Application(s)                                             |  |
   |  |                                                             |  |
   |  |  +-------------+  +--------------+  +--------------+        |  |
   |  |  | Command     |  | Notification |  | Proxy        |        |  |
   |  |  | Generator   |  | Receiver     |  | Forwarder    |        |  |
   |  |  +-------------+  +--------------+  +--------------+        |  |
   |  |                                                             |  |
   |  |  +-------------+  +--------------+  +--------------+        |  |
   |  |  | Command     |  | Notification |  | Other        |        |  |
   |  |  | Responder   |  | Originator   |  |              |        |  |
   |  |  +-------------+  +--------------+  +--------------+        |  |
   |  +-------------------------------------------------------------+  |
   |                                                                   |
   +-------------------------------------------------------------------+


   This extension allows security to be provided by an external protocol
   connected to the SNMP engine through an SNMP transport-model
   [RFC3417].  Such a transport model would then enable the use of
   existing security mechanisms such as (TLS) [RFC4366] or SSH [RFC4251]
   within the RFC3411 architecture.

   There are a number of Internet security protocols and mechanisms that
   are in wide spread use.  Many of them try to provide a generic
   infrastructure to be used by many different application layer
   protocols.  The motivation behind the transport subsystem is to
   leverage these protocols where it seems useful.

   There are a number of challenges to be addressed to map the security



Harrington & Schoenwaelder  Expires June 16, 2007               [Page 5]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   provided by a secure transport into the SNMP architecture so that
   SNMP continues to work without any surprises.  These challenges are
   discussed in detail in this document.  For some key issues, design
   choices are discussed that may be made to provide a workable solution
   that meets operational requirements and fits into the SNMP
   architecture defined in [RFC3411].

3.  Requirements of a Transport Model

3.1.  Message Security Requirements

   Transport security protocols SHOULD ideally provide the protection
   against the following message-oriented threats [RFC3411]:

   1.  modification of information
   2.  masquerade
   3.  message stream modification
   4.  disclosure

   According to [RFC3411], it is not required to protect against denial
   of service or traffic analysis.

3.1.1.  Security Protocol Requirements

   There are a number of standard protocols that could be proposed as
   possible solutions within the transport subsystem.  Some factors
   should be considered when selecting a protocol.

   Using a protocol in a manner for which it was not designed has
   numerous problems.  The advertised security characteristics of a
   protocol may depend on its being used as designed; when used in other
   ways, it may not deliver the expected security characteristics.  It
   is recommended that any proposed model include a discussion of the
   applicability of the transport model.

   A transport model should require no modifications to the underlying
   protocol.  Modifying the protocol may change its security
   characteristics in ways that would impact other existing usages.  If
   a change is necessary, the change should be an extension that has no
   impact on the existing usages.  It is recommended that any transport
   model include a discussion of potential impact on other usages of the
   protocol.

   It has been a long-standing requirement that SNMP be able to work
   when the network is unstable, to enable network troubleshooting and
   repair.  The UDP approach has been considered to meet that need well,
   with an assumption that getting small messages through, even if out
   of order, is better than getting no messages through.  There has been



Harrington & Schoenwaelder  Expires June 16, 2007               [Page 6]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   a long debate about whether UDP actually offers better support than
   TCP when the underlying IP or lower layers are unstable.  There has
   been recent discussion of whether operators actually use SNMP to
   troubleshoot and repair unstable networks.

   There has been discussion of ways SNMP could be extended to better
   support management/monitoring needs when a network is running just
   fine.  Use of a TCP transport, for example, could enable larger
   message sizes and more efficient table retrievals.

   Transport models MUST be able to coexist with other transport models,
   and may be designed to utilize either TCP or UDP or SCTP.

3.2.  SNMP Requirements

3.2.1.  Architectural Modularity Requirements

   SNMP version 3 (SNMPv3) is based on a modular architecture (described
   in [RFC3411] section 3) to allow the evolution of the SNMP protocol
   standards over time, and to minimize side effects between subsystems
   when changes are made.

   The RFC3411 architecture includes a security subsystem for enabling
   different methods of providing security services, a messaging
   subsystem permitting different message versions to be handled by a
   single engine, an application subsystem to support different types of
   application processors, and an access control subsystem for allowing
   multiple approaches to access control.  The RFC3411 architecture does
   not include a subsystem for transport models, despite the fact there
   are multiple transport mappings already defined for SNMP.  This
   document addresses the need for a transport subsystem compatible with
   the RFC3411 architecture.

   In SNMPv2, there were many problems of side effects between
   subsystems caused by the manipulation of MIB objects, especially
   those related to authentication and authorization, because many of
   the parameters were stored in shared MIB objects, and different
   models and protocols could assign different values to the objects.
   Contributors assumed slightly different shades of meaning depending
   on the models and protocols being used.  As the shared MIB module
   design was modified to accommodate a specific model, other models
   which used the same MIB objects would be broken.

   Abstract Service Interfaces (ASIs) were developed to pass model-
   independent parameters.  The models were required to translate from
   their model-dependent formats into a model-independent format,
   defined using model-independent semantics, which would not impact
   other models.



Harrington & Schoenwaelder  Expires June 16, 2007               [Page 7]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   Parameters have been provided in the ASIs to pass model-independent
   information about the authentication that has been provided.  These
   parameters include a model-independent identifier of the security
   "principal", the security model used to perform the authentication,
   and which SNMP-specific security features were applied to the message
   (authentication and/or privacy).

   Parameters have been provided in the ASIs to pass model-independent
   transport address information.  These parameters utilize the
   transportDomain and transportAddress

   The design of a transport subsystem must abide the goals of the
   RFC3411 architecture defined in [RFC3411].  To that end, this
   transport subsystem proposal uses a modular design that will permit
   transport models to be advanced through the standards process
   independently of other transport models, and independent of other
   modular SNMP components as much as possible.

   IETF standards typically require one mandatory to implement solution,
   with the capability of adding new mechanisms in the future.  Part of
   the motivstion of developing transport models is to develop support
   for secure transport protocols, such as a transport model that
   utilizes the Secure Shell protocol.  Any transport model should
   define one minimum-compliance security mechanism, preferably one
   which is already widely used to secure the transport layer protocol.

   The Transport Subsystem permits multiple transport protocols to be
   "plugged into" the RFC3411 architecture, supported by corresponding
   transport models, including models that are security-aware.

   The RFC3411 architecture,and the USM assume that a security model is
   called by a message-processing model and will perform multiple
   security functions within the security subsystem.  A transport model
   that supports a secure transport protocol may perform similar
   security functions within the transport subsystem.  A transport model
   may perform the translation of transport security parameters to/from
   security-model-independent parameters.  To accommodate this, the ASIs
   for the transport subsystem, the messaging subsystem, and the
   security subsystem will be extended to pass security-model-
   independent values, and a cache of transport-specific information.











Harrington & Schoenwaelder  Expires June 16, 2007               [Page 8]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   +------------------------------+
   |    Network                   |
   +------------------------------+
      ^       ^              ^
      |       |              |
      v       v              v                 (traditional SNMP agent)
   +-------------------------------------------------------------------+
   | +--------------------------------------------------+              |
   | |  Transport Subsystem                             |              |
   | | +-----+ +-----+ +-----+ +-----+       +-------+  |              |
   | | | UDP | | TCP | | SSH | | TLS | . . . | other |  |              |
   | | +-----+ +-----+ +-----+ +-----+       +-------+  |              |
   | +--------------------------------------------------+              |
   |              ^                                                    |
   |              |                                                    |
   | Dispatcher   v                                                    |
   | +-------------------+ +---------------------+  +----------------+ |
   | | Transport         | | Message Processing  |  | Security       | |
   | | Dispatch          | | Subsystem           |  | Subsystem      | |
   | |                   | |     +------------+  |  | +------------+ | |
   | |                   | |  +->| v1MP     * |<--->| | USM      * | | |
   | |                   | |  |  +------------+  |  | +------------+ | |
   | |                   | |  |  +------------+  |  | +------------+ | |
   | |                   | |  +->| v2cMP    * |<--->| | Transport* | | |
   | | Message           | |  |  +------------+  |  | | Security   | | |
   | | Dispatch    <--------->|  +------------+  |  | | Model      | | |
   | |                   | |  +->| v3MP     * |<--->| +------------+ | |
   | |                   | |  |  +------------+  |  | +------------+ | |
   | | PDU Dispatch      | |  |  +------------+  |  | | Other    * | | |
   | +-------------------+ |  +->| otherMP  * |<--->| | Model(s)   | | |
   |              ^        |     +------------+  |  | +------------+ | |
   |              |        +---------------------+  +----------------+ |
   |              v                                                    |
   |      +-------+-------------------------+---------------+          |
   |      ^                                 ^               ^          |
   |      |                                 |               |          |
   |      v                                 v               v          |
   | +-------------+   +---------+   +--------------+  +-------------+ |
   | |   COMMAND   |   | ACCESS  |   | NOTIFICATION |  |    PROXY    | |
   | |  RESPONDER  |<->| CONTROL |<->|  ORIGINATOR  |  |  FORWARDER  | |
   | | application |   |         |   | applications |  | application | |
   | +-------------+   +---------+   +--------------+  +-------------+ |
   |      ^                                 ^                          |
   |      |                                 |                          |
   |      v                                 v                          |
   | +----------------------------------------------+                  |
   | |             MIB instrumentation              |      SNMP entity |
   +-------------------------------------------------------------------+



Harrington & Schoenwaelder  Expires June 16, 2007               [Page 9]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


3.2.1.1.  USM and the RFC3411 Architecture

   The following diagrams illustrate the difference in the security
   processing done by the USM model and the security processing
   potentially done by a transport model.

   The USM security model is encapsulated by the messaging model,
   because the messaging model needs to perform the following steps (for
   incoming messages)
   1) decode the ASN.1 (messaging model)
   2) determine the SNMP security model and parameters (messaging model)
   3) decrypt the encrypted portions of the message (security model)
   4) translate parameters to model-independent parameters (security
      model)
   5) determine which application should get the decrypted portions
      (messaging model), and
   6) pass on the decrypted portions with model-independent parameters.

   The USM approach uses SNMP-specific message security and parameters.

3.2.1.2.  Transport Subsystem and the RFC3411 Architecture

   With the Transport Subsystem, the order of the steps may differ and
   may be handled by different subsystems:
   1) decrypt the encrypted portions of the message (transport layer)
   2*)  translate parameters to model-independent parameters (transport
      model)
   3) determine the SNMP security model and parameters (transport model)
   4) decode the ASN.1 (messaging model)
   5) determine which application should get the decrypted portions
      (messaging model)
   7) pass on the decrypted portions with model-independent security
      parameters

   If a message is secured using non-SNMP-specific message security and
   parameters, then the transport model should provide the translation
   from the authenticated identity (e.g., an SSH user name) to the
   securityName in step 3.

3.2.1.3.  Passing Information between Engines

   A secure transport model will establish an encrypted tunnel between
   the transport models of two SNMP engines.  One transport model
   instance encrypts all messages, and the other transport model
   instance decrypts the messages.

   After a transport layer tunnel is established, then SNMP messages can
   conceptually be sent through the tunnel from one SNMP engine to



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 10]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   another SNMP engine.  Once the tunnel is established, multiple SNMP
   messages may be able to be passed through the same tunnel.

3.2.2.  Access Control Requirements

3.2.2.1.  securityName Binding

   For SNMP access control to function properly, security processing
   must establish a securityModel identifier, a securityLevel, and a
   securityName, which is the security model independent identifier for
   a principal.  The message processing subsystem relies on a security
   model, such as USM, to play a role in security that goes beyond
   protecting the message - it provides a mapping between the USM-
   specific principal to a security-model independent securityName which
   can be used for subsequent processing, such as for access control.

   The securityName MUST be bound to the mechanism-specific
   authenticated identity, and this mapping MUST be done for incoming
   messages before the security model passes securityName to the message
   processing model via the processIncoming() ASI.  This translation
   from a mechanism-specific authenticated identity to a securityName
   MAY be done by the transport model, and the securityname is then
   provided to the security model to be passed to the message processing
   model.

   If the type of authentication provided by the transport layer (e.g.
   TLS) is considered adequate to secure and/or encrypt the message, but
   inadequate to provide the desired granularity of access control (e.g.
   user-based), then a second authentication (e.g., one provided via a
   RADIUS server) MAY be used to provide the authentication identity
   which is bound to the securityName.  This approach would require a
   good analysis of the potential for man-in-the-middle attacks or
   masquerade possibilities.

3.2.2.2.  Separation of Authentication and Authorization

   A transport model that provides security services should take care to
   not violate the separation of authentication and authorization in the
   RFC3411 architecture.  The isAccessAllowed() primitive is used for
   passing security-model independent parameters between the subsystems
   of the architecture.

   Mapping of (securityModel, securityName) to an access control policy
   should be handled within the access control subsystem, not the
   transport or security subsystems, to be consistent with the
   modularity of the RFC3411 architecture.  This separation was a
   deliberate decision of the SNMPv3 WG, to allow support for
   authentication protocols which did not provide authorization



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 11]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   capabilities, and to support authorization schemes, such as VACM,
   that do not perform their own authentication.

   An authorization model (in the access control subsystem) MAY require
   authentication by certain securityModels and a minimum securityLevel
   to allow access to the data.

   Transport models that provide secure transport are an enhancement for
   the SNMPv3 privacy and authentication, but they are not a significant
   improvement for the authorization (access control) needs of SNMPv3.
   Only the model-independent parameters for the isAccessAllowed()
   primitive [RFC3411] are provided by the transport and security
   subsystems.

   A transport model must not specify how the securityModel and
   securityName could be dynamically mapped to an access control
   mechanism, such as a VACM-style groupName.  The mapping of
   (securityModel, securityName) to a groupName is a VACM-specific
   mechanism for naming an access control policy, and for tying the
   named policy to the addressing capabilities of the data modeling
   language (e.g.  SMIv2 [RFC2578]), the operations supported, and other
   factors.  Providing a binding outside the Access Control subsystem
   might create dependencies that could make it harder to develop
   alternate models of access control, such as one built on UNIX groups
   or Windows domains.  The preferred approach is to pass the model-
   independent security parameters via the isAccessAllowed() ASI, and
   perform the mapping from the model-independent security parameters to
   an authorization-model-dependent access policy within the access
   control model.

   To provide support for protocols which simultaneously send
   information for authentication and authorization, such as RADIUS
   [RFC2865], model-specific authorization information MAY be cached or
   otherwise made available to the access control subsystem, e.g., via a
   MIB table similar to the vacmSecurityToGroupTable, so the access
   control subsystem can create an appropriate binding between the
   model-independent securityModel and securityName and a model-specific
   access control policy.  This may be highly undesirable, however, if
   it creates a dependency between a transport model or a security model
   and an access control model, just as it is undesirable for a
   transport model to create a dependency between an SNMP message
   version and the security provided by a transport model.

3.2.3.  Security Parameter Passing Requirements

   RFC3411 section 4 describes primitives to describe the abstract data
   flows between the various subsystems, models and applications within
   the architecture.  Abstract Service Interfaces describe the flow of



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 12]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   data between subsystems within an engine.  The ASIs generally pass
   model-independent information.

   Within an engine using a transport model, outgoing SNMP messages are
   passed unencrypted from the message dispatcher to the transport
   model, and incoming messages are passed unencrypted from the
   transport model to the message dispatcher.

   The security parameters include a model-independent identifier of the
   security "principal", the security model used to perform the
   authentication, and which SNMP-specific security services were
   (should be) applied to the message (authentication and/or privacy).

   In the RFC3411 architecture, which reflects the USM security model
   design, the messaging model must unpack SNMP-specific security
   parameters from an incoming message before calling a specific
   security model to authenticate and decrypt an incoming message,
   perform integrity checking, and translate model-specific security
   parameters into model-independent parameters.

   When using a secure transport model, security parameters MAY be
   provided through means other than carrying them in the SNMP message.
   The parameters MAY be provided by SNMP applications for outgoing
   messages, and the parameters for incoming messages MAY be extracted
   from the transport layer by the transport model before the message is
   passed to the message processing subsystem.

   For outgoing messages, even when a secure transport model will
   provide the security services, it is necessary to have an security
   model because it is the security model that actually creates the
   message from its component parts.  Whether there are any security
   services provided by the security model for an outgoing message is
   model-dependent.

   For incoming messages, even when a secure transport model provides
   security services, a security model is necessary because there might
   be some security functionality that can only be provided after the
   message version is known.  The message version is determined by the
   Message Processing model and passed to the security model via the
   processIncoming() ASI.

   The RFC3411 architecture has no ASI parameters for passing security
   information between a transport mapping (a transport model) and the
   dispatcher, and between the dispatcher and the message processing
   model.

   This document describes a cache mechanism, into which the transport
   model puts information about the transport and security parameters



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 13]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   applied to a transport connection or an incoming message, and a
   security model MAY extract that information from the cache.  A
   tmStateReference is passed as an extra parameter in the ASIs of the
   transport subsystem and the messaging and security subsystems, to
   identify the relevant cache.

   This approach of passing a model-independent reference is consistent
   with the securityStateReference cache already being passed around in
   the RFC3411 ASIs.

3.3.  Session Requirements

   Some secure transports may have a notion of sessions, while other
   secure transports might provide channels or other session-like thing.
   Throughout this document, the term session is used in a broad sense
   to cover sessions, channels, and session-like things.  Session refers
   to an association between two SNMP engines that permits the
   transmission of one or more SNMP messages within the lifetime of the
   session.  How the session is actually established, opened, closed, or
   maintained is specific to a particular transport model.

   Sessions are not part of the SNMP architecture described in
   [RFC3411], but are considered desirable because the cost of
   authentication can be amortized over potentially many transactions.

   It is important to note that the architecture described in [RFC3411]
   does not include a session selector in the Abstract Service
   Interfaces, and neither is that done for the transport subsystem, so
   an SNMP application cannot select the session except by passing a
   unique combination of transport type, transport address,
   securityName, securityModel, and securityLevel.

   All transport models should discuss the impact of sessions on SNMP
   usage, including how to establish/open a transport session (i.e., how
   it maps to the concepts of session-like things of the underlying
   protocol), how to behave when a session cannot be established, how to
   close a session properly, how to behave when a session is closed
   improperly, the session security properties, session establishment
   overhead, and session maintenance overhead.

   To reduce redundancy, this document will discuss aspects that are
   expected to be common to all transport model sessions.

3.3.1.  Session Establishment Requirements

   SNMP applications must provide the transport type, transport address,
   securityName, securityModel, and securityLevel to be used for a
   session.



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 14]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   SNMP Applications typically have no knowledge of whether the session
   that will be used to carry commands was initially established as a
   notification session, or a request-response session, and SHOULD NOT
   make any assumptions based on knowing the direction of the session.
   If an administrator or transport model designer wants to
   differentiate a session established for different purposes, such as a
   notification session versus a request-response session, the
   application can use different securityNames or transport addresses
   (e.g., port 161 vs. port 162) for different purposes.

   An SNMP engine containing an application that initiates
   communication, e.g., a Command Generator or Notification Originator,
   MUST be able to attempt to establish a session for delivery if a
   session does not yet exist.  If a session cannot be established then
   the message is discarded.

   Sessions are usually established by the transport model when no
   appropriate session is found for an outgoing message, but sessions
   may be established in advance to support features such as
   notifications.  How sessions are established in advance is beyond the
   scope of this document.

   Sessions are initiated by notification originators when there is no
   currently established connection that can be used to send the
   notification.  For a client-server security protocol, this may
   require provisioning authentication credentials on the agent, either
   statically or dynamically, so the client/agent can successfully
   authenticate to a notification receiver.

   A transport model must be able to determine whether a session does or
   does not exist, and must be able to determine which session has the
   appropriate security characteristics (transport type, transport
   address, securityName, securityModel, and securityLevel) for an
   outgoing message.

   A transport model implementation MAY reuse an already established
   session with the appropriate transport type, transport address,
   securityName, securityModel, and securityLevel characteristics for
   delivery of a message originated by a different type of application
   than originally caused the session to be created.  For example, an
   implementation that has an existing session originally established to
   receive a request may use that session to send an outgoing
   notification, and may use a session that was originally established
   to send a notification to send a request.  Responses are expected to
   be returned using the same session that carried the corresponding
   request message.  Reuse of sessions is not required for conformance.

   If a session can be reused for a different type of message, but a



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 15]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   receiver is not prepared to accept different message types over the
   same session, then the message MAY be dropped by the receiver.  This
   may strongly affect the usefulness of session reuse, and transport
   models should define a standard behavior for this circumstance.

3.3.2.  Session Maintenance Requirements

   A transport model can tear down sessions as needed.  It may be
   necessary for some implementations to tear down sessions as the
   result of resource constraints, for example.

   The decision to tear down a session is implementation-dependent.
   While it is possible for an implementation to automatically tear down
   each session once an operation has completed, this is not recommended
   for anticipated performance reasons.  How an implementation
   determines that an operation has completed, including all potential
   error paths, is implementation-dependent.

   The elements of procedure may discuss when cached information can be
   discarded, and the timing of cache cleanup may have security
   implications, but cache memory management is an implementation issue.

   If a transport model defines MIB module objects to maintain session
   state information, then the transport model MUST describe what
   happens to the objects when a related session is torn down, since
   this will impact interoperability of the MIB module.

3.3.3.  Message security versus session security

   A transport model session is associated with state information that
   is maintained for its lifetime.  This state information allows for
   the application of various security services to multiple messages.
   Cryptographic keys established at the beginning of the session SHOULD
   be used to provide authentication, integrity checking, and encryption
   services for data that is communicated during the session.  The
   cryptographic protocols used to establish keys for a transport model
   session SHOULD ensure that fresh new session keys are generated for
   each session.  If each session uses new session keys, then messages
   cannot be replayed from one session to another.  In addition sequence
   information MAY be maintained in the session which can be used to
   prevent the replay and reordering of messages within a session.

   A transport model session will typically have a single transport
   type, transport address, securityModel, securityName and
   securityLevel associated with it.  If an exchange between
   communicating engines requires a different securityLevel or is on
   behalf of a different securityName, or uses a different
   securityModel, then another session would be needed.  An immediate



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 16]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   consequence of this is that implementations should be able to
   maintain some reasonable number of concurrent sessions.

   For transport models, securityName is typically specified during
   session setup, and associated with the session identifier.

   SNMPv3 was designed to support multiple levels of security,
   selectable on a per-message basis by an SNMP application, because
   there is not much value in using encryption for a Commander Generator
   to poll for non-sensitive performance data on thousands of interfaces
   every ten minutes; the encryption may add significant overhead to
   processing of the messages.

   Some transport models MAY support only specific authentication and
   encryption services, such as requiring all messages to be carried
   using both authentication and encryption, regardless of the security
   level requested by an SNMP application.  A transport model MAY
   upgrade the requested security level, i.e. noAuth/noPriv and auth/
   noPriv MAY be sent over an authenticated and encrypted session.

4.  Scenario Diagrams for the Transport Subsystem

   RFC3411 section 4.6 provides scenario diagrams to illustrate how an
   outgoing message is created, and how an incoming message is
   processed.  Both diagrams are incomplete, however.  In section 4.6.1,
   the diagram doesn't show the ASI for sending an SNMP request to the
   network or receiving an SNMP response message from the network.  In
   section 4.6.2, the diagram doesn't illustrate the interfaces required
   to receive an SNMP message from the network, or to send an SNMP
   message to the network.

4.1.  Command Generator or Notification Originator

   This diagram from RFC3411 4.6.1 shows how a Command Generator or
   Notification Originator application [RFC3413] requests that a PDU be
   sent, and how the response is returned (asynchronously) to that
   application.














Harrington & Schoenwaelder  Expires June 16, 2007              [Page 17]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   Command           Dispatcher               Message           Security
   Generator            |                     Processing           Model
   |                    |                     Model                    |
   |      sendPdu       |                        |                     |
   |------------------->|                        |                     |
   |                    | prepareOutgoingMessage |                     |
   :                    |----------------------->|                     |
   :                    |                        | generateRequestMsg  |
   :                    |                        |-------------------->|
   :                    |                        |                     |
   :                    |                        |<--------------------|
   :                    |                        |                     |
   :                    |<-----------------------|                     |
   :                    |                        |                     |
   :                    |------------------+     |                     |
   :                    | Send SNMP        |     |                     |
   :                    | Request Message  |     |                     |
   :                    | to Network       |     |                     |
   :                    |                  v     |                     |
   :                    :                  :     :                     :
   :                    :                  :     :                     :
   :                    :                  :     :                     :
   :                    |                  |     |                     |
   :                    | Receive SNMP     |     |                     |
   :                    | Response Message |     |                     |
   :                    | from Network     |     |                     |
   :                    |<-----------------+     |                     |
   :                    |                        |                     |
   :                    |   prepareDataElements  |                     |
   :                    |----------------------->|                     |
   :                    |                        | processIncomingMsg  |
   :                    |                        |-------------------->|
   :                    |                        |                     |
   :                    |                        |<--------------------|
   :                    |                        |                     |
   :                    |<-----------------------|                     |
   | processResponsePdu |                        |                     |
   |<-------------------|                        |                     |
   |                    |                        |                     |



4.2.  Command Responder

   This diagram shows how a Command Responder or Notification Receiver
   application registers for handling a pduType, how a PDU is dispatched
   to the application after an SNMP message is received, and how the
   Response is (asynchronously) send back to the network.



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 18]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   Command               Dispatcher            Message          Security
   Responder                 |                 Processing          Model
   |                         |                 Model                   |
   |                         |                    |                    |
   | registerContextEngineID |                    |                    |
   |------------------------>|                    |                    |
   |<------------------------|              |     |                    |
   |                         | Receive SNMP |     |                    |
   :                         | Message      |     |                    |
   :                         | from Network |     |                    |
   :                         |<-------------+     |                    |
   :                         |                    |                    |
   :                         |prepareDataElements |                    |
   :                         |------------------->|                    |
   :                         |                    | processIncomingMsg |
   :                         |                    |------------------->|
   :                         |                    |                    |
   :                         |                    |<-------------------|
   :                         |                    |                    |
   :                         |<-------------------|                    |
   |     processPdu          |                    |                    |
   |<------------------------|                    |                    |
   |                         |                    |                    |
   :                         :                    :                    :
   :                         :                    :                    :
   |    returnResponsePdu    |                    |                    |
   |------------------------>|                    |                    |
   :                         | prepareResponseMsg |                    |
   :                         |------------------->|                    |
   :                         |                    |generateResponseMsg |
   :                         |                    |------------------->|
   :                         |                    |                    |
   :                         |                    |<-------------------|
   :                         |                    |                    |
   :                         |<-------------------|                    |
   :                         |                    |                    |
   :                         |--------------+     |                    |
   :                         | Send SNMP    |     |                    |
   :                         | Message      |     |                    |
   :                         | to Network   |     |                    |
   :                         |              v     |                    |


5.  Cached Information and References

   The RFC3411 architecture uses caches to store dynamic model-specific
   information, and uses references in the ASIs to indicate in a model-
   independent manner which cached information must flow between



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 19]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   subsystems.

   There are two levels of state that may need to be maintained: the
   security state in a request-response pair, and potentially long-term
   state relating to transport and security.

   This state is maintained in caches.  To simplify the elements of
   procedure, the release of state information is not always explicitly
   specified.  As a general rule, if state information is available when
   a message being processed gets discarded, the state related to that
   message should also be discarded, and if state information is
   available when a relationship between engines is severed, such as the
   closing of a transport session, the state information for that
   relationship might also be discarded.

   This document differentiates the tmStateReference from the
   securityStateReference.  This document does not specify an
   implementation strategy, only an abstract discussion of the data that
   must flow between subsystems.  An implementation MAY use one cache
   and one reference to serve both functions, but an implementer must be
   aware of the cache-release issues to prevent the cache from being
   released before a security or transport model has had an opportunity
   to extract the information it needs.

5.1.  securityStateReference

   From RFC3411: "For each message received, the Security Model caches
   the state information such that a Response message can be generated
   using the same security information, even if the Local Configuration
   Datastore is altered between the time of the incoming request and the
   outgoing response.

   A Message Processing Model has the responsibility for explicitly
   releasing the cached data if such data is no longer needed.  To
   enable this, an abstract securityStateReference data element is
   passed from the Security Model to the Message Processing Model.  The
   cached security data may be implicitly released via the generation of
   a response, or explicitly released by using the stateRelease
   primitive, as described in RFC3411 section 4.5.1."

   The information saved should include the model-independent parameters
   (transportDomain, transportAddress, securityName, securityModel, and
   securityLevel), related security parameters, and other information
   needed to imatch the response with the request.  The Message
   Processing Model has the responsibility for explicitly releasing the
   securityStateReference when such data is no longer needed.  The
   securityStateReference cached data may be implicitly released via the
   generation of a response, or explicitly released by using the



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 20]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   stateRelease primitive, as described in RFC 3411 section 4.5.1."

   If the transport model connection is closed between the time a
   Request is received and a Response message is being prepared, then
   the Response message MAY be discarded.

5.2.  tmStateReference

   For each message or transport session, information about the message
   security is stored in a cache, which may inlcude model- and
   mechanism-specific parameters.  The tmStateReference is passed
   between subsystems to provide a handle for the cache.  A transport
   model may store transport-specific parameters in the cache for
   subsequent usage.  Since the contents of a cache are meaningful only
   within an implementation, and not on-the-wire, the format of the
   cache is implementation-specific.

   The state referenced by tmStateReference may be saved in a Local
   Configuration Datastore (LCD) to make it available across multiple
   messages, as compared to securityStateReference which is designed to
   be saved only for the life of a request-response pair of messages.
   It is expected that an LCD will allow lookup based on the combination
   of transportDomain, transportAddress, securityName, securityModel,
   and securityLevel, and that the cache contain these values to
   reference entries in the LCD.

6.  Abstract Service Interfaces

   Abstract service interfaces have been defined by RFC 3411 to describe
   the conceptual data flows between the various subsystems within an
   SNMP entity.

   To simplify the elements of procedure, the release of state
   information is not always explicitly specified.  As a general rule,
   if state information is available when a message gets discarded, the
   message-state information should also be released, and if state
   information is available when a session is closed, the session state
   information should also be released.

   An error indication may return an OID and value for an incremented
   counter and a value for securityLevel, and values for contextEngineID
   and contextName for the counter, and the securityStateReference if
   the information is available at the point where the error is
   detected.







Harrington & Schoenwaelder  Expires June 16, 2007              [Page 21]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


6.1.  Generating an Outgoing SNMP Message

   This section describes the procedure followed by an RFC3411-
   compatible system whenever it generates a message containing a
   management operation (such as a request, a response, a notification,
   or a report) on behalf of a user.

   statusInformation =3D          -- success or errorIndication
   prepareOutgoingMessage(
   IN  transportDomain          -- transport domain to be used
   IN  transportAddress         -- transport address to be used
   IN  messageProcessingModel   -- typically, SNMP version
   IN  securityModel            -- Security Model to use
   IN  securityName             -- on behalf of this principal
   IN  securityLevel            -- Level of Security requested
   IN  contextEngineID          -- data from/at this entity
   IN  contextName              -- data from/in this context
   IN  pduVersion               -- the version of the PDU
   IN  PDU                      -- SNMP Protocol Data Unit
   IN  expectResponse           -- TRUE or FALSE
   IN  sendPduHandle            -- the handle for matching
                                   incoming responses
   OUT  destTransportDomain     -- destination transport domain
   OUT  destTransportAddress    -- destination transport address
   OUT  outgoingMessage         -- the message to send
   OUT  outgoingMessageLength   -- its length
   OUT  tmStateReference        -- (NEW) reference to transport state
               )

   Note that tmStateReference has been added to this ASI.

   The IN parameters of the prepareOutgoingMessage() ASI are used to
   pass information from the dispatcher (from the application subsystem)
   to the message processing subsystem.

   The abstract service primitive from a Message Processing Model to a
   Security Model to generate the components of a Request message is
   generateRequestMsg().

   The abstract service primitive from a Message Processing Model to a
   Security Model to generate the components of a Response message is
   generateResponseMsg().

   Upon completion of processing, the Security Model returns
   statusInformation.  If the process was successful, the completed
   message is returned.  If the process was not successful, then an
   errorIndication is returned.




Harrington & Schoenwaelder  Expires June 16, 2007              [Page 22]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   The OUT parameters of the prepareOutgoingMessage() ASI are used to
   pass information from the message processing model to the dispatcher
   and on to the transport model:

6.2.  Processing for an Outgoing Message

   The sendMessage ASI is used to pass a message from the Dispatcher to
   the appropriate transport model for sending.

   statusInformation =3D
   sendMessage(
   IN   destTransportDomain           -- transport domain to be used
   IN   destTransportAddress          -- transport address to be used
   IN   outgoingMessage               -- the message to send
   IN   outgoingMessageLength         -- its length
   IN   tmStateReference              -- reference to transport state
    )

6.3.  Processing an Incoming SNMP Message

6.3.1.  Processing an Incoming Message

   If one does not exist, the Transport Model will need to create an
   entry in a Local Configuration Datastore referenced by
   tmStateReference.  This information will include transportDomain,
   transportAddress, the securityModel, the securityLevel, and the
   securityName, plus any model or mechanism-specific details.  How this
   information is determined is model-specific.

   The recvMessage ASI is used to pass a message from the transport
   subsystem to the Dispatcher.

   statusInformation =3D
   recvMessage(
   IN   transportDomain               -- origin transport domain
   IN   transportAddress              -- origin transport address
   IN   incomingMessage               -- the message received
   IN   incomingMessageLength         -- its length
   IN   tmStateReference              -- reference to transport state
    )

6.3.2.  Prepare Data Elements from Incoming Messages

   The abstract service primitive from the Dispatcher to a Message
   Processing Model for a received message is:






Harrington & Schoenwaelder  Expires June 16, 2007              [Page 23]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   result =3D                       -- SUCCESS or errorIndication
   prepareDataElements(
   IN   transportDomain           -- origin transport domain
   IN   transportAddress          -- origin transport address
   IN   wholeMsg                  -- as received from the network
   IN   wholeMsgLength            -- as received from the network
   IN   tmStateReference          -- (NEW) from the transport model
   OUT  messageProcessingModel    -- typically, SNMP version
   OUT  securityModel             -- Security Model to use
   OUT  securityName              -- on behalf of this principal
   OUT  securityLevel             -- Level of Security requested
   OUT  contextEngineID           -- data from/at this entity
   OUT  contextName               -- data from/in this context
   OUT  pduVersion                -- the version of the PDU
   OUT  PDU                       -- SNMP Protocol Data Unit
   OUT  pduType                   -- SNMP PDU type
   OUT  sendPduHandle             -- handle for matched request
   OUT  maxSizeResponseScopedPDU  -- maximum size sender can accept
   OUT  statusInformation         -- success or errorIndication
                                  -- error counter OID/value if error
   OUT  stateReference            -- reference to state information
                                  -- to be used for possible Response
   )


   Note that tmStateReference has been added to this ASI.

6.3.3.  Processing an Incoming Message

   This section describes the procedure followed by the Security Model
   whenever it receives an incoming message containing a management
   operation on behalf of a user from a Message Processing model.

   The Message Processing Model extracts some information from the
   wholeMsg.  The abstract service primitive from a Message Processing
   Model to the Security Subsystem for a received message is:















Harrington & Schoenwaelder  Expires June 16, 2007              [Page 24]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   statusInformation =3D  -- errorIndication or success
                            -- error counter OID/value if error
   processIncomingMsg(
   IN   messageProcessingModel    -- typically, SNMP version
   IN   maxMessageSize            -- of the sending SNMP entity
   IN   securityParameters        -- for the received message
   IN   securityModel             -- for the received message
   IN   securityLevel             -- Level of Security
   IN   wholeMsg                  -- as received on the wire
   IN   wholeMsgLength            -- length as received on the wire
   IN   tmStateReference          -- (NEW) from the transport model
   OUT  securityEngineID          -- authoritative SNMP entity
   OUT  securityName              -- identification of the principal
   OUT  scopedPDU,                -- message (plaintext) payload
   OUT  maxSizeResponseScopedPDU  -- maximum size sender can handle
   OUT  securityStateReference    -- reference to security state
    )                         -- information, needed for response

   1) The securityEngineID is set to a value in a model-specific manner.
   If the securityEngineID is not utilized by the specific model, then
   it should be set to the local snmpEngineID, to satisfy the SNMPv3
   message processing model in RFC 3412 section 7.2 13a).

   2) Extract the value of securityName from the Local Configuration
   Datastore entry referenced by tmStateReference.

   3) The scopedPDU component is extracted from the wholeMsg.

   4) The maxSizeResponseScopedPDU is calculated.  This is the maximum
   size allowed for a scopedPDU for a possible Response message.

   5) The security data is cached as cachedSecurityData, so that a
   possible response to this message can and will use the same security
   parameters.  Then securityStateReference is set for subsequent
   reference to this cached data.

   6) The statusInformation is set to success and a return is made to
   the calling module passing back the OUT parameters as specified in
   the processIncomingMsg primitive.

7.  Security Considerations

   This document describes an architectural approach that would permit
   SNMP to utilize transport layer security services.  Each proposed
   transport model should discuss the security considerations of the
   transport model.

   It is considered desirable by some industry segments that SNMP



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 25]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   transport models should utilize transport layer security that
   addresses perfect forward secrecy at least for encryption keys.
   Perfect forward secrecy guarantees that compromise of long term
   secret keys does not result in disclosure of past session keys.  The
   editors recommend that each proposed transport model include a
   discussion in its security considerations of whether perfect forward
   security is appropriate for the transport model.

   Since the cache and LCD will contain security-related parameters,
   they should be kept in protected storage.

8.  IANA Considerations

   This document requires no action by IANA.

9.  Acknowledgments

   The Integrated Security for SNMP WG would like to thank the following
   people for their contributions to the process:

   The authors of submitted security model proposals: Chris Elliot, Wes
   Hardaker, Dave Harrington, Keith McCloghrie, Kaushik Narayan, Dave
   Perkins, Joseph Salowey, and Juergen Schoenwaelder.

   The members of the Protocol Evaluation Team: Uri Blumenthal,
   Lakshminath Dondeti, Randy Presuhn, and Eric Rescorla.

   WG members who committed to and performed detailed reviews: Jeffrey
   Hutzelman

10.  References

10.1.  Normative References

   [RFC2119]               Bradner, S., "Key words for use in RFCs to
                           Indicate Requirement Levels", BCP 14,
                           RFC 2119, March 1997.

   [RFC2578]               McCloghrie, K., Ed., Perkins, D., Ed., and J.
                           Schoenwaelder, Ed., "Structure of Management
                           Information Version 2 (SMIv2)", STD 58,
                           RFC 2578, April 1999.

   [RFC3411]               Harrington, D., Presuhn, R., and B. Wijnen,
                           "An Architecture for Describing Simple
                           Network Management Protocol (SNMP) Management
                           Frameworks", STD 62, RFC 3411, December 2002.




Harrington & Schoenwaelder  Expires June 16, 2007              [Page 26]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   [RFC3412]               Case, J., Harrington, D., Presuhn, R., and B.
                           Wijnen, "Message Processing and Dispatching
                           for the Simple Network Management Protocol
                           (SNMP)", STD 62, RFC 3412, December 2002.

   [RFC3414]               Blumenthal, U. and B. Wijnen, "User-based
                           Security Model (USM) for version 3 of the
                           Simple Network Management Protocol (SNMPv3)",
                           STD 62, RFC 3414, December 2002.

   [RFC3417]               Presuhn, R., "Transport Mappings for the
                           Simple Network Management Protocol (SNMP)",
                           STD 62, RFC 3417, December 2002.

10.2.  Informative References

   [RFC2865]               Rigney, C., Willens, S., Rubens, A., and W.
                           Simpson, "Remote Authentication Dial In User
                           Service (RADIUS)", RFC 2865, June 2000.

   [RFC3410]               Case, J., Mundy, R., Partain, D., and B.
                           Stewart, "Introduction and Applicability
                           Statements for Internet-Standard Management
                           Framework", RFC 3410, December 2002.

   [RFC3413]               Levi, D., Meyer, P., and B. Stewart, "Simple
                           Network Management Protocol (SNMP)
                           Applications", STD 62, RFC 3413,
                           December 2002.

   [RFC4366]               Blake-Wilson, S., Nystrom, M., Hopwood, D.,
                           Mikkelsen, J., and T. Wright, "Transport
                           Layer Security (TLS) Extensions", RFC 4366,
                           April 2006.

   [RFC4422]               Melnikov, A. and K. Zeilenga, "Simple
                           Authentication and Security Layer (SASL)",
                           RFC 4422, June 2006.

   [RFC4251]               Ylonen, T. and C. Lonvick, "The Secure Shell
                           (SSH) Protocol Architecture", RFC 4251,
                           January 2006.

   [I-D.ietf-netconf-ssh]  Wasserman, M. and T. Goddard, "Using the
                           NETCONF Configuration Protocol over Secure
                           Shell (SSH)", draft-ietf-netconf-ssh-06 (work
                           in progress), March 2006.




Harrington & Schoenwaelder  Expires June 16, 2007              [Page 27]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


Appendix A.  Parameter Table

   Following is a CSV formatted matrix useful for tracking data flows
   into and out of the dispatcher, transport, message, and security
   subsystems.  Import this into your favorite spreadsheet or other CSV
   compatible application.  You will need to remove lines feeds from the
   second, third, and fourth lines, which needed to be wrapped to fit
   into RFC limits.

A.1.  ParameterList.csv

   ,Dispatcher,,,,Messaging,,,Security,,,Transport,

   ,sendPDU,returnResponse,processPDU,processResponse,

   prepareOutgoingMessage,prepareResponseMessage,prepareDataElements,

   generateRequest,processIncoming,generateResponse,

   sendMessage,recvMessage

   transportDomain,In,,,,In,,In,,,,,In

   transportAddress,In,,,,In,,In,,,,,In

   destTransportDomain,,,,,Out,Out,,,,,In,

   destTransportAddress,,,,,Out,Out,,,,,In,

   messageProcessingModel,In,In,In,In,In,In,Out,In,In,In,,

   securityModel,In,In,In,In,In,In,Out,In,In,In,,

   securityName,In,In,In,In,In,In,Out,In,Out,In,,

   securityLevel,In,In,In,In,In,In,Out,In,In,In,,

   contextEngineID,In,In,In,In,In,In,Out,,,,,

   contextName,In,In,In,In,In,In,Out,,,,,

   expectResponse,In,,,,In,,,,,,,

   PDU,In,In,In,In,In,In,Out,,,,,

   pduVersion,In,In,In,In,In,In,Out,,,,,

   statusInfo,Out,In,,In,,In,Out,Out,Out,Out,,



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 28]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   errorIndication,Out,Out,,,,,Out,,,,,

   sendPduHandle,Out,,,In,In,,Out,,,,,

   maxSizeResponsePDU,,In,In,,,In,Out,,Out,,,

   stateReference,,In,In,,,In,Out,,,,,

   wholeMessage,,,,,Out,Out,In,Out,In,Out,In,In

   messageLength,,,,,Out,Out,In,Out,In,Out,In,In

   maxMessageSize,,,,,,,,In,In,In,,

   globalData,,,,,,,,In,,In,,

   securityEngineID,,,,,,,,In,Out,In,,

   scopedPDU,,,,,,,,In,Out,In,,

   securityParameters,,,,,,,,Out,In,Out,,

   securityStateReference,,,,,,,,,Out,In,,

   pduType,,,,,,,Out,,,,,

   tmStateReference,,,,,Out,Out,In,,In,,In,In

Appendix B.  Why tmStateReference?

   This appendix considers why a cache-based approach was selected for
   passing parameters.  This section may be removed from subsequent
   revisions of the document.

   There are four approaches that could be used for passing information
   between the Transport Model and an Security Model.

   1.  one could define an ASI to supplement the existing ASIs, or
   2.  one could add a header to encapsulate the SNMP message,
   3.  one could utilize fields already defined in the existing SNMPv3
       message, or
   4.  one could pass the information in an implementation-specific
       cache or via a MIB module.

B.1.  Define an Abstract Service Interface

   Abstract Service Interfaces (ASIs) [RFC3411] are defined by a set of
   primitives that specify the services provided and the abstract data



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 29]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   elements that are to be passed when the services are invoked.
   Defining additional ASIs to pass the security and transport
   information from the transport subsystem to security subsystem has
   the advantage of being consistent with existing RFC3411/3412
   practice, and helps to ensure that any transport model proposals pass
   the necessary data, and do not cause side effects by creating model-
   specific dependencies between itself and other models or other
   subsystems other than those that are clearly defined by an ASI.

B.2.  Using an Encapsulating Header

   A header could encapsulate the SNMP message to pass necessary
   information from the Transport Model to the dispatcher and then to a
   messaging security model.  The message header would be included in
   the wholeMessage ASI parameter, and would be removed by a
   corresponding messaging model.  This would imply the (one and only)
   messaging dispatcher would need to be modified to determine which
   SNMP message version was involved, and a new message processing model
   would need to be developed that knew how to extract the header from
   the message and pass it to the Security Model.

B.3.  Modifying Existing Fields in an SNMP Message

   [RFC3412] describes the SNMPv3 message, which contains fields to pass
   security related parameters.  The transport subsystem could use these
   fields in an SNMPv3 message, or comparable fields in other message
   formats to pass information between transport models in different
   SNMP engines, and to pass information between a transport model and a
   corresponding messaging security model.

   If the fields in an incoming SNMPv3 message are changed by the
   Transport Model before passing it to the Security Model, then the
   Transport Model will need to decode the ASN.1 message, modify the
   fields, and re-encode the message in ASN.1 before passing the message
   on to the message dispatcher or to the transport layer.  This would
   require an intimate knowledge of the message format and message
   versions so the Transport Model knew which fields could be modified.
   This would seriously violate the modularity of the architecture.

B.4.  Using a Cache

   This document describes a cache, into which the Transport Model puts
   information about the security applied to an incoming message, and a
   Security Model can extract that information from the cache.  Given
   that there may be multiple TM-security caches, a tmStateReference is
   passed as an extra parameter in the ASIs between the transport
   subsystem and the security subsystem, so the Security Model knows
   which cache of information to consult.



Harrington & Schoenwaelder  Expires June 16, 2007              [Page 30]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   This approach does create dependencies between a specific Transport
   Model and a corresponding specific Security Model.  However, the
   approach of passing a model-independent reference to a model-
   dependent cache is consistent with the securityStateReference already
   being passed around in the RFC3411 ASIs.

Appendix C.  Open Issues

Appendix D.  Change Log

   NOTE to RFC editor: Please remove this change log before publishing
   this document as an RFC.

   Changes from revision -04- to -05-

      removed all objects from the MIB module.
      changed document status to "Standard" rather than the xml2rfc
      default of informational.

      changed mention of MD5 to SHA
      moved addressing style to TDomain and TAddress
      modified the diagrams as requested
      removed the "layered stack" diagrams that compared USM and a
      Transport Model processing
      removed discussion of speculative features that might exist in
      future transport models
      removed openSession() and closeSession() ASIs, since those are
      model-dependent
      removed the MIB module
      removed the MIB boilerplate into (this memo defines a SMIv2 MIB
      ...)
      removed IANA considerations related to the now-gone MIB module
      removed security considerations related to the MIB module
      removed references needed for the MIB module
      changed recvMessage ASI to use origin transport domain/address
      updated Parameter CSV appendix
   Changes from revision -03- to -04-

      changed title from Transport Mapping Security Model Architectural
      Extension to Transport Subsystem
      modified the abstract and introduction
      changed TMSM to TMS
      changed MPSP to simply Security Model
      changed SMSP to simply Security Model
      changed TMSP to Transport Model
      removed MPSP and TMSP and SMSP from Acronyms section





Harrington & Schoenwaelder  Expires June 16, 2007              [Page 31]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


      modified diagrams
      removed most references to dispatcher functionality
      worked to remove dependencies between transport and security
      models.
      defined snmpTransportModel enumeration similar to
      snmpSecurityModel, etc.
      eliminated all reference to SNMPv3 msgXXXX fields
      changed tmSessionReference back to tmStateReference

   Changes from revision -02- to -03-

   o  removed session table from MIB module
   o  removed sessionID from ASIs
   o  reorganized to put ASI discussions in EOP section, as was done in
      SSHSM
   o  changed user auth to client auth
   o  changed tmStateReference to tmSessionReference
   o  modified document to meet consensus positions published by JS
   o
      *  authoritative is model-specific
      *  msgSecurityParameters usage is model-specific
      *  msgFlags vs. securityLevel is model/implementation-specific
      *  notifications must be able to cause creation of a session
      *  security considerations must be model-specific
      *  TDomain and TAddress are model-specific
      *  MPSP changed to SMSP (Security model security processing)

   Changes from revision -01- to -02-

   o  wrote text for session establishment requirements section.
   o  wrote text for session maintenance requirements section.
   o  removed section on relation to SNMPv2-MIB
   o  updated MIB module to pass smilint
   o  Added Structure of the MIB module, and other expected MIB-related
      sections.
   o  updated author address
   o  corrected spelling
   o  removed msgFlags appendix
   o  Removed section on implementation considerations.
   o  started modifying the security boilerplate to address TMS and MIB
      security issues
   o  reorganized slightly to better separate requirements from proposed
      solution.  This probably needs additional work.
   o  removed section with sample protocols and sample
      tmSessionReference.
   o  Added section for acronyms





Harrington & Schoenwaelder  Expires June 16, 2007              [Page 32]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


   o  moved section comparing parameter passing techniques to appendix.
   o  Removed section on notification requirements.

   Changes from revision -00-
   o  changed SSH references from I-Ds to RFCs
   o  removed parameters from tmSessionReference for DTLS that revealed
      lower layer info.
   o  Added TMS-MIB module
   o  Added Internet-Standard Management Framework boilerplate
   o  Added Structure of the MIB Module
   o  Added MIB security considerations boilerplate (to be completed)
   o  Added IANA Considerations
   o  Added ASI Parameter table
   o  Added discussion of Sessions
   o  Added Open issues and Change Log
   o  Rearranged sections

Authors' Addresses

   David Harrington
   Huawei Technologies (USA)
   1700 Alma Dr. Suite 100
   Plano, TX 75075
   USA

   Phone: +1 603 436 8634
   EMail: dharrington@huawei.com


   Juergen Schoenwaelder
   International University Bremen
   Campus Ring 1
   28725 Bremen
   Germany

   Phone: +49 421 200-3587
   EMail: j.schoenwaelder@iu-bremen.de














Harrington & Schoenwaelder  Expires June 16, 2007              [Page 33]
=0C
Internet-Draft          SNMP Transport Subsystem           December 2006


Full Copyright Statement

   Copyright (C) The IETF Trust (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).







Harrington & Schoenwaelder  Expires June 16, 2007              [Page 34]
=0C


------=_NextPart_000_1414_01C71EE7.583A4180
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms

------=_NextPart_000_1414_01C71EE7.583A4180--






From isms-bounces@lists.ietf.org Thu Dec 14 02:07:28 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GukgW-0006MO-W0; Thu, 14 Dec 2006 02:07:16 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GukgV-0006Ly-Kc
	for isms@ietf.org; Thu, 14 Dec 2006 02:07:15 -0500
Received: from ipmail01.adl2.internode.on.net ([203.16.214.140])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GukgS-00021l-V5
	for isms@ietf.org; Thu, 14 Dec 2006 02:07:15 -0500
Received: from ppp36-69.lns2.syd6.internode.on.net (HELO wattle.kardinia.com)
	([59.167.36.69])
	by ipmail01.adl2.internode.on.net with ESMTP; 14 Dec 2006 17:37:07 +1030
X-IronPort-AV: i="4.12,166,1165152600"; 
	d="scan'208"; a="61513460:sNHT22570821"
Message-Id: <4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
X-Sender: joe.fernandez@mail.internode.on.net
X-Mailer: QUALCOMM Windows Eudora Version 4.3.2
Date: Thu, 14 Dec 2006 18:05:09 +1100
To: isms@ietf.org
From: Joe Fernandez <jfernand@kardinia.com>
Subject: Re: [Isms] [Internet-Drafts@ietf.org: I-D
	ACTION:draft-schoenw-snmp-discover-00.txt]
In-Reply-To: <20061213212359.GA4888@boskop.local>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 287c806b254c6353fcb09ee0e53bbc5e
Cc: 
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Hi,
At 10:23 PM 13-12-06 +0100, Juergen Schoenwaelder wrote:

>I started an ID concerning engineID discovery.

>I am looking for review, feedback, criticism and suggestions.

I have one major question and a few minor ones that are numbered below.

The question is about registration and Abstract Service Interfaces.

RFC 3411 calls itself an architecture for *describing* SNMP Management 
Frameworks and I take this to mean it should not be interpreted as the 
*required* architecture for *implementing* SNMP Management Frameworks.

The standard specifies what goes on the wire, not what goes in the box, 
right? Designers can consent to their modules doing different things in the 
privacy of their own nodes.

RFC 3411 introduces ASIs and says they  "are intended to help clarify  the 
externally observable behavior of SNMP entities, and are not intended to 
constrain the structure or organization of implementations in any way."

The ASIs introduce the concept of applications registering responsibility 
for contexts.

With this background, my question is whether your procedure which seems to 
specify that applications have to register in a particular way, is 
constraining the implementation in a way that was not originally intended.

It seems to me that the alternative of recognizing a local context constant 
does not unduly constrain the implementation to the ASIs.

As part of this question, I would like to ask David Harrington: With 
reference to your recent posting in which you described the ASIs as highly 
unpopular, can you say with whom they are unpopular and why?



Minor questions:


1.
Section 3.1 says "To facilitate discovery, it is assumed that SNMP agents 
register their snmpEngineID scalar using a special well known 
contextEngineID.".

I find the wording  - "assumed"  - odd.

Don't you need to say something along the lines: This 
(standard/specification/whatever) requires an SNMP agent to register its 
snmpEngineID using a special well known contextEngineID, which is defined 
later in this document and/or the SNMP Framework MIB."  or "..an SNMP agent 
MUST register....." ?


2.
Section 3.1 says that agent implementations MAY register other objects with 
the localEngineID but managers should not count on it. How does the manager 
discover which way the implementer has chosen to go (short of trial and error)?

3.
I know what your pseudo code is meant to do because we have discussed it 
(at some length :-)  ) But isn't a new reader going to be baffled by the 
code first setting contextEngineID to the localEngineID constant and then 
immediately again setting it? There's no ASI here to tell the reader that 
the constant is used in the Get. I suggest that you may want to add 
comments to this block of pseudo code.

4
Assorted editorial:
4.a
Section 1:   To retrieve management information using the third version of the
    Simple Network Management Protocol (SNMPv3) [RFC3410], it is
    necessary to know the identifier of the remote SNMP protocol engine.

engineID is also needed for setting.

4.b
Section 3: when you say " ..require the snmpEngineID scalar" do you mean 
"request" or "acquire",  perhaps?


4.c.
Section 3.1
Some of the references to "agent" may need to be "command responder 
application"  - ?


4.d
Section 4.
Thank you for the generous acknowledgement. It seems curmudgeonly to offer 
a correction but since we have been warned of the problems with using slang 
and idiom, I'll suggest you may want to replace "Fall 2006". "Fall" in this 
context is not exactly slang or idiom but I think it only has a localized 
meaning. In any case, it is summer here in Sydney. I'll suggest "December 
2006" as a *quick fix*. If this gives you an opportunity to respond with an 
*architecturally elegant* solution that decouples the reference from the 
Gregorian Calendar, I'm going to regret ever mentioning this :-).






Joe Fernandez
Kardinia Software
jfernand@kardinia.com
www.kardinia.com


_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Thu Dec 14 11:03:13 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gut39-00009x-FE; Thu, 14 Dec 2006 11:03:11 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gut37-00009n-TW; Thu, 14 Dec 2006 11:03:09 -0500
Received: from alnrmhc14.comcast.net ([206.18.177.54])
	by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1Gut35-0003AD-MW; Thu, 14 Dec 2006 11:03:09 -0500
Received: from harrington73653
	(c-24-128-104-207.hsd1.nh.comcast.net[24.128.104.207])
	by comcast.net (alnrmhc14) with SMTP
	id <20061214160306b1400ml2i2e>; Thu, 14 Dec 2006 16:03:07 +0000
From: "David Harrington" <ietfdbh@comcast.net>
To: <isms@ietf.org>,
	<ngo@ietf.org>
Date: Thu, 14 Dec 2006 10:59:57 -0500
Message-ID: <146b01c71f98$e89ecdc0$0600a8c0@china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
Thread-Index: Acce/aLJOq0HIRLaT1W9YUubU49q+wAmoOvQ
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
In-Reply-To: <20061213212359.GA4888@boskop.local>
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 1ac7cc0a4cd376402b85bc1961a86ac2
Cc: 
Subject: [Isms] RE: [NGO] [Internet-Drafts@ietf.org:
	I-DACTION:draft-schoenw-snmp-discover-00.txt]
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

 

> -----Original Message-----
> From: Juergen Schoenwaelder [mailto:j.schoenwaelder@iu-bremen.de] 
> (and I expect
> that a sufficient number of SNMP experts are following the ISMS list
> anyway).
> 
If they are, I will admit my surprise at their ability to remain
absolutely quiet.

dbh



_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Thu Dec 14 12:36:54 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GuuVq-0006Lu-6B; Thu, 14 Dec 2006 12:36:54 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GuuVo-0006Lk-TX
	for isms@ietf.org; Thu, 14 Dec 2006 12:36:52 -0500
Received: from alnrmhc12.comcast.net ([206.18.177.52])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GuuVm-0005Cx-Iz
	for isms@ietf.org; Thu, 14 Dec 2006 12:36:52 -0500
Received: from harrington73653
	(c-24-128-104-207.hsd1.nh.comcast.net[24.128.104.207])
	by comcast.net (alnrmhc12) with SMTP
	id <20061214173648b1200bsg5ge>; Thu, 14 Dec 2006 17:36:48 +0000
From: "David Harrington" <ietfdbh@comcast.net>
To: "'Joe Fernandez'" <jfernand@kardinia.com>,
	<isms@ietf.org>
Date: Thu, 14 Dec 2006 12:33:30 -0500
Message-ID: <148901c71fa5$ff14b300$0600a8c0@china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
Thread-Index: AccfToOmW0Q71KSgQL+GPtOMz760ewAR2vfg
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
In-Reply-To: <4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 3a4bc66230659131057bb68ed51598f8
Cc: 
Subject: [Isms] RFC3411 architecture and ASIs
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Hi,

**********************************************************************
*** 
This is an unofficial bulletin from the SNMP architectural purity
police 
**********************************************************************
***
 ;-)

I haven't been following the NGO threads closely over the last two
weeks and have not yet reviewed Juergen's draft.

So let me only address Joe's question, out of context.

> RFC 3411 calls itself an architecture for *describing* SNMP 
> Management 
> Frameworks and I take this to mean it should not be 
> interpreted as the 
> *required* architecture for *implementing* SNMP Management
Frameworks.

That is correct. The RFC3411 architecture is not meant to constrain
implementations.

> RFC 3411 introduces ASIs and says they  "are intended to help 
> clarify  the 
> externally observable behavior of SNMP entities, and are not 
> intended to 
> constrain the structure or organization of implementations in 
> any way."
That is correct.

The title of RFC3411 very deliberately used "An Architecture" and "for
Describing". The primary purpose of the architecture is to develop a
modular standard in order to create a consistent terminology for
discussion of the conceptual components of an SNMP entity, and the
conceptual data flows that occur between the conceptual components to
ensure that the right information gets to the pieces that need it.

A second purpose of RFC3411 is to make SNMP extensible - to clearly
define a minimal set of data-flow dependencies between conceptual
subsystems, to make it easier to propose extensions to different
portions of the standard within the IETF standards process. Prior to
RFC3411, extensions to SNMP pretty much required opening up the whole
monolithic standard.

It had become clear that different segments of the industry have
different needs that could be addressed using extensions to certain
portions of the SNMPv3 standard, and that the IETF was unlikely to
ever reach consensus on a single specification that met everybody's
requirements for different transports, message formats, message
security, and data access controls.  

That trend has continued, and the IETF Management Framework is being
opened to using not only different extensions to SNMP, but even
non-SNMP protocols are being accepted as part of the IETF management
solution.

> [...]
> As part of this question, I would like to ask David Harrington: With

> reference to your recent posting in which you described the 
> ASIs as highly 
> unpopular, can you say with whom they are unpopular and why?

There are only two groups who really are impacted by the ASIs -
implementers and standards developers.

Despite the fact we tried to put disclaimers all over the place that
the ASIs were about describing minimal conceptual data flows between
conceptual subsystems, and not about constraining implementations, and
that the ASIs are NOT APIs, the format of the ASI looks like an API,
and implementers who tried to implement them as APIs really disliked
them. Some implementers disliked the whole conceptualization of
subsystems, because it didn't match their implementation, and it
became a bit harder to translate the concepts from the standardized
modular architecture to their existing implementation architectures. 

I would have much preferred to use data-flow diagrams (DFDs) in the
document to model the flows of data, but we are constrained to
70-column ASCII in IETF documents, and that format does not lend
itself to DFD notation. So we chose the current ASI format, which was
easily understandable because it looked like a function call.

Standards developers disliked it for a different reason. The RFC3411
"descriptive" architecture has become a Full Standard and part of the
IETF Standard Management Framework, and it is widely interpreted as
the *required* architecture for *designing* IETF-standard SNMP
Management Frameworks. 

To a degree, it stopped being descriptive and became prescriptive
(Thanks, Bert for the nice choice of words). But not exactly - the
IESG has not mandated RFC3411 as the required architecture for
designing IETF-standard SNMP Management Frameworks (unless a WG agrees
to it during charter discussions).

The "descriptive" architecture standardized the terminology and
concepts to discuss design decisions and proposed extensions. If
somebody makes a proposal to modify/extend SNMP that uses different
terminology and concepts, the members of the IESG are likely to
question why the proposal is done using non-standard terminology and
concepts. 

David Harrington
dharrington@huawei.com 
dbharrington@comcast.net
ietfdbh@comcast.net
 










_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Thu Dec 14 15:50:15 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GuxWq-00089o-Uk; Thu, 14 Dec 2006 15:50:08 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GuxWk-00087v-Ob; Thu, 14 Dec 2006 15:50:02 -0500
Received: from ns1.neustar.com ([2001:503:c779:1a::9c9a:108a])
	by ietf-mx.ietf.org with esmtp (Exim 4.43)
	id 1GuxWk-0008Va-E4; Thu, 14 Dec 2006 15:50:02 -0500
Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com
	[10.31.47.10]) by ns1.neustar.com (Postfix) with ESMTP id 3B24526E83;
	Thu, 14 Dec 2006 20:50:02 +0000 (GMT)
Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43)
	id 1GuxWk-00088v-1A; Thu, 14 Dec 2006 15:50:02 -0500
Content-Type: Multipart/Mixed; Boundary="NextPart"
Mime-Version: 1.0
To: i-d-announce@ietf.org
From: Internet-Drafts@ietf.org
Message-Id: <E1GuxWk-00088v-1A@stiedprstage1.ietf.org>
Date: Thu, 14 Dec 2006 15:50:02 -0500
X-Spam-Score: -2.5 (--)
X-Scan-Signature: 10ba05e7e8a9aa6adb025f426bef3a30
Cc: isms@ietf.org
Subject: [Isms] I-D ACTION:draft-ietf-isms-tmsm-05.txt 
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts 
directories.
This draft is a work item of the Integrated Security Model for SNMP Working Group of the IETF.

	Title		: Transport Subsystem for the Simple Network Management Protocol (SNMP)
	Author(s)	: D. Harrington, J. Schoenwaelder
	Filename	: draft-ietf-isms-tmsm-05.txt
	Pages		: 34
	Date		: 2006-12-14
	
This document describes a Transport Subsystem, extending the Simple
   Network Management Protocol (SNMP) architecture defined in RFC 3411.
   This document describes a subsystem to contain transport models,
   comparable to other subsystems in the RFC3411 architecture.  As work
   is being done to expand the transport to include secure transport
   such as SSH and TLS, using a subsystem will enable consistent design
   and modularity of such transport models.  This document identifies
   and discusses some key aspects that need to be considered for any
   transport model for SNMP.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-isms-tmsm-05.txt

To remove yourself from the I-D Announcement list, send a message to 
i-d-announce-request@ietf.org with the word unsubscribe in the body of 
the message. 
You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce 
to change your subscription settings.

Internet-Drafts are also available by anonymous FTP. Login with the 
username "anonymous" and a password of your e-mail address. After 
logging in, type "cd internet-drafts" and then 
"get draft-ietf-isms-tmsm-05.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

Internet-Drafts can also be obtained by e-mail.

Send a message to:
	mailserv@ietf.org.
In the body type:
	"FILE /internet-drafts/draft-ietf-isms-tmsm-05.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"

--OtherAccess
Content-Type: Message/External-body; access-type="mail-server";
	server="mailserv@ietf.org"

Content-Type: text/plain
Content-ID: <2006-12-14124158.I-D@ietf.org>

ENCODING mime
FILE /internet-drafts/draft-ietf-isms-tmsm-05.txt

--OtherAccess
Content-Type: Message/External-body; name="draft-ietf-isms-tmsm-05.txt";
	site="ftp.ietf.org"; access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID: <2006-12-14124158.I-D@ietf.org>


--OtherAccess--

--NextPart
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms

--NextPart--





From isms-bounces@lists.ietf.org Thu Dec 14 22:24:51 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gv3gn-0003Az-8M; Thu, 14 Dec 2006 22:24:49 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Gv3gl-0003As-QY
	for isms@ietf.org; Thu, 14 Dec 2006 22:24:47 -0500
Received: from ipmail01.adl2.internode.on.net ([203.16.214.140])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gv3gj-0005DH-CN
	for isms@ietf.org; Thu, 14 Dec 2006 22:24:47 -0500
Received: from ppp39-154.lns2.syd6.internode.on.net (HELO wattle.kardinia.com)
	([59.167.39.154])
	by ipmail01.adl2.internode.on.net with ESMTP; 15 Dec 2006 13:54:39 +1030
X-IronPort-AV: i="4.12,171,1165152600"; 
	d="scan'208"; a="61999267:sNHT34712923"
Message-Id: <4.3.2.7.2.20061215141549.0176bcf8@mail.internode.on.net>
X-Sender: joe.fernandez@mail.internode.on.net
X-Mailer: QUALCOMM Windows Eudora Version 4.3.2
Date: Fri, 15 Dec 2006 14:22:40 +1100
To: "David Harrington" <ietfdbh@comcast.net>,<isms@ietf.org>
From: Joe Fernandez <jfernand@kardinia.com>
In-Reply-To: <148901c71fa5$ff14b300$0600a8c0@china.huawei.com>
References: <4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 9182cfff02fae4f1b6e9349e01d62f32
Cc: 
Subject: [Isms] Re: RFC3411 architecture and ASIs
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Thanks for the detailed and lucid explanation.

At 12:33 PM 14-12-06 -0500, David Harrington wrote:
>Hi,
>
>**********************************************************************
>***
>This is an unofficial bulletin from the SNMP architectural purity
>police
>**********************************************************************
>***
>  ;-)

So is there a Captain Architecture whose responsibility it is to remain 
vigilant against the threat of QAPDFs (Quick And Possibly Dirty Fixes) and, 
when he/she sees a proposal for one, to take up his/her cape and Design 
Patterns handbook  and leap into battle for elegance, modularity, and the 
IETF way?

:-)
Joe Fernandez
Kardinia Software
jfernand@kardinia.com
www.kardinia.com


_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Fri Dec 15 02:44:47 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gv7kG-0001BK-HZ; Fri, 15 Dec 2006 02:44:40 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Gv7kF-0001AJ-LH
	for isms@ietf.org; Fri, 15 Dec 2006 02:44:39 -0500
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gv7kC-00069A-25
	for isms@ietf.org; Fri, 15 Dec 2006 02:44:39 -0500
Received: from localhost (demetrius.iu-bremen.de [212.201.44.32])
	by hermes.iu-bremen.de (Postfix) with ESMTP id 519D2562C9;
	Fri, 15 Dec 2006 08:44:33 +0100 (CET)
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by localhost (demetrius.iu-bremen.de [212.201.44.32]) (amavisd-new,
	port 10024)
	with ESMTP id 20413-06; Fri, 15 Dec 2006 08:44:29 +0100 (CET)
Received: from boskop.local (unknown [10.222.1.3])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hermes.iu-bremen.de (Postfix) with ESMTP id 8A07556095;
	Fri, 15 Dec 2006 08:44:29 +0100 (CET)
Received: by boskop.local (Postfix, from userid 501)
	id 56A2E8FB959; Fri, 15 Dec 2006 08:44:29 +0100 (CET)
Date: Fri, 15 Dec 2006 08:44:29 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@iu-bremen.de>
To: Joe Fernandez <jfernand@kardinia.com>
Subject: Re: [Isms] [Internet-Drafts@ietf.org: I-D
	ACTION:draft-schoenw-snmp-discover-00.txt]
Message-ID: <20061215074429.GB7487@boskop.local>
Mail-Followup-To: Joe Fernandez <jfernand@kardinia.com>,
	isms@ietf.org
References: <20061213212359.GA4888@boskop.local>
	<4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
User-Agent: Mutt/1.5.12-2006-07-14
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at iu-bremen.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d2b46e3b2dfbff2088e0b72a54104985
Cc: isms@ietf.org
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: j.schoenwaelder@iu-bremen.de
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

 On Thu, Dec 14, 2006 at 06:05:09PM +1100, Joe Fernandez wrote:
 
> I have one major question and a few minor ones that are numbered below.
> 
> The question is about registration and Abstract Service Interfaces.
> 
> RFC 3411 calls itself an architecture for *describing* SNMP Management 
> Frameworks and I take this to mean it should not be interpreted as the 
> *required* architecture for *implementing* SNMP Management Frameworks.
> 
> The standard specifies what goes on the wire, not what goes in the box, 
> right? Designers can consent to their modules doing different things in the 
> privacy of their own nodes.
> 
> RFC 3411 introduces ASIs and says they  "are intended to help clarify  the 
> externally observable behavior of SNMP entities, and are not intended to 
> constrain the structure or organization of implementations in any way."
> 
> The ASIs introduce the concept of applications registering responsibility 
> for contexts.
> 
> With this background, my question is whether your procedure which seems to 
> specify that applications have to register in a particular way, is 
> constraining the implementation in a way that was not originally intended.

No. We usually describes things in our architectural framework with
the understanding that implementations may choose different ways to
achieve the same behavior. In terms of the NET-SNMP code base, I think
the actual code change to support the "local" engineID is in the order
of roughly 5 lines of code since the registration is kind of hard
wired.

> It seems to me that the alternative of recognizing a local context constant 
> does not unduly constrain the implementation to the ASIs.

Not sure what you mean here.

> As part of this question, I would like to ask David Harrington: With 
> reference to your recent posting in which you described the ASIs as highly 
> unpopular, can you say with whom they are unpopular and why?

Well, you asked Dave, so I should probably not respond. Personally, I
think there are two main reasons why ASIs are sometimes unpopular:

(1) People often confuse the ASIs with APIs. The ASIs are conceptual in
    order to understand the information flow within an SNMP engine and
    to avoid side effects. Implementations often use a different structure
    for various reasons and that is just fine.

(2) The ASIs are rather precise in defining what data flows where
    compared to many other IETF protocol standards. This level of
    precision was actually needed when the ASIs were introduced
    because the reuse of data items in various parts of what we call
    an SNMP entity these days did lead to all sorts of problems. Of
    course, this level of detail makes it also much harder to talk
    about extensions since (a) you can't simply leave some nasty
    details to implementors to figure out and (b) the learning curve
    to enter and follow discussions is rather high.
> 
> Minor questions:
> 
> 
> 1.
> Section 3.1 says "To facilitate discovery, it is assumed that SNMP agents 
> register their snmpEngineID scalar using a special well known 
> contextEngineID.".
> 
> I find the wording  - "assumed"  - odd.
> 
> Don't you need to say something along the lines: This 
> (standard/specification/whatever) requires an SNMP agent to register its 
> snmpEngineID using a special well known contextEngineID, which is defined 
> later in this document and/or the SNMP Framework MIB."  or "..an SNMP agent 
> MUST register....." ?

I will fix the wording. 
 
> 2.
> Section 3.1 says that agent implementations MAY register other objects with 
> the localEngineID but managers should not count on it. How does the manager 
> discover which way the implementer has chosen to go (short of trial and 
> error)?

To discover the engineID, the other objects are not needed. I believe
managers should simply discover the real engineID and then use the
correct engineID. Agent implementations, however, might find it
simpler to export all objects in the "local" engineID context.

And yes, I do not mind if an application which only needs a single
variable during its short lifetime sends a get(snmpEngineID.0,
something.0) and is prepared to handle any exceptions or failures by
retrying. I believe this is implementation choice.

> 3.
> I know what your pseudo code is meant to do because we have discussed it 
> (at some length :-)  ) But isn't a new reader going to be baffled by the 
> code first setting contextEngineID to the localEngineID constant and then 
> immediately again setting it? There's no ASI here to tell the reader that 
> the constant is used in the Get. I suggest that you may want to add 
> comments to this block of pseudo code.

I will try to rewrite the pseudo code and add more comments. Perhaps I
should introduce a "session" handle which is modified and passed
around, as is common in many SNMP APIs I have seen.

> 4
> Assorted editorial:
> 4.a
> Section 1:   To retrieve management information using the third version of 
> the
>    Simple Network Management Protocol (SNMPv3) [RFC3410], it is
>    necessary to know the identifier of the remote SNMP protocol engine.
> 
> engineID is also needed for setting.

Yes. I will fix this.

> 4.b
> Section 3: when you say " ..require the snmpEngineID scalar" do you mean 
> "request" or "acquire",  perhaps?

Will fix the wording. 
 
> 4.c.
> Section 3.1
> Some of the references to "agent" may need to be "command responder 
> application"  - ?

Yes. I will fix this.
 
> 4.d
> Section 4.
> Thank you for the generous acknowledgement. It seems curmudgeonly to offer 
> a correction but since we have been warned of the problems with using slang 
> and idiom, I'll suggest you may want to replace "Fall 2006". "Fall" in this 
> context is not exactly slang or idiom but I think it only has a localized 
> meaning. In any case, it is summer here in Sydney. I'll suggest "December 
> 2006" as a *quick fix*. If this gives you an opportunity to respond with an 
> *architecturally elegant* solution that decouples the reference from the 
> Gregorian Calendar, I'm going to regret ever mentioning this :-).

I will fix this as well.

Thanks for your feedback.

/js

-- 
Juergen Schoenwaelder		 {International|Jacobs} University Bremen
<http://www.eecs.iu-bremen.de/>	 P.O. Box 750 561, 28725 Bremen, Germany

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Fri Dec 15 10:03:10 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GvEaY-0002p1-Fp; Fri, 15 Dec 2006 10:03:06 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GvEaX-0002ow-Bs
	for isms@ietf.org; Fri, 15 Dec 2006 10:03:05 -0500
Received: from kyoto.netlab.nec.de ([195.37.70.21])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GvEaV-0007vc-1K
	for isms@ietf.org; Fri, 15 Dec 2006 10:03:05 -0500
Received: from [10.1.1.104] (mito.netlab.nec.de [195.37.70.39])
	by kyoto.netlab.nec.de (Postfix) with ESMTP id 24B5C13CF82
	for <isms@ietf.org>; Fri, 15 Dec 2006 16:08:02 +0100 (CET)
Date: Fri, 15 Dec 2006 16:03:00 +0100
From: Juergen Quittek <quittek@netlab.nec.de>
To: isms@ietf.org
Message-ID: <E38BD9884B2260229FED2556@n-quittek2.office>
X-Mailer: Mulberry/4.0.5 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 798b2e660f1819ae38035ac1d8d5e3ab
Cc: 
Subject: [Isms] working group last call on draft-ietf-isms-tmsm-05
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Dear all,

This is the working group last call on the "Transport Subsystem for
the Simple Network Management Protocol (SNMP)" to be found at
<http://www.ietf.org/internet-drafts/draft-ietf-isms-tmsm-05.txt>.

The authors and the chairs think that this document is mature enough
for last call.  Since the holidays are coming, the last call period is
not two weeks as usual, but three weeks.

Please do review the document and post your comments on this list until
January 8, 2007.  Please also post to the list if you have read the document
and are fine with it.  It is very useful to know how many people have read
the document.

Thanks,

    Juergen Q.
-- 
Juergen Quittek        quittek@netlab.nec.de       Tel: +49 6221 4342-115
NEC Europe Ltd.,       Network Laboratories        Fax: +49 6221 4342-155
Kurfuersten-Anlage 36, 69115 Heidelberg, Germany   http://www.netlab.nec.de

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 20 06:31:10 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GwzfC-0008PP-AI; Wed, 20 Dec 2006 06:31:10 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GwzfB-0008PF-D4
	for isms@ietf.org; Wed, 20 Dec 2006 06:31:09 -0500
Received: from ipmail02.adl2.internode.on.net ([203.16.214.141])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gwzf6-0005Nn-IA
	for isms@ietf.org; Wed, 20 Dec 2006 06:31:09 -0500
Received: from ppp2-22.lns1.syd7.internode.on.net (HELO wattle.kardinia.com)
	([59.167.2.22])
	by ipmail02.adl2.internode.on.net with ESMTP; 20 Dec 2006 22:00:56 +1030
X-IronPort-AV: i="4.12,192,1165152600"; 
	d="scan'208"; a="62875449:sNHT49022260"
Message-Id: <4.3.2.7.2.20061220213300.024aa4b0@mail.internode.on.net>
X-Sender: joe.fernandez@mail.internode.on.net
X-Mailer: QUALCOMM Windows Eudora Version 4.3.2
Date: Wed, 20 Dec 2006 22:28:47 +1100
To: j.schoenwaelder@iu-bremen.de
From: Joe Fernandez <jfernand@kardinia.com>
Subject: Re: [Isms] [Internet-Drafts@ietf.org: I-D
	ACTION:draft-schoenw-snmp-discover-00.txt]
In-Reply-To: <20061215074429.GB7487@boskop.local>
References: <4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
	<20061213212359.GA4888@boskop.local>
	<4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 10ba05e7e8a9aa6adb025f426bef3a30
Cc: isms@ietf.org
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

At 08:44 AM 15-12-06 +0100, Juergen Schoenwaelder wrote:
[..]
> > The ASIs introduce the concept of applications registering responsibility
> > for contexts.
> >
> > With this background, my question is whether your procedure which seems to
> > specify that applications have to register in a particular way, is
> > constraining the implementation in a way that was not originally intended.
>
>No. We usually describes things in our architectural framework with
>the understanding that implementations may choose different ways to
>achieve the same behavior. In terms of the NET-SNMP code base, I think
>the actual code change to support the "local" engineID is in the order
>of roughly 5 lines of code since the registration is kind of hard
>wired.
>
> > It seems to me that the alternative of recognizing a local context 
> constant
> > does not unduly constrain the implementation to the ASIs.
>
>Not sure what you mean here.

I mean that it seems to me possible to specify support for a local context 
by recognition of a local contextEngineID constant without constraining the 
implementation to take section 4 of RFC 3411 as prescriptive.

If you start with the ASIs in mind as your model, then you tend to be 
driven by thinking along the lines of an application code module 
registering responsibility for contextEngineIDs. But the standard is purely 
to achieve interoperability, right, so its about bits on the wire not code 
in the node.

In practice in most cases there will not be a proxy and in many cases a 
manager will be talking to a single agent that has a single 
contextEngineID. So the manager should have a simple way to tell the agent 
to use its default contextEngineID and gain access to   all objects in the 
named context.


[..]

>(2) The ASIs are rather precise in defining what data flows where
>     compared to many other IETF protocol standards. This level of
>     precision was actually needed when the ASIs were introduced
>     because the reuse of data items in various parts of what we call
>     an SNMP entity these days did lead to all sorts of problems. Of
>     course, this level of detail makes it also much harder to talk
>     about extensions since (a) you can't simply leave some nasty
>     details to implementors to figure out

...perhaps you can, but I'll agree that it is much kinder to provide 
guidance in the form of a possible implementation scenario. The question 
then is when this guidance goes from being descriptive to being prescriptive.

Your proposal explicitly leaves open the possibilities that agents may make 
either just snmpEngineID accessible under this contextEngineID or 
additional objects, which could be "all" objects.

How about defining two well known constants, one for the single object 
case, the other for the all object case? Then if the agent is known to have 
implemented the latter, the manager knows it can access any object in a 
single operation by using the second constant.

If you do not see any objections to this alternative I can draft the text 
for it.

[..]

> > and idiom, I'll suggest you may want to replace "Fall 2006". "Fall" in 
> this
> > context is not exactly slang or idiom but I think it only has a localized
> > meaning. In any case, it is summer here in Sydney. I'll suggest "December
> > 2006" as a *quick fix*. If this gives you an opportunity to respond 
> with an
> > *architecturally elegant* solution that decouples the reference from the
> > Gregorian Calendar, I'm going to regret ever mentioning this :-).
>
>I will fix this as well.

I hope it was clear that this last comment was meant as a joke and that it 
did not cause any offence.  Email is a deadly medium where attempts at 
humour sometimes go off the rails....


Joe Fernandez
Kardinia Software
jfernand@kardinia.com
www.kardinia.com


_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 20 18:20:42 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GxAjk-0005Xg-RA; Wed, 20 Dec 2006 18:20:36 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GxAjj-0005UK-Dq
	for isms@ietf.org; Wed, 20 Dec 2006 18:20:35 -0500
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GxAjh-0004sD-Vt
	for isms@ietf.org; Wed, 20 Dec 2006 18:20:35 -0500
Received: from localhost (demetrius.iu-bremen.de [212.201.44.32])
	by hermes.iu-bremen.de (Postfix) with ESMTP id 42A8855F83;
	Thu, 21 Dec 2006 00:20:33 +0100 (CET)
Received: from hermes.iu-bremen.de ([212.201.44.23])
	by localhost (demetrius.iu-bremen.de [212.201.44.32]) (amavisd-new,
	port 10024)
	with ESMTP id 08428-10; Thu, 21 Dec 2006 00:20:30 +0100 (CET)
Received: from boskop.local (unknown [10.222.1.2])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hermes.iu-bremen.de (Postfix) with ESMTP id EC5E055DA0;
	Thu, 21 Dec 2006 00:20:29 +0100 (CET)
Received: by boskop.local (Postfix, from userid 501)
	id 3354D902B2D; Thu, 21 Dec 2006 00:20:28 +0100 (CET)
Date: Thu, 21 Dec 2006 00:20:27 +0100
From: Juergen Schoenwaelder <j.schoenwaelder@iu-bremen.de>
To: Joe Fernandez <jfernand@kardinia.com>
Subject: Re: [Isms] [Internet-Drafts@ietf.org: I-D
	ACTION:draft-schoenw-snmp-discover-00.txt]
Message-ID: <20061220232027.GC1497@boskop.local>
Mail-Followup-To: Joe Fernandez <jfernand@kardinia.com>,
	isms@ietf.org
References: <4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
	<20061213212359.GA4888@boskop.local>
	<4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
	<4.3.2.7.2.20061220213300.024aa4b0@mail.internode.on.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4.3.2.7.2.20061220213300.024aa4b0@mail.internode.on.net>
User-Agent: Mutt/1.5.10i
X-Virus-Scanned: amavisd-new 2.3.3 (20050822) at iu-bremen.de
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a7d6aff76b15f3f56fcb94490e1052e4
Cc: isms@ietf.org
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: j.schoenwaelder@iu-bremen.de
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

On Wed, Dec 20, 2006 at 10:28:47PM +1100, Joe Fernandez wrote:
 
> If you start with the ASIs in mind as your model, then you tend to be 
> driven by thinking along the lines of an application code module 
> registering responsibility for contextEngineIDs. But the standard is purely 
> to achieve interoperability, right, so its about bits on the wire not code 
> in the node.
>
 > In practice in most cases there will not be a proxy and in many cases a 
> manager will be talking to a single agent that has a single 
> contextEngineID. So the manager should have a simple way to tell the agent 
> to use its default contextEngineID and gain access to   all objects in the 
> named context.

Or the manager simply uses the "real" contextEngineID...

> Your proposal explicitly leaves open the possibilities that agents may make 
> either just snmpEngineID accessible under this contextEngineID or 
> additional objects, which could be "all" objects.
> 
> How about defining two well known constants, one for the single object 
> case, the other for the all object case? Then if the agent is known to have 
> implemented the latter, the manager knows it can access any object in a 
> single operation by using the second constant.
> 
> If you do not see any objections to this alternative I can draft the text 
> for it.

I strongly dislike adding a second constant to avoid finding agreement
on the scope of a single constant. You did not really say why you want
to require "all" objects under the "local" contextEngineID. Is it
because you want to safe a round-trip time because you can get away
without doing a contextEngineID discovery? Are there other reasons?

And yes, I would love to hear more opinions. Anyone out there
following this discussion?

/js

-- 
Juergen Schoenwaelder		 {International|Jacobs} University Bremen
<http://www.eecs.iu-bremen.de/>	 P.O. Box 750 561, 28725 Bremen, Germany

_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Thu Dec 21 07:19:40 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1GxMtd-0008LQ-Cw; Thu, 21 Dec 2006 07:19:37 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1GxMtb-0008LL-RL
	for isms@ietf.org; Thu, 21 Dec 2006 07:19:35 -0500
Received: from ipmail02.adl2.internode.on.net ([203.16.214.141])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GxMta-0005g9-5M
	for isms@ietf.org; Thu, 21 Dec 2006 07:19:35 -0500
Received: from ppp33-178.lns1.syd6.internode.on.net (HELO wattle.kardinia.com)
	([59.167.33.178])
	by ipmail02.adl2.internode.on.net with ESMTP; 21 Dec 2006 22:49:28 +1030
X-IronPort-AV: i="4.12,199,1165152600"; 
	d="scan'208"; a="63326871:sNHT37583756"
Message-Id: <4.3.2.7.2.20061221224108.01789b80@mail.internode.on.net>
X-Sender: joe.fernandez@mail.internode.on.net
X-Mailer: QUALCOMM Windows Eudora Version 4.3.2
Date: Thu, 21 Dec 2006 23:12:37 +1100
To: j.schoenwaelder@iu-bremen.de
From: Joe Fernandez <jfernand@kardinia.com>
Subject: Re: [Isms] [Internet-Drafts@ietf.org: I-D
	ACTION:draft-schoenw-snmp-discover-00.txt]
In-Reply-To: <20061220232027.GC1497@boskop.local>
References: <4.3.2.7.2.20061220213300.024aa4b0@mail.internode.on.net>
	<4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
	<20061213212359.GA4888@boskop.local>
	<4.3.2.7.2.20061214175628.01764d10@mail.internode.on.net>
	<4.3.2.7.2.20061220213300.024aa4b0@mail.internode.on.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 34d35111647d654d033d58d318c0d21a
Cc: isms@ietf.org
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Hi,

At 12:20 AM 21-12-06 +0100, Juergen Schoenwaelder wrote:

>  > In practice in most cases there will not be a proxy and in many cases a
> > manager will be talking to a single agent that has a single
> > contextEngineID. So the manager should have a simple way to tell the agent
> > to use its default contextEngineID and gain access to   all objects in the
> > named context.
>
>Or the manager simply uses the "real" contextEngineID...

But in the situation we are discussing the manager does not know what the 
real contextEngineID is. That's why you created  this Internet-Draft on 
EngineID Discovery, right?

So the two options we are discussing are:
a) the manager says "tell me what your engineID is so I can echo it back to 
you and get you to use it"

or

b)the manager says "use your own engineID, whatever it may be "


Option a) seems unnecessarily artificial and roundabout to me.


> > Your proposal explicitly leaves open the possibilities that agents may 
> make
> > either just snmpEngineID accessible under this contextEngineID or
> > additional objects, which could be "all" objects.
> >
> > How about defining two well known constants, one for the single object
> > case, the other for the all object case? Then if the agent is known to 
> have
> > implemented the latter, the manager knows it can access any object in a
> > single operation by using the second constant.
> >
> > If you do not see any objections to this alternative I can draft the text
> > for it.
>
>I strongly dislike adding a second constant to avoid finding agreement
>on the scope of a single constant.

But doesn't your proposal avoid finding agreement on the scope of your 
single constant, anyway? See my first para of my three paras above......the 
one that starts "Your proposal explicitly.."


>You did not really say why you want
>to require "all" objects under the "local" contextEngineID. Is it
>because you want to safe a round-trip time because you can get away
>without doing a contextEngineID discovery? Are there other reasons?

There's a design principle that says something along the lines that a good 
design should be no more complex than it needs to be. It is usually stated 
in a more elegant and simple way than that but I forget what the usual 
statement is.

I think I stated that this was the basis of my objection, in the earlier 
discussion on the NGO mailing list.

I still think that it is because I am not approaching the solution from the 
ASI point of view that I think a simple clean solution is to have the 
manager send a contextEngineID value that means "this" engine (and that is, 
of course, not an original contribution from me.)

>And yes, I would love to hear more opinions. Anyone out there
>following this discussion?
>

I am just wondering if I can call this the "You talkin' to me?" problem 
without incurring the wrath of  David Harrington. Before he sends me to the 
sin bin, I want to say that this quote has an entry in Wikipedia that 
anyone on this list can look up, if the quote does not mean anything to them.

The manager engages in an interaction with the agent but does not know the 
agent's engineID

So the agent says "You talkin' to me?" .

We both agree that even though this is not a proxy situation, we do not 
want the agent to go "Well I'm the only one here", but we are still having 
a minor disagreement on what the agent's behaviour should be.

So yes, other views would be good.



Joe Fernandez
Kardinia Software
jfernand@kardinia.com
www.kardinia.com


_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



From isms-bounces@lists.ietf.org Wed Dec 27 15:09:32 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Gzf5V-0005bK-1k; Wed, 27 Dec 2006 15:09:21 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Gzf5T-0005bF-P8
	for isms@ietf.org; Wed, 27 Dec 2006 15:09:19 -0500
Received: from alnrmhc13.comcast.net ([204.127.225.93])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gzf5S-0000je-IC
	for isms@ietf.org; Wed, 27 Dec 2006 15:09:19 -0500
Received: from harrington73653
	(ip67-155-163-250.z163-155-67.customer.algx.net[67.155.163.250])
	by comcast.net (alnrmhc13) with SMTP
	id <20061227200917b1300pht49e>; Wed, 27 Dec 2006 20:09:17 +0000
From: "David Harrington" <ietfdbh@comcast.net>
To: <j.schoenwaelder@iu-bremen.de>,
	<isms@ietf.org>
Date: Wed, 27 Dec 2006 15:06:03 -0500
Message-ID: <197a01c729f2$724ad600$0600a8c0@china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
Thread-Index: Accl6KnohSZvVJIwT5WlDT4y0/sDsQ==
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 7655788c23eb79e336f5f8ba8bce7906
Cc: 
Subject: [Isms] discovery
X-BeenThere: isms@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Mailing list for the ISMS working group <isms.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/isms>
List-Post: <mailto:isms@lists.ietf.org>
List-Help: <mailto:isms-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/isms>,
	<mailto:isms-request@lists.ietf.org?subject=subscribe>
Errors-To: isms-bounces@lists.ietf.org

Hi,

I recommend standardizing the discovery mechanisms to include three
pieces of data - contextengineID, sysDescriptor, and sysObjectID.
Those three items  identify the SNMP entity. 

Naming the variables that can be returned by a compliant
implementation of this mechanism allows us to discuss the security
considerations of the data revealed. Leaving it to the implementation
to allow any data in the request/response makes it pretty much
impossble to describe the security implications of the discovery
mechanism.

It could be argued that additional system objects could be included in
the discovery, and we can discuss the security implications of
including those in the request.

David Harrington
dharrington@huawei.com 
dbharrington@comcast.net
ietfdbh@comcast.net



_______________________________________________
Isms mailing list
Isms@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/isms



