User:Msalle@nikhef.nl

From PDP/Grid Wiki
Revision as of 13:06, 6 October 2009 by Msalle@nikhef.nl (talk | contribs)
Jump to navigationJump to search

Projects:

nl.nikhef.slcshttps

Method

Method used by the IMDI browser to obtain a certificate, see image below

(mostly) User point of view:

  1. User clicks/chooses initialization option
  2. java browser starts a webbrowser...
  3. which via the online CA at SURFnet...
  4. redirects webbrowser to WAYF (Where Are You From) server where user chooses his Identity Provider.
  5. User logs in at IdP
  6. Webbrowser redirects back to online CA. User closes webbrowser.
  7. After confirmation by user, java browser now connects itself to online CA
  8. java browser retrieves certificate from online CA and the user can use it to authenticate with client side certificates.

Technical overview:

  1. Initialization procedure:
    1. javabrowser creates a per-session keypair (i.e. never saved to disk).
    2. javabrowser creates a certificate signing request (CSR)
    .
  2. javabrowser starts a webbrowser...
  3. the URL is the online CA + a hash of the CSR.
  4. Now the standard Shibboleth trajectory starts: Online CA redirects the browser to a WAYF where the user chooses his IdP.
  5. User logs in at his/her IdP.
  6. Webbrowser sends the user back to the online CA. The URL is now rewritten using Shibboleth, and the Online CA knows that the user, who send the CSR hash, is authorized. The user now tells the javabrowser that (s)he is finished with the webbrowser.
  7. The javabrowser sends the full CSR to the Online CA.
  8. The Online CA:
    1. calculates the hash
    2. checks whether it is known/corresponds to a authorized user.
    3. if yes, signs the CSR
    4. sends a HTTP reply with the signed certificate.

    The signed certificate is stored inside the javabrowser and will be offered as client side certificate upon opening a HTTPS connection.

IMDI Browser handshake

Files:

Talks:

Note that you also need the BouncyCastle provider. Direct link to the JDK1.5 jarfile

gLite security

See e.g. Nikhef Site Access Control pages