Re: DRAFT Montreal minutes - X#NodeArchitecture comments

David Wysochanski <[email protected]>
Newsgroups gmane.ietf.ips
Message-ID <[email protected]>
Ping on the 2 items below - any comments?

Also adding a 3rd item:
3) Change key value format from list-of-values to
"iSCSI-name-value" (see 7/13/06 post).

For this one, I'd rather leave it as list-of-values, since
this is simple, underscores are just about as readable as
spaces, and iSCSI-name-value seems a little strange
to me in this context.


Wysochanski, David wrote:
> I think the attached addresses all of the comments
> below (or is pretty close).  I know the format
> is wrong in some cases (pages too long, etc) but I'll
> fix that later.  Diffing should be simpler.
> 
> Some remaining points still for discussion:
> 1) Still not sure about proper use / behavioral text
> 2) Now explicitly states the key may be sent in either
> normal or discovery sessions.
> 
> Specific comments / explanations below.
> 
> 
> [email protected] wrote:
>  > Dave,
>  >
>  >  > A couple comments a points for clarification, while this is fresh on
>  >  > everyone's minds below.
>  >  >
>  >  > > iSCSI X#NodeArchitecture Key: Dave Wysochanski, Network 
> Appliance - 30
>  > min
>  >  > >         (draft-ietf-ips-iscsi-nodearch-key.txt)
>  >  > >
>  >  > >         WG Discussion:
>  >  > >         - Key should be allowed only after Authentication.  Revise
>  > draft
>  >  > >                 to impose this restriction
>  >  > >
>  >  > This is actually already in there if you read the fine print of the
>  > "Use"
>  > portion of
>  >  > the declaration and note that "Any-Stage" is not there (see Section
>  > 12 in
>  > 3720).
>  >  > Since it has come up repeatedly though from various people, I will 
> add
>  > some
>  >  > text to point this out explicitly and refer to Sections 11 and 12 of
>  > 3720.
>  >
>  > Yes, please do that.
>  >
> 
> This has been fixed with a small change to the first
> sentence of paragraph 3, section 1.2 and added a
> second paragraph in section 2.
> 
> 
>  >  > >         - Make sure it's a regular-size text key (not a big one, 
> like
>  > the
>  >  > >                 one used for the large numbers involved in some
>  > authentication
>  >  > >                 methods).
>  >  > >
>  >  > Was the comment to limit the value size to 255 bytes, i.e. a single
>  >  > "text-value" (or "simple-value"), as defined by 3720, or something 
> else?
>  >
>  > Limiting the value size to 255 bytes was the intention.
>  >
>  >  > I liked the comma separated values and list-of-values seemed to
>  >  > fit well.  But if there are concerns about key length I suppose we
>  >  > can add an explicit max length of the list-of-values.  Another 
> reviewer
>  >  > raised the question about the maximum length early on so perhaps
>  >  > an explicit limit is the way to go here.
>  >
>  > An explicit limit is probably a good idea, as an implementation that
>  > receives this key and doesn't recognize it may only log the first
>  > 255 bytes, so imposing that as a max limit may encourage more useful
>  > behavior from implementations that aren't expecting the key.
>  >
> 
> Addressed in Section 2.
> 
> 
>  >  > >         - "protocol logic": crucial point is that **behavior** 
> is the
>  > same
>  >  > >                 independent of presence, absence, or content of the
>  > key.
>  > Add
>  >  > >                 or revise text to make this point.
>  >  > >
>  >  > Was the consensus that the original term, "functional behavior",
>  >  > was clear enough, and I just muddied the water by trying to
>  >  > make it more crisp?
>  >
>  > The "protocol logic" wording is not inherently a problem, but it is
>  > important
>  > that the on-the-wire "behavior" is unchanged, and "behavior" is an
>  > important
>  > word.
>  >
> 
> I put back the "functional behavior" term and made
> my added "protocol logic" sentence parenthetical.
> Please let me know if this hits the mark.
> 
> 
>  >  > >         - Document behavior of RFC 3720-compliant implementation 
> that
>  >  > >                 receives this new key and does not understand 
> it, and
>  > how
>  >  > >                 the other side deals with the resulting response.
>  >  > >
>  >  > Ok.
>  >  >
> 
> Adddressed with last paragraph added in 1.2.
> The paragraph starts with a short discussion about
> possible valid implementations, which complements
> part of the latter security section.
> 
> 
>  >  > >         - "configure different levels" text needs to be rephrased
>  > to be
>  >  > >                 specific that the amount of detail is what changes
>  > across levels.
>  >  > >
>  >  > I'm not sure about this comment because I thought the existing text
>  >  > does just that.  Here's what the text says today:
>  >  >
>  >  >     all
>  >  >     implementations of this extension key SHOULD provide an
>  >  >     administrative mechanism to configure different levels of
>  >  >     detail in the extension key values and MUST provide an
>  >  >     administrative mechanism to disable sending the key.
>  >
>  > "levels of detail" seems to be less than perfectly clear.  Talking
>  > about being able to set "amount of information" provided to one of
>  > several levels, and perhaps "verbosity" or "verbosity level" of
>  > the key could be clearer.
>  >
> 
> I think this is clearer now.  Please see paragraph
> 2, section 3.
> 
> 
>  >  > >         - Align ability to configure amount of details with "SHOULD
>  > NOT"
>  >  > >                 in Section 1.2 about administrative setting of key
>  > value.
>  >  > >                 (the prior "SHOULD NOT" appears to conflict with 
> this
>  > "SHOULD").
>  >  > >
>  >  > Point taken - will work on it.
>  >  >
> 
> Also, I think addressed with slight modification to
> 3rd paragraph of section 1.2
> 
> 
>  >  > >         - Double-check there is a 3720-format definition of the 
> key,
>  >  > >                 including description clearly in the draft.
>  >  > >
>  >  > Was the comment that the existing declaration in section 2
>  >  > conforms to section 12 of 3720, and specifically, section
>  >  > 12.22?
>  >
>  > If it does, I think you're done.  We weren't 100% sure in the meeting.
>  >
> 
> I double checked this and I think for the most part it
> is there.  However, upon examination and more thinking,
> I do not see or remember a reason to preclude use in
> discovery sessions (again, logging may be useful), and
> 3270 does not seem to forbid declarative keys in discovery
> sessions (are declarative keys "requests"?).  Thus, I've
> clarified some text to make this clear.  Please let me
> know if there are objections to this.  If so, I will add
> "Irrelevant when: SessionType=Discovery" to the key
> declaration and remove the references to discovery sessions.
> 
> 
>  >  > >         - Make the examples phony (no real company names), and 
> remove
>  >  > >                 the double quotes ("), as they don't appear on the
>  > wire.
>  >  > >
>  >  > Ok.  Main intent in providing company names was to show valid
>  >  > examples for implementers but I will remove them.  Note that
>  >  > RFC 2616 does have valid examples
>  >  >
>  >  >    Examples:
>  >  >
>  >  >        User-Agent: CERN-LineMode/2.15 libwww/2.17b3
>  >  >        Server: Apache/0.8.4
>  >
>  > The big concern was use of company names.  Example, Inc. is definitely
>  > ok, and non-offensive parodies of the company names used are probably
>  > fair game (Dave Noveck may already be thinking up some of the latter).
>  >
> 
> Done.
> 
> 
>  >  > >         - Spaces are forbidden in text strings.  See RFC 3720, 
> Section
>  > 5.1,
>  >  > >                 and feel free to ask on the list for options on 
> how to
>  > deal
>  >  > >                 with this.
>  >  > >
>  >  > Good catch - looks like I got carried away in my intent to provide
>  >  > clear examples.
>  >
> 
> Replaced all spaces with underscores.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> INTERNET-DRAFT                                       Dave Wysochanski
> Expires: November 4, 2006                      Network Appliance, Inc
>                                                           May 4, 2006
> 
>  
>  
>       Declarative Public Extension Key for iSCSI Node Architecture
>                draft-ietf-ips-iscsi-nodearch-key-01r2.txt
>                                         
> 
> 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/1id-abstracts.html 
> 
>    The list of Internet-Draft Shadow Directories can be accessed 
>    at http://www.ietf.org/shadow.html.  
> 
>    This Internet-Draft will expire on November 4, 2006.
> 
> Copyright Notice
> 
>    Copyright (C) The Internet Society (2006).
> 
> Abstract
> 
>    The iSCSI protocol, described in [RFC3720], allows for extension
>    items to the protocol in the form of Private or Public Extension
>    Keys.  This Internet-Draft describes a Public Extension Key for
>    the purpose of enhancing iSCSI supportability.  The key
>    accomplishes this objective by allowing iSCSI nodes to
>    communicate architecture details during the iSCSI login
>    sequence.  The receiving node can then use this information
>    for enhanced logging and support.
> 
> 
> Wysochanski              Expires November 4, 2006          [Page  1] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
> 
> 1.  Introduction
> 
> 1.1  Terminology
> 
>    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
>    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
>    this document are to be interpreted as described in [RFC2119].
> 
> 1.2  Overview
> 
>    This Internet-Draft describes a declarative Public Extension
>    Key as defined by section 12.22 of [RFC3720] that may be used to
>    communicate additional iSCSI node information to the opposite
>    node in a session.  The information carried in the described
>    key has been found to be valuable in real iSCSI customer
>    environments as initiator and target vendors collaborate to
>    resolve technical issues and better understand the evolving
>    iSCSI market.
> 
>    The key has been modeled after the "Server" and "User-Agent"
>    header fields as specified in sections 14.38 and 14.43 of
>    [RFC2616], with the text-value(s) of the key roughly equivalent
>    to Product Tokens in section 3.8 of [RFC2616].  Note however
>    that the text-value(s) in the keys list-of-values MUST conform
>    to the Text Format as specified in section 5.1 of [RFC3720].
> 
>    The key is sent during operational parameter negotiation of an
>    iSCSI session's login phase.  The intended use of this key is
>    to provide enhanced logging and support capabilities, and to
>    enable collection of iSCSI implementation and usage information.
>    Functional behavior of the iSCSI node (this includes the iSCSI
>    protocol logic -- the SCSI, iSCSI, and TCP/IP protocols) MUST NOT
>    depend on the presence, absence, or content of the key.  The key
>    MUST NOT be used by iSCSI nodes for interoperability, or exclusion
>    or deception of other nodes.  To ensure proper use, key values
>    SHOULD be set by the node itself, and there SHOULD NOT be
>    provisions for the key values to contain user-defined text.
> 
>    Nodes implementing this key may choose to only transmit the
>    key, only log the key values received from other nodes, or both
>    transmit and log the key values.  Each node choosing to implement
>    transmission of the key values MUST be prepared to handle the 
>    response of [RFC3720] compliant nodes that do not understand the
>    key ([RFC3720] states that compliant nodes MUST respond with
>    X#NodeArchitecture=NotUnderstood).
> 
> 
> Wysochanski              Expires November 4, 2006          [Page  2] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
> 
> 2.  Definition
> 
>    The definition of the key is as follows, conforming to sections 11
>    and 12 of [RFC3720], with example list-of-values conforming to
>    section 5.1 of [RFC3720].
> 
>    The key is defined with a Use of "LO", making it a Leading Only
>    key, and does not amend sections 11 or 12 of [RFC3720].  Thus, the
>    key MUST only be sent on the leading connection, MUST NOT be
>    changed after the leading connection login, and MUST only be sent
>    after the security negotiation login stage has completed (during 
>    operational negotiation login stage).  The key may be sent during
>    normal or discovery sessions.
> 
> 
> X#NodeArchitecture
> 
>    Use: LO, Declarative
>    Senders: Initiator and Target
>    Scope: SW
> 
>    X#NodeArchitecture=<list-of-values>
> 
>    Examples:
> 
>       X#NodeArchitecture=ExampleInc_Software_Initiator/1.05a,
>                          ExampleInc_OperatingSystem/2003Build1489,
>                          ExampleInc_Cluster_Services/2.0,
>                          CPU_Architecture/x86_64
>       X#NodeArchitecture=ExampleInc_iSCSI_4010_Hardware_Initiator/rev1,
>                          ExampleInc_Firmware/2.0.0.5,
>                          ExampleInc_Driver/2.0.0.1
>       X#NodeArchitecture=Linux_iSCSI_Software_Initiator/4:0.1.11-3,
>                          ExampleInc_Enterprise_Linux/4u3,
>                          Linux_Kernel/2.6.9-34.26.ELsmp,
>                          CPU_Architecture/i686,
>                          CPU_Speed/3.06GHz,
>                          Memory_Size/4059364kB
>       X#NodeArchitecture=ExampleInc_Software_Target/7.1,
>                          ExampleInc_Firmware/7.1,
>                          ExampleInc_Model/270c
> 
>    The initiator or target declares the details of its iSCSI node
>    architecture to the remote endpoint.  These details may include,
>    but are not limited to, iSCSI vendor software, firmware, or
>    hardware versions, the OS version, or hardware architecture.
> 
>    The length of the key value (total length of the list-of-values)
>    MUST NOT be greater than 255 bytes.
> 
>    X#NodeArchitecture MUST NOT be redeclared.
> 
> 
> 
> Wysochanski              Expires November 4, 2006          [Page  3] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
>  
> 3.  Security Considerations 
> 
>     This extension key transmits specific implementation details
>     about the node that sends it; such details may be considered
>     sensitive in some environments.  For example, if a certain
>     software or firmware version is known to contain security
>     weaknesses, announcing the presence of that version via this
>     key may not be desirable.  The countermeasures for this
>     security concern are:
>         - sending less detailed information in the key values, or
>         - not sending the extension key, or
>         - using IPsec to provide confidentiality for the iSCSI
>           connection on which the key is sent (see [RFC3720]
>           and [RFC3723]).
>     To support the first and second countermeasures, all 
>     implementations of this extension key MUST provide an 
>     administrative mechanism to disable sending the key.  In addition,
>     all implementations SHOULD provide an administrative mechanism to
>     configure a verbosity level of the key value, thereby controlling
>     the amount of information sent.  For example, a lower verbosity
>     might enable transmission of node architecture component names
>     only, but no version numbers.
> 
>     The choice of which countermeasure is most appropriate depends
>     on the environment.  However, the first countermeasure may be
>     acceptable in many environments, since it provides a compromise
>     between sending too much information and the other more
>     complete countermeasures of not sending the key at all or using
>     IPsec.
> 
>     In addition to security considerations involving transmission of
>     the key contents, any logging method(s) used for the key values
>     MUST keep the information secure from intruders.  For all
>     implementations, the requirements to address this security
>     concern are:
> 	- display of the log MUST only be possible with administrative
> 	rights to the node
> 	- options to disable logging to disk and to keep logs for a
> 	fixed duration SHOULD be provided
> 
>     Finally, it is important to note that different nodes may have
>     different levels of risk, and these differences may affect the
>     implementation.  The components of risk include assets, threats,
>     and vulnerabilities.  Consider the following example iSCSI nodes,
>     which demonstrate differences in assets and vulnerabilities of
>     the nodes, and as a result, differences in implementation:
>         - One iSCSI target based on a special-purpose operating
> 	system.  Since the iSCSI target controls access to the data
> 	storage containing company assets, the asset level is seen
> 	as very high.  Also, because of the special-purpose 
> 	operating system, in which vulnerabilities are less 
> 	well-known, the vulnerability level is viewed as low.
> 	- Multiple iSCSI initiators in a blade farm, each running
> 	a general-purpose operating system.  The asset level of
> 	each node is viewed as low, since blades are replaceable
> 	and low cost.  However, the vulnerability level is viewed
> 	as high, since there are many well-known vulnerabilities
> 	to the general-purpose operating system.
> 
>     For the above target, an appropriate implementation might be
>     logging of received key values, but no transmission of the key.
>     For the initiators, an appropriate implementation might be
>     transmission of the key, but no logging of received key values.  
> 
> 
> Wysochanski              Expires November 4, 2006          [Page  4] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
>  
> 4.  IANA Considerations 
> 
>    This document defines the iSCSI Extension Key NodeArchitecture 
>    to be registered in the IANA iSCSI extended key registry.
> 
>       
> 
> 
> 
> 
> 
>  
>  
> Wysochanski              Expires November 4, 2006          [Page  5] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
>  
> 5.  References
> 
> 5.1  Normative References 
> 
>    [RFC2119] Bradner, S. "Key Words for use in RFCs to Indicate 
>              Requirement Levels", BCP 14, RFC 2119, March 1997.  
> 
>    [RFC3720] Satran, J., Meth, K., Sapuntzakis, C., Chadalapaka, 
>              M., and E. Zeidner, "Internet Small Computer Systems 
>              Interface (iSCSI)", RFC 3720, April 2004. 
> 
>       
> 
> 5.2  Informative References 
> 
>    [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
>              Masinter, L., Leach, P., and T. Berners-Lee, 
>              "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616,
>              June 1999.
> 
>    [RFC3723] Adoba, B., Tseng, J., Walker, J., Rangan, V., and
>              Travostino, F., "Securing Block Storage Protocols
>              over IP", RFC 3723, April 2004.
> 
> 
>       
> 
> 
> 
> 
> 
>  
>  
> Wysochanski              Expires November 4, 2006          [Page  6] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
>  
> 6.  Author's Address 
> 
>    Dave Wysochanski
>    Network Appliance, Inc.
>    7301 Kit Creek Road
>    P. O. Box 13917
>    Research Triangle, NC 27709
>    Phone: +1-919-476-5628
>    E-mail: [email protected]
>            
>       
> 
> 
> 
> 
> 
>  
>  
> Wysochanski              Expires November 4, 2006          [Page  7] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
>  
> 7.  Acknowledgements 
> 
>    The IP Storage (ips) Working Group in the Transport Area of 
>    IETF has been responsible for defining the iSCSI protocol 
>    (apart from a host of other relevant IP Storage protocols).  
>    The editor acknowledges the contributions of the entire 
>    working group.   
> 
>    The following individuals directly contributed to identifying 
>    issues and/or suggesting resolutions to the issues found in this
>    document: David Black, Mallikarjun Chadalapaka, Paul Koning,
>    Julian Satran, John Hufferd, Claire Kraft, Ranga Sankar,
>    Joseph Pittman, Greg Berg, John Forte, and Jim Yuill. This
>    document benefited from all these contributions. 
> 
>       
> 
> 
> 
> 
> 
>  
>  
> Wysochanski              Expires November 4, 2006          [Page  8] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
>  
> 8.  Full Copyright Statement 
> 
>    Copyright (C) The Internet Society (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 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. 
> 
> 
> 
> 
> 
>  
>  
> Wysochanski              Expires November 4, 2006          [Page  9] 
>  
> 
> 
> Internet-Draft        iSCSI Node Architecture              July 2006
>  
> 9.  Intellectual Property Statement  
> 
>    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 [email protected].  
> 
>   
> 
> 
> 
> 
> 
>  
>  
> Wysochanski              Expires November 4, 2006          [Page 10] 
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Ips mailing list
> [email protected]
> https://www1.ietf.org/mailman/listinfo/ips

_______________________________________________
Ips mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/ips
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.