Smart Database Driver for Kerberos Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing applications face difficulties in implementing Kerberos authentication due to the need for code changes and lack of support in third-party applications, especially when connecting to databases that do not natively support Kerberos, which complicates application modernization efforts.

Innovation Solution

A smart database driver is developed to provide a suite of JDBC drivers that enable seamless integration with Java applications, using Java Authentication and Authorization Service (JAAS) for runtime authentication, generating database connection URLs, and implementing Kerberos authentication through credential caches and keytab files, allowing connections to databases like Oracle and DB2 without requiring application-level code changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Kerberos authentication is implemented in existing applications, then security is improved, but code changes are required which increases development complexity and time

Engineering Contradiction:
Improveauthentication securityVSAvoidcode modification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a Kerberos authentication module as an intermediary component that sits between the application and the database. This module handles all Kerberos authentication logic, allowing applications to connect to databases with Kerberos support without requiring code changes. The intermediary module manages ticket acquisition, validation, and credential handling, thus resolving the contradiction by maintaining security while eliminating the need for application code modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the Kerberos authentication functionality from the application code itself and places it in a separate, standalone authentication module. This extraction allows the authentication mechanism to be implemented independently, so applications can benefit from Kerberos security without having to incorporate complex authentication logic into their codebase, thereby reducing development complexity while maintaining security.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If Kerberos authentication is implemented in third-party applications, then security is improved, but support for Kerberos is lacking which increases implementation difficulty

Engineering Contradiction:
Improveauthentication securityVSAvoidKerberos support compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal Kerberos authentication module that can work with multiple database types and third-party applications. The module is designed to be database-agnostic and application-agnostic, providing a standardized interface that handles Kerberos authentication regardless of the underlying database system. This multi-functionality allows third-party applications to gain Kerberos support through the module without requiring database-specific or application-specific customizations, thus improving both security and adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments the authentication functionality into a separate, modular component that can be independently deployed and configured. This segmentation allows the Kerberos authentication module to be added to third-party applications without modifying their core functionality. The module can be configured to work with different database types and authentication scenarios, providing versatile Kerberos support across diverse application environments.

Inventive Principle:
Principle #1Segmentation

3Reliability

If code changes are made to every application for Kerberos authentication, then authentication security is improved, but development time and effort increase significantly

Engineering Contradiction:
Improveauthentication securityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring the Kerberos authentication module with all necessary authentication logic, configuration options, and integration patterns. The module is prepared in advance with support for various database types and authentication scenarios, so when it is deployed to applications, Kerberos authentication is immediately available without requiring development teams to spend time implementing and testing authentication logic from scratch. This preliminary preparation significantly reduces development time while maintaining security.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If username and password authentication is removed in favor of Kerberos, then security is improved, but configuration complexity increases

Engineering Contradiction:
Improveauthentication securityVSAvoidconfiguration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by designing the Kerberos authentication module to automatically manage its own configuration. The module includes built-in capabilities to discover available Kerberos realms, automatically acquire tickets, and manage credentials without requiring manual configuration of complex Kerberos parameters. The module provides default configurations that work out-of-the-box for common scenarios and includes automated fallback mechanisms, thus improving security while reducing configuration complexity through automation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11645297B2System and method for smart database driver
Publication Date: 2023.05.09 JPMORGAN CHASE BANK NA
  • US11645297B2 patent drawing
  • US11645297B2 patent drawing
  • US11645297B2 patent drawing

AI summary

Various methods, apparatuses/systems, and media for implementing a smart database driver are disclosed. A receiver receives a request for establishing a connection between an application and a target database. A processor, operatively coupled to the receiver via a communication network, authenticates the application by implementing a java authentication authorization service (jaas). Authentication of the application is performed at runtime with connection properties and configuration details provided via system properties or environment variables. The processor also generates a database connection uniform resource locator (URL), validates the URL; and establishes a connection between the application and the target database based on the validation of the URL and successful authentication of the application.