JP7241814B2 - 認証及び承認方法並びに認証サーバー - Google Patents

認証及び承認方法並びに認証サーバー Download PDF

Info

Publication number
JP7241814B2
JP7241814B2 JP2021102784A JP2021102784A JP7241814B2 JP 7241814 B2 JP7241814 B2 JP 7241814B2 JP 2021102784 A JP2021102784 A JP 2021102784A JP 2021102784 A JP2021102784 A JP 2021102784A JP 7241814 B2 JP7241814 B2 JP 7241814B2
Authority
JP
Japan
Prior art keywords
application program
user
token
key
identification
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
JP2021102784A
Other languages
English (en)
Other versions
JP2021152953A (ja
Inventor
筱▲うぇん▼ 丁
宗城 江
延川 陳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wistron Corp
Original Assignee
Wistron Corp
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 Wistron Corp filed Critical Wistron Corp
Publication of JP2021152953A publication Critical patent/JP2021152953A/ja
Application granted granted Critical
Publication of JP7241814B2 publication Critical patent/JP7241814B2/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/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
    • 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/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Description

本発明は、認証及び承認方法並びに認証サーバーに関し、特に、ユーザ及びアプリケーションプログラムが合法である(許可または承認することができる)ことを認証した後、アプリケーションプログラムがアプリケーションプログラムインターフェースを呼び出すことを承認できる認証及び承認方法並びに認証サーバーに関する。
現代人にとって、スマートデバイスのアプリケーションプログラムを操作することは、すでに生活の一部となっている。しかしながら、これらのアプリケーションプログラムは、ユーザに使用前に登録するように要求し、この機構はユーザにとって使用上の負担となっている可能性がある。
具体的には、このような登録を必要とするアプリケーションプログラムの数が増えるにつれて、ユーザは、複数のログイン情報(例えば、ユーザ名称及びパスワード)を記憶しなければならない可能性がある。この状況において、ユーザの記憶上の負担が増える可能性がある以外に、各アプリケーションプログラムの開発者は、対応するユーザ管理データベースを設けてユーザに関する情報を管理する必要もある。また、上記機構は、ユーザデータがハッカーに盗まれるリスクが増える可能性もある。
したがって、当業者が更に優れたユーザ管理機構を設計することは、重要な議題である。
これに鑑みて、本発明は、上記技術的課題を解決するのに用いられる認証及び承認方法並びにその認証サーバーを提供する。
本発明は、認証サーバーに適する認証及び承認方法を提供する。前記方法は、第一アプリケーションプログラムからログイン情報を受信することと、ログイン情報がデータベースに保存された認証データに適合すると認証したことに反応して、ユーザトークンを発生させ、ユーザトークンを第一アプリケーションプログラムに返信することと、ユーザトークン、第一アプリケーションプログラムの第一身分証明及び第一アプリケーションプログラムの第一キーを含み、第一アプリケーションプログラムが第一アプリケーションプログラムインターフェースを呼び出す第一要求を受信することと、ユーザトークンが時効内でありデータベースに第一身分証明及び第一キーに適合する第一アプリケーションプログラムが存在し、且つ、第一アプリケーションプログラムに第一アプリケーションプログラムインターフェースを呼び出す権限が有ると認証したことに反応して、第一アプリケーションプログラムに関連する第一アプリケーションプログラムトークンを発生させることと、第一アプリケーションプログラムトークンを第一アプリケーションプログラムに返信して、第一アプリケーションプログラムが第一アプリケーションプログラムインターフェースを呼び出すことを承認することと、を含む。
本発明は、記憶回路と、プロセッサと、を含む認証サーバーを提供する。記憶回路は複数のモジュールを保存する。プロセッサは記憶回路に結合され、前記モジュールにアクセスして、下記ステップを実行する。第一アプリケーションプログラムからログイン情報を受信するステップ、ログイン情報がデータベースに保存された認証データに適合すると認証したことに反応して、ユーザトークンを発生させ、ユーザトークンを第一アプリケーションプログラムに返信するステップ、ユーザトークン、第一アプリケーションプログラムの第一身分証明及び第一アプリケーションプログラムの第一キーを含み、第一アプリケーションプログラムが第一アプリケーションプログラムインターフェースを呼び出す第一要求を受信するステップ、ユーザトークンが時効内でありデータベースに第一身分証明及び第一キーに適合する第一アプリケーションプログラムが存在し、且つ、第一アプリケーションプログラムに第一アプリケーションプログラムインターフェースを呼び出す権限が有ると認証したことに反応して、第一アプリケーションプログラムに関連する第一アプリケーションプログラムトークンを発生させるステップ、第一アプリケーションプログラムトークンを第一アプリケーションプログラムに返信して、第一アプリケーションプログラムが第一アプリケーションプログラムインターフェースを呼び出すことを承認するステップ。
上記に基づき、本発明が提出する認証及び承認方法並びにその認証サーバーは、アプリケーションプログラムは、ユーザが許可されるのか否か認証するのを援助し、ユーザが許可されると判定した後、対応してユーザトークンをアプリケーションプログラムに返信する。続いて、アプリケーションプログラムがアプリケーションプログラムインターフェースを呼び出そうとする時、アプリケーションプログラムは、自身の身分証明、キー及びユーザトークンを認証サーバーに送信して、認証サーバーにアプリケーションプログラムが許可されるか否か確認させる。アプリケーションプログラムが許可される場合、認証サーバーは、アプリケーションプログラムが必要とするインターフェースを呼び出すことを承認する。これにより、アプリケーションプログラムに自己ユーザ管理機構を備えさせる必要は無く、ユーザデータのセキュリティを向上させる。
本発明の上述した特徴と利点を更に明確化するために、以下に、実施例を挙げて図面と共に詳細な内容を説明する。
図1は、本発明の実施形態に基づき図示される認証システムの模式図である。
図2は、本発明の実施形態に基づき図示される認証及び承認方法のフローチャートである。
図1を参照すると、本発明の実施形態に基づき図示される認証システムの模式図である。図1に示すように、認証システム100は、認証サーバー110と、スマートデバイス120と、アプリケーションプログラムインターフェースプール(application programming interface pool,API pool)130と、を含む。本実施形態において、認証サーバー110は、例えば、複数のアプリケーションプログラムがユーザ情報を集中管理するのを援助でき、これによりユーザは、一組のログイン情報(例えば、ユーザ名及びパスワード)を用いて複数のアプリケーションプログラムにログインでき、複数のアプリケーションプログラムの権限を管理することもできる。この場合、ユーザがログイン情報を記憶する上での負担を低減でき、同時にユーザデータのセキュリティを向上させる。
図1において、認証サーバー110は、記憶回路112と、プロセッサ114と、を含んでもよい。記憶回路112は、例えば、任意のタイプの固定式又は移動式のランダムアクセスメモリ(Random Access Memory,RAM)、読み取り専用メモリ(Read-Only Memory,ROM)、フラッシュメモリ(Flash memory)、ハードディスク又はその他の類似のデバイス又はこれらのデバイスの組合せであり、複数のプログラムコード又はモジュールを記録するのに用いられる。
プロセッサ114は、記憶回路112に結合され、一般用途プロセッサ、特殊用途プロセッサ、従来のプロセッサ、デジタル信号プロセッサ、複数のマイクロプロセッサ(microprocessor)、一つ又は複数のデジタル信号プロセッサコアを結合したマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array,FPGA)、任意のその他の集積回路、状態機械、高度縮小命令セットコンピューターマシン(Advanced RISC Machine,ARM)のプロセッサ及び類似品であってもよい。
スマートデバイス120は、例えば、ユーザ199に操作される携帯電話、スマートフォン、パソコン(personal computer,PC)、ノートパソコン(notebook PC)、ネットブックパソコン(netbook PC)、タブレットパソコン(tablet PC)等であってもよいが、これに限定しない。スマートデバイス120に、アプリケーションプログラム121、122、…12Nがインストールされてもよい。アプリケーションプログラム121~12Nは、認証サーバー110によってユーザ199の情報の管理を援助することができ、これによりユーザ199に同じ一組のログイン情報によってアプリケーションプログラム121~12Nにログインさせることができる。
また、上記機能を実現するために、ユーザ199は、まず認証サーバー110が提供する関連の管理ページ(例えば、ウェブページ)によって認証サーバー110に登録でき、認証サーバー110は、ユーザ199が登録過程で入力したユーザアカウント情報(例えば、生年月日、ユーザ名、パスワード、住所、電話等)をデータベースに記録し、これにより後日、ユーザ199が許可されるか否か判定する根拠とすることができる。
APIプール130は、複数のAPI 131、132、…、13Mが保存されてもよい。本発明の実施形態において、API 131~13Mは、アプリケーションプログラム121~12Nによって、機能/要求/権限に基づき、必要とする一つ又は複数を呼び出して指定の機能を実現できる。例を挙げると、アプリケーションプログラム121は、承認を経て、API 131を呼び出すことができ、アプリケーションプログラム122は、承認を経て、API 131及び132を呼び出すことができる。換言すると、アプリケーションプログラムインターフェースプール130中のAPI 131~13Mは、アプリケーションプログラム121~12Nによってシェアされており、ある一つのアプリケーションプログラムだけに属するものではなく、認証サーバー110は、複数のアプリケーションプログラムがAPIを呼び出す権限を更に管理する。また、異なる実施形態において、アプリケーションプログラムインターフェースプール130は、クラウドネットワーク中のあるネットワークデバイスに保存する、又は、認証サーバー110に統合してもよい。説明し易くするために、以下に、アプリケーションプログラムインターフェースプール130は、認証サーバー110とは独立した別の装置に保存されていると仮定するが、本発明の可能な実施形態を限定するためのものではない。
本発明の実施形態において、プロセッサ114は、記憶回路112に記録したプログラムコード又はモジュールをロードして、本発明が提出する認証及び承認方法を実行でき、以下に更に説明する。
図2を参照すると、本発明の実施形態に基づき図示される認証及び承認方法のフローチャートである。図2の方法は、図1の認証サーバー110によって実行でき、以下に図1の部材と併せて図2の各ステップの詳細を説明する。以下の説明において、ユーザ199がアプリケーションプログラム121にログインして、アプリケーションプログラム121が提供する機能を使用しようとすると仮定するが、本発明の可能な実施形態を限定するためのものではない。
まず、ステップS210において、プロセッサ114は、アプリケーションプログラム121からログイン情報LIを受信する。本実施形態において、ログイン情報LIは、ユーザ199によってアプリケーションプログラム121に対応して入力し、ユーザ199が以前に認証サーバー110に登録した時に使用したユーザ名及びパスワードを含んでもよく、アプリケーションプログラム121は、ログイン情報LIを受信した後、それを認証サーバー110に転送できる。
これに対応して、プロセッサ114は、ログイン情報LIに適合するユーザデータが上記データベースに存在するか否か探すことができる。存在する場合、プロセッサ104は、ログイン情報LIが許可されると判定できる。ログイン情報LIに適合するユーザデータが上記データベースに存在しない場合、プロセッサ104は、ログイン情報LIは許可されないと判定できる。
次いで、ステップS220において、ログイン情報LIが許可されると認証したことに反応して、プロセッサ104は、ユーザトークン(user token)UTを発生させ、ユーザトークンUTをアプリケーションプログラム121に送信する。本実施形態において、ユーザトークンUTは、時効性を有してもよく、ユーザ199に、ある時間内においてアプリケーションプログラム121を制御してAPIを呼び出す要求を送信させることができるが、本発明はこれに限定しない。また、ユーザトークンUTは、アプリケーションプログラム122~12Nに送信されて、これによりアプリケーションプログラム122~12NにユーザトークンUTの時効内においてAPIを呼び出す要求を送信させることもできる。換言すると、ユーザ199は、アプリケーションプログラム121に一回ログインするだけで、ユーザトークンUTを得ることができ、ユーザトークンUTは、アプリケーションプログラム121~12NにAPIを呼び出す要求を送信させるのに用いられる。この場合、ユーザ199がアプリケーションプログラム122~12Nの機能を使用しようとする時、アプリケーションプログラム122~12Nにおいて繰り返しログイン操作を行う必要が無い。これにより、本発明は、不要なログイン操作を減らしてユーザの操作経験を改善できる。
その他の実施形態において、ユーザ199は、アプリケーションプログラム121~12Nのうちの一つが、一回のログイン操作を行うだけで、アプリケーションプログラム121~12NがシェアするユーザトークンUTを得ることができる。
ステップS230において、プロセッサ114は、アプリケーションプログラム121がAPIを呼び出す要求RQ1を受信できる。ここで、要求RQ1は、ユーザトークンUT、アプリケーションプログラム121の身分証明ID1及びアプリケーションプログラム121のキーK1を含んでもよい。
本実施形態において、アプリケーションプログラム121は、ユーザ199が必要とする機能に基づき、異なるAPIを呼び出すことができる。例を挙げると、API131は、モーション検出の実行に用いることができ、API132は、顔認識の実行に用いることができると仮定する。この場合、ユーザ199は、アプリケーションプログラム121の構成を変更して、アプリケーションプログラム121にモーション検出の機能を提供するように要求する時、アプリケーションプログラム121は、API131を呼び出す要求RQ1を対応して送信できる。また、ユーザ199は、アプリケーションプログラム121に、モーション検出と顔認識の機能を同時に提供するように要求する時、アプリケーションプログラム121は、API131及び132を呼び出す要求RQ1を対応して送信できるが、本発明はこれに限定しない。
実施形態において、開発者があるアプリケーションプログラムの開発を完成させた後、この開発者が認証サーバーにこのアプリケーションプログラムのユーザデータの管理を援助させようとする、又は開発者が、開発が完成したアプリケーションプログラムにアプリケーションプログラムインターフェースプール130中のAPI131~13Mのうちの一つを呼び出させようとする場合、この開発者は、認証サーバー110が提供する管理ページによって、このアプリケーションプログラムをサーバー110に登録できる。例を挙げると、認証サーバー110は、開発者が前記アプリケーションプログラムを申請する開発アカウントの要求を受信できる。開発アカウントを登録する過程において、認証サーバー110は、開発者に関連する連絡情報及びアプリケーションプログラムの基本情報を入力するように要求してもよい。前記連絡情報は、例えば、電話番号、メールアドレスである。前記基本情報は、例えば、アプリケーションプログラムのバージョン(例えば、完全版又は試用版)、アプリケーションプログラムのプラットフォーム(例えば、Android、iOS、Windows、HTML5等)、支払い状態、アプリケーションプログラムの名称及び関連説明等である。
認証サーバー110は、開発者が上記登録過程で入力した情報に誤りが無いことを判定した場合、認証サーバー110は、このアプリケーションプログラムの身分証明及びキーを対応して発生させ、それを開発者に送信できる。実施形態において、認証サーバー110は、開発者が入力した情報、アプリケーションプログラムの身分証明、キー等の情報もデータベースに保存できる。
例を挙げると、ある開発者は、認証サーバー110の管理ページに一つのベビーモニタアプリケーションプログラム(それは、例えば、Androidプラットフォームにおいて動作する)を登録しようとする場合、この開発者は、登録過程において、Androidプラットフォーム、支払いするか否か等の情報を選ぶことができる。それから、認証サーバー110は、開発者が入力した情報に誤りが無いことを確認した後、認証サーバー110は、ベビーモニタアプリケーションプログラムの身分証明及びキーを対応して発生させ、ベビーモニタアプリケーションプログラムの身分証明及びキーを開発者に提供する。それから、認証サーバー110がベビーモニタアプリケーションプログラムからAPIを呼び出す要求を受信する(それは、ベビーモニタアプリケーションプログラムの身分証明及びキーを含む)時、認証サーバー110は、ベビーモニタアプリケーションプログラムが、Androidプラットフォームにおいて動作するAPIを呼び出すことができることを対応して知り得ることができる。また、認証サーバー110は、ベビーモニタアプリケーションプログラムの関連情報(例えば、支払い状態)に基づき、呼び出すことができるAPIを決定することもできる。
また、この開発者が認証サーバー110に一つのホームセキュリティアプリケーションプログラム(それは、例えば、iOSプラットフォームにおいて動作する)を追加で登録しようとする場合、この開発者は、登録過程において、iOSプラットフォーム、支払いするか否か等の情報を選ぶことができる。それから、認証サーバー110は、開発者が入力した情報に誤りが無いことを確認した後、認証サーバー110は、ホームセキュリティアプリケーションプログラムの身分証明及びキーを対応して発生させ、ホームセキュリティアプリケーションプログラムの身分証明及びキーを開発者に提供する。それから、認証サーバー110がホームセキュリティアプリケーションプログラムからAPIを呼び出す要求を受信する(それは、ホームセキュリティアプリケーションプログラムの身分証明及びキーを含む)時、認証サーバー110は、ホームセキュリティアプリケーションプログラムが、iOSプラットフォームにおいて動作するAPIを呼び出すことができることを対応して知り得ることができる。また、認証サーバー110は、ホームセキュリティアプリケーションプログラムの関連情報(例えば、支払い状態)に基づき、呼び出すことができるAPIを決定することもできる。
上記の教示からわかるように、アプリケーションプログラム121の開発者が、アプリケーションプログラム121を認証サーバー110に登録する時、認証サーバー110は、アプリケーションプログラム121の関連情報に基づき、アプリケーションプログラム121に対応する身分証明ID1及びキーK1を発生させ、身分証明ID1及びキーK1をアプリケーションプログラム121の開発者に提供する。
説明し易くするために、以下は、アプリケーションプログラム121の要求RQ1は、API131を呼び出すのに用いられると仮定するが、本発明はこれに限定しない。この場合、アプリケーションプログラム121は、身分証明ID1及びキーK1を要求RQ1のヘッダー(header)として、プロセッサ114に、これによりアプリケーションプログラム121が認証サーバー110に登録された許可されるアプリケーションプログラムであるか否か判定させてもよい。例を挙げると、プロセッサ114は、要求RQ1のヘッダーから身分証明ID1及びキーK1を取り出した後、これによりデータベースを探す。データベースに身分証明ID1及びキーK1に適合するアプリケーションプログラムが存在し、且つ、このアプリケーションプログラムにAPI131を呼び出す権限が有る場合、プロセッサ114は、身分証明ID1及びキーK1が許可されることを確定できる。即ち、アプリケーションプログラム121は、認証サーバー110に以前に登録された許可されるアプリケーションプログラムであり、API131を呼び出す権限が有る。
また、要求RQ1には、ユーザトークンUTを含んでもよいため、プロセッサ114もユーザトークンUTが許可されるか否か対応して認証できる。具体的には、以前の実施形態の記述より、ユーザトークンUTは、時効性を有するため、プロセッサ114は、ユーザトークンUTがまだ時効内であるか否か判断することで、ユーザトークンUTが許可されるか否か認証できる。ユーザトークンUTがまだ時効内である場合、プロセッサ114は、ユーザトークンUTが許可されると判断でき、逆もまた同様である。
それから、ステップS240において、ユーザトークンUT、身分証明ID1及びキーK1が許可されると認証したことに反応して、プロセッサ114は、アプリケーションプログラム121に関連するアプリケーションプログラムトークンAT1を発生させることができる。また、ステップS250において、プロセッサ114は、アプリケーションプログラムトークンAT1をアプリケーションプログラム121に送信して、アプリケーションプログラム121がAPI131を呼び出すことを承認する。
アプリケーションプログラム121がアプリケーションプログラムトークンAT1を受信した後、アプリケーションプログラムトークンAT1に基づき、APIプール130にAPI131を呼び出して、必要とする機能(例えば、モーション検出)を実現できる。
上記よりわかるように、認証サーバー110は、アプリケーションプログラム121が必要とするユーザ管理機構を提供できることから、アプリケーションプログラム121は自己ユーザ管理機構を備える必要は無い。この場合、ユーザのアカウント情報は、認証サーバー110に保存されるものであり、アプリケーションプログラム121のサーバーにはない。これにより、認証サーバー110が代わりにセキュリティ機構を提供し、ユーザデータのセキュリティを向上させる。
また、以前の実施形態が言及しているように、認証サーバー110は、ログイン情報LIに反応して、ユーザトークンUTをアプリケーションプログラム121に送信できる以外に、ユーザトークンUTをアプリケーションプログラム122~12Nに送信することもできる。したがって、ユーザ199がアプリケーションプログラム122~12Nのいずれかを操作しようとする時、ユーザ199は、ログイン情報LIを再入力する必要は無い。
例を挙げると、ユーザ199が、アプリケーションプログラム122が提供する顔認識の機能を使用とすると仮定すると、アプリケーションプログラム122は、認証サーバー110にAPI132(顔認識の機能を有する)を呼び出す要求RQ2を対応して送信する。この例では、要求RQ2は、ユーザトークンUT、アプリケーションプログラム122の身分証明ID2及びアプリケーションプログラム122のキーK2を含んでもよい。
身分証明ID1及びキーK1と同様に、アプリケーションプログラム122の身分証明ID2及びアプリケーションプログラム122のキーK2もアプリケーションプログラム122の開発者によってアプリケーションプログラム122を認証サーバー110に登録した後、認証サーバー110によって発生されたものであってもよく、その詳細は、以前の実施形態の説明を参照でき、ここでは繰り返さない。
それから、アプリケーションプログラム122は、身分証明ID2及びキーK2を要求RQ2のヘッダーとして、プロセッサ114に、これにより判定アプリケーションプログラム122が認証サーバー110に登録された許可されるアプリケーションプログラムであるか否か判定させることができる。例を挙げると、プロセッサ114は、要求RQ2のヘッダーから身分証明ID2及びキーK2を取り出した後、これによりデータベースを探す。データベースに身分証明ID2及びキーK2に適合するアプリケーションプログラムが存在し、且つ、このアプリケーションプログラムにAPI132を呼び出す権限が有る場合、プロセッサ114は、身分証明ID2及びキーK2が許可されることを確定できる。即ち、アプリケーションプログラム122は、認証サーバー110に以前に登録された許可されるアプリケーションプログラムであり、API132を呼び出す権限が有る。
また、要求RQ2には、ユーザトークンUTを含んでもよいため、プロセッサ114もユーザトークンUTが許可されるか否か対応して認証できる。具体的には、以前の実施形態の記述より、ユーザトークンUTは、時効性を有するため、プロセッサ114は、ユーザトークンUTがまだ時効内であるか否か判断することで、ユーザトークンUTが許可されるか否か認証できる。ユーザトークンUTがまだ時効内である場合、プロセッサ114は、ユーザトークンUTが許可されると判断でき、逆もまた同様である。
それから、ユーザトークンUT、身分証明ID2及びキーK2が許可されると認証したことに反応して、プロセッサ114は、アプリケーションプログラム122に関連するアプリケーションプログラムトークンAT2を発生させることができる。また、プロセッサ114は、アプリケーションプログラムトークンAT2をアプリケーションプログラム122に送信して、アプリケーションプログラム122がAPI132を呼び出すことを承認する。
アプリケーションプログラム122がアプリケーションプログラムトークンAT2を受信した後、アプリケーションプログラムトークンAT2に基づき、APIプール130にAPI132を呼び出して、必要とする機能(例えば、顔認識)を実現できる。
理解しなければならないこととして、上記は、アプリケーションプログラム121及び122を説明の例としているにすぎないが、スマートデバイス120中のその他のアプリケーションプログラムは、同じ機構に基づき動作してもよい。換言すると、認証サーバー110は、管理アプリケーションプログラム121~12Nのユーザデータを統一して管理できるため、アプリケーションプログラム121~12Nの全てに自己ユーザ管理機構を設置する必要は無い。ユーザ199は、一組のログイン情報LIを記憶するだけでよく、記憶上の負担を低減できる。また、ユーザ199が、ログイン情報LIをアプリケーションプログラム121~12Nのうちの一つに入力した後、ユーザ199が、アプリケーションプログラム121~12Nのうちの別のものを使用しようとする場合、ユーザ199は、ログイン情報LIを再入力する必要は無く、上記別のものの機能を直接使用することができ、操作上の利便性を高めることができる。
実施形態において、アプリケーションプログラムトークンAT1も時効性を備えてもよく、アプリケーションプログラムトークンAT1が無効である(例えば、指定時間又は使用回数を超えた)時、アプリケーションプログラム121は、APIプール130からアプリケーションプログラムトークンAT1をリフレッシュできるAPIを呼び出して、新たなアプリケーションプログラムトークンAT1を得たり、アプリケーションプログラムトークンAT1の使用可能時間を延長することができる。それから、アプリケーションプログラム121は、新たなアプリケーションプログラムトークンAT1に基づき、必要とするAPIを呼び出す。
具体的には、アプリケーションプログラム121が、同じアプリケーションプログラムトークンAT1を連続使用してAPIを呼び出す場合、ハッキングされる確率を対応して高くさせる。したがって、アプリケーションプログラムトークンAT1を適時リフレッシュしたり、アプリケーションプログラムトークンAT1の使用可能時間を延長して、アプリケーションプログラムトークンAT1が保護されている状態を持続させることを確保してもよい。
また、実施形態において、スマートデバイス120及び認証サーバー110の間において、ある原因によって切断された状況が発生した場合、ユーザ199にオンライン復旧後、ログイン情報LIを再入力させることが必要である可能性がある。この場合、ユーザ199は、ログイン情報LIを繰り返し入力する可能性があり、好ましくない操作経験を有する。
これに鑑みて、本発明は、対応する機構も提供して上記技術的課題を解決する。具体的には、認証サーバー110は、ユーザトークンUT、身分証明ID1及びキーK1が許可されると認証した後、プロセッサ114は、更に、第一特定キー及び第二特定キーを発生させることができる。ここで、第一特定キーは、第二特定キーに対応する。また、プロセッサ114は、第二特定キーをアプリケーションプログラム121に送信できる。実施形態において、プロセッサ114は、非対称暗号技術(Asymmetric Cryptosystem)に基づき、一対のキー、即ち、第一特定キー及び第二特定キーを発生させる。また、アプリケーションプログラム121が第二特定キーを受信した後、第二特定キーをキーキャッシング(key caching)に保存できる。
実施形態において、スマートデバイス120及び認証サーバー110の間に切断状況が出現する場合、アプリケーションプログラム121は、スマートデバイス120が認証サーバー110に新たに接続した後、第二特定キーを認証サーバー110に送信する。
それから、プロセッサ114は、受信した第二特定キーが第一特定キーに適合するか否か判定できる。適合する場合、プロセッサ114は、ユーザトークンUT及びアプリケーションプログラムトークンAT1の有効性を維持できる。適合しない場合、プロセッサ114は、ユーザ199にログイン情報LIを再入力するように要求できる。
換言すると、アプリケーションプログラム121は、認証サーバー110に新たに接続された後に送信された第二特定キーが、認証サーバー110が記録した第一特定キーに適合する場合、ユーザ199は、ログイン情報LIを再入力する必要は無く、操作上の利便性を高めることができる。
実施形態において、本発明は、機構を更に提出しており、ユーザ199が初めてログイン情報LIを入力した後、ブロックチェーンの概念に基づき、ユーザ199のために、一組のユーザキー(user key)を発生させることができる。それから、ユーザ199が、アプリケーションプログラム121に再ログインしようとする時、ユーザ199は、ログイン情報LIを再入力する必要は無く、ユーザキーを利用するだけで、アプリケーションプログラム121にログインできる。これにより、データのセキュリティをさらに高めることができる。
具体的には、プロセッサ114は、ログイン情報LIに基づき、ユーザキーを発生させ、ユーザキー、身分証明ID1及びキーK1に基づき、第一ブロックを発生させることができる。それから、ユーザ199が調べるために、プロセッサ114は、第一ブロックをブロックチェーンに加え、ユーザキーをアプリケーションプログラム121に送信できる。
それから、ユーザ199は、上記ユーザキーによってアプリケーションプログラム121にログインでき、アプリケーションプログラム121は、上記ユーザキー、身分証明ID1及びキーK1を認証サーバー110に対応して送信する。アプリケーションプログラム121から上記ユーザキー、身分証明ID1及びキーK1を受信したことに反応して、プロセッサ114は、ユーザキー、身分証明ID1及びキーK1に基づき、第一ブロックを探して、ユーザ199及びユーザ199の使用行為が許可されるか否か認証する。第一ブロックに保存されたデータがアプリケーションプログラム121からのユーザキー、身分証明ID1及びキーK1に適合する場合、プロセッサ114は、アプリケーションプログラム121の使用行為及び使用行為に対応するユーザ199が許可されると判定し、ユーザトークンUTを対応して発生させることができ、逆もまた同様である。
ユーザ199が許可されると認証したことに反応して、プロセッサ114は、記録ユーザ199がアプリケーションプログラム121を使用する使用行為、例えば、使用時間、回数等を記録してもよい。それから、プロセッサ114は、上記使用行為に基づき、第二ブロックを発生させ、第二ブロックを前記ブロックチェーンに加えることができる。これにより、アプリケーションプログラム121は、第二ブロックが記録する内容に基づき、ユーザ199にチャージ等の操作を実行できる。また、ブロックチェーンは、改竄できない特性を有することから、第一ブロック及び第二ブロックが記録するデータのセキュリティを確保できる。また、ユーザ199は、ログイン情報LIを再入力する必要も無いことから、ログイン情報LIが漏れる可能性を低減できる。
その他の実施形態において、本発明は、アクセス制御機構も提供し、アプリケーションプログラムのロール及び/又はユーザのアクセスレベルに基づき、アプリケーションプログラムがAPIを呼び出す権限を決定してもよい。説明し易くするために、以下は、アプリケーションプログラム121を例とするが、本発明の可能な実施形態を限定するためのものではない。
実施形態において、アプリケーションプログラム121の開発者が、アプリケーションプログラム121を認証サーバー110に登録する時、プロセッサ114は、アプリケーションプログラム121が認証サーバー110に登録した情報に基づき、アプリケーションプログラム121に、複数のアクセスロールのうちの一つを割り当てる。ここで、各アクセスロールは、異なるAPI呼び出し権限に対応する。本実施形態において、上記アクセスロールは、テストアクセス(test access)、基本アクセス(basic access)及び標準アクセス(standard access)を含んでもよい。
例を挙げると、開発者が入力する情報が、アプリケーションプログラム121は試用版であると表示する場合、プロセッサ114は、政策管理(policy administration,PA)モジュールを実行して、対応して、アプリケーションプログラム121のアクセスロールをテストアクセスに記録できる。別の例を挙げると、開発者が入力する情報が、アプリケーションプログラム121は完全版であると表示する場合、プロセッサ114は、PAモジュールを実行して、対応して、アプリケーションプログラム121のアクセスロールを標準アクセスに記録できるが本発明はこれに限定しない。
以上の二つの例において、異なるアクセスロールを有するアプリケーションプログラム121は、異なるAPI呼び出し権限を有してもよい。例を挙げると、アプリケーションプログラム121のロールがテストアクセスである場合、ユーザ199は、アプリケーションプログラム121に顔認識の機能を提供するように要求する時、アプリケーションプログラム121は、顔を検出したか否か判断する基本APIしか呼び出せず、特定の顔を具体的に認識できる高次APIを呼び出せない可能性がある。しかしながら、アプリケーションプログラム121のロールが、標準アクセスである場合、ユーザ199は、要求アプリケーションプログラム121に顔認識の機能を提供するように要求する時、アプリケーションプログラム121は、顔を検出したか否か判断する基本APIと特定の顔を具体的に認識できる高次APIを同時に呼び出す権限を有する可能性があるが、本発明はこれに限定しない。
また、上記API呼び出し権限は、ウィンドウ時間(time of window)内で、あるAPIを呼び出す回数を指してもよい。例を挙げると、アプリケーションプログラム121のロールがテストアクセスである場合、アプリケーションプログラム121は、ウィンドウ時間(例えば、30秒)内で、これらのAPIを10回だけ呼び出すことが許可される可能性がある。アプリケーションプログラム121のロールが基本アクセスである場合、アプリケーションプログラム121は、例えば、ウィンドウ時間内で、より多くの種類のAPIを呼び出すことが許可される。アプリケーションプログラム121のロールが標準アクセスである場合、アプリケーションプログラム121は、ウィンドウ時間の制限を受けず、必要に応じて、上記APIを任意に呼び出すことができるが、本発明はこれに限定しない。
実施形態において、プロセッサ114は、探すために、アプリケーションプログラム121及びそのアクセスロールを特定のデータ構造(以下、政策内容(policy content,PC)モジュールと称する)に記録してもよい。
それから、認証サーバー110がAPI131を呼び出す要求RQ1を受信する時、プロセッサ114は、身分証明ID1に基づき、PCを探して、アプリケーションプログラム121のアクセスロールを知り得ることができる。それから、プロセッサ114は、行ポリシー決定(policy decision,PD)モジュール及びポリシー実施(policy enforcement,PE)モジュールを実行して、アプリケーションプログラム121のアクセスロールに基づき、アプリケーションプログラム121にAPI131を呼び出す権限が有るか否か判定することができる。具体的には、本実施形態において、PDモジュールは、アプリケーションプログラム121は、APIプール130のどのAPIを呼び出す権限が有るのか判断するのに用いられる。PEモジュールは、アプリケーションプログラム121がAPI131を呼び出す権限が有るのか否か検査するのに用いられる。権限が有る場合、PEモジュールは、アプリケーションプログラム121がAPI131を呼び出すことを承認する。
アプリケーションプログラム121にAPI131を呼び出す権限が有り、且つ、ユーザトークンUTが時効内であると判定したことに反応して、プロセッサ114は、アプリケーションプログラムトークンAT1を対応して発生させて、アプリケーションプログラム121に、これによりAPI131を呼び出させることができる。
例を挙げると、アプリケーションプログラム121のアクセスロールがテストアクセスであると仮定すると、ユーザ199は、アプリケーションプログラム121に基本的な顔認識の機能を提供するように要求する時、アプリケーションプログラム121はRQ1を対応して送信できる。それから、PDモジュール及びPEモジュールは、アプリケーションプログラム121のアクセスロールに基づき、アプリケーションプログラム121に基本的な顔認識の機能を有するAPI(例えば、API131)を呼び出す権限が有ることを判定できる。次いで、アプリケーションプログラム121は、承認を経て、API131を呼び出して、ユーザ199が必要とする機能を提供することができる。
上例より、ユーザ199は、アプリケーションプログラム121に特定の顔を認識する機能を提供するように要求する時、アプリケーションプログラム121は、要求RQ1を対応して送信できる。それから、PDモジュール及びPEモジュールは、アプリケーションプログラム121のアクセスロールに基づき、アプリケーションプログラム121に特定の顔を認識する機能を有するAPI(例えば、API132)を呼び出す権限は無いことを判定できる。この場合、アプリケーションプログラム121は、ユーザ199が必要とする機能を提供することができないが、本発明はこれに限定しない
また、別の実施形態において、上記アクセス制御機構に、アクセスレベルの概念を導入して、これにより更に柔軟な管理ポリシーが実現される。
概略すると、上記テストアクセス、基本アクセス及び標準アクセス等のアクセスロールは、アクセスレベル1、アクセスレベル2及びアクセスレベル3に対応するようにプリセットすると仮定する。この場合、ユーザ199がインストールしたアプリケーションプログラム121のアクセスロールがテストアクセスである時、アプリケーションプログラム121のアクセスレベルは、アクセスレベル1であることを表す。それから、ユーザ199は、支払い等の手段によってアプリケーションプログラム121をアップグレードする時、認証サーバー110は、アプリケーションプログラム121のアクセスレベルをアクセスレベル2に対応して変更できる。
換言すると、ユーザ199は、別のアクセスロールが基本アクセスであるアプリケーションプログラム(身分証明及びキーはいずれも身分証明ID1及びキーK1と異なる)をダウンロードすることなく、アクセスレベル2に対応する機能を使用できる。
具体的には、アプリケーションプログラム121は、ユーザ199が提出したレベル変更要求を認証サーバー110に送信してもよい。これに対応して、プロセッサ114は、アプリケーションプログラム121からユーザ199のレベル変更要求を受信し、このレベル変更要求に基づき、アプリケーションプログラム121のアクセスロール(例えば、テストアクセス)のアクセスレベルをアクセスレベル1からアクセスレベル2に変更する。ここで、アクセスレベル2のアプリケーションプログラムインターフェース呼び出し権限は、アクセスレベル1のアプリケーションプログラムインターフェース呼び出し権限と異なる。それから、プロセッサ114は、PCモジュールによってユーザ199、アプリケーションプログラム121の身分証明ID1、アプリケーションプログラム121のアクセスロール(例えば、テストアクセス)、アプリケーションプログラム121のアクセスレベル(例えば、アクセスレベル2)の対応関係を記録できる。
それから、認証サーバー110は、アプリケーションプログラム121がAPI131及び132を呼び出す要求RQ1を受信する時、プロセッサ114は、例えば、身分証明ID1に基づき、PCモジュールを探して、アプリケーションプログラム121のアクセスロール(例えば、テストアクセス)及びアクセスレベル(アクセスレベル2)を得ることができる。
次いで、プロセッサ114は、アプリケーションプログラム121のアクセスロール及びアクセスレベルに基づき、アプリケーションプログラム121にAPI131及132を呼び出す権限が有るか否か判定できる。アクセスレベル1は、API131を呼び出すことだけが許可され、アクセスレベル2は、API131及び132呼び出すことが許可される。この場合、プロセッサ114は、PDモジュールによってアプリケーションプログラムにAPI131及132を呼び出す権限が有ることを判定できる。
アプリケーションプログラム121にAPI131及び132を呼び出す権限が有り、且つ、ユーザトークンUTが時効内であると判定したことに反応して、プロセッサ114は、PEモジュールによってアプリケーションプログラムトークンAT1を発生させて、アプリケーションプログラム121がAPI131及び132を呼び出すことを承認する。
換言すると、アップグレード前のアプリケーションプログラム121は、アクセスレベル1しか有さず、API132を呼び出す権限が無い。しかしながら、アプリケーションプログラム121をアップグレードした後、アプリケーションプログラム121のアクセスレベルは、アクセスレベル2に上がることから、アクセスロールが変わらない状況下で、API131及び132を呼び出す権限を有することができる。
このように、上記アクセス制御機構によって各アプリケーションプログラムがAPIを呼び出す権限を認証サーバー110に更に柔軟に管理させることができる。
以上をまとめると、本発明が提出する認証及び承認方法並びにその認証サーバーは、複数のアプリケーションプログラムが必要とするユーザ管理機構を提供できるため、各アプリケーションプログラムは、自己ユーザ管理機構を備えさせる必要は無い。この場合、ユーザのアカウント情報は、認証サーバーに保存されるものであり、各アプリケーションプログラムのサーバーにはない。これにより、認証サーバーが代わりにセキュリティ機構を提供し、ユーザデータのセキュリティを向上させる。
また、ユーザは、一組のログイン情報だけを記憶するだけでよく、記憶上の負担を低減できる。また、ユーザが、ログイン情報をアプリケーションプログラムに入力した後、ユーザが、別のアプリケーションプログラムを使用しようとする場合、ユーザは、ログイン情報を再入力する必要は無く、上記別のアプリケーションプログラムの機能を直接使用することができ、操作上の利便性を高めることができる。
また、本発明は、アプリケーションプログラムのアクセスロール/アクセスレベルに基づき、実現するアクセス制御機構を更に提供し、各アプリケーションプログラムがAPIを呼び出す権限を認証サーバーに更に柔軟に管理させることができる。
本文は以上の実施例のように示したが、本発明を限定するためのものではなく、当業者が本発明の精神の範囲から逸脱しない範囲において、変更又は修正することが可能であるが故に、本発明の保護範囲は後続の特許請求の範囲に定義しているものを基準とする。
本発明は、認証及び承認方法並びに認証サーバーを提供する。
100:認証システム
110:認証サーバー
112:記憶回路
114:プロセッサ
120:スマートデバイス
130:APIプール
121~12N:アプリケーションプログラム
131~13M:API
199:ユーザ
AT1、AT2:アプリケーションプログラムトークン
ID1、ID2:身分証明
K1、K2:キー
LI:ログイン情報
RQ1、RQ2:要求
S210~S250:ステップ
UT:ユーザトークン

Claims (5)

  1. 認証サーバーに適する認証及び承認方法であって、
    第一アプリケーションプログラムからログイン情報を受信することと、
    前記ログイン情報がデータベースに保存された認証データに適合すると認証したことに反応して、ユーザトークンを発生させ、前記ユーザトークンを前記第一アプリケーションプログラムに返信することと、
    前記ユーザトークン、前記第一アプリケーションプログラムの第一身分証明及び前記第一アプリケーションプログラムの第一キーを含み、前記第一アプリケーションプログラムが第一アプリケーションプログラムインターフェースを呼び出す第一要求を受信することと、
    前記ユーザトークンが時効内であり、データベースに前記第一身分証明及び前記第一キーに適合する前記第一アプリケーションプログラムが存在し、且つ、前記第一アプリケーションプログラムに前記第一アプリケーションプログラムインターフェースを呼び出す権限が有ると認証したことに反応して、前記第一アプリケーションプログラムに関連する第一アプリケーションプログラムトークンを発生させることと、
    前記第一アプリケーションプログラムトークンを前記第一アプリケーションプログラムに返信して、前記第一アプリケーションプログラムが前記第一アプリケーションプログラムインターフェースを呼び出すことを承認することと、を含む方法。
  2. 前記ユーザトークンを発生させた後、
    前記ユーザトークンを第二アプリケーションプログラムに送信することと、
    前記ユーザトークン、前記第二アプリケーションプログラムの第二身分証明及び前記第二アプリケーションプログラムの第二キーと、を含み、前記第二アプリケーションプログラムが第二アプリケーションプログラムインターフェースを呼び出す第二要求を受信することと、
    前記ユーザトークンが時効内であり、前記第二身分証明及び前記第二キーに適合する前記第二アプリケーションプログラムがデータベースに存在し、前記第二アプリケーションプログラムが前記第二アプリケーションプログラムインターフェースを呼び出す権限を有することに反応して、前記第二アプリケーションプログラムに関連する第二アプリケーションプログラムトークンを発生させ、前記第二アプリケーションプログラムトークンを前記第二アプリケーションプログラムに返信して、前記第二アプリケーションプログラムが前記第二アプリケーションプログラムインターフェースを呼び出すことを承認することと、を更に含み、
    前記第一アプリケーションプログラム及び前記第二アプリケーションプログラムは、スマートデバイスにインストールされており、
    前記第二身分証明及び前記第二キーは、前記認証サーバーに登録した前記第二アプリケーションプログラムの基本情報に前記認証サーバーが反応して、前記第二アプリケーションプログラムに割り当てる請求項1に記載の方法。
  3. 前記第一身分証明及び前記第一キーは、前記認証サーバーに登録した前記第一アプリケーションプログラムの基本情報に前記認証サーバーが反応して、前記第一アプリケーションプログラムに割り当て、且つ、前記方法は、
    前記認証サーバーに登録した前記第一アプリケーションプログラムの基本情報に基づき、前記第一アプリケーションプログラムに複数のアクセスロールのうちの第一アクセスロールを割り当てることと、
    前記第一アプリケーションプログラムからレベル変更要求を受信することと、
    前記レベル変更要求に基づき、前記第一アクセスロールのアクセスレベルを第二レベルに変更することと、
    前記第一身分証明に基づき、前記第一アプリケーションプログラムの前記第一アクセスロール及び前記アクセスレベルを得ることと、
    前記第一アクセスロール及び前記アクセスレベルに基づき、前記第一アプリケーションプログラムに前記第一アプリケーションプログラムインターフェースを呼び出す権限が有るか無いかを判定することと、
    前記第一アプリケーションプログラムに前記第一アプリケーションプログラムインターフェースを呼び出す権限が有り、且つ、前記ユーザトークンが時効内にあると判定したことに反応して、前記第一アプリケーションプログラムトークンを発生させることと、を更に含み、
    各前記アクセスロールは、異なるアプリケーションプログラムインターフェース呼び出し権限に対応し、
    前記第一アクセスロールのアクセスレベルが第一レベルであり、
    前記第二レベルのアプリケーションプログラムインターフェース呼び出し権限は、前記第一レベルのアプリケーションプログラムインターフェース呼び出し権限と異なる請求項1に記載の方法。
  4. 前記ログイン情報に基づき、ユーザキーを発生させることと、
    前記ユーザキー、前記第一身分証明及び前記第一キーに基づき、第一ブロックを発生させることと、
    前記第一ブロックをブロックチェーンに加えて、前記ユーザキーを前記第一アプリケーションプログラムに返信することと、
    前記第一アプリケーションプログラムから前記ユーザキー、前記第一身分証明及び前記第一キーを受信したことに反応して、前記ユーザキー、前記第一身分証明及び前記第一キーに基づき、前記第一ブロックを探して、ユーザが前記第一アプリケーションプログラムを使用する使用行為及び前記使用行為に対応する前記ユーザが許可されるか否かを判定することと、
    前記使用行為及び前記使用行為に対応するユーザが許可されると認証したことに反応して、前記ユーザが前記第一アプリケーションプログラムを使用する使用行為を記録することと、
    前記使用行為に基づき、第二ブロックを発生させ、前記第二ブロックを前記ブロックチェーンに加えることと、を更に含む請求項1に記載の方法。
  5. 複数のモジュールを保存する記憶回路と、
    第一アプリケーションプログラムからログイン情報を受信するステップ、
    前記ログイン情報がデータベースに保存された認証データに適合すると認証したことに反応して、ユーザトークンを発生させ、前記ユーザトークンを前記第一アプリケーションプログラムに返信するステップ、
    前記ユーザトークン、前記第一アプリケーションプログラムの第一身分証明及び前記第一アプリケーションプログラムの第一キーを含み、前記第一アプリケーションプログラムが第一アプリケーションプログラムインターフェースを呼び出す第一要求を受信するステップ、
    前記ユーザトークンが時効内であり、データベースに前記第一身分証明及び前記第一キーに適合する前記第一アプリケーションプログラムが存在し、且つ、前記第一アプリケーションプログラムに前記第一アプリケーションプログラムインターフェースを呼び出す権限が有ると認証したことに反応して、前記第一アプリケーションプログラムに関連する第一アプリケーションプログラムトークンを発生させ、前記第一アプリケーションプログラムトークンを前記第一アプリケーションプログラムに返信して、前記第一アプリケーションプログラムが前記第一アプリケーションプログラムインターフェースを呼び出すことを承認するステップ、を実行し、前記記憶回路に結合され、前記複数のモジュールにアクセスするプロセッサと、を含む認証サーバー。
JP2021102784A 2018-11-05 2021-06-21 認証及び承認方法並びに認証サーバー Active JP7241814B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW107139141 2018-11-05
TW107139141A TWI725352B (zh) 2018-11-05 2018-11-05 驗證及授權的方法及驗證伺服器
JP2019005757A JP6949064B2 (ja) 2018-11-05 2019-01-17 認証及び承認方法並びに認証サーバー

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019005757A Division JP6949064B2 (ja) 2018-11-05 2019-01-17 認証及び承認方法並びに認証サーバー

Publications (2)

Publication Number Publication Date
JP2021152953A JP2021152953A (ja) 2021-09-30
JP7241814B2 true JP7241814B2 (ja) 2023-03-17

Family

ID=70458808

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019005757A Active JP6949064B2 (ja) 2018-11-05 2019-01-17 認証及び承認方法並びに認証サーバー
JP2021102784A Active JP7241814B2 (ja) 2018-11-05 2021-06-21 認証及び承認方法並びに認証サーバー

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019005757A Active JP6949064B2 (ja) 2018-11-05 2019-01-17 認証及び承認方法並びに認証サーバー

Country Status (4)

Country Link
US (1) US11212283B2 (ja)
JP (2) JP6949064B2 (ja)
CN (1) CN111143816B (ja)
TW (1) TWI725352B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110832463A (zh) * 2017-06-30 2020-02-21 Oppo广东移动通信有限公司 系数计算方法、组件调用方法、装置、介质、服务器及终端
US11070548B2 (en) * 2018-12-21 2021-07-20 Paypal, Inc. Tokenized online application sessions
CN109976922B (zh) * 2019-03-04 2021-02-02 上海连尚网络科技有限公司 小程序平台间的发现方法、设备和计算机存储介质
CN109933442B (zh) * 2019-03-04 2022-12-30 上海连尚网络科技有限公司 小程序平台间的通讯方法、设备和计算机存储介质
US11050798B2 (en) * 2019-05-31 2021-06-29 Mitel Networks Corporation Methods for establishing peer-to-peer communications using distributed call ledgers
CN112714092B (zh) * 2019-10-24 2022-03-18 珠海格力电器股份有限公司 一种注册登录方法、设备和计算机可读存储介质
WO2022051905A1 (zh) * 2020-09-08 2022-03-17 小白投资有限公司 智能装置的网络连接方法
CN112417403B (zh) * 2020-11-29 2022-11-29 中国科学院电子学研究所苏州研究院 一种基于GitLab API的系统自动化认证和授权处理方法
CN114338148B (zh) * 2021-12-28 2023-05-26 建信金融科技有限责任公司 交互方法及装置、服务器和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501010A (ja) 2008-06-26 2012-01-12 アリババ・グループ・ホールディング・リミテッド インターネットサービスを提供するための方法およびサービス統合プラットフォームシステム
JP2012221069A (ja) 2011-04-05 2012-11-12 Canon Inc 情報処理装置及びその制御方法
JP2014038608A (ja) 2012-08-20 2014-02-27 Naver Corp 認証共有によるアプリケーションログインシステム、方法およびコンピュータ読み取り可能な記録媒体
US20150358319A1 (en) 2011-12-29 2015-12-10 Paypal, Inc. Applications login using a mechanism relating sub-tokens to the quality of a master token
JP2017204704A (ja) 2016-05-10 2017-11-16 日本電信電話株式会社 正当性保証方法、正当性保証システム及び正当性保証プログラム
WO2018055530A1 (en) 2016-09-21 2018-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Authorization with container application issued token
JP2018121244A (ja) 2017-01-26 2018-08-02 キヤノン株式会社 画像形成装置、制御方法及びプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334254B1 (en) * 2003-07-31 2008-02-19 Sprint Communications Company L.P. Business-to-business security integration
CN1323538C (zh) * 2003-12-12 2007-06-27 华中科技大学 一种动态身份认证方法和系统
US7823192B1 (en) * 2004-04-01 2010-10-26 Sprint Communications Company L.P. Application-to-application security in enterprise security services
US8424077B2 (en) * 2006-12-18 2013-04-16 Irdeto Canada Corporation Simplified management of authentication credentials for unattended applications
KR101496329B1 (ko) * 2008-03-28 2015-02-26 삼성전자주식회사 네트워크의 디바이스 보안 등급 조절 방법 및 장치
US20090271847A1 (en) * 2008-04-25 2009-10-29 Nokia Corporation Methods, Apparatuses, and Computer Program Products for Providing a Single Service Sign-On
US9270663B2 (en) * 2010-04-30 2016-02-23 T-Central, Inc. System and method to enable PKI- and PMI-based distributed locking of content and distributed unlocking of protected content and/or scoring of users and/or scoring of end-entity access means—added
DE102010030590A1 (de) * 2010-06-28 2011-12-29 Bundesdruckerei Gmbh Verfahren zur Erzeugung eines Zertifikats
TWI470981B (zh) * 2010-11-25 2015-01-21 Inventec Corp 企業內網路的應用程序整合登錄方法及其驗證伺服器
CN103220259B (zh) * 2012-01-20 2016-06-08 华为技术有限公司 Oauth API的使用、调用方法、设备及系统
CN103051630B (zh) * 2012-12-21 2016-01-27 微梦创科网络科技(中国)有限公司 基于开放平台实现第三方应用授权的方法、装置及系统
CN103220344B (zh) * 2013-03-29 2016-08-31 新浪技术(中国)有限公司 微博授权使用方法和系统
CN107070945B (zh) * 2013-06-19 2021-06-22 华为技术有限公司 身份登录方法及设备
US9847990B1 (en) * 2014-07-18 2017-12-19 Google Inc. Determining, by a remote system, applications provided on a device based on association with a common identifier
CN104468518B (zh) * 2014-11-10 2016-04-20 腾讯科技(深圳)有限公司 业务管理方法、装置和系统
TWI616770B (zh) * 2015-02-03 2018-03-01 緯創資通股份有限公司 雲端資料管理方法、電子裝置及雲端伺服器
CN106302346A (zh) * 2015-05-27 2017-01-04 阿里巴巴集团控股有限公司 Api调用的安全认证方法、装置、系统
US10594494B2 (en) * 2015-08-25 2020-03-17 Inexto Sa Multiple authorization modules for secure production and verification
US9923888B2 (en) * 2015-10-02 2018-03-20 Veritas Technologies Llc Single sign-on method for appliance secure shell
CN106789848A (zh) * 2015-11-23 2017-05-31 阿里巴巴集团控股有限公司 一种用户密钥存储方法及服务器
US20170161733A1 (en) * 2015-12-02 2017-06-08 Mastercard International Incorporated Method and system for validation of a token requestor
CN106230838A (zh) * 2016-08-04 2016-12-14 中国银联股份有限公司 一种第三方应用访问资源的方法和装置
CN106506494B (zh) * 2016-10-27 2019-10-11 上海斐讯数据通信技术有限公司 一种开放平台的应用接入方法
CN106850699B (zh) * 2017-04-10 2019-11-29 中国工商银行股份有限公司 一种移动终端登录认证方法及系统
CN107483509B (zh) * 2017-10-09 2019-12-03 武汉斗鱼网络科技有限公司 一种身份验证方法、服务器及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501010A (ja) 2008-06-26 2012-01-12 アリババ・グループ・ホールディング・リミテッド インターネットサービスを提供するための方法およびサービス統合プラットフォームシステム
JP2012221069A (ja) 2011-04-05 2012-11-12 Canon Inc 情報処理装置及びその制御方法
US20150358319A1 (en) 2011-12-29 2015-12-10 Paypal, Inc. Applications login using a mechanism relating sub-tokens to the quality of a master token
JP2014038608A (ja) 2012-08-20 2014-02-27 Naver Corp 認証共有によるアプリケーションログインシステム、方法およびコンピュータ読み取り可能な記録媒体
JP2017204704A (ja) 2016-05-10 2017-11-16 日本電信電話株式会社 正当性保証方法、正当性保証システム及び正当性保証プログラム
WO2018055530A1 (en) 2016-09-21 2018-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Authorization with container application issued token
JP2018121244A (ja) 2017-01-26 2018-08-02 キヤノン株式会社 画像形成装置、制御方法及びプログラム

Also Published As

Publication number Publication date
JP2020077353A (ja) 2020-05-21
CN111143816B (zh) 2023-02-28
JP6949064B2 (ja) 2021-10-13
US11212283B2 (en) 2021-12-28
TW202018558A (zh) 2020-05-16
JP2021152953A (ja) 2021-09-30
CN111143816A (zh) 2020-05-12
US20200145421A1 (en) 2020-05-07
TWI725352B (zh) 2021-04-21

Similar Documents

Publication Publication Date Title
JP7241814B2 (ja) 認証及び承認方法並びに認証サーバー
US11537752B2 (en) Unified system for authentication and authorization
EP3607720B1 (en) Password state machine for accessing protected resources
US10171241B2 (en) Step-up authentication for single sign-on
US10462120B2 (en) Authentication system and method
US20220122088A1 (en) Unified login biometric authentication support
KR101764197B1 (ko) 연속적인 다중 인자 인증
US10445487B2 (en) Methods and apparatus for authentication of joint account login
KR101451359B1 (ko) 사용자 계정 회복
US10963167B2 (en) Method, first device, second device and system for managing access to data
CN110869928A (zh) 认证系统和方法
US11336667B2 (en) Single point secured mechanism to disable and enable the access to all user associated entities
US11328050B2 (en) Measured execution of trusted agents in a resource constrained environment with proof of work
KR20140023085A (ko) 사용자 인증 방법, 인증 서버 및 사용자 인증 시스템
US20230376947A1 (en) De-centralized authentication in a network system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210622

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221026

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: 20230221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230307

R150 Certificate of patent or registration of utility model

Ref document number: 7241814

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150