JP7382818B2 - ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム - Google Patents

ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム Download PDF

Info

Publication number
JP7382818B2
JP7382818B2 JP2019228885A JP2019228885A JP7382818B2 JP 7382818 B2 JP7382818 B2 JP 7382818B2 JP 2019228885 A JP2019228885 A JP 2019228885A JP 2019228885 A JP2019228885 A JP 2019228885A JP 7382818 B2 JP7382818 B2 JP 7382818B2
Authority
JP
Japan
Prior art keywords
authentication
mobile device
server
user
relying party
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019228885A
Other languages
English (en)
Other versions
JP2020126602A5 (ja
JP2020126602A (ja
Inventor
ラウル スラパラジュ,
Original Assignee
コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド filed Critical コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
Publication of JP2020126602A publication Critical patent/JP2020126602A/ja
Publication of JP2020126602A5 publication Critical patent/JP2020126602A5/ja
Application granted granted Critical
Publication of JP7382818B2 publication Critical patent/JP7382818B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/062Pre-authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、概して、ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のためのコンピューターネットワーキングシステム及び方法に関する。
OpenID Connect(OIDC)1.0は、OAuth2.0プロトコル上のシンプルなアイデンティティレイヤーであり、OpenID Connectにより、クライアントは、認可サーバーによって行われる認証に基づいてエンドユーザーのアイデンティティを確認することと、相互運用可能かつRESTのようなやり方(Representational State Transferのようなやり方)でエンドユーザーについてのベーシックプロファイル情報を取得することとが可能となる。
セキュリティアサーションマークアップ言語(SAML)は、ユーザーアイデンティティをアサートするSAML連携アイデンティティプロバイダー(IdP)とユーザーアイデンティティ情報を消費するSAML連携サービスプロバイダー(SP)との間でシングルサインオン情報をやり取りするためのXML規格である。
これらの技術は両方ともシングルサインオン(SSO)ソリューションとして使用されるが、OIDC及びSAMLは、ユーザーがどのように認証されるかのプロセスの判断を認証プロバイダーに完全に委ねる。これらのSSOのためのオープンスタンダードをサポートするいくつかの認証プロバイダーは、「ユーザーを認証する」ための独自の方法又はプロセスを有しており、その出力/結果は、すべてのOIDCフロー及びSAMLフロー中における重要な一つのステップである。なぜなら、OIDCフローのこの段階では、認証コード(「Auth Code」)が認証プロバイダーによって生成され、OIDCリライングパーティに提供され、SAMLフローの場合はSAMLアサーションが構築され、SAMLリライングパーティ(SP)に送信されるからである。
シングルサインオン(SSO)は、一組のログインクレデンシャルで複数のアプリケーションにユーザーがアクセスすることを可能にする認証プロセスである。シングルサインオンは、例えば、企業における共通の手続きであり、クライアントは、ローカルエリアネットワーク(LAN)に接続された複数のリソースにアクセスする。
上記の問題点を考慮して、モバイル装置上のモバイルアプリケーション(例えば、ネイティブアプリケーション)からのシングルサインオン(SSO)によるログインアクションの結果として開始されるOIDCフロー及びSAMLフローを可能にする方法であって、ユーザーがすでに認証されているため、認証のためのシステムによってユーザーが干渉されない方法を有することが望ましい。
リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための方法が開示され、当該方法は、モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、当該方法はさらに、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからリダイレクションリクエストを受信するステップと、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信するステップと、認証サーバー上でユーザーエージェントからの認証トークンを認証し、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスするための認証データを作成するステップと、認証データをモバイル装置に送信するステップと、リライングパーティサーバーによって認証データが受信されると、事前認証されたユーザーに、リライングパーティサーバー上でホスティングされているリソースへのアクセスを許可するステップと、事前認証されたユーザーをモバイル装置上でシングルサインオン(SSO)法によって認証するステップと、事前認証されたユーザーが認証されると、モバイル装置のオペレーティングシステム(OS)で事前認証されたユーザーについて呼び出されるインテントを登録するステップとを含み、呼び出されるインテントは、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから受信すると、認証サーバーからの前記リダイレクションリクエストに応答するように構成される
また、リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための方法が開示され、当該方法は、モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、当該方法はさらに、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからリダイレクションリクエストを受信するステップと、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信するステップと、認証サーバー上でユーザーエージェントからの認証トークンを認証し、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスするための認証データを作成するステップと、認証データをモバイル装置に送信するステップと、リライングパーティサーバーによって認証データが受信されると、事前認証されたユーザーに、リライングパーティサーバー上でホスティングされているリソースへのアクセスを許可するステップとを含み、事前認証されたユーザーのための認証トークンについての認証サーバーからのリダイレクションリクエストは、ユーザーエージェントを発見し、事前認証されたユーザーの認証トークンを取得するように認証サーバーによって構築される。
また、リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための方法が開示され、当該方法は、モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、当該方法はさらに、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからリダイレクションリクエストを受信するステップと、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信するステップと、認証サーバー上でユーザーエージェントからの認証トークンを認証し、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスするための認証データを作成するステップと、認証データをモバイル装置に送信するステップと、リライングパーティサーバーによって認証データが受信されると、事前認証されたユーザーに、リライングパーティサーバー上でホスティングされているリソースへのアクセスを許可するステップと、ユーザーエージェントがサポートされているモバイルユーザーエージェントのものであることを認証サーバーが検出した場合にのみ、ユーザーエージェントに問合せるステップとを含む。
リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための所定のプロセスを行うためにプロセッサーによって実行されるプログラムが開示され、当該プロセスは、モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、当該方法はさらに、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからリダイレクションリクエストを受信するステップと、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信するステップと、認証サーバー上でユーザーエージェントからの認証トークンを認証し、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスするための認証データを作成するステップと、認証データをモバイル装置に送信するステップと、リライングパーティサーバーによって認証データが受信されると、事前認証されたユーザーに、リライングパーティサーバー上でホスティングされているリソースへのアクセスを許可するステップと、事前認証されたユーザーをモバイル装置上でシングルサインオン(SSO)法によって認証するステップと、事前認証されたユーザーが認証されると、モバイル装置のオペレーティングシステム(OS)で事前認証されたユーザーのために呼び出されるインテントを登録するステップとを含み、呼び出されるインテントは、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから受信すると、認証サーバーからのリダイレクションリクエストに応答するように構成される
また、リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための所定のプロセスを行うためにプロセッサーによって実行されるプログラムが開示され、当該プロセスは、モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、当該プロセスはさらに、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信するステップと、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信するステップと、認証サーバー上でユーザーエージェントからの認証トークンを認証し、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスするための認証データを作成するステップと、認証データをモバイル装置に送信するステップと、リライングパーティサーバーによって認証データが受信されると、事前認証されたユーザーに、リライングパーティサーバー上でホスティングされているリソースへのアクセスを許可するステップとを含み、事前認証されたユーザーのための認証トークンについての認証サーバーからのリダイレクションリクエストは、ユーザーエージェントを発見し、事前認証されたユーザーの認証トークンを取得するように認証サーバーによって構築される。
また、リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための所定のプロセスを行うためにプロセッサーによって実行されるプログラムが開示され、当該プロセスは、モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、当該プロセスはさらに、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信するステップと、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信するステップと、認証サーバー上でユーザーエージェントからの認証トークンを認証し、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスするための認証データを作成するステップと、認証データをモバイル装置に送信するステップと、リライングパーティサーバーによって認証データが受信されると、事前認証されたユーザーに、リライングパーティサーバー上でホスティングされているリソースへのアクセスを許可するステップと、ユーザーエージェントがサポートされているモバイルユーザーエージェントのものであることを認証サーバーが検出した場合にのみ、ユーザーエージェントに問合せるステップとを含む。
リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするためのネイティブアプリケーションを有するモバイル装置が開示され、当該モバイル装置は、プロセッサーと、ユーザーインターフェースと、オペレーティングシステム、及び事前認証されたユーザーのための認証トークンを有するユーザーエージェントを有するメモリーとを備え、オペレーティングシステム及びユーザーエージェントは、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからのリダイレクションリクエストを受信し、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信し、ユーザーエージェントからの認証トークンの認証サーバー上での認証から作成された認証データを受信するように構成され、認証データは、認証されたユーザーに、リライングパーティサーバー上のリソースにアクセスすることを許可するように構成され、オペレーティングシステム及びユーザーエージェントはさらに、リライングパーティサーバー上でホスティングされているリソースに認証データによりアクセスするように構成され、事前認証されたユーザーは、シングルサインオン(SSO)法によってモバイル装置上で認証され、事前認証されたユーザーが認証されると、ユーザーエージェントは、モバイル装置のオペレーティングシステムで事前認証されたユーザーのために呼び出されるインテントを登録するように構成され、呼び出されるインテントは、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから受信すると、認証サーバーからのリダイレクションリクエストに応答するように構成される
また、リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするためのネイティブアプリケーションを有するモバイル装置が開示され、当該モバイル装置は、プロセッサーと、ユーザーインターフェースと、オペレーティングシステム、及び事前認証されたユーザーのための認証トークンを有するユーザーエージェントを有するメモリーとを備え、オペレーティングシステム及びユーザーエージェントは、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信し、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信し、ユーザーエージェントからの認証トークンの認証サーバー上での認証から作成された認証データを受信するように構成され、認証データは、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスすることを許可するように構成され、オペレーティングシステム及びユーザーエージェントはさらに、リライングパーティサーバー上でホスティングされているリソースに認証データによりアクセスするように構成され、事前認証されたユーザーのための認証トークンについての認証サーバーからのリダイレクションリクエストは、ユーザーエージェントを発見し、事前認証されたユーザーの認証トークンを取得するように認証サーバーによって構築される。
また、リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするためのネイティブアプリケーションを有するモバイル装置が開示され、当該モバイル装置は、プロセッサーと、ユーザーインターフェースと、オペレーティングシステム、及び事前認証されたユーザーのための認証トークンを有するユーザーエージェントを有するメモリーとを備え、オペレーティングシステム及びユーザーエージェントは、リライングパーティサーバー上でホスティングされているリソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信し、認証サーバーからのリダイレクションリクエストに応答して、事前認証されたユーザーのための認証トークンをモバイル装置のユーザーエージェントから認証サーバーに送信し、ユーザーエージェントからの認証トークンの認証サーバー上での認証から作成された認証データを受信するように構成され、認証データは、認証されたユーザーがリライングパーティサーバー上のリソースにアクセスすることを許可するように構成され、オペレーティングシステム及びユーザーエージェントはさらに、リライングパーティサーバー上でホスティングされているリソースに認証データによりアクセスするように構成され、ユーザーエージェントがサポートされているモバイルユーザーエージェントのものであることを認証サーバーが検出した場合にのみ、ユーザーエージェントへの問合せが行われる。
上述の総括的な記載及び以下の詳細な記載は、両方とも例示及び説明のためのものであり、請求項に記載の発明のさらなる説明を提供することが意図されていると解釈されるべきである。
添付の図面は、発明のさらなる理解をもたらすために含まれ、本明細書に組み込まれるか、又は本明細書の一部を構成する。図面は発明の実施形態を例示し、明細書とともに発明の原理を説明するのに役立つ。
ネイティブモバイルアプリケーションによってトリガされるOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)を有するシステムの例示である。 例示的な実施形態に係るコンピューター又はサーバーの例示である。 例示的な実施形態に係るモバイル装置の例示である。 例示的な実施形態に係るモバイル装置の表示部又はユーザーインターフェースの例示である。 図3Bに示すモバイル装置の表示部又はユーザーインターフェースの例示である。 図3Bに示すモバイル装置の表示部又はユーザーインターフェースの例示である。 OIDCによるSSOログインをサポートするネイティブモバイルアプリケーションのためのフローを例示するフローチャートである。 OIDCによるSSOログインをサポートするネイティブモバイルアプリケーションのためのフローを例示するフローチャートである。 SAMLによるSSOログインをサポートするネイティブモバイルアプリケーションのためのフローを例示するフローチャートである。 SAMLによるSSOログインをサポートするネイティブモバイルアプリケーションのためのフローを例示するフローチャートである。
発明の本好ましい実施形態に詳細に言及し、その例が添付の図面に例示される。可能な限り、同じか又は同様の部分に言及するために同じ参照符号が図面及び説明において使用される。
図1は、ネイティブモバイルアプリケーションによってトリガされるOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)を有するシステム100の例示である。図1に示すように、システム100は、コンピューター又はクライアント装置110と、少なくとも一つのモバイルコンピューター112と、一つ以上のSAML-SPリライングサーバー(SAML-SP A、SAML-SP B、SAML-SP C)120と、一つ以上のOIDCリライングパーティサーバー(OIDCリライングパーティA、OIDCリライングパーティB)121と、一つ以上のSAML-IdPサーバー130と、一つ以上のOIDCプロバイダーサーバー131とを含むことができる。例示的な実施形態によれば、コンピューター又はクライアント装置110、少なくとも一つのモバイルコンピューター112、一つ以上のSAML-SPリライングサーバー120、一つ以上のOIDCリライングパーティサーバー121、一つ以上のSAML-IdPサーバー130、及び一つ以上のOIDCプロバイダーサーバー131は、通信ネットワーク150を介して接続されることができる。例示的な実施形態によれば、通信ネットワーク又はネットワーク150は、公衆電気通信回線及び/又はネットワーク(例えば、LAN又はWAN)とすることができる。通信ネットワーク150としては、例えば、本開示の実施形態に従ういずれかの電気通信回線及び/又はネットワークを挙げることができ、限定はしないが、電気通信又は電話回線、インターネット、イントラネット、図示のローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及び/又は無線周波数(RF)及び/又は赤外線(IR)送信を用いた無線接続を含む。
また、例えば、アクセスポイント140は、通信ネットワーク150と通信して、モバイルコンピューター(例えばスマートフォン)112と通信ネットワーク150との間に無線又はセルラーデータ通信を提供することができる。例示的な実施形態によれば、アクセスポイント140は、Wi-Fi装置が有線ネットワークに接続することを可能にするいずれかのネットワーキングハードウェア装置、又は、セルラー装置、例えばモバイルコンピューター(又はスマートフォン)112が有線ネットワーク150に接続することを可能にすることができるハードウェア装置とすることができる。
OpenID Connect(OIDC)は、OAuth2.0プロトコル上のアイデンティティレイヤーであり、コンピューティングクライアントが、認可サーバーによって行われる認証に基づいてエンドユーザーのアイデンティティを確認することと、相互運用可能かつRESTのようなやり方でエンドユーザーについてのベーシックプロファイル情報を取得することとが可能となる。専門用語では、OpenID Connectは、JSON(JavaScript Objection Notation)をデータフォーマットとして用いてRESTful(Representational State Transfer)、HTTP(ハイパーテキストトランスファプロトコル)、及びAPI(アプリケーションプログラムインターフェース)を特定する。OpenID Connectは、例えば、Webベースの移動可能なJavaScriptクライアントを含む様々なクライアントが、認証されたセッション及びエンドユーザーについての情報をリクエストし、受信することを可能にする。仕様スイートは、アイデンティティデータの暗号化、OpenIDプロバイダーの発見、及びセッション管理といった任意の機能をサポートすることもできる。
図1に示すように、例えば、認証コードは一つ以上のOIDCプロバイダー131(例えば認証プロバイダー)によって生成されることができ、認証コードは次いで、一つ以上のOIDCリライングパーティサーバー121に提供される。例示的な実施形態によれば、一つ以上のOIDCリライングパーティサーバー121は、例えば、ここに開示される一つ以上のセキュアなソフトウェアアプリケーションへのクライアントアクセスを提供するように構成されたサーバーとすることができる。
セキュリティアサーションマークアップ言語(SAML)は、ユーザーアイデンティティをアサートするSAML連携アイデンティティプロバイダー(SAML-IdP)とユーザーアイデンティティ情報を消費するSAML連携サービスプロバイダー(SAML-SP)との間でシングルサインオン(SSO)情報をやり取りするためのXML規格である。SAMLv2.0(セキュリティアサーションマークアップ言語・バージョン2)は、IDP起点のフロー及びSP起点のフローをサポートする。IdP起点のSAMLSSOフローでは、SAML-IdPがユーザーアイデンティティについてのSAMLシングルサインオンアサーションを作成し、当該SAMLシングルサインオンアサーションをSP(サービスプロバイダー)120に未承諾の形式で送信する。SP起点のSAMLSSOフローでは、SPが連携プロセスの第1のステップとしてSAML-IdP130に送信されるSAML2.0AuthnRequest(例えば認証リクエスト)を作成し、次いでSAML-IdPがSAMLレスポンスに応答する。これらのインタラクションは両方とも互いに非同期である。
例示的な実施形態によれば、SAML-IdPは、セキュリティアサーションマークアップ言語(SAML)のシングルサインオン(SSO)プロファイルと共に認証アサーションを発行するシステムエンティティである。SAMLドメインモデルにおいて、SAMLオーソリティは、SAMLアサーションを発行するいずれかのシステムエンティティである。SAMLオーソリティの2つの重要な例は、認証オーソリティ及び属性オーソリティである。
例示的な実施形態によれば、複数のSAML-SPサーバー120は、セキュリティアサーションマークアップ言語のシングルサインオン(SSO)プロファイルと共に認証アサーションを受信し受け付けるように構成される。SAMLドメインモデルにおいて、SAML-SPサーバー120(例えばSAMLリライングパーティ)は、他のシステムエンティティから情報を受信し受け付けるいずれかのシステムエンティティである。特に興味深いのは、SAMLオーソリティによって発行されるSAMLアサーションを受信し受け付けるSAMLリライングパーティである。重要な種類のSAMLオーソリティは、SAMLアイデンティティプロバイダー、SAMLのSSOプロファイルと共に認証アサーションを発行するシステムエンティティである。そのようなアサーションを消費するリライングパーティは、SAMLサービスプロバイダー(又は、ドメインが分かれば単にサービスプロバイダー)と呼ばれる。したがって、SAMLサービスプロバイダー(SAML-SP)は、SAMLアイデンティティプロバイダー(SAML-IdP)によって発行される認証アサーションを受信し受け付けるシステムエンティティである。
例示的な実施形態によれば、一つ以上のSAML-SPリライングサーバー120及び/又は一つ以上のOIDCリライングパーティサーバー121は、企業サーバー、例えばコンサルティング、法律、不動産、通信、ストレージ、処理を組織に提供するいずれかのエンティティとすることができる。例えば、一つ以上のSAML-SPリライングサーバー120及び/又は一つ以上のOIDCリライングパーティサーバー121は、サードパーティ又はアウトソーシングサプライヤ、例えば、電気通信サービスプロバイダー(TSP)、アプリケーションサービスプロバイダー(ASP)、ストレージサービスプロバイダー(SSP)、及びインターネットサービスプロバイダー(ISP)とすることができる。
例えば、TSPは、従来から電話及び同様のサービスを提供してきた通信サービスプロバイダーの一種であり、既存の地域通信事業者、競合する地域通信事業者、及びモバイル無線通信会社を含むことができる。ASPは、コンピューターベースのサービスをネットワークを通じて顧客に提供する事業である。例えば、ASPは、例えばHTTPなどの標準プロトコルを用いて(顧客関係管理などの)特定のソフトウェアアプリケーションへのアクセスを提供することができる。SSPは、コンピューターストレージスペース及び関連するマネジメントサービス、定期バックアップ、ならびにアーカイブを提供するいずれかの企業である。
図2は、コンピューター110、モバイルコンピューター112、SAML-SPサーバー(又はSAML-SPリライングサーバー)120、ODICリライングパーティサーバー121、SAML-IdPサーバー130、又はOIDCプロバイダーサーバー131とすることができるコンピューティング装置200の例示である。図2に示すように、例示的なコンピューティング装置200は、プロセッサー又は中央処理装置(CPU)202と、ソフトウェアプログラム及びデータを保存するための一つ以上のメモリー204とを含むことができる。プロセッサー又はCPU202は、コンピューティング装置200の機能の少なくとも一部分を作動させ、かつ/又は制御するコンピュータープログラムの指示を実行する。コンピューティング装置200は、入力部206と、表示部又はグラフィカルユーザーインターフェース(GUI)208と、通信ネットワーク(又はネットワーク)150に接続されるネットワークインターフェース(I/F)210とを含むこともできる。バス212は、コンピューティング装置200内の様々な部材202,204,206,208,210を接続することができる。
例示的な実施形態によれば、コンピューティング装置200は、例えば、コンピューティング装置200のメモリー204内のWebブラウザー(図示せず)にアクセスすることができる表示部又はグラフィカルユーザーインターフェース(GUI)208を含むことができる。コンピューティング装置200は、コンピューターハードウェアを管理し、様々なソフトウェアプログラムの効率的な実行のための共通のサービスを提供するオペレーティングシステム(OS)も含む。例示的な実施形態によれば、CPU202のOSは、Linux(登録商標)又はWindows(登録商標)ベースのオペレーティングシステムである。ソフトウェアプログラムは、例えば、アプリケーションソフトウェア及びプリンタードライバーソフトウェアを含むことができる。例えば、プリンタードライバーソフトウェアは、例えばコンピューティング装置200と接続されたマルチファンクションプリンター又はプリンター(図示せず)を制御し、プリンタードライバーソフトウェアは、通信ネットワーク150を介してインストールされる。ある実施形態では、プリンタードライバーソフトウェアは、画像及び/又はドキュメントデータに基づいてプリントジョブ及び/又はドキュメントを生成することができる。
図3Aは、例示的な実施形態に係るモバイル装置300の例示である。図3Aに示すように、例示的なモバイル装置300は、プロセッサー又は中央処理装置(CPU)302と、ソフトウェアプログラム及びデータを保存するための一つ以上のメモリー304と、オペレーティングシステム320と、SPS-SSOエージェント322とを含むことができる。例示的な実施形態によれば、メモリー304はSPS-SSOエージェント322を含み、SPS-SSIエージェント332は、シングルサインオン(SSO)プロトコルによるモバイル装置300上のモバイルアプリケーションにおけるOIDCフロー及びSAMLフローを可能にするための一つ以上のプロセスを行うように構成される。プロセッサー又はCPU302は、コンピュータープログラムの指示を実行し、モバイル装置300の機能の少なくとも一部分を作動させ、かつ/又は制御する。モバイル装置300は、入力部306と、表示部又はグラフィカルユーザーインターフェース(GUI)308と、通信ネットワーク(又はネットワーク)150に接続されるネットワークインターフェース(I/F)310とを含むこともできる。バス312は、モバイル装置300内の様々な部材302,304,306,308,310を接続することができる。
例示的な実施形態によれば、モバイル装置300は、例えば、モバイル装置300のメモリー304内のWebブラウザー(図示せず)にアクセスすることができる表示部又はグラフィカルユーザーインターフェース(GUI)308を含むことができる。モバイル装置300は、コンピューターハードウェアを管理し、様々なソフトウェアプログラムの効率的な実行のための共通のサービスを提供するオペレーティングシステム(OS)320も含む。例示的な実施形態によれば、モバイル装置300のOS320は、Linux又はWindows(登録商標)ベースのオペレーティングシステムである。ソフトウェアプログラムは、例えば、アプリケーションソフトウェア及びプリンタードライバーソフトウェアを含むことができる。例えば、プリンタードライバーソフトウェアは、例えばモバイル装置300と接続されたマルチファンクションプリンター又はプリンター(図示せず)を制御し、プリンタードライバーソフトウェアは、通信ネットワーク150を介してインストールされる。ある実施形態では、プリンタードライバーソフトウェアは、画像及び/又はドキュメントデータに基づいてプリントジョブ及び/又はドキュメントを生成することができる。
例示的な実施形態によれば、モバイル装置300は、例えば指紋認識もしくは認証、又はモバイル装置上で現在実施されているかもしくは実施されることになる他の認証プロトコルによってユーザーを認証する認証モジュールも含むことができることが好ましい。例えば、ユーザー名及びパスワードなどのクレデンシャルを使用するパスワード認証プロトコルを使用することができる。例示的な実施形態によれば、認証モジュールは、モバイル装置300へのアクセスのためのものであり、かつ/又はここに開示されるシングルサインオン(SSO)プロセスに関連して使用することができる。
図3Bは、例示的な実施形態に係るモバイル装置300の表示部又はユーザーインターフェース(グラフィカルユーザーインターフェース(GUI)としても知られている)306の例示である。図3Bに示すように、表示部又はユーザーインターフェース306は、頻繁に使用されるアプリケーション、例えば、電話モジュール、電子メールクライアントモジュール、ブラウザーモジュール、ビデオ・ミュージックプレイヤーモジュール、メッセージモジュール、カレンダー、カメラモジュール、地図、天気、ならびにモバイル装置300及び様々なアプリケーションのための設定へのアクセスを提供するアプリケーション又はモジュールのための複数のアイコン330を有するタッチスクリーン(又はタッチパッド)307とすることができる。例示的な実施形態によれば、表示部又はユーザーインターフェース306は、例えば、OIDCによるSSOログイン用アプリケーションのためのアイコン332(「アプリA」)、及びSAMLによるSSOログイン用アプリケーションのためのアイコン334(「アプリB」)も含む。
図4Aは、図3Bに示すモバイル装置300の表示部又はユーザーインターフェース400の例示である。図4Aに示すように、モバイル装置300のユーザーインターフェース400上でタッチ又は他の既知の方法によってアイコン332(「アプリA」)が選択されると、ユーザーインターフェース400は、例えば、「ユーザー名又は電子メール」410及び「パスワード」412」のリクエストをユーザーに表示する。また、表示部又はユーザーインターフェース400は、「サインイン」420を規定するアイコン、あるいは「SSO使用」430のアイコンをユーザーに提示し、図4Bに示すユーザーインターフェース450でユーザーに入力を促す。
図4Bは、SSOサインインのための図3Bに示すモバイル装置300の表示部又はユーザーインターフェース450の例示である。図4Bに示すように、SSOページは、例えば「電子メール又はドメイン」460をリクエストし、「サインイン」アイコン470を含む。
例示的な実施形態によれば、ユーザーのモバイル装置112上でのOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのネイティブモバイルアプリケーション起点のシングルサインオン(SSO)のための方法及びシステムが開示される。ここに開示される方法及びシステムは、ユーザー(例えば、クライアント装置又はモバイル装置112)と認証プロバイダー(例えば、SAML-IDPサーバー130又はOIDCプロバイダーサーバー131)との間で事前認証の目的でエージェント/プロキシとして機能するアプリケーション(例えば、モバイルアプリケーション(又はソフトウェアコンポーネント)を導入する。例示的な実施形態によれば、モバイルアプリケーション(又はソフトウェアコンポーネント)はモバイル装置112上のインターフェース332,334であり、例えば、オンプレミスソフトウェア(例えば、オンプレミスレガシー)及び/又はオフプレミスソフトウェア(例えば、クラウドサービス)からのいずれかのサービスをユーザーが利用する(又はアクセスする)ことができる前にユーザーが認証される。例示的な実施形態によれば、シングルサインオン(SSO)法(又はプロトコル)によるユーザーの認証は、例えば、指紋、顔識別もしくは顔認識、虹彩検出などの生体認証、及び/又はユーザー名及びPIN(個人識別番号)によって行われることができる。ここに開示されるモバイルアプリケーションは、例えば、成功した認証の終わりにユーザーの代理でJSON Webトークン(JWT)を含むことができる。
例示的な実施形態によれば、モバイル装置112は、例えば、認証プロバイダー(例えば、OIDCプロバイダー(又はOIDC-OP)131又はSAML-IdPサーバー130)からのリダイレクションリクエストを継続的に待機し、処理されたリダイレクションリクエストへのレスポンスによって事前認証されたユーザーに対応する現在のアクティブなJSON Webトークン(JWT)を提示する(すなわち、ユーザーを一意的に識別する)エージェントコードソフトウェアコンポーネントの形態のアプリケーションを含むことができる。
例示的な実施形態によれば、OIDC-OP131又はSAML-IdP130から、対応する認証ソリューションモバイルアプリケーション322上で動作しているエージェントへのリダイレクションは、規則的なOIDC/SAMLフローに追加することができる。例示的な実施形態によれば、例えば、指定され登録されたモバイルアプリケーションへの追加的なリダイレクションビジットは、当初のフロー(例えば、ネイティブモバイルアプリケーションによって開始されたフロー)を盗用することができるため、コンテクストは失われない。例示的な実施形態によれば、事前認証されたユーザーについてのいずれのコンテクストも有していないモバイルアプリケーションからフローが開始するため、フローの目的は、いずれかの認証詳細を提示するよう問い合わせることをユーザーに促すことを回避することとすることができる。
例示的な実施形態によれば、フローが発生したユーザーエージェント(UA)を認証プロバイダー(SAML-IdP130又はOIDC-OP131)が検出した場合にのみ、認証プロバイダー(SAML-IdP130又はOIDC-OP131)はフローを盗用してモバイルアプリケーションカウンターパート上のエージェントに問合せる。例えば、サポートされるモバイルユーザーエージェントは、アップル(登録商標)WebKit、Mobile Safari、及び537.36(GeckoのようなKHTML)Chrome(登録商標)を含むことができる。また、モバイルブラウザーによるユーザーエージェントは、ブラウザーのバージョン、装置モデル、オペレーティングシステム(OS)、及び他の要因に応じて異なる可能性がある。
例示的な実施形態によれば、認証プロバイダー(SAML-IdP130又はOIDCプロバイダー131)において、「Auth」エンドポイントにヒットするOIDC「Auth」フロー又はSAMLの「認証リクエスト」フローは、上記で開示した変更を取り込み、追加的なリダイレクションが生じるため、当該フローは一時的な係属状態を継続して、ユーザーのために認証プロバイダーによって先に作成されたJWTトークンを取得することができる。
認証プロバイダーのクエリリダイレクトへのレスポンスによってJWTトークンを認証プロバイダーが受信した後、認証プロバイダーはトークンを検証し、ドメインクッキーを作成し、中断していたOIDC又はSAMLフローを再開し、認証レスポンスが送り返されると、作成したクッキー(すなわちSet-Cookie HTTPレスポンスヘッダー)を設定する。例示的な実施形態によれば、さらなる通信には、(当初のOIDCフロー及びSAMLフローが発生した)ネイティブモバイルアプリケーション・ユーザーエージェント上に設定されているドメインクッキーを使用する。
例示的な実施形態によれば、アプリケーションログインフローのためにUIレンダリング技術が用いる、モバイル装置のための様々なネイティブアプリケーションが存在する。例えば、外部のブラウザーを起動するアプリケーションもあれば、WebViewなどのアプリ内ブラウザーを使用するアプリケーションもあれば、SFSafariViewController及びChromeTabなどの最新のトレンドを使用するアプリケーションもある。例示的な実施形態によれば、本開示において再び提示されるエージェントコードはエージェントの動作に基づいてユーザーエージェントに依存しない(すなわち、多くの種類のプラットフォーム又はオペレーティングシステムと互換性がある)ことを伝え、シングルサインオン(SSO)ベースのログインフローと、エージェント上の対応するリダイレクト動作とをサポートするネイティブモバイルアプリケーション、例えばGoogle(登録商標) Drive and BoxにおいてOIDC及びSAMLのためのSSOフローにシームレス性を提供するという最終目標を実現するために3つの例が開示される。
例示的な実施形態によれば、例えば、アプリケーションはSafari(登録商標)又はChromeなどのシステムブラウザーを使用し、システムブラウザーは独自のユーザーエージェントを有する異なるアプリケーションとして機能する。例示的な実施形態によれば、エージェントはリダイレクトリクエストを受信し、暗号化されたURIパラメータを復号して、暗号化されたURIが真正の認証プロバイダーのものであることを確認する。この確認は、悪意のあるアプリケーションを回避するためのものであり、サーバーは、エージェントに問合せてユーザーのJWT(すなわちトークン)を取得することを試みる。成功した場合、サーバーは認証サーバーに到達するようユーザーエージェントをリダイレクトし、JWTを提供する。成功しなかった場合、リクエストは取り下げられ、メッセージが記録されることを記録し、警告メッセージ、例えばポップアップを用いて、問題を管理者に報告するようアプリケーションユーザーに警告することができる。
例示的な実施形態によれば、例えば、WKWebViewなどのWeb View Componentを用いるアプリケーションでは、各WebViewがサンドボックスされ、アプリケーションコンテンツ内にブラウザーが出現する(ユーザーがアプリケーションから離れることはない)。例示的な実施形態によれば、エージェントがリダイレクトリクエストを受信し、暗号化されたURIパラメータを復号して、本当に真正の認証プロバイダーのものであるか確認する。この確認は、悪意のあるアプリケーションを回避するためのものであり、サーバーは、エージェントに問合せてユーザーのJWT(すなわちトークン)を取得することを試みる。成功した場合、認証サーバーに到達するようユーザーエージェントをリダイレクトし、JWTを提供する。成功しなかった場合、リクエストは取り下げられ、メッセージが記録され、警告メッセージ、例えばポップアップを用いて、問題を管理者に報告するようアプリケーションユーザーに警告することができる。
例示的な実施形態によれば、例えば、SFSafariViewController(IOS)又はChromeTabを用いるアプリケーションについては、アプリケーションコンテンツ内にブラウザーが出現する(すなわち、ユーザーがアプリケーションから離れることはない)。例示的な実施形態によれば、エージェントがリダイレクトリクエストを受信し、暗号化されたURIパラメータを復号して、暗号化されたURIパラメータが真正の認証プロバイダーのものであるか確認する。この確認は、悪意のあるアプリケーションを回避するためのものであり、サーバーは、エージェントに問合せてユーザーのJWT(すなわちトークン)を取得することを試みる。成功した場合、認証サーバーに到達するようユーザーエージェントをリダイレクトし、JWTを提供する。成功しなかった場合、リクエストは取り下げられ、メッセージが記録され、警告メッセージ、例えばポップアップを用いて、問題を管理者に報告するようアプリケーションユーザーに警告することができる。
図5A及び図5Bは、OIDCによるSSOログインをサポートするネイティブモバイルアプリケーションのためのフローを例示するフローチャート500である。図5A及び図5Bに示すように、ステップ501において、モバイル装置(例えば、スマートフォン)112を有するユーザーがユーザーインターフェース(又はグラフィカルユーザーインターフェース(GUI)上のモバイルアプリケーションアイコン「アプリA」332をクリックする。アイコン「アプリA」332が開かれると、ユーザーは、図4Bに示すようにグラフィカルユーザーインターフェース上の「SSO使用」アイコンを選択する。図4Bに示すように、次いでユーザーは、電子メール又はドメインを入力し、「SPSでログイン」でログインする。ステップ502において、(SPSクライアント上で動作している)SPSモバイルSSOエージェントは、モバイル装置112のオペレーティングシステム(OS)で呼び出されるインテント(例えば、handler:SpsMobile SsoAuthAgent;/call_back)を登録する。
ステップ503において、モバイルアプリケーションは、ログインリクエスト(例えば、“GET:Login”)をサービスプロバイダーWebサーバー(OIDC-RP)121に送信する。ステップ504において、サービスプロバイダーWebサーバー(OIDC-RP)121は、URLリダイレクトレスポンス(例えば、302 Redirect(例えば、URLリダイレクション))をモバイルアプリケーション332に送信する。ステップ505において、モバイルアプリケーション332は、認証リクエスト(例えば、“GET:OAuth2 Auth EndPoint、Flow:Auth Code Flow,resp_type=code”)をアイデンティティプロバイダー、例えばSPS-Authサービス(OIDC-OP)131に送信する。例示的な実施形態によれば、ステップ505において、認証リクエストは、ログインしたユーザーについての詳細(例えば、ユーザー名/ドメイン名)は何も含まない。ステップ506において、OIDC-OPは、ステップ505におけるモバイルアプリケーションからの認証リクエストをチェックして、クッキー認証が存在する(例えば、クッキー認証が有効である)かどうか判定する。クッキー認証が有効である(すなわちクッキー認証が存在する)場合、処理はステップ515に続く。しかし、ステップ506においてクッキー認証が有効でない(すなわち認証クッキーが存在しない)場合、処理はステップ507に続き、OIDC-OP131はユーザーエージェントを発見し、対象のモバイル装置上のSPSクライアント上のマッピングされた「登録されたモバイルSSO認証インテントハンドラー」コールバックを取得する。
ステップ508において、OIDC-OP131は、「登録されたモバイルSSO認証インテントハンドラー」を訪問するようユーザーエージェントをリダイレクトするURLリダイレクションリクエスト(例えば、HTTP302)を構築する。ステップ509において、OIDC-OP131は、URLリダイレクションレスポンス(例えば、302:SPS Custom Mobile Application Redirection,Redirection Scheme:“SpsMobileSsoAuthAgent”,instead of a regular “https”)をモバイルアプリケーション332に送信する。ステップ510において、URLリダイレクションレスポンス(例えば、HTTP 302 request triggers SpsMobileSsoAuthAgent:/call_back)がSPS-SSOエージェント(例えば、(SPSクライアント内で動作している)SPSモバイルSsoエージェント)322に送信される。ステップ511において、SPS-SSOエージェントは、現在のアクティブなJWT(すなわちトークン)(例えば、302:/mobileid/v1/jwt/(JWT Value))をモバイルアプリケーション332に送信する。ステップ512において、SPS-SSOエージェントから受信された現在のアクティブなJWTがリクエスト(例えば、GET:/mobiledi/v1/jwt/(JWT Value))とともにOIDC-OP131に送信される。
ステップ513において、OIDC-OP131は、例えばJWT(すなわちトークン)を検証して、SPSエージェントに成りすましている「不正モバイルアプリ/エージェント」を排除する。ステップ514において、OIDC-OP131がJWT(すなわちトークン)を検証した場合、クッキーが作成される。ステップ515において、OIDC-OP131は、レスポンス(例えば、302 Redirect with a generated session Cookie with “OIDC Registered CallBack Please”)を送信し、作成されたクッキーは、認証コード(例えば、クッキー)がURLクエリストリングにおいて利用可能であることを示す。モバイルアプリケーション332は認証コードを受信し、ステップ516においてサービスのリクエスト(例えば、GET:ODIC Registered Callback,code=XXXXX)をOIDC-RP121に送信する。ステップ517において、OIDC-RPはモバイルアプリケーション332からのリクエストを受信し、ユーザーを認証するようリクエストをOIDC-OP131に送信する(例えば、POST:ID Token Request(Exchange),Authentication code = XXXXX)。ステップ518において、OIDC-OP131はリクエストを受信し、(JWT(すなわちトークン)及び対応するクッキーによって)ユーザーが認証されたことを確認し、OKサクセスステータスレスポンス(例えば、HTTP 200 OK:ID Token ----> JWT which Base-64 Encoded ID Token,Signed by SPS)をOIDC-RP121に送信する。ステップ519において、OIDC-RP121は、JWT(すなわちトークン)が確認され、リクエストが成功したことを示すレスポンス(例えば、200 OK:ID Token as JWT)をモバイルアプリケーションに送信する。ステップ520において、モバイルアプリケーションはサクセスレスポンスを受信し、アプリケーション又はサービスのリクエスト、例えば、“GET:Either Home Page or any page referring to Configured ‘StartURL’ ParamをOIDC-RP121に送信する。ステップ521において、OIDC-RPはIDトークンを検証し、IDトークンが有効であれば、ユーザーは認証されるものと見なされ、セッション識別子(ID)が作成される。ステップ522において、サクセスレスポンス(例えば、200 OKレスポンス)がモバイルアプリケーション332に送信される。
図6A及び図6Bは、SAMLによるSSOログインをサポートするネイティブモバイルアプリケーションのためのフローを例示するフローチャート600である。図6A及び図6Bに示すように、ステップ601において、モバイル装置(例えばスマートフォン)112を有するユーザーが、ユーザーインターフェース(又はグラフィカルユーザーインターフェース(GUI)上のモバイルアプリケーションアイコン「アプリB」334をクリックする。アイコン「アプリB」334が開かれると、図4Bに示すように、ユーザーはグラフィカルユーザーインターフェース上で電子メールID及び/又はドメイン名を入力する。ステップ602において、(SPSクライアント上で動作している)SPSモバイルSSOエージェント320は、モバイル装置112のIOS又はアンドロイド(登録商標)(OS)上にhttp://localhoste/sps-sso-redirect/”を登録する(すなわちホワイトリストされる)。
ステップ603において、モバイルアプリケーション334は、リクエスト(例えば、“GET:Login”)をサービスプロバイダーWebサーバー(SAML-SP)120に送信する。ステップ604において、モバイルアプリケーション334からのリクエストに応答して、サービスプロバイダーWebサーバー(SAML-SP)120は、認証リクエスト、例えば、SP起点のSAML2認証リクエストをSPS認証サービス(SAML-IdP)130に送信する。SPS認証サービス(SAML-IDP)130への認証リクエスト(例えば、SP起点のSAML2認証リクエスト)は、ログインしたユーザーについての詳細(例えば、ユーザー名/ドメイン名)を何も含まない。ステップ605において、認証リクエスト(例えば、SP起点のSAML2認証リクエスト)がSPS認証サービス(SAML-IDP)130によって受信され、クッキー認証が有効かどうか判断する。クッキー認証が有効であれば、処理はステップ615に続く。しかし、クッキー認証が有効でなければ、処理はステップ606に続き、SAML-IDP130がユーザーエージェントを突き止め(又は発見し)、対象のモバイル装置のSPSクライアント上に「登録されたモバイルSSO認証インテントハンドラー」コールバックをマッピングする。ステップ607において、SAML-IdP130は、URLリダイレクションリクエストを構築する(例えば、「登録されたモバイルSSO認証インテントハンドラー」を訪問するようユーザーエージェントをリダイレクトする“Construct a HTTP302)。ステップ608において、SAML-IdP130は、ステップ609で作成された暗号化メッセージを含むURLリダイレクションリクエスト(例えば、“302:SPS Custom Mobile App Redirection,Redirection Scheme:http://localhost/sps-sso-redirect/challenge=8971982jhjhsbjhs)をモバイルアプリケーション334に送信する。図6に示すように、ステップ609において、SAML-IdP130は、「(このサーバー及びエージェントにのみ知られている)事前共有シークレットを復号化し、モバイル装置112上のエージェントをリダイレクトするためのレスポンスを送信する。
ステップ610において、モバイルアプリケーション334は、SAML-IdP130によって提供される秘密鍵をステップ611において検証するために、リクエスト(例えば、“Triggers http://localhost/sps-sso-redirect/challenge=897198jhjhsbjhs”)をSPS-SSOエージェント322に送信する(例えば、「暗号化されたチャレンジを認証サーバー公開鍵で検証し、成功した(サーバーのみが有するサーバーの秘密鍵によってチャレンジが暗号化された)場合、JWTを提供することによってさらに前進する。そうでなければリクエストを取り下げる(例えばレスポンスなし)。End SSOフローは、httpがタイムアウトするまで、ユーザー側でハングアップする)。
ステップ612において、SPS-SSOエージェント322は、URLリダイレクションレスポンスをモバイルアプリケーション334にJWT(トークン)(例えば、“302/mobileid /v1/jwt(JWT Value)/”)とともに送信する。ステップ613において、モバイルアプリケーション334は、JWT(トークン)の検証を要請するリクエスト(例えば、“GET:/mobileid/v1/jwt/(JWT value)/)をSAML-IdP130に送信する。ステップ614において、SAML-IdP130は、モバイルアプリケーションからリクエストを受信し、JWT(トークン)を検証する(例えば、「JWTを検証し、SPSエージェントに成りすましている不正なモバイルアプリ/エージェントを排除する」)。ステップ615において、JWT(トークン)が有効であれば、SAML-IDP130は、SAMLアサーション及びSAMLレスポンスを構築する。ステップ616において、SAML-IDP130は、URLリダイレクションレスポンスをモバイルアプリケーション334に送信する(例えば、“302 Redirect,with SAMLResponse and Generated Session Cookie”)。ステップ617において、モバイルアプリケーションはSAMLレスポンスを受信し、ログインしたユーザーについてSAMLレスポンスをサービスプロバイダー(SAML-SP)120に送信する。ステップ618において、SAML-SP120は、ログインしたユーザーが認証されたことを示すサクセスレスポンスをモバイルアプリケーション334に送信する(例えば、“200 OK:SAML Response Verified, User is Authenticated, SP’s Oauth2 access toke the native Mobile Application can use towards the user)。ステップ619において、モバイルアプリケーション(すなわちBoxネイティブアプリケーション)のユーザーは、「box認証された」ユーザーとして扱われ、SAML-SP120上のサービスへのアクセスはすべてOauth2アクセストークンを伴う。
例示的な実施形態によれば、開示されている方法及びプロセスは、非一時的なコンピューター読み取り可能媒体上で実施されることができる。非一時的なコンピューター読み取り可能媒体は、磁気記録媒体、光磁気記録媒体、又は将来開発されることになるいずれかの他の記録媒体であってもよく、すべて同じやり方で本発明に適用可能であると考えることができる。主要な複製製品及び二次的な複製製品等を含むそのような媒体の複製は、もちろん上記の媒体と同等であると考えられる。さらに、本発明の実施形態がソフトウェア及びハードウェアの組合せであっても、発明の概念からは全く逸脱しない。本開示は、そのソフトウェア部分が予め記録媒体に書き込まれており、動作において必要に応じて読み込まれることになるように実施されても良い。
ここで使用される限りにおいて、単数で記載され「a」又は「an」という語が前に付けられた要素又はステップは、明示的に記載されない限り、複数の要素又はステップを除外していないと理解されるべきである。さらに、本開示の「例示的な実施形態」又は「一実施形態」という言及は、記載されている特徴を同じく組み込んだ追加的な例の存在を除外すると解釈されることを意図していない。
本書類の末尾にある特許請求項は、従来のミーンズプラスファンクション文言が明確に記載されていない限り、例えば「ための手段」又は「ためのステップ」という文言が請求項に明確に記載されていない限り、35U.S.C.§112(f)に基づいて解釈されることを意図していない。
発明の範囲又は精神から逸脱することなく本発明の構造に様々な変形及び変更を行うことができることは、当業者にとっては明らかであろう。以上に鑑み、本発明は、下記の請求項及びそれらの等価物の範囲に入るならば本発明の変形及び変更を対象とすることが意図される。

Claims (19)

  1. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための方法であって、前記方法は、
    前記モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、前記モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、前記方法はさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからリダイレクションリクエストを受信するステップと、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信するステップと、
    前記認証サーバー上で前記ユーザーエージェントからの前記認証トークンを認証し、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスするための認証データを作成するステップと、
    前記認証データを前記モバイル装置に送信するステップと、
    前記リライングパーティサーバーによって前記認証データが受信されると、前記事前認証されたユーザーに、前記リライングパーティサーバー上でホスティングされている前記リソースへのアクセスを許可するステップと
    前記事前認証されたユーザーを前記モバイル装置上でシングルサインオン(SSO)法によって認証するステップと、
    前記事前認証されたユーザーが認証されると、前記モバイル装置のオペレーティングシステム(OS)で前記事前認証されたユーザーについて呼び出されるインテントを登録するステップとを含み、
    前記呼び出されるインテントは、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから受信すると、前記認証サーバーからの前記リダイレクションリクエストに応答するように構成される、方法。
  2. 前記認証サーバーは、OpenID Connect(OIDC)プロバイダー又はセキュリティアサーションマークアップ言語(SAML)アイデンティティプロバイダーであり、前記リライングパーティサーバーは、OIDCリライングパーティ又はSAMLサービスプロバイダーである、請求項1に記載の方法。
  3. 前記認証トークンは、JSON Webトークン(JWT)である、請求項1又は2に記載の方法。
  4. 前記モバイル装置のオペレーティングシステムは、前記モバイル装置の前記ユーザーエージェントからの前記事前認証されたユーザーのための前記認証トークンとともに前記認証サーバーからの前記リダイレクションリクエストを継続的に待機して、前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストのフローの損失を回避する、請求項1~のいずれか一項に記載の方法。
  5. 前記リライングパーティサーバー上でホスティングされている前記リソースについて、前記モバイル装置から前記リライングパーティサーバーにリクエストを送信するステップと、
    前記リライングパーティサーバーからの前記リソースについてリダイレクションリクエストを前記モバイル装置上で前記リライングパーティサーバーから受信するステップと、
    前記事前認証されたユーザーの詳細を含まない前記モバイル装置からのリクエストを前記認証サーバーに送信するステップと、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンについて前記リダイレクションリクエストを前記認証サーバーから前記モバイル装置に送信するステップとをさらに含む、請求項1~のいずれか一項に記載の方法。
  6. 前記モバイル装置上で前記ネイティブアプリケーションをホスティングするステップをさらに含み、前記ネイティブアプリケーションは、前記リライングパーティサーバーによってホスティングされている前記リソースについて前記ユーザーを認証するように構成され、前記リライングパーティサーバーによってホスティングされている前記リソースは、オンプレミスサービス又はクラウドサービスである、請求項1~のいずれか一項に記載の方法。
  7. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための方法であって、前記方法は、
    前記モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、前記モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、前記方法はさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからリダイレクションリクエストを受信するステップと、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信するステップと、
    前記認証サーバー上で前記ユーザーエージェントからの前記認証トークンを認証し、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスするための認証データを作成するステップと、
    前記認証データを前記モバイル装置に送信するステップと、
    前記リライングパーティサーバーによって前記認証データが受信されると、前記事前認証されたユーザーに、前記リライングパーティサーバー上でホスティングされている前記リソースへのアクセスを許可するステップとを含み、
    前記事前認証されたユーザーのための前記認証トークンについての前記認証サーバーからの前記リダイレクションリクエストは、前記ユーザーエージェントを発見し、前記事前認証されたユーザーの前記認証トークンを取得するように前記認証サーバーによって構築される、方法。
  8. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための方法であって、前記方法は、
    前記モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、前記モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、前記方法はさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて、認証サーバーからリダイレクションリクエストを受信するステップと、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信するステップと、
    前記認証サーバー上で前記ユーザーエージェントからの前記認証トークンを認証し、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスするための認証データを作成するステップと、
    前記認証データを前記モバイル装置に送信するステップと、
    前記リライングパーティサーバーによって前記認証データが受信されると、前記事前認証されたユーザーに、前記リライングパーティサーバー上でホスティングされている前記リソースへのアクセスを許可するステップと、
    前記ユーザーエージェントがサポートされているモバイルユーザーエージェントのものであることを前記認証サーバーが検出した場合にのみ、前記ユーザーエージェントに問合せるステップとを含む、方法。
  9. 前記サポートされているモバイルユーザーエージェントは、AppleWebKit、Mobile Safari、又は537.36 Chromeのうちの一つ以上である、請求項に記載の方法。
  10. 前記リライングパーティサーバーは、電気通信サービスプロバイダー(TSP)、アプリケーションサービスプロバイダー(ASP)、ストレージサービスプロバイダー(SSP)、及び/又はインターネットサービスプロバイダー(ISP)である、請求項1~のいずれか一項に記載の方法。
  11. 前記事前認証されたユーザーが前記リライングパーティサーバー上でホスティングされている前記リソースへのアクセスを許可されると、さらなるログインは必要とされない、請求項1~10のいずれか一項に記載の方法。
  12. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための所定のプロセスを行うためにプロセッサーによって実行されるプログラムであって、前記プロセスは、
    前記モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、前記モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、前記プロセスはさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信するステップと、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信するステップと、
    前記認証サーバー上で前記ユーザーエージェントからの前記認証トークンを認証し、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスするための認証データを作成するステップと、
    前記認証データを前記モバイル装置に送信するステップと、
    前記リライングパーティサーバーによって前記認証データが受信されると、前記事前認証されたユーザーに、前記リライングパーティサーバー上でホスティングされている前記リソースへのアクセスを許可するステップと
    前記事前認証されたユーザーを前記モバイル装置上でシングルサインオン(SSO)法によって認証するステップと、
    前記事前認証されたユーザーが認証されると、前記モバイル装置のオペレーティングシステム(OS)で前記事前認証されたユーザーのために呼び出されるインテントを登録するステップとを含み、
    前記呼び出されるインテントは、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから受信すると、前記認証サーバーからの前記リダイレクションリクエストに応答するように構成される、プログラム。
  13. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための所定のプロセスを行うためにプロセッサーによって実行されるプログラムであって、前記プロセスは、
    前記モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、前記モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、前記プロセスはさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信するステップと、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信するステップと、
    前記認証サーバー上で前記ユーザーエージェントからの前記認証トークンを認証し、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスするための認証データを作成するステップと、
    前記認証データを前記モバイル装置に送信するステップと、
    前記リライングパーティサーバーによって前記認証データが受信されると、前記事前認証されたユーザーに、前記リライングパーティサーバー上でホスティングされている前記リソースへのアクセスを許可するステップとを含み、
    前記事前認証されたユーザーのための前記認証トークンについての前記認証サーバーからの前記リダイレクションリクエストは、前記ユーザーエージェントを発見し、前記事前認証されたユーザーの前記認証トークンを取得するように前記認証サーバーによって構築される、プログラム。
  14. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするための所定のプロセスを行うためにプロセッサーによって実行されるプログラムであって、前記プロセスは、
    前記モバイル装置上にネイティブアプリケーションをホスティングするステップを含み、前記モバイル装置は、事前認証されたユーザーのためのユーザーエージェントを有し、前記プロセスはさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信するステップと、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信するステップと、
    前記認証サーバー上で前記ユーザーエージェントからの前記認証トークンを認証し、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスするための認証データを作成するステップと、
    前記認証データを前記モバイル装置に送信するステップと、
    前記リライングパーティサーバーによって前記認証データが受信されると、前記事前認証されたユーザーに、前記リライングパーティサーバー上でホスティングされている前記リソースへのアクセスを許可するステップと、
    前記ユーザーエージェントがサポートされているモバイルユーザーエージェントのものであることを前記認証サーバーが検出した場合にのみ、前記ユーザーエージェントに問合せるステップとを含む、プログラム。
  15. 前記認証サーバーは、OpenID Connect(OIDC)プロバイダー又はセキュリティアサーションマークアップ言語(SAML)アイデンティティプロバイダーであり、前記リライングパーティサーバーは、OIDCリライングパーティ又はSAMLサービスプロバイダーであり、
    前記認証トークンは、JSON Webトークン(JWT)である、請求項1214のいずれか一項に記載のプログラム。
  16. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするためのネイティブアプリケーションを有するモバイル装置であって、前記モバイル装置は、
    プロセッサーと、
    ユーザーインターフェースと、
    オペレーティングシステム、及び事前認証されたユーザーのための認証トークンを有するユーザーエージェントを有するメモリーとを備え、前記オペレーティングシステム及び前記ユーザーエージェントは、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信し、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信し、
    前記ユーザーエージェントからの前記認証トークンの前記認証サーバー上での認証から作成された認証データを受信するように構成され、前記認証データは、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスすることを許可するように構成され、前記オペレーティングシステム及び前記ユーザーエージェントはさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースに前記認証データによりアクセスするように構成され
    前記事前認証されたユーザーは、シングルサインオン(SSO)法によって前記モバイル装置上で認証され、前記事前認証されたユーザーが認証されると、前記ユーザーエージェントは、前記モバイル装置の前記オペレーティングシステムで前記事前認証されたユーザーのために呼び出されるインテントを登録するように構成され、
    前記呼び出されるインテントは、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから受信すると、前記認証サーバーからの前記リダイレクションリクエストに応答するように構成される、モバイル装置。
  17. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするためのネイティブアプリケーションを有するモバイル装置であって、前記モバイル装置は、
    プロセッサーと、
    ユーザーインターフェースと、
    オペレーティングシステム、及び事前認証されたユーザーのための認証トークンを有するユーザーエージェントを有するメモリーとを備え、前記オペレーティングシステム及び前記ユーザーエージェントは、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信し、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信し、
    前記ユーザーエージェントからの前記認証トークンの前記認証サーバー上での認証から作成された認証データを受信するように構成され、前記認証データは、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスすることを許可するように構成され、前記オペレーティングシステム及び前記ユーザーエージェントはさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースに前記認証データによりアクセスするように構成され、
    前記事前認証されたユーザーのための前記認証トークンについての前記認証サーバーからの前記リダイレクションリクエストは、前記ユーザーエージェントを発見し、前記事前認証されたユーザーの前記認証トークンを取得するように前記認証サーバーによって構築される、モバイル装置。
  18. リライングパーティサーバー上でホスティングされているリソースにモバイル装置からアクセスするためのネイティブアプリケーションを有するモバイル装置であって、前記モバイル装置は、
    プロセッサーと、
    ユーザーインターフェースと、
    オペレーティングシステム、及び事前認証されたユーザーのための認証トークンを有するユーザーエージェントを有するメモリーとを備え、前記オペレーティングシステム及び前記ユーザーエージェントは、
    前記リライングパーティサーバー上でホスティングされている前記リソースのリクエストに応答して、事前認証されたユーザーのための認証トークンについて認証サーバーからリダイレクションリクエストを受信し、
    前記認証サーバーからの前記リダイレクションリクエストに応答して、前記事前認証されたユーザーのための前記認証トークンを前記モバイル装置の前記ユーザーエージェントから前記認証サーバーに送信し、
    前記ユーザーエージェントからの前記認証トークンの前記認証サーバー上での認証から作成された認証データを受信するように構成され、前記認証データは、前記認証されたユーザーが前記リライングパーティサーバー上の前記リソースにアクセスすることを許可するように構成され、前記オペレーティングシステム及び前記ユーザーエージェントはさらに、
    前記リライングパーティサーバー上でホスティングされている前記リソースに前記認証データによりアクセスするように構成され、
    前記ユーザーエージェントがサポートされているモバイルユーザーエージェントのものであることを前記認証サーバーが検出した場合にのみ、前記ユーザーエージェントへの問合せが行われる、モバイル装置。
  19. 記認証サーバーは、OpenID Connect(OIDC)プロバイダー又はセキュリティアサーションマークアップ言語(SAML)アイデンティティプロバイダーであり、前記リライングパーティサーバーは、OIDCリライングパーティ又はSAMLサービスプロバイダーであり、前記認証トークンは、JSON Webトークン(JWT)である、請求項16~18のいずれか一項に記載のモバイル装置。
JP2019228885A 2018-12-27 2019-12-19 ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム Active JP7382818B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/233,998 2018-12-27
US16/233,998 US11140146B2 (en) 2018-12-27 2018-12-27 Method and system for seamless single sign-on (SSO) for native mobile-application initiated open-ID connect (OIDC) and security assertion markup language (SAML) flows

Publications (3)

Publication Number Publication Date
JP2020126602A JP2020126602A (ja) 2020-08-20
JP2020126602A5 JP2020126602A5 (ja) 2022-06-27
JP7382818B2 true JP7382818B2 (ja) 2023-11-17

Family

ID=68531356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019228885A Active JP7382818B2 (ja) 2018-12-27 2019-12-19 ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム

Country Status (4)

Country Link
US (1) US11140146B2 (ja)
EP (1) EP3675451B1 (ja)
JP (1) JP7382818B2 (ja)
CN (1) CN111385100B (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) * 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11190514B2 (en) * 2019-06-17 2021-11-30 Microsoft Technology Licensing, Llc Client-server security enhancement using information accessed from access tokens
US11888849B1 (en) 2019-06-21 2024-01-30 Early Warning Services, Llc Digital identity step-up
US11784995B1 (en) 2019-06-21 2023-10-10 Early Warning Services, Llc Digital identity sign-up
US11140148B1 (en) * 2020-03-30 2021-10-05 Konica Minolta Business Solution U.S.A., Inc. Method and system for instant single sign-on workflows
US11695769B2 (en) * 2020-08-10 2023-07-04 Cisco Technology, Inc. Dynamic user authorization with a service provider
CN112738021B (zh) * 2020-12-02 2023-10-24 海能达通信股份有限公司 单点登录方法、终端、应用服务器、认证服务器及介质
CN112541190B (zh) * 2020-12-03 2024-03-12 园测信息科技股份有限公司 基于统一用户信息的地图分权控制方法及控制系统
US11516204B1 (en) * 2020-12-14 2022-11-29 Express Scripts Strategic Development, Inc. System and method for secure single sign on using security assertion markup language
CN112488799B (zh) * 2020-12-14 2024-04-09 北京易兴元石化科技有限公司 一种基于加油站端的石油数据处理方法、装置及存储介质
JP2022098997A (ja) * 2020-12-22 2022-07-04 富士フイルムビジネスイノベーション株式会社 画像形成装置、画像形成プログラム及び連携システム
CN112671796B (zh) * 2020-12-31 2022-03-25 深圳软牛科技有限公司 Google Driver云服务的认证获取方法、装置、设备及存储介质
CN112822675B (zh) * 2021-01-11 2021-11-23 北京交通大学 面向MEC环境的基于OAuth2.0的单点登录机制
US20230185893A1 (en) * 2021-12-10 2023-06-15 Konica Minolta Business Solutions U.S.A., Inc. Method and system for secure cloud access via password-less single sign-on (sso) for native marketplace applications on multifunction printers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015170319A (ja) 2014-03-10 2015-09-28 富士通株式会社 通信端末、セキュアログイン方法、及びプログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826696B1 (en) * 1999-10-12 2004-11-30 Webmd, Inc. System and method for enabling single sign-on for networked applications
US7500262B1 (en) * 2002-04-29 2009-03-03 Aol Llc Implementing single sign-on across a heterogeneous collection of client/server and web-based applications
US7356694B2 (en) * 2004-03-10 2008-04-08 American Express Travel Related Services Company, Inc. Security session authentication system and method
CN102025495A (zh) * 2009-09-17 2011-04-20 成都康赛电子科大信息技术有限责任公司 基于saml2.0的身份认证和管理
WO2011128183A2 (en) * 2010-04-13 2011-10-20 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for interworking with single sign-on authentication architecture
US8650622B2 (en) * 2011-07-01 2014-02-11 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for authorizing and authentication interworking
JP5743786B2 (ja) * 2011-07-28 2015-07-01 キヤノン株式会社 サーバー装置、情報処理方法及びプログラム
US9043886B2 (en) * 2011-09-29 2015-05-26 Oracle International Corporation Relying party platform/framework for access management infrastructures
CN102624737B (zh) * 2012-03-27 2015-05-06 武汉理工大学 单点登录系统中针对Form身份鉴别的单点登录集成方法
US10498734B2 (en) * 2012-05-31 2019-12-03 Netsweeper (Barbados) Inc. Policy service authorization and authentication
US8745718B1 (en) 2012-08-20 2014-06-03 Jericho Systems Corporation Delivery of authentication information to a RESTful service using token validation scheme
US8762731B2 (en) * 2012-09-14 2014-06-24 Sap Ag Multi-system security integration
US8769651B2 (en) * 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
US20160380999A1 (en) * 2014-03-17 2016-12-29 Telefonaktiebolaget L M Ericsson (Publ) User Identifier Based Device, Identity and Activity Management System
US9729539B1 (en) * 2014-03-28 2017-08-08 Pulse Secure, Llc Network access session detection to provide single-sign on (SSO) functionality for a network access control device
US9985953B2 (en) * 2014-11-10 2018-05-29 Amazon Technologies, Inc. Desktop application fulfillment platform with multiple authentication mechanisms
US9578015B2 (en) * 2014-10-31 2017-02-21 Vmware, Inc. Step-up authentication for single sign-on
US9467457B2 (en) * 2015-01-13 2016-10-11 Oracle International Corporation Identity management and authentication system for resource access
CN106209749B (zh) * 2015-05-08 2020-09-25 阿里巴巴集团控股有限公司 单点登录方法及装置、相关设备和应用的处理方法及装置
US9503452B1 (en) * 2016-04-07 2016-11-22 Automiti Llc System and method for identity recognition and affiliation of a user in a service transaction
WO2017196774A1 (en) * 2016-05-11 2017-11-16 Oracle International Corporation Multi-tenant identity and data security management cloud service
SG11201810477PA (en) * 2016-06-06 2018-12-28 Illumina Inc Tenant-aware distributed application authentication
US10484382B2 (en) * 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10511589B2 (en) * 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10445395B2 (en) * 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10462124B2 (en) * 2016-12-30 2019-10-29 Google Llc Authenticated session management across multiple electronic devices using a virtual session manager
US10708053B2 (en) * 2017-05-19 2020-07-07 Intuit Inc. Coordinating access authorization across multiple systems at different mutual trust levels
US10735423B2 (en) * 2017-05-25 2020-08-04 Michael Boodaei User authentication and authorization system for a mobile application
US11050730B2 (en) * 2017-09-27 2021-06-29 Oracle International Corporation Maintaining session stickiness across authentication and authorization channels for access management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015170319A (ja) 2014-03-10 2015-09-28 富士通株式会社 通信端末、セキュアログイン方法、及びプログラム

Also Published As

Publication number Publication date
CN111385100A (zh) 2020-07-07
US11140146B2 (en) 2021-10-05
EP3675451A1 (en) 2020-07-01
EP3675451B1 (en) 2023-11-01
US20200213297A1 (en) 2020-07-02
JP2020126602A (ja) 2020-08-20
CN111385100B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
JP7382818B2 (ja) ネイティブモバイルアプリケーション起点のOpenID Connect(OIDC)フロー及びセキュリティアサーションマークアップ言語(SAML)フローのためのシームレスなシングルサインオン(SSO)のための方法及びシステム
JP7382753B2 (ja) セキュリティーアサーションマークアップランゲージ(saml)サービスプロバイダー起点のシングルサインオンのための方法及びプログラム
US10581827B2 (en) Using application level authentication for network login
US11444932B2 (en) Device verification of an installation of an email client
CN108293053B (zh) 经由浏览器对客户端应用进行单点登录验证
EP3095225B1 (en) Redirect to inspection proxy using single-sign-on bootstrapping
JP2020126602A5 (ja)
US8799639B2 (en) Method and apparatus for converting authentication-tokens to facilitate interactions between applications
EP3455762B1 (en) Unified vpn and identity based authentication to cloud-based services
EP3454504B1 (en) Service provider certificate management
US20100100950A1 (en) Context-based adaptive authentication for data and services access in a network
US20210099441A1 (en) Method and system for one-time multiple registration chain with pki-credential anchoring and universal registration
US9590972B2 (en) Application authentication using network authentication information
EP2979420B1 (en) Network system comprising a security management server and a home network, and method for including a device in the network system
US20240031352A1 (en) Mobile device enabled desktop tethered and tetherless authentication
WO2011144081A2 (zh) 用户业务鉴权方法、系统及服务器
US20210099874A1 (en) Method and system for avoidance of user re-registration
US11695737B2 (en) Intermediary handling of identity services to guard against client side attack vectors
US11503012B1 (en) Client authentication using a client certificate-based identity provider
US20190182242A1 (en) Authentication in integrated system environment
US20220014359A1 (en) Login and consent methodology that follows rest principles and uses the oauth protocol with attested clients
JP2010166365A (ja) 通信システム、認証サーバ、認証方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231107

R150 Certificate of patent or registration of utility model

Ref document number: 7382818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150