mod_auth_pubtkt a pragmatic Web Single Sign-On solution by Manuel Kasper, Monzoon Networks AG mkasper@monzoon.net



Similar documents
Copyright: WhosOnLocation Limited

U S E R D O C U M E N TA T I O N ( A L E P H I N O

Step-by-Step guide for SSO from MS Sharepoint 2010 to SAP EP 7.0x

Setting Up Cosign Clients

Qualtrics Single Sign-On Specification

EXT: Single Sign-On. This document is published under the Open Content License available from

Single Sign On. SSO & ID Management for Web and Mobile Applications

Securing the OpenAdmin Tool for Informix web server with HTTPS

Authentication Methods

InfoRouter LDAP Authentication Web Service documentation for inforouter Versions 7.5.x & 8.x

Configuring ADFS 3.0 to Communicate with WhosOnLocation SAML

Kerberos and Single Sign-On with HTTP

SecureAware on IIS8 on Windows Server 2008/- 12 R2-64bit

Enabling Single Signon with IBM Cognos ReportNet and SAP Enterprise Portal

External Identity and Authentication Providers For Apache HTTP Server

Open-source Single Sign-On with CAS (Central Authentication Service)

Enabling Single Signon with IBM Cognos 8 BI MR1 and SAP Enterprise Portal

CentraSite SSO with Trusted Reverse Proxy

SSO Eurécia. and external Applications. Purpose

SSO Plugin. Release notes. J System Solutions. Version 3.6

esoc SSA DC-I Part 1 - Single Sign-On and Access Management ICD

INUVIKA OPEN VIRTUAL DESKTOP ENTERPRISE

Middleware integration in the Sympa mailing list software. Olivier Salaün - CRU

Signature Based Single Sign-On Framework Documentation Sheet. SSO Agent php- The content of this document is related to the

Tableau Server Trusted Authentication

FERMILAB CENTRAL WEB HOSTING SINGLE SIGN ON (SSO) ON CWS LINUX WITH SAML AND MOD_AUTH_MELLON

This section describes how to use SSL Certificates with SOA Gateway running on Linux.

Perceptive Experience Single Sign-On Solutions

Technical specification

OpenSSO: Cross Domain Single Sign On

Operating Level Agreement for NYU Login Service

Computer Systems Security 2013/2014. Single Sign-On. Bruno Maia Pedro Borges

Here is a quick diagram of the ULV SSO/Sync Application. Number 3 is what we deal with in this document.

Setting up single signon with Zendesk Remote Authentication

Installing an SSL certificate on the InfoVaultz Cloud Appliance

WEB2CS INSTALLATION GUIDE

Enabling SSL and Client Certificates on the SAP J2EE Engine

Getting Started with AD/LDAP SSO

CERTIFICATE-BASED SINGLE SIGN-ON FOR EMC MY DOCUMENTUM FOR MICROSOFT OUTLOOK USING CA SITEMINDER

Configuring Single Sign-On for Documentum Applications with RSA Access Manager Product Suite. Abstract

Xerox DocuShare Security Features. Security White Paper

Tableau Server Trusted Authentication

Virtual Host (Web Server)

Single sign-on websites with Apache httpd: Integrating with Active Directory for authentication and authorization

Integrating IBM Cognos 8 BI with 3rd Party Auhtentication Proxies

User s guide. APACHE SSL Linux. Using non-qualified certificates with APACHE SSL Linux. version 1.3 UNIZETO TECHNOLOGIES S.A.

ViMP 3.0. SSL Configuration in Apache 2.2. Author: ViMP GmbH

SchoolBooking SSO Integration Guide

Single Sign-On in PHP & HATS Applications using Hashed Cookies

OneLogin Integration User Guide

McAfee Cloud Identity Manager

Single Sign-On for the UQ Web

SITEMINDER SSO FOR EMC DOCUMENTUM REST

prefer to maintain their own Certification Authority (CA) system simply because they don t trust an external organization to

Spring Security 3. rpafktl Pen source. intruders with this easy to follow practical guide. Secure your web applications against malicious

Shibboleth Identity Provider (IdP) Sebastian Rieger

HP Software as a Service. Federated SSO Guide

Configuring Apache Web Server for x509 User Authentication

About Me. Software Architect with ShapeBlue Specialise in. 3 rd party integrations and features in CloudStack

External Authentication with WebCT. What We ll Discuss

External and Federated Identities on the Web

Single Sign-on (SSO) technologies for the Domino Web Server

Using Kerberos tickets for true Single Sign On

Authentication and access control in Sympa mailing list software

E-Commerce: Designing And Creating An Online Store

Egnyte Single Sign-On (SSO) Installation for OneLogin

Enabling Single-Sign-On on WebSphere Portal in IBM Cognos ReportNet

Application of the PAPI authn and authz system to the TJ-II Remote Participation environment. Madrid, 21 March 2003

OIOSAML 2.0 Toolkits Test results May 2009

e-cert (Server) User Guide For Apache Web Server

CA Nimsoft Service Desk

[SMO-SFO-ICO-PE-046-GU-

Shibboleth Configuration in Tübingen

Kerberos and Single Sign On with HTTP

Using different Security Policies on Group Level for AD within one Portal. SSL-VPN Security on Group Level. Introduction

Real Vision Software, Inc.

SAP Web Application Server Security

PROVIDING SINGLE SIGN-ON TO AMAZON EC2 APPLICATIONS FROM AN ON-PREMISES WINDOWS DOMAIN

Deploying RSA ClearTrust with the FirePass controller

Agenda. How to configure

SAML-Based SSO Solution

USER GUIDE. Lightweight Directory Access Protocol (LDAP) Schoolwires Centricity

SAP NetWeaver AS Java

Active Directory Integration. Documentation. v1.02. making your facilities work for you!

GlobalSign Enterprise Solutions Google Apps Authentication User Guide

SSO Plugin. HP Service Request Catalog. J System Solutions. Version 3.6

IceWarp Server - SSO (Single Sign-On)

Factory Application Certificates and Keys Products: SB700EX, SB70LC

EZcast Installation guide

AA enabling a closed source legacy application

From centralized to single sign on

To enable https for appliance

Integration Guide. SafeNet Authentication Service. Oracle Secure Desktop Using SAS RADIUS OTP Authentication

SCAS: AN IMPROVED SINGLE SIGN-ON MODEL BASE ON CAS

Laboratory Exercises VI: SSL/TLS - Configuring Apache Server

Transcription:

mod_auth_pubtkt a pragmatic Web Single Sign-On solution by Manuel Kasper, Monzoon Networks AG mkasper@monzoon.net

The login hell

Solutions use client certificates and OCSP and get killed by end users? still only AuthN, no (centralized) AuthZ use LDAP users still need to log in for each server not SSO SPNEGO/GSSAPI/Kerberos/NTLM Integrated Windows Authentication MS centric not supported by all browsers

Solutions Shibboleth very powerful... and very bloated Pubcookie basically a nice solution (a bit complicated to set up) no AuthZ CoSign promising, but still a bit too complicated service web servers communicate with login server

Solutions use a commercial solution not our goal

There s one more... mod_auth_tkt operates on simple ticket cookies open login server implementation (example CGI script + library provided) flexible and quite easy to use uses keyed MD5 to authenticate tickets

Enter mod_auth_pubtkt mod_auth_pubtkt based (loosely) on mod_auth_tkt uses public-key cryptography instead of MD5 DSA and RSA supported private key only known to login server

How it works Client Web server foo.example.com Login server sso.example.com Initial request Redir to login server Login request (user/pass) Redirect to web server + authenticate Request + Response... check cookie domain cookie *.example.com

Anatomy of a ticket uid=mkasper;cip=192.168.200.163;validuntil=1201383542; tokens=foo,bar;udata=mydata;sig=mc0cfdkcxodpml+cevauo +o5w7jcvv/uahuag/z2vsijprhidhvu7uxqluqwscf= expiration date (UNIX timestamp) client IP address (optional) user ID (REMOTE_USER environment variable)

Anatomy of a ticket uid=mkasper;cip=192.168.200.163;validuntil=1201383542; tokens=foo,bar;udata=mydata;sig=mc0cfdkcxodpml+cevauo +o5w7jcvv/uahuag/z2vsijprhidhvu7uxqluqwscf= user data (optional) Tokens (think of groups)

Anatomy of a ticket uid=mkasper;cip=192.168.200.163;validuntil=1201383542; tokens=foo,bar;udata=mydata;sig=mc0cfdkcxodpml+cevauo +o5w7jcvv/uahuag/z2vsijprhidhvu7uxqluqwscf= SHA1 RSA DSA Base64 Private key

Generating the key pair DSA # openssl dsaparam -out dsaparam.pem 1024 # openssl gendsa -out privkey.pem dsaparam.pem # openssl dsa -in privkey.pem -out pubkey.pem -pubout RSA # openssl genrsa -out privkey.pem 1024 # openssl rsa -in privkey.pem -out pubkey.pem -pubout

DSA vs. RSA it doesn t really matter in doubt use RSA Signature size Verification speed DSA 64 bytes ~400/sec. RSA 172 bytes ~4000/sec. * 1024-bit key/modulus, P4 2.8 GHz, size including Base64 encoding

Web server configuration LoadModule auth_pubtkt_module libexec/apache/mod_auth_pubtkt.so AddModule mod_auth_pubtkt.c # Apache 1.3 only

Web server configuration <VirtualHost *:80> ServerName myserver.example.com DocumentRoot /path/to/my/htdocs TKTAuthPublicKey /etc/apache2/tkt_pubkey.pem path to public key file <Directory /path/to/my/htdocs> Order Allow,Deny Allow from all redirection URLs (for unauthenticated clients etc.) AuthType Basic TKTAuthLoginURL https://sso.example.com/login TKTAuthTimeoutURL https://sso.example.com/login?timeout=1 TKTAuthUnauthURL https://sso.example.com/login?unauth=1 TKTAuthToken "myserver" require valid-user </Directory> </VirtualHost> (optional) tokens required in ticket

Windows version pre-compiled binaries available painstakingly compiled by me... ;)

Login server simple PHP library (and example login script) provided function pubtkt_generate($privkeyfile, $privkeytype, $uid, $clientip, $validuntil, $tokens, $udata) easy to implement in any language that allows access to OpenSSL even if only to the command-line openssl binary

Disadvantages of mod_auth_pubtkt for Apache only writing an IIS module should be feasible current version relies on domain cookies all web servers must be in the same domain rogue web server could steal ticket ( use secure cookies; embed client s IP address in ticket) no ticket refreshing probably a bad idea from a security point of view anyway

Live demonstration

Where to get it http://neon1.net/mod_auth_pubtkt

Questions?? http://neon1.net/mod_auth_pubtkt

Thank you Thank you for your attention!