Skip to main content
Single Sign-On (SSO) Systems
  1. Resources/
  2. Study Materials/
  3. Information & Communication Technology Engineering/
  4. ICT Semester 5/
  5. Cyber Security (4353204)/
  6. Cyber Security Slidev Presentations/

Single Sign-On (SSO) Systems

·
Milav Dabgar
Author
Milav Dabgar
Experienced lecturer in the electrical and electronic manufacturing industry. Skilled in Embedded Systems, Image Processing, Data Science, MATLAB, Python, STM32. Strong education professional with a Master’s degree in Communication Systems Engineering from L.D. College of Engineering - Ahmedabad.
Table of Contents

Single Sign-On (SSO) Systems
#

Unit II: Account & Data Security
#

Lecture 11: Seamless Authentication Across Applications
#

Course: Cyber Security (4353204) | Semester V | Diploma ICT | Author: Milav Dabgar

layout: default
#

What is Single Sign-On (SSO)?
#

๐Ÿ” SSO Definition
#

Single Sign-On (SSO) is an authentication process that allows users to access multiple applications with one set of login credentials.

๐ŸŽฏ Key Characteristics
#

  • One authentication for multiple services
  • Centralized identity management
  • Seamless user experience
  • Reduced password fatigue
  • Enhanced security through centralization

๐Ÿ“Š SSO Workflow
#

graph LR
    A[User] --> B[SSO Provider]
    B --> C[Authentication]
    C --> D[Token Generation]
    D --> E[App 1]
    D --> F[App 2]
    D --> G[App 3]
    
    style B fill:#e3f2fd
    style D fill:#f3e5f5

โœ… Benefits of SSO
#

๐Ÿ‘ค User Benefits
#

  • Single password to remember
  • Faster access to applications
  • Reduced login friction
  • Better user experience
  • Less password-related help desk calls

๐Ÿข Organization Benefits
#

  • Centralized access control
  • Enhanced security monitoring
  • Reduced IT overhead
  • Improved compliance
  • Better audit capabilities

๐Ÿ“ˆ Security Advantages
#

  • Stronger password policies
  • Multi-factor authentication integration
  • Centralized logout
  • Session management
  • Reduced credential exposure
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

SSO Architecture and Components
#

๐Ÿ—๏ธ SSO Architecture
#

๐Ÿ”ง Core Components
#

  • Identity Provider (IdP) - Authentication service
  • Service Provider (SP) - Applications/services
  • User Agent - Browser or client application
  • Security Token - Authentication proof

๐Ÿ“Š SSO Flow Diagram
#

graph TB
    A[User] --> B[Service Provider]
    B --> C[Identity Provider]
    C --> D[Authentication]
    D --> E[Token Generation]
    E --> F[Token Validation]
    F --> B
    B --> G[Access Granted]
    
    style C fill:#e3f2fd
    style E fill:#f3e5f5
    style G fill:#e8f5e8

๐ŸŽฏ SSO Participants
#

  • Principal - User seeking access
  • Identity Provider - Authenticates users
  • Service Provider - Provides services
  • Token - Proof of authentication

๐Ÿ”„ SSO Process Flow
#

๐Ÿ“‹ Step-by-Step Process
#

  1. User requests access to application
  2. Application redirects to SSO provider
  3. User authenticates with SSO provider
  4. SSO provider generates security token
  5. Token sent back to application
  6. Application validates token
  7. Access granted to user

๐ŸŽซ Token Types
#

Security Tokens:
  SAML Token:
    - XML-based
    - Enterprise focused
    - Rich attribute support
    
  OAuth Token:
    - JSON-based
    - Web/mobile friendly
    - Limited scope
    
  JWT Token:
    - Self-contained
    - Stateless
    - Compact format

โฑ๏ธ Session Management
#

  • Session establishment
  • Session tracking
  • Session timeout
  • Global logout
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

SAML-Based SSO
#

๐ŸŒ SAML Overview
#

๐ŸŽฏ SAML Characteristics
#

  • XML-based standard
  • Enterprise-grade SSO solution
  • Cross-domain authentication
  • Rich metadata support
  • Strong security features

๐Ÿ“Š SAML Components
#

  • Assertions - Authentication statements
  • Protocols - Request/response messages
  • Bindings - Transport mechanisms
  • Profiles - Use case specifications

๐Ÿ”ง SAML Assertion Structure
#

<saml:Assertion>
  <saml:Subject>
    <saml:NameID>user@company.com</saml:NameID>
  </saml:Subject>
  <saml:AuthnStatement>
    <saml:AuthnContext>
      <saml:AuthnContextClassRef>
        urn:oasis:names:tc:SAML:2.0:ac:classes:Password
      </saml:AuthnContextClassRef>
    </saml:AuthnContext>
  </saml:AuthnStatement>
  <saml:AttributeStatement>
    <saml:Attribute Name="Department">
      <saml:AttributeValue>Engineering</saml:AttributeValue>
    </saml:Attribute>
  </saml:AttributeStatement>
</saml:Assertion>

๐Ÿ”„ SAML SSO Flow
#

๐Ÿ“‹ SP-Initiated Flow
#

graph TB
    A[User] --> B[Service Provider]
    B --> C[SAML Request]
    C --> D[Identity Provider]
    D --> E[Authentication]
    E --> F[SAML Response]
    F --> G[Token Validation]
    G --> H[Access Granted]
    
    style D fill:#e3f2fd
    style F fill:#f3e5f5

๐Ÿš€ IdP-Initiated Flow
#

  1. User logs into IdP portal
  2. User selects target application
  3. IdP generates SAML assertion
  4. Assertion posted to service provider
  5. SP validates assertion
  6. Access granted to user

๐Ÿ›ก๏ธ SAML Security Features
#

  • Digital signatures for integrity
  • Encryption for confidentiality
  • Time stamps for replay protection
  • Audience restrictions
  • Certificate-based trust

๐Ÿ’ป SAML Configuration Example
#

SAML Configuration:
  Entity ID: https://company.com/sso
  SSO URL: https://idp.company.com/sso
  Certificate: -----BEGIN CERTIFICATE-----
  Attribute Mapping:
    - Email: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
    - Name: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
    - Role: http://schemas.microsoft.com/ws/2008/06/identity/claims/role
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

OAuth and OpenID Connect
#

๐Ÿ” OAuth 2.0 Framework
#

๐ŸŽฏ OAuth Purpose
#

  • Authorization framework (not authentication)
  • Third-party access delegation
  • API access control
  • Token-based authorization

๐ŸŽญ OAuth Roles
#

  • Resource Owner - User who owns data
  • Client - Application requesting access
  • Authorization Server - Issues tokens
  • Resource Server - Hosts protected resources

๐Ÿ”„ OAuth Flow Types
#

Grant Types:
  Authorization Code:
    - Most secure
    - For web applications
    - Requires client secret
    
  Implicit:
    - For public clients
    - Browser-based apps
    - No client secret
    
  Client Credentials:
    - Service-to-service
    - No user involvement
    - Backend applications
    
  Resource Owner Password:
    - Legacy applications
    - Direct username/password
    - Not recommended

๐Ÿ†” OpenID Connect (OIDC)
#

๐ŸŽฏ OIDC Features
#

  • Built on OAuth 2.0
  • Authentication layer added
  • ID tokens for identity
  • Standardized user info
  • JWT-based tokens

๐ŸŽซ OIDC Tokens
#

// ID Token (JWT)
{
  "header": {
    "alg": "RS256",
    "typ": "JWT"
  },
  "payload": {
    "iss": "https://accounts.company.com",
    "sub": "1234567890",
    "aud": "client_id_123",
    "exp": 1234567890,
    "iat": 1234567890,
    "email": "user@company.com",
    "name": "John Doe"
  }
}

๐Ÿ”ง OIDC Endpoints
#

  • Authorization Endpoint - User consent
  • Token Endpoint - Token exchange
  • UserInfo Endpoint - User profile data
  • JWKS Endpoint - Key verification

๐Ÿ’ป OIDC Configuration
#

{
  "client_id": "your-client-id",
  "client_secret": "your-client-secret",
  "issuer": "https://accounts.company.com",
  "authorization_endpoint": "https://accounts.company.com/auth",
  "token_endpoint": "https://accounts.company.com/token",
  "userinfo_endpoint": "https://accounts.company.com/userinfo"
}
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

Enterprise SSO Solutions
#

๐Ÿข Active Directory Federation Services (ADFS)
#

๐ŸŽฏ ADFS Overview
#

  • Microsoft’s SSO solution
  • Active Directory integration
  • Claims-based authentication
  • On-premises or hybrid deployment

๐Ÿ”ง ADFS Components
#

  • Federation Service - Core authentication
  • Federation Proxy - External access
  • Claims Provider - Identity source
  • Relying Party - Target application

๐Ÿ’ป ADFS Configuration
#

# Add relying party trust
Add-ADFSRelyingPartyTrust `
  -Name "Company App" `
  -MetadataUrl "https://app.company.com/metadata" `
  -IssuanceTransformRules @'
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
    => issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", Value = c.Value);
'@

๐Ÿ“Š ADFS Architecture
#

graph TB
    A[User] --> B[ADFS Proxy]
    B --> C[ADFS Server]
    C --> D[Active Directory]
    C --> E[Relying Party]
    E --> F[Application]
    
    style C fill:#e3f2fd
    style D fill:#f3e5f5

โ˜๏ธ Cloud SSO Providers
#

๐Ÿ”ง Azure Active Directory
#

Azure AD Features:
  - Conditional Access
  - Multi-Factor Authentication
  - Device Compliance
  - Risk-Based Authentication
  - Application Gallery (5000+ apps)

๐ŸŒŸ Okta Platform
#

Okta Capabilities:
  - Universal Directory
  - Adaptive MFA
  - Lifecycle Management
  - API Access Management
  - Advanced Server Access

๐Ÿ”‘ Google Workspace SSO
#

Google Identity:
  - G Suite Integration
  - Cloud Identity
  - Context Aware Access
  - Security Keys
  - Mobile Device Management

๐Ÿ’ก Ping Identity
#

PingIdentity Features:
  - PingOne Cloud Platform
  - PingFederate
  - PingAccess
  - PingDirectory
  - API Intelligence

๐Ÿ“‹ Comparison Matrix
#

FeatureAzure ADOktaGooglePing
Apps5000+7000+1000+3000+
MFAโœ…โœ…โœ…โœ…
Riskโœ…โœ…โœ…โœ…
APIโœ…โœ…โœ…โœ…
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

SSO Security Considerations
#

๐Ÿ›ก๏ธ Security Benefits
#

โœ… Enhanced Security
#

  • Stronger password policies
  • Centralized MFA implementation
  • Better audit trails
  • Consistent security policies
  • Reduced attack surface

๐Ÿ”’ Risk Mitigation
#

  • Password reuse elimination
  • Credential theft reduction
  • Phishing attack protection
  • Insider threat monitoring
  • Compliance improvements

๐Ÿ“Š Security Monitoring
#

SSO Security Metrics:
  - Failed authentication attempts
  - Unusual login patterns
  - Device compliance status
  - Geographic access patterns
  - Application usage patterns

โš ๏ธ Security Risks
#

๐ŸŽฏ Single Point of Failure
#

  • SSO provider compromise affects all apps
  • Identity provider availability issues
  • Token theft gives broad access
  • Session hijacking risks

๐Ÿ”ง Mitigation Strategies
#

Risk Mitigation:
  High Availability:
    - Redundant SSO infrastructure
    - Load balancing
    - Disaster recovery plans
    
  Token Security:
    - Short token lifetimes
    - Token encryption
    - Secure transmission (HTTPS)
    
  Session Protection:
    - Session timeout policies
    - Concurrent session limits
    - Device binding
    
  Monitoring:
    - Real-time threat detection
    - Anomaly detection
    - Incident response procedures

๐Ÿšจ Common Attacks
#

  • Token replay attacks
  • Man-in-the-middle attacks
  • Cross-site request forgery
  • Session fixation
  • XML signature wrapping (SAML)
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

SSO Implementation Best Practices
#

๐Ÿ—๏ธ Planning and Design
#

๐Ÿ“‹ Implementation Steps
#

  1. Assess current authentication landscape
  2. Choose appropriate SSO technology
  3. Design integration architecture
  4. Plan phased rollout
  5. Prepare user training

๐ŸŽฏ Technical Requirements
#

  • Certificate management
  • Network connectivity
  • Application integration
  • User directory synchronization
  • Backup and recovery

๐Ÿ”ง Configuration Standards
#

SSO Configuration:
  Certificate Management:
    - Key rotation schedule
    - Certificate validation
    - Trust store management
    
  Network Security:
    - HTTPS enforcement
    - Network segmentation
    - Firewall rules
    
  Application Integration:
    - Standard protocols (SAML/OIDC)
    - Attribute mapping
    - Error handling

๐ŸŽฏ Operational Excellence
#

๐Ÿ“Š Monitoring and Metrics
#

SSO Monitoring:
  Performance Metrics:
    - Authentication response time
    - Token validation latency
    - System availability
    
  Security Metrics:
    - Failed authentication rate
    - Anomalous login patterns
    - Token compromise indicators
    
  User Experience:
    - Login success rate
    - Help desk tickets
    - User satisfaction scores

๐Ÿ”„ Maintenance Procedures
#

  • Regular security assessments
  • Certificate renewal automation
  • Configuration backup
  • Disaster recovery testing
  • Performance optimization

๐Ÿ‘ฅ User Onboarding
#

  1. Identity provisioning automation
  2. Application access assignment
  3. User training delivery
  4. Support documentation
  5. Feedback collection

๐Ÿ“ˆ Success Metrics
#

  • Reduced password reset requests
  • Improved user productivity
  • Enhanced security posture
  • Compliance achievement
  • Cost savings
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

SSO Integration Examples
#

๐ŸŒ Web Application Integration
#

๐Ÿ’ป SAML Integration Code
#

// Express.js with Passport SAML
const passport = require('passport');
const SamlStrategy = require('passport-saml').Strategy;

passport.use(new SamlStrategy({
    path: '/login/callback',
    entryPoint: 'https://idp.company.com/sso',
    issuer: 'https://app.company.com',
    cert: process.env.SAML_CERT,
    privateCert: process.env.SAML_PRIVATE_KEY
  },
  function(profile, done) {
    // User profile processing
    const user = {
      id: profile.nameID,
      email: profile.email,
      name: profile.displayName,
      role: profile.role
    };
    return done(null, user);
  }
));

// Routes
app.get('/login', passport.authenticate('saml'));
app.post('/login/callback', passport.authenticate('saml'), 
  (req, res) => {
    res.redirect('/dashboard');
  }
);

๐Ÿ” OAuth Integration
#

# Flask with OAuth
from authlib.integrations.flask_client import OAuth

oauth = OAuth(app)
oauth.register(
    name='company_sso',
    client_id='your-client-id',
    client_secret='your-client-secret',
    server_metadata_url='https://sso.company.com/.well-known/openid_configuration',
    client_kwargs={
        'scope': 'openid email profile'
    }
)

@app.route('/login')
def login():
    return oauth.company_sso.authorize_redirect(
        redirect_uri=url_for('callback', _external=True)
    )

@app.route('/callback')
def callback():
    token = oauth.company_sso.authorize_access_token()
    user = oauth.company_sso.parse_id_token(token)
    session['user'] = user
    return redirect('/dashboard')

๐Ÿ“ฑ Mobile Application Integration
#

๐ŸŽ iOS OIDC Implementation
#

import AuthenticationServices

class SSOManager: NSObject {
    func authenticateWithSSO() {
        let authURL = URL(string: "https://sso.company.com/auth")!
        let callbackURL = URL(string: "companyapp://callback")!
        
        let session = ASWebAuthenticationSession(
            url: authURL,
            callbackURLScheme: "companyapp"
        ) { callbackURL, error in
            if let callbackURL = callbackURL {
                self.handleCallback(url: callbackURL)
            }
        }
        
        session.presentationContextProvider = self
        session.start()
    }
    
    private func handleCallback(url: URL) {
        // Extract authorization code
        // Exchange for tokens
        // Store securely in Keychain
    }
}

๐Ÿค– Android OIDC Integration
#

// Using AppAuth library
public class SSOActivity extends AppCompatActivity {
    private AuthorizationService authService;
    
    private void performSSO() {
        AuthorizationServiceConfiguration config = 
            new AuthorizationServiceConfiguration(
                Uri.parse("https://sso.company.com/auth"),
                Uri.parse("https://sso.company.com/token")
            );
        
        AuthorizationRequest request = 
            new AuthorizationRequest.Builder(
                config,
                "client-id",
                ResponseTypeValues.CODE,
                Uri.parse("com.company.app://callback")
            )
            .setScope("openid email profile")
            .build();
        
        Intent intent = authService.getAuthorizationRequestIntent(request);
        startActivityForResult(intent, AUTH_REQUEST_CODE);
    }
}
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: default
#

Practical Exercise: SSO Implementation Planning
#

๐ŸŽฏ Group Activity (30 minutes)
#

Scenario: Multi-Application SSO Design
#

Your organization needs to implement SSO for:

Applications to Integrate:

  • Email System (Microsoft Exchange Online)
  • CRM Platform (Salesforce)
  • Custom Web Application (Internal development)
  • File Sharing (SharePoint Online)
  • Project Management (Jira/Confluence)
  • HR System (Workday)

Organization Requirements:

  • 500 employees across 3 locations
  • Mixed Windows/Mac/Mobile environment
  • Compliance requirements (SOX, GDPR)
  • High availability needed (99.9% uptime)
  • Budget constraints (cost-effective solution)

Task: Complete SSO Implementation Plan
#

Phase 1: Analysis and Design (10 minutes)

  1. Technology Selection:

    • Which SSO protocol(s) would you recommend?
    • Cloud vs. on-premises vs. hybrid approach?
    • Identity provider selection criteria
  2. Architecture Design:

    • Draw high-level SSO architecture
    • Identify integration points
    • Plan network requirements

Phase 2: Security and Risk Assessment (10 minutes)

  1. Security Requirements:

    • Multi-factor authentication strategy
    • Session management policies
    • Certificate and key management
  2. Risk Mitigation:

    • Single point of failure mitigation
    • Disaster recovery planning
    • Security monitoring approach

Phase 3: Implementation Planning (10 minutes)

  1. Rollout Strategy:

    • Phased implementation plan
    • User training approach
    • Pilot group selection
  2. Success Metrics:

    • How will you measure success?
    • Monitoring and alerting setup
    • Compliance verification

Deliverables:

  • SSO architecture diagram
  • Technology selection rationale
  • Implementation timeline
  • Risk assessment matrix
  • Success criteria definition
Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: center class: text-center
#

Questions & Discussion
#

๐Ÿค” Discussion Points:
#

  • What are the biggest challenges in SSO implementation?
  • How do you balance security with user experience?
  • What would you prioritize: SAML or OIDC for enterprise SSO?

๐Ÿ’ก Exercise Review
#

Share your SSO implementation plans and discuss different approaches

Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar

layout: center class: text-center
#

Thank You!
#

Next Lecture: Malware Analysis and Detection
#

Understanding and Combating Malicious Software
#

Cyber Security (4353204) - Lecture 11 Complete

SSO: One login to rule them all! ๐Ÿ”๐Ÿšช

Course: Cyber Security (4353204) | Unit II | Lecture 11 | Author: Milav Dabgar