JP2020514863A - 証明書取得方法、認証方法及びネットワークデバイス - Google Patents

証明書取得方法、認証方法及びネットワークデバイス Download PDF

Info

Publication number
JP2020514863A
JP2020514863A JP2019534954A JP2019534954A JP2020514863A JP 2020514863 A JP2020514863 A JP 2020514863A JP 2019534954 A JP2019534954 A JP 2019534954A JP 2019534954 A JP2019534954 A JP 2019534954A JP 2020514863 A JP2020514863 A JP 2020514863A
Authority
JP
Japan
Prior art keywords
certificate
app
apis
equal
authority
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.)
Granted
Application number
JP2019534954A
Other languages
English (en)
Other versions
JP6940240B2 (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 JP2020514863A publication Critical patent/JP2020514863A/ja
Application granted granted Critical
Publication of JP6940240B2 publication Critical patent/JP6940240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/101Access control lists [ACL]
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本願は、APIに対するAPPの操作権限の制御を改善する、証明書取得方法、認証方法およびネットワークデバイスを提供する。方法によると、ネットワークデバイスは、APPを含む証明書アプリケーション情報を証明書生成デバイスに送信し、証明書生成デバイスは、APPに従って証明書を生成し、生成された証明書をネットワークデバイスに送信する。証明書は、APPがコントローラのAPIにアクセスする場合の権限認証のために用いられる。証明書は、(a)コントローラのN個のアプリケーションプログラミングインターフェースAPIに対するAPPの操作権限についての情報、(b)N個のAPIのうち、APPが操作する権限を有するL個のAPIの識別子、(c)N個のAPIのうち、APPが操作する権限を有しないR個のAPIの識別子との(a)から(c)のうちの1又は複数を含み、ここで、Nは1より大きいまたはこれに等しい自然数であり、Lは1より大きいまたはこれに等しい自然数であり、LはN以下であり、Rは1より大きいまたはこれに等しい自然数であり、RはN以下である。

Description

本願は、2016年12月28日に中国国家知識産権局に出願された「CERTIFICATE OBTAINING METHOD,AUTHENTICATION METHOD,AND NETWORK DEVICE」と題する中国特許出願第201611238763.5号に基づく優先権を主張するものであり、当該特許出願はその全体が参照により本明細書に組み込まれる。
本願は、ネットワーク通信技術分野に関するものであり、また、証明書取得方法、認証方法及びネットワークデバイスに関するものである。
「ソフトウェア定義型の」もの(英語:software defined anything、SDX)とは、全てのタイプのソフトウェア定義型コンピュータ処理技術の集合である。SDXでは、ソフトウェアはハードウェアを制御することにおいて主要な役割を果たす。一般的なSDX技術は、ソフトウェア定義型ネットワーキング(英語:software‐defined networking、SDN)、ソフトウェア定義型データセンター(英語:software‐defined data center、SDDC)、ソフトウェア定義型ストレージ(英語:software‐defined storage、SDS)などを含む。
SDXアーキテクチャでは、コントローラは全てのハードウェア機能を集中方式で制御する。さらにコントローラは、アプリケーション・プログラミング・インタフェース(英語:application programming interface、API)をユーザに提供する。ユーザの様々なアプリケーション(APP)は、APIにアクセスして、コントローラにより制御されるネットワークデバイス、セキュリティデバイス、仮想マシンなどを設定および管理すること、またはネットワーク情報を取得することができる。
しかしながら、APPはコントローラの外部からのものであり、第3者により開発されてユーザにより用いられる場合があるため。コントローラのAPIの誤用および乱用を防止するように、APPの権限を制御する必要がある。
本願は、APIに対するAPPの操作権限の制御を改善する、証明書取得方法、認証方法およびネットワークデバイスを提供する。
本願の第1態様は、証明書取得方法を提供する。方法によると、ネットワークデバイスは、APPを含む証明書アプリケーション情報を証明書生成デバイスに送信し、証明書生成デバイスは、APPに従って証明書を生成し、生成された証明書をネットワークデバイスに送信する。証明書は、APPがコントローラのAPIにアクセスする場合の権限認証のために用いられる。証明書は、(a)コントローラのN個のアプリケーションプログラミングインターフェースAPIに対するAPPの操作権限についての情報、(b)N個のAPIのうち、APPが操作する権限を有するL個のAPIの識別子、(c)N個のAPIのうち、APPが操作する権限を有しないR個のAPIの識別子との(a)から(c)のうち1又は複数を含み、ここで、Nは1より大きいまたはこれに等しい自然数であり、Lは1より大きいまたはこれに等しい自然数であり、LはN以下であり、Rは1より大きいまたはこれに等しい自然数であり、RはN以下である。
本願の第2態様は、認証方法を提供する。方法によると、認証デバイスはAPPのアクセスリクエストメッセージを受信し、アクセスリクエストメッセージにおける証明書に保持された操作権限についての情報に基づいて、コントローラのN個のAPIに対するAPPの操作権限を決定する。アクセスリクエストメッセージの証明書は、(a)から(c)のうち1又は複数を含む。
本願の第3態様は、証明書生成デバイスを提供する。デバイスは、通信インタフェース及び証明書生成モジュールを含む。通信インタフェースは、証明書アプリケーション情報を受信して、証明書生成モジュールに証明書アプリケーション情報を送信するように構成されている。ここで、証明書アプリケーション情報は、アプリケーションAPPを含む。証明書生成モジュールは、通信インタフェースにより送信された証明書アプリケーション情報を受信して、証明書アプリケーション情報におけるAPPに従って証明書を生成するように構成され、ここで、証明書は、(a)から(c)の1又は複数を含む。
本願の第4態様は、ネットワークデバイスを提供する。ネットワークデバイスは、通信インタフェース及び認証モジュールを含む。
通信インタフェースは、アプリケーションAPPのアクセスリクエストメッセージを受信するように構成されており、ここで、アクセスリクエストメッセージはデジタル証明書を含み、デジタル証明書は(a)から(c)のうち1又は複数を含む。認証モジュールは、操作権限についての情報に基づいて、N個のAPIに対するAPPの操作権限を決定するように構成されている。
本願の証明書生成方法、認証方法およびデバイスによると、コントローラのAPIに対するAPPの操作権限は証明書に保持される。コントローラのAPIにアクセスする場合、APPは、認証のために認証デバイスへ証明書を提供する。認証デバイスは、APIに対する、証明書に保持される操作権限に基づいて、APPがアクセスを申請するAPIを操作する権限をAPPが有しているかを判断する。これにより、APIに対する、APPの操作権限の制御が容易になる。加えて、方法は単純で、認証プロセスが簡易化されている。
選択的に、証明書は(a)コントローラのN個のAPIに対するAPPの操作権限についての情報を含み、操作権限についての情報は、N個のAPIの各々に対する、N個のAPIの識別子およびAPPの操作権限を含む。このように、認証デバイスは全てのAPIに対するAPPの操作権限についての情報を取得することが可能で、したがって、現在アクセスを申請したAPIを操作する権限をAPPが有するかを判断することができる。
選択的に、操作権限についての情報は、M個のAPI識別子セットの識別子を含み、M個のAPI識別子セットの識別子の各々は、API識別子セットにおけるK個のAPIに対する操作権限を識別するために用いられており、Mは1より大きいまたはこれに等しい自然数であり、Kは0より大きいまたはこれに等しい整数であり、KはN以下である。このように、認証デバイスは、証明書に保持されるAPI識別子セットに基づいて、アクセスする権限をAPPが有しているAPI、またはAPI識別子セットにより識別された、アクセスする権限をAPPが有しているリソースを決定することができる。
選択的に、証明書は(a)コントローラのN個のAPIに対するAPPの操作権限についての情報を含み、操作権限はビットマップを用いて表される。このように、認証デバイスのストレージリソースの占有は効果的に低減されることができ、認証効率が改善されることができる。
選択的に、(a)から(c)のうち1又は複数は証明書の拡張情報に保持される。このように、証明書によってAPPを認証する場合、認証デバイスはコントローラのN個のAPIに対するAPPのアクセス権限を決定することができ、その結果、APPが現在アクセスを申請するAPIに対するアクセス権限をAPPが有するかを迅速に判断する。
選択的に、ネットワークデバイスはコントローラ、またはコントローラの一部である。ネットワークデバイスは認証サーバであってよい。
選択的に、ネットワークデバイスはソフトウェア定義型ネットワーキングSDNコントローラである。
本願の別の態様は、ネットワークデバイスを提供する。ネットワークデバイスは、プロセッサ、およびプロセッサと通信するメモリを含む。メモリに記憶されている命令またはコンピュータプログラムを実行する場合、プロセッサは上述の証明書生成方法または認証方法を実行してよい。
本願のさらなる別の態様は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶する。コンピュータで命令が実行されると、コンピュータは上述の証明書生成方法または認証方法を実行することが可能になる。
本願のさらなる別の態様は、命令を含むコンピュータプログラム製品を提供する。コンピュータでコンピュータプログラム製品が実行されると、コンピュータは、上述の証明書生成方法または認証方法を実行することが可能になる。
本願の実施形態に係るSDNの概略的なネットワーキング図である。
本願の実施形態に係る証明書取得方法の概略的な方法フローチャートである。
本願の実施形態に係る、証明書に含まれる、APIに対するAPPの操作権限についての情報の概略構成図である。
本願の実施形態に係る、証明書に含まれる、APIに対する別のAPPの操作権限についての情報の別の概略構成図である。
本願の実施形態に係る、証明書に含まれる、APIに対する別のAPPの操作権限についての情報のさらなる別の概略構成図である。
本願の実施形態に係る証明書の概略構成図である。
本願の実施形態に係る認証方法の概略的なフローチャートである。
本願の実施形態に係るポリシーデータエントリの概略構成図である。
本願の実施形態に係る別のポリシーデータエントリの概略構成図である。
本願の実施形態に係る、さらなる別のポリシーデータエントリの概略構成図である。
本願の実施形態に係る証明書生成デバイスの概略構成図である。
本願の実施形態に係るネットワークデバイスの概略構成図である。
以下では、本発明の実施形態における添付図面を参照して本発明の実施形態における技術的解決手段を明確に説明する。説明される実施形態は、単に本発明の実施形態の一部に過ぎず、その全てではないことは明らかである。
本願において、SDXは、SDN、SDDC、SDS、またはソフトウェア定義型インフラストラクチャー(英語:software‐defined‐infrastructure、SDI)であってよい。本願の複数の実施形態は、例としてSDNを用いて以下に説明される。しかしながら、本願の複数の実施形態は、SDDC、SDS、またはSDIなどのSDXにも応用可能である。
図1に示されるように、SDNは、コントローラ、およびコントローラに制御されるX個のネットワークエレメント、つまりネットワークエレメント1、ネットワークエレメント2、…、およびネットワークエレメントXを含む。Xは1より大きいまたはこれに等しい自然数である。コントローラは、データ制御インタフェースおよびアプリケーション制御インタフェースを含む。ネットワークエレメント1からネットワークエレメントXの各々は、データ制御インタフェースを用いてコントローラと通信して、コントローラにより送信された転送テーブルを受信して、転送テーブルに従ってパケットを転送する。Xは1より大きいまたはこれに等しい自然数である。コントローラによって異なるネットワークエレメントに送信される転送テーブルは、同一であってもよく、異なってもよい。アプリケーション、つまりAPP1からAPPZは、アプリケーション制御インタフェースを用いてコントローラと通信する。Zは1より大きいまたはこれに等しい自然数である。コントローラはさらに、例えば、API1からAPI NのN個のAPIを提供する。Nは1より大きいまたはこれに等しい自然数である。各APIは、1又は複数のリソースを呼び出しのためにアプリケーションに提供し、その結果、アプリケーションはAPIを呼び出すことで対応するリソースを制御することができる。例えば、アプリケーションAPP1がAPI1を呼び出す場合、アプリケーションAPP1は、毎秒1メガビット(Mbps)の帯域幅を用いてトラフィックを転送することができる。具体的には、APP1からAPPZは、コントローラのACIを用いて、コントローラにより提供されるAPI1からAPI Nのうちの1又は複数を呼び出し、その結果、コントローラを用いて、コントローラにより制御されるネットワークエレメント1からネットワークエレメントYを操作する。
選択的に、DCIがオープンフロー(OpenFlow)プロトコルを用いてデプロイされる。選択的に、DCIはさらに、パス計算要素通信プロトコル(英語:Path Computation Element Communication Protocol、PCEP)、ボーダーゲートウェイプロトコル(英語:Border Gateway Protocol、BGP)、ネットワークコンフィギュレーション(NETCONF)プロトコル、中間システム間連携(英語:Intermediate System to Intermediate System、ISIS)プロトコル、およびオープンショーテストパスファースト(Open Shortest Path First、OSPF)プロトコルのうち1又は複数を用いてデプロイされてよい。
選択的に、APIはオープンスタック(OpenStack)API、オープンフローAPI、または表現可能な状態の転送(英語:Representational State Transfer、RESTful)APIであってよい。
暗号理論において、証明書は公開キー証明書(英語:public key certificate)である。証明書は、デジタル証明書(英語:digital certificate)、識別証明書(英語:identity certificate)、またはセキュリティ証明書とも称される。証明書は、公開キーの所有者の識別を証明するために用いられる電子ドキュメントである。証明書発行機関により発行される証明書は一般に、証明書の有効性、公開キー、対象(証明書所有者)、および署名に用いられるアルゴリズムを含む。証明書の有効性は、証明書の有効時間を表す。公開キーは、メッセージを暗号化するために用いられる公開キーパスワードである。対象(証明書所有者)は、証明書を用いて組織を識別するために用いられる。署名に用いられるアルゴリズムは、証明書の完全性を検証するために用いられる。署名に用いられるアルゴリズムは、証明書が改ざんされていないことを確実にしてよい。アルゴリズムの原理は以下の通りである。証明書を発行するときに、証明書発行機関は、指紋アルゴリズムに従って証明書全体のハッシュ値を計算し、ハッシュ値および証明書の両方を証明書のユーザに送信する。証明書を開くときに、証明書のユーザは指紋アルゴリズムに従って証明書のハッシュ値を計算し、証明書発行機関により発行されたハッシュ値と、計算されたハッシュ値とを比較する。2つのハッシュ値が同一な場合、それは証明書が改ざんされなかったことを示す。この認証プロセスおよび規格は、X.509に規格化されている。
図2に示されるように、本願の証明書取得方法において、APP、例えばAPP1が、証明書を取得し、コントローラの1又は複数のAPIにアクセスすることによりいくつかの操作を実行しようとする場合、APP1の所有者側のネットワークデバイスは、APP1を証明書発行機関に提示する。証明書発行機関のセキュリティデバイスは、APP1に対してセキュリティ検知を実行し、セキュリティデバイスのセキュリティ検知結果に基づいて(a)から(c)のうち1又は複数を決定する。(a)コントローラのN個のAPIの各々に対するAPPの操作権限、(b)N個のAPIのうち、APPが操作する権限を有するL個のAPIの識別子、および(c)N個のAPIのうち、APPが操作する権限を有しないR個のAPIの識別子。Nは1より大きいまたはこれに等しい自然数である。Lは1より大きいまたはこれに等しい自然数であり、LはN以下である。Rは1より大きいまたはこれに等しい自然数であり、RはN以下である。証明書発行機関の証明書生成デバイスは、APP1のための証明書を生成する。証明書は、N個のAPIに対するAPP1のアクセス権限、またはN個のAPIのうちの、APP1が操作する権限を有するL個のAPIのリストを含む。証明書発行機関の証明書発行デバイスは、APP1の所有者に証明書を送信する。証明書発行機関は証明書を作成する組織または人である。証明書発行機関は証明書を作成するのみであり、証明書のユーザではない。
図3に示されるように、証明書において含まれる内容(a)は、コントローラのN個のAPIの各々に対するAPPの操作権限を含んでよい。図3において、APPは、コントローラのN個のAPIのうちAPI1およびAPI3に対する操作権限を有し、API2およびAPI Nに対する操作権限は有しない。N個のAPIの他のAPIに対する操作権限も、内容(a)に含まれる。
図4に示されるように、証明書に含まれる内容は、N個のAPIのうち、APPが操作する権限を有するL個のAPIの識別子である。図4において、APPがコントローラのN個のAPIのうちAPI1およびAPI3のみに対する操作権限を有し、コントローラのN個のAPIのうち他のAPIに対する操作権限は有しないと仮定すると、証明書は、APPが操作するための操作権限を有するAPI、つまりAPI1およびAPI3の識別子のリストのみを含んでよい。
図5に示されるように、証明書に含まれる内容は、N個のAPIのうち、操作する権限をAPPが有しないR個のAPIの識別子である。図5において、APPがコントローラのN個のAPIのうちAPI1およびAPI3のみに対する操作権限を有せず、コントローラのN個のAPIのうち他のAPIに対する操作権限は有すると仮定すると、証明書は、APPが操作するための操作権限を有しないAPI、つまりAPI1およびAPI3の識別子のリストのみを含んでよい。
選択的に、セキュリティデバイスにより、APP1に対してセキュリティ検知を実行することは、APP1に対してサンドボックステストを実行することを含んでよい。
選択的に、図6に示されるように、証明書はX.509規格にしたがってよく、以下を含む。
(1)対象(Subject):証明書所有者の区別可能な名称。ここで、命名ルールに関しては、一般にX.500フォーマットが用いられる。
(2)対象の公開キー情報:対象の公開キーおよびアルゴリズム識別子。
(3)証明書発行者(Issuer):証明書発行者の識別情報、および署名を含む。
(4)証明書の有効性(Validity):証明書の有効な開始および終了時間。
(5)管理情報:証明書のバージョン、暗号化アルゴリズム識別子、およびシリアルナンバーなどの情報。
(6)証明書の拡張情報(Extensions):基本的な制約、関連する識別子などを含む。
証明書の拡張情報には、タイプ、デフォルト設定か否か、および値の3つのフィールドを含まれてよい。タイプフィールドは、拡張値フィールドにおけるデータタイプを定義する。タイプは、単純な文字列、値、日付、もしくはイメージ、または複雑なデータタイプであってよい。やり取りを容易にするために、全てのデータタイプは国際的に既知の組織に登録される。「デフォルト設定か否か」フィールドは、ビットフラッグビットである。拡張識別子が「デフォルト設定でない」の場合、それは、対応する拡張値が比較的重要であり、アプリケーションはその情報を無視することができないことを示す。特別な証明書を用いるアプリケーションがこのフィールドの内容を処理することができない場合、アプリケーションは証明書を拒否すべきである。値フィールドは、拡張情報の実際のデータを含む。
(a)から(c)のうち1又は複数は、証明書生成デバイスにより生成された証明書の拡張情報に保持されてよい。
図7に示されるように、APP、例えばAPP1が、コントローラの特定のAPI、例えばAPI1にアクセスしようとする場合、認証デバイスは、APP1により提供された証明書が有効かを検証する。APP1により提供された証明書が有効であると認証デバイスが判断した場合、認証デバイスはさらに、証明書に含まれる(a)から(c)に基づいて、APP1がアクセスする権限を有する、コントローラの複数のAPIまたはAPIを決定する。認証デバイスは、コントローラ上に位置されてよく、またはコントローラから独立してよく、またはコントローラがAPPの認証を実装する認証デバイスとして機能してよい。
具体的には、証明書に内容(a)、すなわちコントローラのN個のAPIに対するAPPの操作権限についての情報が含まれる場合、認証デバイスは、内容(a)に基づいて、APPが操作権限を有するAPIを決定し、API1が、APPが操作権限を有するAPIであるかを判断、すなわち、API1が、コントローラのN個のAPIのうちの1つであるかを判断する。API1がコントローラのN個のAPIのうちの1つの場合、認証デバイスはさらに、API1に対するAPP1の権限が「操作権限有り」であるかを判断する。API1に対するAPP1の操作権限が「操作権限有り」の場合、認証デバイスはAPP1がAPI1を操作することを許可する。API1に対するAPP1の操作権限が「操作権限無し」の場合、認証デバイスは、APP1がAPI1を操作することを許可しない。選択的に、API1に対するAPP1の操作権限が「操作権限有り」の場合は、APP1がAPI1を操作することを許可することに加えて、認証デバイスはさらに、APP1に応答情報を返送してよい。応答情報には、APP1がAPI1に対する操作権限を有することを示す情報が含まれる。
具体的には、証明書が内容(b)、すなわちN個のAPIのうち、APPが操作する権限を有するL個のAPIの識別子を含む場合、認証デバイスは、内容(b)に基づいて、APPがアクセスしようとするAPIが内容(b)内にあるかを判断、すなわち、API1が内容(b)内にあるかを判断する。API1が内容(b)内にある場合は、認証デバイスはAPP1がAPI1に対する操作権限を有すると判断し、APP1にAPI1を操作することを許可する。APP1が内容(b)内にない場合は、認証デバイスは、APP1がAPI1に対する操作権限を有しないと判断し、APP1にAPI1を操作することを許可しない。選択的に、APP1がAPI1に対する操作権限を有する場合、APP1がAPI1を操作することを許可することに加えて、認証デバイスはさらに、応答情報をAPP1に返送してよい。応答情報には、APP1がAPI1に対する操作権限を有することを示す情報が含まれる。
具体的には、証明書が内容、すなわち(c)N個のAPIのうち、APPが操作する権限を有しないR個のAPIの識別子を含む場合、認証デバイスは、内容(c)に基づいて、APPがアクセスしようとするAPIが内容(c)内にあるかを判断、すなわち、APP1がアクセスしようとするAPI1が内容(c)内にあるかを判断する。API1が内容(c)内にある場合、認証デバイスは、APP1はAPI1に対する操作権限を有しないと判断し、APP1がAPI1を操作することを許可しない。APP1が内容(c)内にない場合、認証デバイスは、APP1がAPI1に対する操作権限を有すると判断し、APP1がAPI1を操作することを許可する。
本願の証明書生成方法、認証方法およびコントローラによると、コントローラのAPIに対するAPPの操作権限は証明書に保持される。コントローラのAPIにアクセスする場合、APPは、認証のために認証デバイスへ証明書を提供する。認証デバイスは、APIに対する、証明書に保持される操作権限に基づいて、APPがアクセスを申請するAPIを操作する権限をAPPが有しているかを判断する。これにより、APIに対する、APPの操作権限の制御が容易になる。加えて、方法は単純で、認証プロセスが簡易化されている。
選択的に、APP1がAPI1に対する操作権限を有する場合、APP1がAPI1を操作することを許可することに加えて、認証デバイスはさらに、APP1への応答情報を返送してよい。応答情報には、APP1がAPI1に対する操作権限を有することを示す情報が含まれる。
選択的に、APIのアドレスはユニフォームリソースロケータ(Uniform Resource Locator、URL)であってよい。APIリストは、1又は複数の識別子を含んでよい。API識別子は、シーケンスナンバー、またはAPIまたはAPIのタイプを一意に識別するために用いられ得る別の識別子であってよい。
選択的に、上述の実装例においては、「操作権限」は「呼び出し権限」を含み、「操作」は「呼び出し」を含む。例えば、APP1がAPI1に対する操作権限を有する場合、それはAPP1がAPI1を呼び出すことを許可されたことを示し、APP1がAPI1に対する操作権限を有しない場合、それはAPP1がAPI1を呼び出すことを許可されていないことを示す。もちろん、「操作権限」はさらに、「修正権限」および「置換権限」のうち1又は複数のような、他の可能な内容を含んでよい。「修正権限」は、APPがAPIを修正する権限を有することを示す。「置換権限」は、APPがAPIを他の内容と置換し得ることを示す。
実装例において、APPの証明書は内容(a)を含む。APIは、URLであってよい。証明書により占有されるスペースを減らすために、各APIに対するAPPの操作権限は、ビットマップを用いて表されてよい。例えば、APPの証明書におけるAPIリスト内の各APIは、2進ビットを用いて番号付けられ、2進ビットに対応するAPIに対するAPPの操作権限は、2進番号内の対応するビットの値を用いて表される。例えば、コントローラは、それぞれAPI1、API2、API3、およびAPI4と識別されている4つのAPIを有すると仮定する。API1、API2、API3、およびAPI4は2進ビットに順次対応してよく、2進シーケンスABCDが取得される。AはAPI1に対応し、またAはAPI1の識別子として用いられる。Aの2進値は、API1に対するAPP1の操作権限を表す。BCDの場合も、Aと同様である。選択的に、APPがアクセス権限を有するAPIに対応する2進ビットは1に設定されてよく、APPがアクセス権限を有しないAPIに対応する2進ビットは0に設定され、その逆も同様である。例えば、API1、API2、API3、およびAPI4に対するAPPのアクセス権限はそれぞれ、4つの2進ビットの値に対応する。APPがAPI1およびAPI2を操作する権限を有するがAPI3およびAPI4を操作する権限は有しない場合、コントローラの全てのAPIに対するAPPの操作権限の値は1100である。APPの証明書は4つのAPIに対するAPPの操作権限の値1100を含む。コントローラが、APPにより提供される証明書に含まれる、コントローラの全てのAPIに対する操作権限の値が1100であると判断した場合、コントローラは、コントローラのAPI1およびAPI2にアクセスする権限をAPPが有するが、コントローラのAPI3およびAPI4にアクセスする権限は有しないと判断する。
実装例において、APPにより提供される証明書には内容(b)が含まれ、APPの証明書には1又は複数の識別子が含まれる。1又は複数の識別子は、APPが、1又は複数の識別子により識別されたAPIを操作する権限を有することを示すために用いられる。
実装例において、APPにより提供される証明書に内容(c)が含まれる場合、APPの証明書には1又は複数の識別子が含まれる。1又は複数の識別子は、APPが、1又は複数の識別子により識別されたAPIを操作する権限を有しないことを示すために用いられる。
実装例において、コントローラの複数のAPIは、複数のAPI識別子セット(API Set)に分割される。各APIセットは、1又は複数の識別子を含んでよい。各APIセットは、1組の特定のリソースを識別するために用いられてよい。実装例において、APPは、API識別子セット内のAPI識別子により識別されるAPIに対して同じ操作権限を有する。別の実装例において、APPは、API識別子セット内のAPI識別子により識別されるAPIに対して異なる操作権限を有してよい。操作権限が異なる複数のAPIは、1つのアクセス権限の組み合わせを形成する。APPが、API識別子セットにアクセスする権限を有する場合、APPはアクセス権限の組み合わせを操作する権限を有する。APPにより提供される証明書は、1又は複数のAPIセットを含んでよい。例えば、コントローラが4つのAPIを有し、4つのAPIの識別子はそれぞれ、API1、API2、API3、API4である。APIセット1はAPI1およびAPI2を含み、APIセット2はAPI3を含み、APIセット3はAPI4を含む。実装例において、APIセットに含まれるAPI識別子のリストは、APIセット内のAPIを操作する権限をAPPが有することを示すために用いられる。この場合、APP1がAPI1およびAPI2を操作する権限を有するが、API3およびAPI4を操作する権限は有しない場合、APP1の証明書はAPIセット1のみを含み、APIセット2およびAPIセット3は含まない。別の実装例において、APIセットに含まれるAPI識別子のリストは、APPがAPIセット内のAPIを操作する権限を有しないが、APIセットを除くN個のAPIのAPIを操作する権限を有することを示すために用いられる。この場合、APP1がAPI1およびAPI2を操作する権限を有するが、API3およびAPI4を操作する権限を有しないと、APP1の証明書はAPIセット2およびAPIセット3のみを含み、APIセット1は含まない。
実装例において、コントローラのAPIに対するAPPの操作権限についての、認証デバイスにより取得される情報は、認証デバイス、コントローラ、または認証デバイスと通信する別のストレージデバイスに、ポリシーデータエントリ方式によって保存されてよい。ポリシーデータエントリのフォーマットおよび内容は、図8から図10に示され、(a')から(c')のうち1又は複数を含む。(a')APP識別子とコントローラのN個のAPIに対するAPPの操作権限との間のマッピング関係。(b')APP識別子と、N個のAPIのうちAPPが操作する権限を有するL個のAPIの識別子との間のマッピング関係。(c')APP識別子と、N個のAPIのうちAPPが操作する権限を有しないR個のAPIの識別子との間のマッピング関係。
図8によると、任意のAPP、例えばAPP1の場合、APP1のポリシーデータエントリは、APP識別子、すなわちAPP1と、コントローラの全てのAPIに対するAPP1の操作権限とを含む。Yは、APP1が、対応するAPIに対する操作権限を有することを示し、NはAPP1がAPIに対する操作権限を有しないことを示す。もちろん、操作権限は他の記号を用いて表されてよい。例えば、APP1がAPIに対する操作権限を有することを示すために数字または文字が用いられ、APP1がAPIに対する操作権限を有しないことを示すために別の異なる数字または文字が用いられる。
図9によると、APP、例えばAPP1の場合、APP1のポリシーデータエントリはAPP識別子、すなわちAPP1および、コントローラの全てのAPIのうち、APP1が操作権限を有するAPIの識別子のリスト、すなわちAPIリスト1を含む。APIリスト1には、APP1が操作権限を有するAPIの識別子、すなわちAPI1、API2、API5、API7が含まれる。
図10によると、APP、例えばAPP1の場合、APP1のポリシーデータエントリはAPP識別子、すなわちAPP1および、コントローラの全てのAPIのうち、APP1が操作権限を有しないAPIの識別子のリスト、すなわちAPIリスト1が含まれる。APIリスト1には、APP1が操作権限を有しないAPIの識別子、すなわちAPI1、API2、API5、API7が含まれる。
実装例において、認証デバイスは、(a')、(b')または(c')のうち1つのみを維持するか、APPと、APPが操作する権限を有するAPIセットの識別子との間のマッピング関係のみを維持してよい。マッピング関係は、比較的に静的で、したがって、認証デバイスを維持することが簡便である。選択的に、認証デバイスに含まれるポリシーデータエントリは、ポリシーデータのサイズを低減させるためにエージングされてよい。
実装例において、認証デバイスは、サーバなどの独立したネットワークデバイスであってよく、またはコントローラの一部であってよい。
図11に示されるように、図2に示される証明書生成デバイスは、通信インタフェース1102および証明書生成モジュール1104を含む。通信インタフェース1102は、証明書アプリケーション情報を受信して、証明書アプリケーション情報を証明書生成モジュールに送信するように構成されている。ここで、証明書アプリケーション情報は、アプリケーションAPPを含む。証明書生成モジュールは、通信インタフェースにより送信された証明書アプリケーション情報を受信して、証明書アプリケーション情報におけるAPPに従って証明書を生成するように構成され、ここで、証明書は、(a)から(c)の1又は複数を含む。通信インタフェースはさらに、コントローラのAPIに対するAPPの操作権限についての情報が含まれる証明書を、証明書アプリケーション情報を送信するネットワークデバイスに返送するように構成されてよい。加えて、証明書生成デバイスはさらに、通信インタフェース1102により受信されたAPPに対してセキュリティ検知を実行してAPPのセキュリティ特徴を決定し、APPのセキュリティ特徴を決定した後、APPが操作する権限を有する、コントローラのAPIを決定するように構成されているセキュリティ検知モジュール1106を含んでよい。選択的に、証明書生成デバイスはセキュリティ検知モジュール1106を含まなくてよい。その代わりに、独立したセキュリティ検知デバイスが証明書生成デバイスの外側に設けられる。セキュリティ検知デバイスは、通信インタフェース1102により受信されたAPPに対してセキュリティ検知を実行してAPPのセキュリティ特徴を決定し、APPのセキュリティ特徴を決定した後、APPが操作する権限を有する、コントローラのAPIを決定する。選択的に、証明書生成モジュール1104は中央処理ユニットCPU、特定用途向け集積回路(Application‐Specific Integrated Circuit、ASIC)、またはフィールドプログラマブルゲートアレイ(Field‐Programmable Gate Array、FPGA)を用いて実装されてよい。
図12に示されるように、図4に示される認証デバイスは、通信インタフェース1202および認証モジュール1204を含む。通信インタフェース1202は、アプリケーションAPPのアクセスリクエストメッセージを受信するように構成されており、ここで、アクセスリクエストメッセージはデジタル証明書を含み、デジタル証明書は(a)から(c)のうち1又は複数を含む。認証モジュール1204は、操作権限についての情報に基づいて、N個のAPIに対するAPPの操作権限を決定するように構成されている。選択的に、認証モジュール1204はCPU、ASIC、またはFPGAを用いて実装されてよい。選択的に、認証デバイスは、上述の認証方法を実装することが可能な任意のネットワークデバイスであってよい。認証デバイスは、コントローラから独立したネットワークデバイスであってよく、コントローラの一部であってもよい。認証デバイスがコントローラの一部である場合、認証デバイスは物理的コンポーネントまたはソフトウェアモジュールによって実装されてよい。
本願の別の態様は、ネットワークデバイスを提供する。ネットワークデバイスは、プロセッサ、およびプロセッサと通信するメモリを含む。メモリに記憶されている命令またはコンピュータプログラムを実行する場合、プロセッサは上述の証明書生成方法または認証方法を実行してよい。
本願のさらなる別の態様は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶する。コンピュータで命令が実行される場合、コンピュータは上述の証明書生成方法または認証方法を実行することが可能になる。
本願のさらなる別の態様は、命令を含むコンピュータプログラム製品を提供する。コンピュータでコンピュータプログラム製品が実行される場合、コンピュータは、上述の証明書生成方法または認証方法を実行することが可能になる。
上述の実施形態の全てまたは一部は、ソフトウェア、ハードウェア、ファームウェアまたはこの任意の組み合わせによって実装されてよい。実施形態を実装するためにソフトウェアが用いられる場合、実施形態の全てまたは一部は、コンピュータプログラム製品の形で実装され得る。コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされ実行される場合、本発明の実施形態において説明された手順または機能の全てまたは一部が生成される。コンピュータは、汎用のコンピュータ、専用のコンピュータ、コンピュータネットワーク、または別のプログラマブル装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてよく、またはコンピュータ可読記憶媒体を用いて伝送されてよい。コンピュータ命令は、ウェブサイトステーション、コンピュータ、サーバ、またはデータセンターから、別のウェブサイトステーション、コンピュータ、サーバ、またはデータセンターに有線を介して(例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線(DSL))、または無線を介して(例えば、赤外線、電波、またはマイクロ波)伝送されてよい。コンピュータ可読記憶媒体は、コンピュータによりアクセスすることが可能な、任意の利用可能な媒体であってよい。例えば、コンピュータ命令は磁気媒体(例えば、フロッピ(登録商標)ディスク、ハードディスク、またはテープ)、光媒体(例えば、DVD)、または半導体媒体(例えばソリッドステートディスクSolid State Disk(SSD))を用いて記憶または伝送されてよい。
本願において提供されるいくつかの実施形態では、開示されるシステム、装置、および方法が他の方式で実装され得ることを理解されたい。例えば、説明されている装置実施形態は、単なる例である。例えば、ユニットまたはモジュールの区分は、単なる論理的機能の区分であり、実際の実装の間には他の区分であり得る。例えば、複数のユニットまたはコンポーネントは別のシステムに一体化または統合されてよく、またはいくつかの特徴が無視されるか、または行われなくてよい。加えて、提示または記載された相互連結または直接連結または通信接続は、いくつかのインタフェースを用いて実装されてよい。装置またはユニット間の間接連結または通信接続は、電子、機械、または他の形で実装され得る。
別個の部分として説明されるユニットは、物理的に別個であってもなくてもよく、ユニットとして提示される部分は、物理的ユニットであってもなくてもよく、1箇所に位置してもよく、または複数のネットワークユニット上に分散されてもよい。当該ユニットの一部または全ては、実施形態の解決手段の目的を達成するための実際の要件に基づいて選択されてよい。
加えて、本発明の実施形態における機能ユニット/モジュールは、1つの処理ユニット/モジュールに統合されてよく、またはユニット/モジュールの各々は物理的に単独で存在してよく、または2つ以上のユニット/モジュールが1つのユニットに統合されてよい。統合されたユニットは、ハードウェアの形で実装されてよく、またはソフトウェア機能ユニットに加えてハードウェアの形で実装されてよい。例えば、認証モジュール、証明書生成モジュールなどは全て、CPU、ASIC、またはFPGAを用いて実装されてよい。
上述の統合されたユニットがソフトウェア機能ユニットの形で実装される場合、統合されたユニットはコンピュータ可読記憶媒体に記憶されてよい。ソフトウェア機能ユニットは記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであってよい)に、本発明の実施形態において説明された方法のいくつかの段階を実行するように命令するためのいくつかの命令を含む。上述の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、リードオンリメモリ(Read‐Only Memory、略してROM)、ランダムアクセスメモリ(Random‐Access Memory、略してRAM)、磁気ディスクまたはコンパクトディスクなどのプログラムコードを記憶することが可能な様々な媒体を含む。
上述の記載は本発明の単なる実装例に過ぎないが、本発明の保護範囲を限定することを目的としているものではない。本発明に開示される技術的範囲内で当業者により容易に想到されるあらゆる変形または置換が、本発明の保護範囲に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
本願の第3態様は、証明書生成デバイスを提供する。デバイスは、通信インタフェース及び証明書生成モジュールを含む。通信インタフェースは、証明書アプリケーション情報を受信して、証明書生成モジュールに証明書アプリケーション情報を送信するように構成されている。ここで、証明書アプリケーション情報は、アプリケーションAPPを含む。証明書生成モジュールは、通信インタフェースにより送信された証明書アプリケーション情報を受信して、証明書アプリケーション情報におけるAPPに従って証明書を生成するように構成され、ここで、証明書は、(a)から(c)の1又は複数を含む。
通信インタフェースは、アプリケーションAPPのアクセスリクエストメッセージを受信するように構成されており、ここで、アクセスリクエストメッセージはデジタル証明書を含み、デジタル証明書は(a)から(c)のうち1又は複数を含む。認証モジュールは、操作権限についての情報に基づいて、N個のAPIに対するAPPの操作権限を決定するように構成されている。
本願の証明書取得方法、認証方法およびデバイスによると、コントローラのAPIに対するAPPの操作権限は証明書に保持される。コントローラのAPIにアクセスする場合、APPは、認証のために認証デバイスへ証明書を提供する。認証デバイスは、APIに対する、証明書に保持される操作権限に基づいて、APPがアクセスを申請するAPIを操作する権限をAPPが有しているかを判断する。これにより、APIに対する、APPの操作権限の制御が容易になる。加えて、方法は単純で、認証プロセスが簡易化されている。
選択的に、ネットワークデバイスはソフトウェア定義型ネットワーキングSDNコントローラである。
以下では、本の実施形態における添付図面を参照して本の実施形態における技術的解決手段を明確に説明する。説明される実施形態は、単に本の実施形態の一部に過ぎず、その全てではないことは明らかである。
図1に示されるように、SDNは、コントローラ、およびコントローラに制御されるX個のネットワークエレメント、つまりネットワークエレメント1、ネットワークエレメント2、…、およびネットワークエレメントXを含む。Xは1より大きいまたはこれに等しい自然数である。コントローラは、データ制御インタフェースおよびアプリケーション制御インタフェースを含む。ネットワークエレメント1からネットワークエレメントXの各々は、データ制御インタフェースを用いてコントローラと通信して、コントローラにより送信された転送テーブルを受信して、転送テーブルに従ってパケットを転送する。Xは1より大きいまたはこれに等しい自然数である。コントローラによって異なるネットワークエレメントに送信される転送テーブルは、同一であってもよく、異なってもよい。アプリケーション、つまりAPP1からAPPZは、アプリケーション制御インタフェースを用いてコントローラと通信する。Zは1より大きいまたはこれに等しい自然数である。コントローラはさらに、例えば、API1からAPI NのN個のAPIを提供する。Nは1より大きいまたはこれに等しい自然数である。各APIは、1又は複数のリソースを呼び出しのためにアプリケーションに提供し、その結果、アプリケーションはAPIを呼び出すことで対応するリソースを制御することができる。例えば、アプリケーションAPP1がAPI1を呼び出す場合、アプリケーションAPP1は、毎秒1メガビット(Mbps)の帯域幅を用いてトラフィックを転送することができる。具体的には、APP1からAPPZは、コントローラのACIを用いて、コントローラにより提供されるAPI1からAPI Nのうちの1又は複数を呼び出し、その結果、コントローラを用いて、コントローラにより制御されるネットワークエレメント1からネットワークエレメントYを操作する。
図11に示されるように、図2に示される証明書生成デバイスは、通信インタフェース1102および証明書生成モジュール1104を含む。通信インタフェース1102は、証明書アプリケーション情報を受信して、証明書アプリケーション情報を証明書生成モジュールに送信するように構成されている。ここで、証明書アプリケーション情報は、アプリケーションAPPを含む。証明書生成モジュールは、通信インタフェースにより送信された証明書アプリケーション情報を受信して、証明書アプリケーション情報におけるAPPに従って証明書を生成するように構成され、ここで、証明書は、(a)から(c)の1又は複数を含む。通信インタフェースはさらに、コントローラのAPIに対するAPPの操作権限についての情報が含まれる証明書を、証明書アプリケーション情報を送信するネットワークデバイスに返送するように構成されてよい。加えて、証明書生成デバイスはさらに、通信インタフェース1102により受信されたAPPに対してセキュリティ検知を実行してAPPのセキュリティ特徴を決定し、APPのセキュリティ特徴を決定した後、APPが操作する権限を有する、コントローラのAPIを決定するように構成されているセキュリティ検知モジュール1106を含んでよい。選択的に、証明書生成デバイスはセキュリティ検知モジュール1106を含まなくてよい。その代わりに、独立したセキュリティ検知デバイスが証明書生成デバイスの外側に設けられる。セキュリティ検知デバイスは、通信インタフェース1102により受信されたAPPに対してセキュリティ検知を実行してAPPのセキュリティ特徴を決定し、APPのセキュリティ特徴を決定した後、APPが操作する権限を有する、コントローラのAPIを決定する。選択的に、証明書生成モジュール1104は中央処理ユニットCPU、特定用途向け集積回路(Application‐Specific Integrated Circuit、ASIC)、またはフィールドプログラマブルゲートアレイ(Field‐Programmable Gate Array、FPGA)を用いて実装されてよい。
図12に示されるように、図4に示される認証デバイスは、通信インタフェース1202および認証モジュール1204を含む。通信インタフェース1202は、アプリケーションAPPのアクセスリクエストメッセージを受信するように構成されており、ここで、アクセスリクエストメッセージはデジタル証明書を含み、デジタル証明書は(a)から(c)のうち1又は複数を含む。認証モジュール1204は、操作権限についての情報に基づいて、N個のAPIに対するAPPの操作権限を決定するように構成されている。選択的に、認証モジュール1204はCPU、ASIC、またはFPGAを用いて実装されてよい。選択的に、認証デバイスは、上述の認証方法を実装することが可能な任意のネットワークデバイスであってよい。 認証デバイスは、コントローラから独立したネットワークデバイスであってよく、コントローラの一部であってもよい。認証デバイスがコントローラの一部である場合、認証デバイスは物理的コンポーネントまたはソフトウェアモジュールによって実装されてよい。
上述の実施形態の全てまたは一部は、ソフトウェア、ハードウェア、ファームウェアまたはこの任意の組み合わせによって実装されてよい。実施形態を実装するためにソフトウェアが用いられる場合、実施形態の全てまたは一部は、コンピュータプログラム製品の形で実装され得る。コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータにロードされ実行される場合、本の実施形態において説明された手順または機能の全てまたは一部が生成される。コンピュータは、汎用のコンピュータ、専用のコンピュータ、コンピュータネットワーク、または別のプログラマブル装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてよく、またはコンピュータ可読記憶媒体を用いて伝送されてよい。コンピュータ命令は、ウェブサイトステーション、コンピュータ、サーバ、またはデータセンターから、別のウェブサイトステーション、コンピュータ、サーバ、またはデータセンターに有線を介して(例えば、同軸ケーブル、光ファイバ、またはデジタル加入者線(DSL))、または無線を介して(例えば、赤外線、電波、またはマイクロ波)伝送されてよい。コンピュータ可読記憶媒体は、コンピュータによりアクセスすることが可能な、任意の利用可能な媒体であってよい。例えば、コンピュータ命令は磁気媒体(例えば、フロッピ(登録商標)ディスク、ハードディスク、またはテープ)、光媒体(例えば、DVD)、または半導体媒体(例えばソリッドステートディスクSolid State Disk(SSD))を用いて記憶または伝送されてよい。
加えて、本の実施形態における機能ユニット/モジュールは、1つの処理ユニット/モジュールに統合されてよく、またはユニット/モジュールの各々は物理的に単独で存在してよく、または2つ以上のユニット/モジュールが1つのユニットに統合されてよい。統合されたユニットは、ハードウェアの形で実装されてよく、またはソフトウェア機能ユニットに加えてハードウェアの形で実装されてよい。例えば、認証モジュール、証明書生成モジュールなどは全て、CPU、ASIC、またはFPGAを用いて実装されてよい。
上述の統合されたユニットがソフトウェア機能ユニットの形で実装される場合、統合されたユニットはコンピュータ可読記憶媒体に記憶されてよい。ソフトウェア機能ユニットは記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであってよい)に、本の実施形態において説明された方法のいくつかの段階を実行するように命令するためのいくつかの命令を含む。上述の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、リードオンリメモリ(Read‐Only Memory、略してROM)、ランダムアクセスメモリ(Random‐Access Memory、略してRAM)、磁気ディスクまたはコンパクトディスクなどのプログラムコードを記憶することが可能な様々な媒体を含む。
上述の記載は本の単なる実装例に過ぎないが、本の保護範囲を限定することを目的としているものではない。本に開示される技術的範囲内で当業者により容易に想到されるあらゆる変形または置換が、本の保護範囲に含まれるものとする。したがって、本の保護範囲は、特許請求の範囲の保護範囲に従うものとする。

Claims (26)

  1. ネットワークデバイスが、証明書アプリケーション情報を証明書発行デバイスに送信する段階であって、前記証明書アプリケーション情報はAPPを含む段階と、
    前記ネットワークデバイスが、前記証明書発行デバイスによって返送された、前記APPの証明書を受信する段階であって、前記証明書は、前記APPに従って前記証明書発行デバイスによって生成され、前記証明書は前記APPがコントローラのAPIにアクセスする場合に権限認証のために用いられる段階と
    を備え、
    前記証明書は、(a)前記コントローラのN個のアプリケーションプログラミングインターフェースAPIに対する、前記APPの操作権限と、(b)前記N個のAPIのうち、前記APPが操作する権限を有するL個のAPIの識別子と、(c)前記N個のAPIのうち、前記APPが操作する権限を有しないR個のAPIの識別子との(a)から(c)のうち1又は複数を含み、Nは1より大きいまたはこれに等しい自然数であり、Lは1より大きいまたはこれに等しい自然数であり、LはN以下であり、Rは1より大きいまたはこれに等しい自然数であり、RはN以下である
    証明書取得方法。
  2. 前記証明書は、(a)前記コントローラの前記N個のアプリケーションプログラミングインターフェースAPIに対する前記APPの操作権限についての前記情報を含み、前記操作権限についての情報は、前記N個のAPIの識別子及び前記N個のAPIの各々に対する前記APPの操作権限を含む
    請求項1に記載の方法。
  3. 前記操作権限についての情報は、M個のAPI識別子セットの識別子を含み、前記M個のAPI識別子セットの各々の識別子は、前記API識別子セット内のK個のAPIに対する操作権限を識別するために用いられ、Mは1より大きいまたはこれに等しい自然数であり、Kは0より大きいまたはこれに等しい整数であり、KはN以下である
    請求項1または2に記載の方法。
  4. 前記証明書は、(a)前記コントローラの前記N個のAPIに対する前記APPの前記操作権限を含み、前記操作権限は、ビットマップを用いて表されている、請求項1から3のうちいずれか一項に記載の方法。
  5. (a)から(c)のうち1又は複数は前記証明書の拡張情報に保持される、請求項1から4のいずれか一項に記載の方法。
  6. コンピュータ可読記憶媒体は命令を記憶し、コンピュータで前記命令が実行される場合、前記コンピュータは請求項1から5のいずれか一項に記載の方法を実行することが可能になる、コンピュータ可読記憶媒体。
  7. プロセッサと、前記プロセッサと通信するメモリとを備えるネットワークデバイスであって、前記メモリは命令を記憶し、コンピュータで前記命令が実行される場合、前記コンピュータは請求項1から5のいずれか一項に記載の方法を実行することが可能になる、ネットワークデバイス。
  8. 認証デバイスが、アプリケーションAPPのアクセスリクエストメッセージを受信する段階であって、前記アクセスリクエストメッセージはデジタル証明書を含み、前記デジタル証明書は、(a)コントローラのN個のアプリケーションプログラミングインターフェースAPIに対する、前記APPの操作権限と、(b)前記N個のAPIのうち、前記APPが操作する権限を有するL個のAPIの識別子と、(c)前記N個のAPIのうち、前記APPが操作する権限を有しないR個のAPIの識別子との(a)から(c)のうち1又は複数を含み、Nは1より大きいまたはこれに等しい自然数であり、Lは1より大きいまたはこれに等しい自然数であり、LはN以下であり、Rは1より大きいまたはこれに等しい自然数であり、RはN以下である段階と、
    前記認証デバイスが、前記操作権限についての情報に基づく前記1又は複数のAPIに対する前記APPの操作権限を決定する段階とを備える
    認証方法。
  9. 前記デジタル証明書が(a)前記コントローラの前記N個のアプリケーションプログラミングインターフェースAPIに対する前記APPの前記操作権限についての情報を含む場合、前記操作権限についての情報は、前記N個のAPIの識別子と前記N個のAPIの各々に対する前記APPの操作権限とを含む、請求項8に記載の方法。
  10. 前記操作権限についての情報はM個のAPI識別子セットの識別子を含み、前記M個のAPI識別子セットの各々の識別子は前記API識別子セット内のK個のAPIに対する操作権限を識別するために用いられ、Mは1より大きいまたはこれに等しい自然数であり、Kは0より大きいまたはこれに等しい整数であり、KはN以下である、請求項8または9に記載の方法。
  11. 前記デジタル証明書が(a)前記コントローラの前記N個のAPIに対する前記APPの前記操作権限を含む場合、前記操作権限はビットマップを用いて表される、請求項8から10のいずれか一項に記載の方法。
  12. (a)から(c)のうち1又は複数は、前記証明書の拡張情報に保持される、請求項8から11のいずれか一項に記載の方法。
  13. コンピュータ可読記憶媒体は命令を記憶し、コンピュータで前記命令が実行される場合、前記コンピュータは請求項8から12のいずれか一項に記載の方法を実行することが可能になる、コンピュータ可読記憶媒体。
  14. プロセッサと、前記プロセッサと通信するメモリとを備えるネットワークデバイスであって、前記メモリは命令を記憶し、コンピュータで前記命令が実行される場合、前記コンピュータは請求項8から12のいずれか一項に記載の方法を実行することが可能になる、ネットワークデバイス。
  15. 通信インタフェース及び証明書生成モジュールを備える証明書生成デバイスであって、
    前記通信インタフェースは、証明書アプリケーション情報を受信し、前記証明書生成モジュールに前記証明書アプリケーション情報を送信するように構成され、前記証明書アプリケーション情報はアプリケーションAPPを含み、
    前記証明書生成モジュールは、前記通信インタフェースによって送信された前記証明書アプリケーション情報を受信し、前記証明書アプリケーション情報における前記APPに従って証明書を生成するように構成され、
    前記証明書は、(a)コントローラのN個のアプリケーションプログラミングインターフェースAPIに対する、前記APPの操作権限と、(b)前記N個のAPIのうち、前記APPが操作する権限を有するL個のAPIの識別子と、(c)前記N個のAPIのうち、前記APPが操作する権限を有しないR個のAPIの識別子との(a)から(c)のうち1又は複数を含み、Nは1より大きいまたはこれに等しい自然数であり、Lは1より大きいまたはこれに等しい自然数であり、LはN以下であり、Rは1より大きいまたはこれに等しい自然数であり、RはN以下である
    証明書生成デバイス。
  16. 前記証明書が、(a)前記コントローラの前記N個のAPIに対する前記APPの操作権限についての前記情報を含む場合、前記操作権限についての情報は、前記N個のAPIの識別子及び前記N個のAPIの各々に対する前記APPの操作権限についての情報を含む、請求項15に記載のデバイス。
  17. 前記操作権限についての情報は、M個のAPI識別子セットの識別子を含み、前記M個のAPI識別子セットの各々の識別子は前記API識別子セット内のK個のAPIに対する操作権限を識別するために用いられ、Mは1より大きいまたはこれに等しい自然数であり、Kは1より大きいまたはこれに等しい自然数であり、KはN以下である、請求項15または16に記載のデバイス。
  18. 前記証明書が(a)前記コントローラの前記N個のAPIに対する前記APPの前記操作権限を含む場合、前記操作権限はビットマップを用いて表される、請求項15から17のいずれか一項に記載のデバイス。
  19. (a)から(c)のうち1又は複数は、前記証明書の拡張情報に保持される、請求項15から18のいずれか一項に記載のデバイス。
  20. 通信インタフェース及び認証モジュールを備えるネットワークデバイスであって、
    前記通信インタフェースは、アプリケーションAPPのアクセスリクエストメッセージを受信するように構成され、前記アクセスリクエストメッセージはデジタル証明書を含み、前記デジタル証明書は、(a)コントローラのN個のアプリケーションプログラミングインターフェースAPIに対する、前記APPの操作権限と、(b)前記N個のAPIのうち、前記APPが操作する権限を有するL個のAPIの識別子と、(c)前記N個のAPIのうち、前記APPが操作する権限を有しないR個のAPIの識別子との(a)から(c)のうち1又は複数を含み、Nは1より大きいまたはこれに等しい自然数であり、Lは1より大きいまたはこれに等しい自然数であり、LはN以下であり、Rは1より大きいまたはこれに等しい自然数であり、RはN以下であり、
    前記認証モジュールは、前記操作権限についての情報に基づいて前記N個のAPIに対する前記APPの操作権限を決定するように構成される、
    ネットワークデバイス。
  21. 前記デジタル証明書が、(a)前記コントローラの前記N個のAPIに対する前記APPの前記操作権限についての情報を含む場合、前記操作権限についての情報は、前記N個のAPIの識別子及び前記N個のAPIの各々に対する前記APPの操作権限を含む、請求項20に記載のネットワークデバイス。
  22. 前記操作権限についての情報は、M個のAPI識別子セットの識別子を含み、前記M個のAPI識別子セットの各々の識別子は、前記API識別子セット内のK個のAPIに対する操作権限を識別するために用いられ、Mは1より大きいまたはこれに等しい自然数であり、Kは1より大きいまたはこれに等しい自然数であり、KはN以下である、請求項20または21に記載のネットワークデバイス。
  23. 前記デジタル証明書が、(a)前記コントローラの前記N個のAPIに対する前記APPの前記操作権限を含む場合、前記操作権限はビットマップを用いて表される、請求項20から22のいずれか一項に記載のネットワークデバイス。
  24. (a)から(c)のうち1又は複数は、前記証明書の拡張情報に保持される、請求項22および23のどちらかに記載のネットワークデバイス。
  25. 前記ネットワークデバイスは、前記コントローラ、または前記コントローラの一部である、請求項22から24のいずれか一項に記載のネットワークデバイス。
  26. 前記ネットワークデバイスは、ソフトウェア定義型ネットワーキングSDNコントローラである、請求項22から25のいずれか一項に記載のネットワークデバイス。
JP2019534954A 2016-12-28 2017-09-11 証明書取得方法、認証方法及びネットワークデバイス Active JP6940240B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201611238763.5A CN108259413B (zh) 2016-12-28 2016-12-28 一种获取证书、鉴权的方法及网络设备
CN201611238763.5 2016-12-28
PCT/CN2017/101307 WO2018120913A1 (zh) 2016-12-28 2017-09-11 一种获取证书、鉴权的方法及网络设备

Publications (2)

Publication Number Publication Date
JP2020514863A true JP2020514863A (ja) 2020-05-21
JP6940240B2 JP6940240B2 (ja) 2021-09-22

Family

ID=62710331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019534954A Active JP6940240B2 (ja) 2016-12-28 2017-09-11 証明書取得方法、認証方法及びネットワークデバイス

Country Status (5)

Country Link
US (1) US11451531B2 (ja)
EP (1) EP3550786B1 (ja)
JP (1) JP6940240B2 (ja)
CN (1) CN108259413B (ja)
WO (1) WO2018120913A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694250B2 (en) * 2018-08-30 2020-06-23 At&T Intellectual Property I, L.P. Audiovisual content screening for locked application programming interfaces
CN109408250A (zh) * 2018-09-27 2019-03-01 天津字节跳动科技有限公司 调用应用程序编程接口api方法、装置、电子设备
CN109829287A (zh) * 2018-11-20 2019-05-31 新疆福禄网络科技有限公司 Api接口权限访问方法、设备、存储介质及装置
US11516253B1 (en) * 2019-03-28 2022-11-29 Amazon Technologies, Inc. Identity-aware filtering proxy for virtual networks
US10944578B2 (en) * 2019-07-24 2021-03-09 Advanced New Technologies Co., Ltd. Identity verification
CN111147259B (zh) * 2019-12-26 2022-01-14 华为技术有限公司 鉴权方法和设备
CN112383557B (zh) * 2020-11-17 2023-06-20 北京明朝万达科技股份有限公司 一种安全接入网关及工业设备通信管理方法
CN114598481B (zh) * 2020-11-19 2024-05-31 卫宁健康科技集团股份有限公司 一种授权认证方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351563A (ja) * 2001-05-30 2002-12-06 Canon Inc 情報処理装置、情報処理方法およびプログラム
WO2005101162A1 (ja) * 2004-04-15 2005-10-27 Matsushita Electric Industrial Co., Ltd. アクセス制御装置及び電子機器
JP2006293417A (ja) * 2005-04-05 2006-10-26 Ntt Docomo Inc アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
WO2015118751A1 (ja) * 2014-02-06 2015-08-13 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及びサーバ
WO2016013200A1 (ja) * 2014-07-22 2016-01-28 日本電気株式会社 情報処理システム及びネットワークリソース管理方法
JP2016019203A (ja) * 2014-07-10 2016-02-01 株式会社リコー 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033340A2 (en) * 1999-10-26 2001-05-10 At Home Corporation Method and system for restricting access to user resources
WO2002025409A2 (en) 2000-09-21 2002-03-28 Research In Motion Limited Software code signing system and method
WO2007097439A1 (ja) * 2006-02-21 2007-08-30 Nec Corporation プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
CN101854624A (zh) * 2009-04-02 2010-10-06 联芯科技有限公司 移动终端的动态加载软件验证方法、监控方法和装置
JP6101631B2 (ja) * 2011-11-30 2017-03-22 日本放送協会 受信装置及びプログラム
US9009856B2 (en) * 2011-12-16 2015-04-14 Dell Products L.P. Protected application programming interfaces
CN102710640B (zh) * 2012-05-31 2015-03-18 中国联合网络通信集团有限公司 请求授权的方法、装置和***
CN102819715A (zh) 2012-08-15 2012-12-12 腾讯科技(深圳)有限公司 Api监控方法和装置
KR101934025B1 (ko) * 2013-02-22 2018-12-31 삼성전자주식회사 보안 정책을 적용하는 단말기, 서버 및 그 제어 방법
WO2014128256A1 (en) * 2013-02-22 2014-08-28 Adaptive Mobile Security Limited Network security system and method
CN105704154B (zh) * 2016-04-01 2019-11-05 金蝶软件(中国)有限公司 一种基于RESTful的服务处理方法、装置及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351563A (ja) * 2001-05-30 2002-12-06 Canon Inc 情報処理装置、情報処理方法およびプログラム
WO2005101162A1 (ja) * 2004-04-15 2005-10-27 Matsushita Electric Industrial Co., Ltd. アクセス制御装置及び電子機器
JP2006293417A (ja) * 2005-04-05 2006-10-26 Ntt Docomo Inc アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
WO2015118751A1 (ja) * 2014-02-06 2015-08-13 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及びサーバ
JP2016019203A (ja) * 2014-07-10 2016-02-01 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
WO2016013200A1 (ja) * 2014-07-22 2016-01-28 日本電気株式会社 情報処理システム及びネットワークリソース管理方法

Also Published As

Publication number Publication date
EP3550786A1 (en) 2019-10-09
US11451531B2 (en) 2022-09-20
CN108259413A (zh) 2018-07-06
WO2018120913A1 (zh) 2018-07-05
US20190327224A1 (en) 2019-10-24
EP3550786B1 (en) 2022-02-16
CN108259413B (zh) 2021-06-01
JP6940240B2 (ja) 2021-09-22
EP3550786A4 (en) 2019-12-04

Similar Documents

Publication Publication Date Title
JP6940240B2 (ja) 証明書取得方法、認証方法及びネットワークデバイス
US11695757B2 (en) Fast smart card login
US10841316B2 (en) Dynamic access control to network resources using federated full domain logon
US10924495B2 (en) Verification method, apparatus, and system used for network application access
US11032247B2 (en) Enterprise mobility management and network micro-segmentation
KR102036758B1 (ko) 빠른 스마트 카드 로그온 및 연합된 풀 도메인 로그온
US9584515B2 (en) Enterprise system authentication and authorization via gateway
KR101722631B1 (ko) 프록시를 사용하여 자원들에의 보안 액세스
US11477188B2 (en) Injection of tokens or client certificates for managed application communication
US8948399B2 (en) Dynamic key management
US10623446B1 (en) Multi-factor authentication for applications and virtual instance identities
US10298388B2 (en) Workload encryption key
CN111464481B (zh) 用于服务安全保护的方法、设备和计算机可读介质
US11212077B2 (en) Authentication of messages sent across a network of multiple data centers
CN106685901B (zh) 用于处理跨域数据的方法、第一服务器及第二服务器
KR102400471B1 (ko) Sdp 기반의 접속 제어 장치 및 방법
US11171786B1 (en) Chained trusted platform modules (TPMs) as a secure bus for pre-placement of device capabilities
CN106535176B (zh) 一种网络接入方法及装置
CN116547961A (zh) 建立设备绑定关系的方法和设备
CN113037782A (zh) 证书获取方法和***、电子设备、计算机可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190805

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210831

R150 Certificate of patent or registration of utility model

Ref document number: 6940240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150