+1

Alan Coopersmith wrote:
> I am sponsoring this fasttrack for Stefan Teleman of the X team.
> The timer is set for next Tuesday, June 23, 2009.
> 
> While the design decisions made by XDM-AUTHORIZATION-1 are clearly
> inappropriate today (Triple-DES encryption of an string containing
> a network address limited to 32 bits (i.e. IPv4 only, no v6)), this
> case is about interoperability with this existing, 15-year old, 
> widely implemented standard, not designing new protocols for today.
> 
> When I submitted the draft version of what became the XDMCP 1.1
> standard to X.Org, it included a proposal for XDM-AUTHORIZATION-2
> which would have supported IPv6 and used AES instead - the X.Org
> standards body decided to defer that support until someone wanted
> it badly enough to provide a sample implementation for evaluation.
> 
> Since that did not happen during the standards review of the IPv6
> changes, XDMCP 1.1 was published without it (resulting in the
> "curious" situation Stefan notes below) - since that still has not
> happened, XDM-AUTHORIZATION-1 remains in its limited state, but still
> utilized and interoperable with existing implementations.  (The most
> common alternative, MIT-MAGIC-COOKIE, is a simple ascii encoding of the
> output of a random number generator such as /dev/urandom, so it's not
> like this is much worse of a method of generating a shared secret,
> it's just not really any better either.)
> 
>       -Alan Coopersmith-           alan.coopersmith at sun.com
>        Sun Microsystems, Inc. - X Window System Engineering
> 
> 
> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
> This information is Copyright 2009 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
>        XDM-AUTHORIZATION-1 support in libXdmcp
>     1.2. Name of Document Author/Supplier:
>        Author:  Stefan Teleman
>     1.3  Date of This Document:
>       16 June, 2009
> 4. Technical Description
> 
> Including XDMAUTH with X11 in Solaris
> 
> Stefan Teleman <stefan.teleman at Sun.COM>
> 11 June 2009
> 
> 1.    Summary and motivation
> 
>       XDMCP [ The X Display Manager Control Protocol ] provides for
>       several possible authentication mechanisms:
> 
>       - MIT-MAGIC-COOKIE-1
>       - XDM-AUTHORIZATION-1
>       - SUN-DES-1
>       - MIT-KERBEROS-5
> 
>       Not all of these authentication mechanisms are available in all
>       builds or implementations.
> 
>       The XDM-AUTHORIZATION-1 mechanism is similar to the MIT-MAGIC-COOKIE-1
>       mechanism: a key is stored in the .Xauthority file, and is shared
>       with the X server. This key consists of two parts - a 56-bit DES
>       encryption key and 64 bits of random data used as the authenticator.
> 
>       XDM-AUTHORIZATION-1 is only available if libXdmcp was compiled with,
>       and provides run-time support for, this mechanism. Such support is
>       discovered at software construction time [ ./configure ], by
>       checking for the presence of one translation unit, not necessarily
>       named Wraphelp.c. This translation unit provides implementations
>       for two C functions with private API binding:
> 
>       void _XdmcpAuthSetup(auth_cblock key, auth_wrapper_schedule schedule);
>       void _XdmcpAuthDoIt(auth_cblock input, auth_cblock output,
>                               auth_wrapper_schedule schedule, int flag);
> 
>       Various different implementations of the two functions mentioned
>       above are possible. Regardless of implementation, conformance to
>       the canonical prototypes defined for these two functions is expected
>       and assumed.
> 
>       Until now, Solaris has not provided support for XDM-AUTHORIZATION-1
>       authentication. This Case proposes the inclusion of this XDMCP
>       authentication mechanism with Solaris.
> 
>       This Case seeks Micro/Patch release binding.
> 
> 2.    Technical issues
> 
>       2.1.    Key Objects
> 
>       libXdmcp.so.6
> 
>       This library is, and has been for some time, present in Solaris,
>       but without the _Xdmcp* interfaces exposed by Wraphelp.o, therefore
>       without support for XDM-AUTHORIZATION-1.
> 
>       2.2.    ABI and API Considerations
> 
>       Introducing support for XDM-AUTHORIZATION-1 does not create ABI or
>       API incompatibilities: the two functions mentioned above are simply
>       added to the existing libXdmcp.so.6 API. Given that libXdmcp.so.6
>       is written in C, and that these two new functions have private
>       binding, there are no ABI compatibility issues; the introduction
>       of these new functions does not require, or create, modifications to
>       the existing libXdmcp.so.6 API.
> 
>       The particular details of any given implementation of the _Xdmcp*
>       functions are irrelevant to the libXdmcp.so.6 interface consumer:
>       the only concern is whether or not these interfaces are available.
> 
>       2.3.    Known limitations
> 
>       XDM-AUTHORIZATION-1 implements a TDES [ FIPS 46-3 ] [1] based access
>       control mechanism [ as per description above ]. Environments with
>       more stringent security requirements may consider cryptologically
>       stronger ciphers more appropriate.
> 
>       XDM-AUTHORIZATION-1 stores secret data in the .Xauthority file
>       [ similar to MIT-MAGIC-COOKIE-1 ]. Obtaining read access to a
>       user's .Xauthority file is a security breach: authentication data
>       can be read from a user's .Xauthority file and can be written to a
>       different .Xauthority file by the xauth(1) program, thereby granting
>       authenticated access to the Xserver.
> 
>       In addition, XDM-AUTHORIZATION-1 only supports TCP/IPv4 connections.
>       Although RFE's for a TCP/IPv6 implementation have been discussed,
>       no default implementation based on TCP/IPv6 has been provided to
>       date. TCP/IPv6 is explicitly excluded [ by omission ] from the XDMCP
>       Specification. Curiously enough, UDP/IPv4 and UDP/IPv6 are explicitly
>       discussed in the same Specification.
> 
>       In spite of these known limitations, including XDM-AUTHORIZATION-1
>       is a Protocol Standard conformance requirement.
> 
>       A future ARC Case may discuss the introduction and design of a more
>       flexible, secure and sophisticated implementation of the XDMCP
>       authorization mechanism: MIT-KERBEROS-5. [2]
> 
>       2.4.    Documentation
> 
>       PostScript documentation for the XDMCP Specification and the
>       XDM-AUTHORIZATION-1 authorization mechanism is available. [3]
>       Documentation of the library API is not available.
> 
> 3.    Interfaces
> 
>       3.1.    Interface Stability
> 
>       The prototypes for the two functions mentioned above have not
>       changed at least since X11 Release 6. This case does not propose
>       altering the current Interface Stability Classification [ Committed ]
>       currently in effect for libXdmcp.so.6.
> 
>       3.2.    Interface Dependencies and Compatibility
> 
>       Introducing XDM-AUTHORIZATION-1 in libXdmcp.so.6 does not create
>       additional compile-time, or run-time, dependencies for the library.
> 
> 4.    References
> 
>       [0]     http://www.x.org/
>       [1]     http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf
>       [2]     http://web.mit.edu/Kerberos/
>       [3]     http://www.x.org/docs/XDMCP/
>       
> 
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>       6.4.1. Consolidation C-team Name:
>               X Consolidation / Desktop C-Team
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
> 
> _______________________________________________
> opensolaris-arc mailing list
> opensolaris-arc at opensolaris.org

Reply via email to