User: starksm 
  Date: 01/03/30 03:18:04

  Modified:    src/docs jbosssx.xml
  Log:
  Updated the SRP section
  
  Revision  Changes    Path
  1.3       +114 -59   manual/src/docs/jbosssx.xml
  
  Index: jbosssx.xml
  ===================================================================
  RCS file: /cvsroot/jboss/manual/src/docs/jbosssx.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- jbosssx.xml       2001/03/29 11:24:50     1.2
  +++ jbosssx.xml       2001/03/30 11:18:04     1.3
  @@ -1,5 +1,6 @@
   <?xml version = "1.0" encoding = "UTF-8"?>
  -<!-- Version: $Revision: 1.2 $ -->
  +
  +<!-- Version: $Revision: 1.3 $ -->
   <?xml-stylesheet href = 
'file:///D:/usr/local/src/cvsroot/jBoss/manual/src/docs/jboss.xsl' type = 'text/xsl'?>
   <chapter>   
        <title>JBossSX Security Extension Framework</title>   
  @@ -181,6 +182,7 @@
                                                                <para> 
                                                                        
<literallayout><![CDATA[
   <method>
  +
        <ejb-name>EJBNAME</ejb-name>
        <method-name>*</method-name>
   </method>
  @@ -532,37 +534,33 @@
        </section>   
        <section id = "sx.SRP"> 
                <title>The Secure Remote Password(SRP) Protocol</title> 
  -             <para>The Secure Remote Password(SRP) protocol is an implementation of 
a
  -             public key exchange handshake described in RFC2945. The RFC2945 
abstract
  -             states: <quote>This document describes a cryptographically strong 
network
  -             authentication mechanism known as the Secure Remote Password (SRP) 
protocol.
  -             This mechanism is suitable for negotiating secure connections using a
  -             user-supplied password, while eliminating the security problems 
traditionally
  -             associated with reusable passwords. This system also performs a secure 
key
  -             exchange in the process of authentication, allowing security layers 
(privacy
  -             and/or integrity protection) to be enabled during the session. Trusted 
key
  -             servers and certificate infrastructures are not required, and clients 
are not
  -             required to store or manage any long-term keys. SRP offers both 
security and
  -             deployment advantages over existing challenge-response techniques, 
making it an
  -             ideal drop-in replacement where secure password authentication is
  -             needed.</quote>
  +             <para>The SRP protocol is an implementation of a public key exchange 
handshake described in RFC2945. The RFC2945 abstract states: <quote>This document 
describes a cryptographically strong network authentication mechanism known as the 
Secure Remote Password (SRP) protocol. This mechanism is suitable for negotiating 
secure connections using a user-supplied password, while eliminating the security 
problems traditionally associated with reusable passwords. This system also performs a 
secure key exchange in the process of authentication, allowing security layers 
(privacy and/or integrity protection) to be enabled during the session. Trusted key 
servers and certificate infrastructures are not required, and clients are not required 
to store or manage any long-term keys. SRP offers both security and deployment 
advantages over existing challenge-response techniques, making it an ideal drop-in 
replacement where secure password authentication is needed.</quote>
                </para> 
  -             <para>The JBossSX framework includes an implementation of SRP that 
consists
  -             of the following elements:<itemizedlist>  
  -                             <listitem> 
  -                                     <para>An implementation of the SRP handshake 
protocol that is
  -                             independent of any particular client/server 
protocol</para>  
  -                             </listitem>  
  -                             <listitem> 
  -                                     <para>An RMI implementation of the handshake 
protocol as the default
  -                             client/server SRP implimentation</para>  
  -                             </listitem>  
  -                             <listitem> 
  -                                     <para>A JAAS LoginModule implementation that 
uses the RMI
  -                             implimentation for use in authenticating clients in a 
secure fashion</para>  
  -                             </listitem>
  -                     </itemizedlist>
  -             </para>  
  +             <para>The JBossSX framework includes an implementation of SRP that 
consists of the following elements:</para>
  +             <itemizedlist>  
  +                     <listitem> 
  +                             <para>An implementation of the SRP handshake protocol 
that is independent of any particular client/server protocol</para>  
  +                     </listitem>  
  +                     <listitem> 
  +                             <para>An RMI implementation of the handshake protocol 
as the default client/server SRP implimentation</para>  
  +                     </listitem>  
  +                     <listitem> 
  +                             <para>A JAAS LoginModule implementation that uses the 
RMI implimentation for use in authenticating clients in a secure fashion</para>  
  +                     </listitem>
  +                     <listitem> 
  +                             <para>A JMX mbean for managing the RMI server 
implementation. The mbean allows the RMI server implementation to be plugged into a 
JMX framework and externalizes the configuration of the verification information 
store. It also establishes a authentication cache that is bound into the JBoss server 
JNDI namespace.</para>  
  +                     </listitem>
  +             </itemizedlist>
  +             <para>
  +                     <xref linkend = "sx.SRP.diagram"/> gives a diagram of the key 
components involved in the SRP client/server framework.</para>
  +             <figure id = "sx.SRP.diagram">
  +                     <title>Components of the SRP Client-Server Framework</title>
  +                     <mediaobject>
  +                             <imageobject>
  +                                     <imagedata fileref = 
"images/jbosssx/SRPComponents.gif"/>
  +                             </imageobject>
  +                     </mediaobject>
  +             </figure> 
        </section>  
        <section id = "sx.loginmodules">  
                <title>Custom LoginModules</title>  
  @@ -607,12 +605,42 @@
                                        </itemizedlist>
                                </section>   
                                <section id = "sx.login.AbstractServerLoginModule">  
  -                                     <title>AbstractServerLoginModule</title>  
  +                                     
<title>org.jboss.security.plugins.AbstractServerLoginModule</title>  
                                        <para>The AbstractServerLoginModule is an 
abstract base class suitable that simplifies writing custom modules for the JBoss 
server. It implements the Subject to Principals/Groups usage pattern described <xref 
linkend = "sx.SubjectPatterns"/>. Any custom module you write should be a subclass of 
AbstractServerLoginModule to ensure that it associates information with the 
authenticated Subject in a manner consistent with the JBossSX supplied security 
managers.</para>   
                                </section>   
                                <section id = "sx.login.JaasServerLoginModule">  
  -                                     <title>JaasServerLoginModule</title>  
  -                                     <para>The JaasServerLoginModule is a simple 
properties file based module. It uses a users.properties to obtain the valid users and 
their passwords and a roles.properties to assign roles to users.</para>   
  +                                     
<title>org.jboss.security.plugins.samples.JaasServerLoginModule</title>  
  +                                     <para>The JaasServerLoginModule is a simple 
properties file based login module that consults two Java Properties
  +formatted text files for username to password("users.properties") and
  +username to roles("roles.properties") mapping. The properties files are loaded
  +during initialization using the thread context class loader. This means that
  +these files can be placed into the J2EE deployment jar or the JBoss config
  +directory.
  +
  +The users.properties file uses a format:
  +<programlisting>
  +    username1=password1
  +    username2=password2
  +    ...
  +</programlisting>
  +to define all valid usernames and their corresponding passwords.
  +
  +The roles.properties file uses a format:
  +<programlisting>
  +    username1=role1,role2,...
  +    username1.RoleGroup1=role3,role4,...
  +    username2=role1,role3,...
  +</programlisting>
  +to define the sets of roles for valid usernames. The "username.XXX" form of
  +property name is used to assign the username roles to a particular named
  +group of roles where the XXX portion of the property name is the group name.
  +The "username=..." form is an abbreviation for "username.Roles=...".
  +The following are therefore equivalent:
  +<programlisting>
  +    jduke=TheDuke,AnimatedCharacter
  +    jduke.Roles=TheDuke,AnimatedCharacter
  +</programlisting>
  +                             </para>   
                                </section>   
                                <section id = "sx.login.ProxyLoginModule">  
                                        
<title>org.jboss.security.ProxyLoginModule</title>  
  @@ -675,33 +703,60 @@
                                <section>
                                        
<title>org.jboss.security.plugins.samples.DatabaseServerLoginModule</title>  
                                        <para>DatabaseServerLoginModule is a JDBC 
based login module that supports authentication and role mapping. It is based on two 
logical tables, Principals and Roles.
  -A simple view of the schema is given in <xref linkend="sx.table.model" />
  -     <figure id="sx.table.model">
  -             <title>The DatabaseServerLoginModule Logical Tables</title>
  -                     <mediaobject>   
  -                             <imageobject> 
  -                                     <imagedata fileref = 
"images/jbosssx/LMDatabaseModel.jpg" />   
  -                             </imageobject> 
  -                     </mediaobject>  
  -     </figure>
  -
  -The Principals table associates the user principalID with the valid password and 
the Roles table associates the principalIDd with its role sets. The tables are logical 
in that you can specify the sql query that the login module uses so as long as the 
result set has the same structure the tables and columns can be called anything.
  +A simple view of the schema is given in <xref linkend = "sx.table.model"/>
  +                                             <figure id = "sx.table.model">
  +                                                     <title>The 
DatabaseServerLoginModule Logical Tables</title>
  +                                                     <mediaobject>   
  +                                                             <imageobject> 
  +                                                                     <imagedata 
fileref = "images/jbosssx/LMDatabaseModel.jpg"/>   
  +                                                             </imageobject> 
  +                                                     </mediaobject>  
  +                                             </figure>The Principals table 
associates the user principalID with the valid password and the Roles table associates 
the principalIDd with its role sets. The tables are logical in that you can specify 
the sql query that the login module uses so as long as the result set has the same 
structure the tables and columns can be called anything.
   
   The module options are:</para>
  -                                     <itemizedlist>
  -                                             <listitem>
  -                                                     <para>dsJndiName: The name of 
the DataSource of the database containing the Principals and Roles tables</para>
  -                                             </listitem>
  -                                             <listitem>
  -                                                     <para>principalsQuery: The 
prepared statement query equivalent to, 
  +                                     <variablelist>
  +                                             <varlistentry>
  +                                                     <term>dsJndiName</term>
  +                                                     <listitem>
  +                                                             <para>The name of the 
DataSource of the database containing the Principals and Roles tables</para>
  +                                                     </listitem>
  +                                             </varlistentry>
  +                                             <varlistentry>
  +                                                     <term>principalsQuery</term>
  +                                                     <listitem>
  +                                                             <para>The prepared 
statement query equivalent to, 
    <quote>select Password from Principals where PrincipalID=?</quote>
  -                                                     </para>
  -                                             </listitem>
  -                                             <listitem>
  -                                                     <para>rolesQuery: The prepared 
statement query equivalent to,<quote>select Role, RoleGroup from Roles where 
PrincipalID=?</quote>
  -                                                     </para>
  -                                             </listitem>
  -                                     </itemizedlist>
  +                                                             </para>
  +                                                     </listitem>
  +                                             </varlistentry>
  +                                             <varlistentry>
  +                                                     <term>rolesQuery</term>
  +                                                     <listitem>
  +                                                             <para>The prepared 
statement query equivalent to,<quote>select Role, RoleGroup from Roles where 
PrincipalID=?</quote>
  +                                                             </para>
  +                                                     </listitem>
  +                                             </varlistentry>
  +                                     </variablelist>
  +                             </section>
  +                             <section>
  +                                     
<title>org.jboss.security.srp.jaas.SRPCacheLoginModule</title>  
  +                                     <para>SRPCacheLoginModule is server side login 
module that validates a username and session client challenge response against the 
cache of authentication info maintained by the SRPService mbean. This module needs a 
CallbackHandler that supplies the user principal and credential via the 
SecurityAssociationCallback object.
  +
  +The module options are:</para>
  +                                     <variablelist>
  +                                             <varlistentry>
  +                                                     <term>cacheJndiName</term>
  +                                                     <listitem>
  +                                                             <para>: The name of 
the DataSource of the database containing the Principals and Roles tables</para>
  +                                                     </listitem>
  +                                             </varlistentry>
  +                                             <varlistentry>
  +                                                     <term>domainName</term>
  +                                                     <listitem>
  +                                                             <para>the security 
domain name</para>
  +                                                     </listitem>
  +                                             </varlistentry>
  +                                     </variablelist>
                                </section>
                        </section> 
                        <section id = "ClientSideLoginModules">   
  @@ -791,4 +846,4 @@
                        </releaseinfo>  
                </biblioentry>   
        </bibliography> 
  -</chapter>
  +</chapter>
  \ No newline at end of file
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to