IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許7528366サービス通信方法、システム、装置及び電子機器
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】サービス通信方法、システム、装置及び電子機器
(51)【国際特許分類】
   G06F 21/44 20130101AFI20240729BHJP
   G06F 21/60 20130101ALI20240729BHJP
   H04L 9/32 20060101ALI20240729BHJP
   H04L 9/08 20060101ALI20240729BHJP
【FI】
G06F21/44
G06F21/60 360
H04L9/32 200B
H04L9/32 200F
H04L9/08 D
H04L9/08 E
【請求項の数】 20
(21)【出願番号】P 2023515835
(86)(22)【出願日】2021-10-22
(65)【公表番号】
(43)【公表日】2023-10-03
(86)【国際出願番号】 CN2021125653
(87)【国際公開番号】W WO2022095730
(87)【国際公開日】2022-05-12
【審査請求日】2023-03-09
(31)【優先権主張番号】202011222173.X
(32)【優先日】2020-11-05
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲呉▼ 岳廷
(72)【発明者】
【氏名】▲劉▼ ▲躍▼波
(72)【発明者】
【氏名】蔡 ▲東▼▲贇▼
(72)【発明者】
【氏名】朱 ▲祁▼林
【審査官】岸野 徹
(56)【参考文献】
【文献】特表2011-523481(JP,A)
【文献】特開2018-029241(JP,A)
【文献】特開2020-077353(JP,A)
【文献】米国特許出願公開第2020/0145421(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
G06F 21/60
H04L 9/32
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
電子機器が実行する、サービス通信方法であって、
サービスアクセスプロセスから送信された認証要求を受信するステップと、
前記サービスアクセスプロセスに対して同期検証処理を実行し、前記サービスアクセスプロセスに対して非同期検証処理を実行するステップと、
前記サービスアクセスプロセスに対する同期検証処理の結果に基づいて、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するステップと、
前記サービス鍵情報に基づいて前記サービスアクセスプロセスとの間の暗号化サービス通信を実行するために、前記サービス鍵情報を前記サービスアクセスプロセスに送信するステップと、
前記サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御するステップと、
を含
前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するステップが、前記同期検証処理の結果を得た場合にのみ実行され、前記非同期検証処理の実行中に、前記サービスアクセスプロセスとの間の前記暗号化サービス通信が実行可能である、サービス通信方法。
【請求項2】
前記サービスアクセスプロセスに対して同期検証処理を実行する前記ステップは、
前記サービスアクセスプロセスのプロセスパスと、設定されたセキュリティディレクトリとのマッチング結果を、第1検証処理結果として使用するステップであって、前記セキュリティディレクトリが、セキュリティクライアントのインストールディレクトリである、ステップと、
前記サービスアクセスプロセスの署名情報に対して検証処理を実行して、第2検証処理結果を得るステップと、
前記第1検証処理結果及び前記第2検証処理結果に基づいて、前記サービスアクセスプロセスに対する同期検証処理の結果を決定するステップと、
を含む、
請求項1に記載のサービス通信方法。
【請求項3】
前記サービスアクセスプロセスの署名情報に対して検証処理を実行して、第2検証処理結果を得る前記ステップは、
前記署名情報にデジタル署名が含まれているかどうかの結果、前記デジタル署名の有効性検証処理結果、前記デジタル署名の署名者と署名者ブラックリストとのマッチング結果、及び前記署名情報における証明書情報と証明書情報ブラックリストとのマッチング結果のうちの少なくとも1つに基づいて、第2検証処理結果を決定するステップを含む、
請求項2に記載のサービス通信方法。
【請求項4】
前記サービス通信方法は、
前記署名情報におけるデジタル署名、及び前記デジタル署名に対応する復号鍵を決定するステップと、
前記復号鍵に基づいて前記デジタル署名に対して復号化処理を実行して、前記サービスアクセスプロセスのプロセスファイルの第1ハッシュ結果を得るステップと、
前記サービスアクセスプロセスのプロセスファイルに対してハッシュ処理を実行して、第2ハッシュ結果を得るステップと、
前記第1ハッシュ結果と前記第2ハッシュ結果とのマッチング結果を、前記デジタル署名の有効性検証処理結果として使用するステップと、
を更に含む、
請求項3に記載のサービス通信方法。
【請求項5】
前記認証要求は、前記サービスアクセスプロセスによって生成される非対称鍵対のうちの公開鍵を含み、前記非対称鍵対は、前記公開鍵及び前記公開鍵に対応する秘密鍵を含み、
前記サービス鍵情報を前記サービスアクセスプロセスに送信する前記ステップは、
前記公開鍵に基づいて前記サービス鍵情報に対して暗号化処理を実行するステップと、
暗号化後の前記サービス鍵情報を前記サービスアクセスプロセスに送信して、前記サービスアクセスプロセスが前記秘密鍵に基づいて、暗号化後の前記サービス鍵情報に対して復号化処理を実行するようにするステップと、
を含む、
請求項1に記載のサービス通信方法。
【請求項6】
前記サービス鍵情報は、鍵ID及び対称鍵を含み、
前記暗号化後の前記サービス鍵情報を前記サービスアクセスプロセスに送信した後、前記サービス通信方法は、
前記サービスアクセスプロセスから送信されたサービス要求を受信するステップであって、前記サービス要求は、前記鍵IDと、前記対称鍵を利用して暗号化された要求データとを含む、ステップと、
割り当て済みの対称鍵のうち、前記サービス要求における前記鍵IDに対応する対称鍵を照会するステップと、
照会された対称鍵に基づいて、前記サービス要求における暗号化後の要求データに対して復号化処理を実行するステップと、
復号化処理によって得られた要求データに対して応答処理を実行して、応答データを得るステップと、
前記公開鍵に基づいて前記応答データに対して暗号化処理を実行し、暗号化後の前記応答データを前記サービスアクセスプロセスに送信して、前記サービスアクセスプロセスが前記秘密鍵に基づいて、暗号化後の前記応答データに対して復号化処理を実行するようにするステップと、
を更に含む、
請求項5に記載のサービス通信方法。
【請求項7】
前記サービス要求は更に、タイムスタンプと第1検定情報を含み、前記第1検定情報は、前記サービスアクセスプロセスが、前記鍵ID、前記対称鍵、前記タイムスタンプ、及び前記対称鍵を利用して暗号化された要求データに対してハッシュ処理を実行して得られたものであり、
前記復号化処理によって得られた要求データに対して応答処理を実行する前記ステップは、
前記鍵ID、前記照会された対称鍵、前記タイムスタンプ、及び前記暗号化後の要求データに対してハッシュ処理を実行して、第2検定情報を得るステップと、
前記第1検定情報と前記第2検定情報とのマッチング結果がマッチング成功である場合、復号化処理によって得られた要求データに対して応答処理を実行するステップと、
を含む、
請求項6に記載のサービス通信方法。
【請求項8】
前記割り当て済みの対称鍵のうち、前記サービス要求における前記鍵IDに対応する対称鍵を照会した後、前記サービス通信方法は、
照会された対称鍵の使用パラメータが期限切れパラメータ条件を満たす場合、期限切れ情報を前記サービスアクセスプロセスに送信して、前記サービスアクセスプロセスが前記期限切れ情報を受信する際に認証要求を再送信するようにするステップを更に含み、
前記使用パラメータは、使用回数及び使用期間のうちの少なくとも1つを含む、
請求項6に記載のサービス通信方法。
【請求項9】
前記認証要求は、認証要求アドレスを含み、
前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定する前記ステップは、
異なる前記サービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当て、同じ前記サービスアクセスプロセスから送信された異なる認証要求アドレスに対して異なるサービス鍵情報を割り当てること、
異なる前記サービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当て、同じ前記サービスアクセスプロセスから送信された異なる認証要求アドレスに対して同じサービス鍵情報を割り当てること、
異なる前記サービスアクセスプロセスから送信された認証要求アドレスに対して同じサービス鍵情報を割り当て、同じ前記サービスアクセスプロセスから送信された異なる認証要求アドレスに対して同じサービス鍵情報を割り当てることのうちのいずれか1つの処理を実行する、ステップを含む
請求項1に記載のサービス通信方法。
【請求項10】
前記サービスアクセスプロセスに対する同期検証処理の結果に基づいて、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定する前記ステップは、
前記サービスアクセスプロセスに対する同期検証処理の結果が検証成功である場合、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するステップを含み、
前記サービス通信方法は、
前記サービスアクセスプロセスに対する同期検証処理の結果が検証失敗である場合、
前記サービスアクセスプロセスに、認証要求を再送信するように通知すること、
前記サービスアクセスプロセスとの間における前記認証要求を伝送するための通信接続を切断すること、
前記サービスアクセスプロセスに対する非同期検証処理を中断することのうちのいずれか1つの処理を実行する、ステップを更に含む
請求項1に記載のサービス通信方法。
【請求項11】
前記サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御する前記ステップは、
前記サービスアクセスプロセスに対する非同期検証処理の結果が検証成功である場合、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を維持するステップと、
前記サービスアクセスプロセスに対する非同期検証処理の結果が検証失敗である場合、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を切断するステップと、
を含む、
請求項1に記載のサービス通信方法。
【請求項12】
前記サービス通信方法は、
前記暗号化サービス通信中に、
前記サービスアクセスプロセスから送信されたクレデンシャル要求を受信し、
プリケーションプロセスに対して同期検証処理を実行し、
前記アプリケーションプロセスに対する同期検証処理の結果に基づいて、前記アプリケーションプロセスのために割り当てられたサービスクレデンシャル及びゲートウェイアドレスを決定し、前記サービスクレデンシャル及び前記ゲートウェイアドレスを前記サービスアクセスプロセスに送信して、前記サービスアクセスプロセスが前記サービスクレデンシャル及び前記サービス要求を前記ゲートウェイアドレスに対応するサービスゲートウェイに送信するようにする
処理を実行するステップを更に含み、
前記クレデンシャル要求は、前記サービスアクセスプロセスがアプリケーションプロセスのサービス要求を傍受したときに送信するものであり、前記サービス要求の宛先アドレスはサービスサーバのアドレスであり、
前記サービスゲートウェイは、受信された前記サービスクレデンシャルに対して検証処理を実行し、前記サービスクレデンシャルに対する検証処理の結果が検証成功である場合、受信された前記サービス要求を前記サービスサーバに送信するために使用され、前記サービスサーバは、受信された前記サービス要求内の要求データに対して応答処理を実行するために使用される
請求項ないしのいずれか一項に記載のサービス通信方法。
【請求項13】
前記アプリケーションプロセスに対して同期検証処理を実行する前記ステップは、
前記アプリケーションプロセスが構成されている機器におけるログイン状態のユーザアカウントを決定し、前記ユーザアカウントに対応する信頼できるアプリケーションプロセスのプロセス情報、及び前記ユーザアカウントに対応するアクセス可能なサービスサーバのアドレスを取得するステップと、
前記アプリケーションプロセスのプロセス情報と、前記信頼できるアプリケーションプロセスのプロセス情報とのマッチング結果を、第3検証処理結果として使用するステップと、
前記サービス要求が要求するサービスサーバのアドレスと前記アクセス可能なサービスサーバのアドレスとのマッチング結果を、第4検証処理結果として使用するステップと、
前記アプリケーションプロセスが構成されている機器の機器情報を取得し、前記機器情報と機器セキュリティ条件とのマッチング結果を、第5検証処理結果として使用するステップと、
前記第3検証処理結果、前記第4検証処理結果及び前記第5検証処理結果に基づいて、前記アプリケーションプロセスに対する同期検証処理の結果を決定するステップと、
を含む、
請求項12に記載のサービス通信方法。
【請求項14】
前記サービスアクセスプロセスから送信されたクレデンシャル要求を受信した後、前記サービス通信方法は、
前記アプリケーションプロセスのプロセス情報をプロセス情報ブラックリストに周期的にマッチングさせて、得られたマッチング結果を前記アプリケーションプロセスに対する非同期検証処理の結果として使用するステップと、
前記アプリケーションプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御するステップと、
を含む、
請求項12に記載のサービス通信方法。
【請求項15】
前記サービスアクセスプロセスに対して非同期検証処理を実行する前記ステップは、
前記サービスアクセスプロセスのプロセス情報をプロセス情報ブラックリストに周期的にマッチングさせて、得られたマッチング結果を前記サービスアクセスプロセスに対する非同期検証処理の結果として使用するステップ
を含む、
請求項1ないし11のいずれか一項に記載のサービス通信方法。
【請求項16】
サービスアクセスクライアント、セキュリティクライアント及びセキュリティサーバを含む、サービス通信システムであって、前記サービスアクセスクライアントは、サービスアクセスプロセスを実行し、
前記セキュリティクライアントは、
前記サービスアクセスプロセスから送信された認証要求を受信し、
前記サービスアクセスプロセスに対して同期検証処理を実行して、前記サービスアクセスプロセスに対して非同期検証処理を実行することを前記セキュリティサーバに通知し、
前記サービスアクセスプロセスに対する同期検証処理の結果に基づいて、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定し、
前記サービス鍵情報に基づいて前記サービスアクセスプロセスとの間の暗号化サービス通信を実行するために、前記サービス鍵情報を前記サービスアクセスプロセスに送信し、
前記セキュリティサーバによる前記サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御するように構成され
前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定することが、前記同期検証処理の結果を得た場合にのみ実行され、前記非同期検証処理の実行中に、前記サービスアクセスプロセスとの間の前記暗号化サービス通信が実行可能である、サービス通信システム。
【請求項17】
前記セキュリティクライアントは更に、
前記サービスアクセスプロセスから送信されたクレデンシャル要求を受信し、
プリケーションプロセスに対して同期検証処理を実行することを前記セキュリティサーバに通知するように構成され、
前記クレデンシャル要求は、前記サービスアクセスプロセスがアプリケーションプロセスのサービス要求を傍受したときに送信するものであり、前記サービス要求の宛先アドレスはサービスサーバのアドレスであり、
前記セキュリティサーバは、前記アプリケーションプロセスに対する同期検証処理の結果に基づいて、前記アプリケーションプロセスのために割り当てられたサービスクレデンシャル及びゲートウェイアドレスを決定し、前記セキュリティクライアントを介して、前記サービスクレデンシャル及び前記ゲートウェイアドレスを前記サービスアクセスプロセスに送信するように構成され、
前記サービスアクセスクライアントは更に、前記サービスアクセスプロセスを介して、前記サービスクレデンシャル及び前記サービス要求を前記ゲートウェイアドレスに対応するサービスゲートウェイに送信するように構成され、
前記サービスゲートウェイは、受信された前記サービスクレデンシャルに対して検証処理を実行し、前記サービスクレデンシャルに対する検証処理の結果が検証成功である場合、受信された前記サービス要求を前記サービスサーバに送信するように構成され、前記サービスサーバは、受信された前記サービス要求内の要求データに対して応答処理を実行するように構成される、
請求項16に記載のサービス通信システム。
【請求項18】
サービス通信装置であって、
サービスアクセスプロセスから送信された認証要求を受信するように構成される、受信モジュールと、
前記サービスアクセスプロセスに対して同期検証処理を実行し、前記サービスアクセスプロセスに対して非同期検証処理を実行するように構成される、検証モジュールと、
前記サービスアクセスプロセスに対する同期検証処理の結果に基づいて、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するように構成される、決定モジュールと、
前記サービス鍵情報に基づいて前記サービスアクセスプロセスとの間の暗号化サービス通信を実行するために、前記サービス鍵情報を前記サービスアクセスプロセスに送信するように構成される、送信モジュールと、
前記サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御するように構成される、接続制御モジュールと、
を備え
前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定することが、前記同期検証処理の結果を得た場合にのみ実行され、前記非同期検証処理の実行中に、前記サービスアクセスプロセスとの間の前記暗号化サービス通信が実行可能である、サービス通信装置。
【請求項19】
電子機器であって、
実行可能な命令を記憶するメモリと、
前記メモリに記憶された実行可能な命令を実行するとき、請求項1ないし15のいずれか一項に記載のサービス通信方法を実現するプロセッサと、
を備える、電子機器。
【請求項20】
コンピュータに、請求項1ないし15のいずれか一項に記載のサービス通信方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本願は、2020年11月05日に中国特許局に提出された、出願番号が202011222173.Xである中国特許出願に基づいて提出されるものであり、当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が参照によって本願に組み込まれる。
【0002】
本願は、通信技術に関し、特に、サービス通信方法、システム、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム製品に関する。
【背景技術】
【0003】
サービスシナリオにおいて、インターフェースを呼び出す場合が常にあり、例えば、端末機器のあるプロセスで当該端末機器の他のプロセスのインターフェースを呼び出し、また例えば、端末機器のプロセスでサーバのプロセスのインターフェースを呼び出す。インターフェースの呼び出しは、サービス通信を実現すること、例えば特定のデータを送信又は要求することを目的とする。
【0004】
関連技術による技術案において、サービスアクセスプロセス(即ち呼び出す側のプロセス)の呼び出しについて、通常、サービスアクセスプロセスによって1つの固定した鍵を約束し、当該鍵に基づいて後続のサービス通信の暗号化を実行する。しかし、当該鍵は悪意のあるプロセスによって簡単に利用され、サービス通信のセキュリティが不十分になり、サービスを効果的に保障できなくなる。
【発明の概要】
【課題を解決するための手段】
【0005】
本願の実施例は、サービス通信方法を提供し、前記方法は、
サービスアクセスプロセスから送信された認証要求を受信するステップと、
前記サービスアクセスプロセスに対して同期検証処理を実行し、前記サービスアクセスプロセスに対して非同期検証処理を実行するステップと、
前記サービスアクセスプロセスに対する同期検証処理の結果に基づいて、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定ステップと、
前記サービス鍵情報に基づいて前記サービスアクセスプロセスとの間の暗号化サービス通信を実行するために、前記サービス鍵情報を前記サービスアクセスプロセスに送信するステップと、
前記サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御するステップと、を含む。
本願の実施例は、サービスアクセスクライアント、セキュリティクライアント及びセキュリティサーバを含むサービス通信システムを提供し、ここで、前記サービスアクセスクライアントは、サービスアクセスプロセスを実行し、
前記セキュリティクライアントは、
前記サービスアクセスプロセスから送信された認証要求を受信し、
前記サービスアクセスプロセスに対して同期検証処理を実行して、前記サービスアクセスプロセスに対して非同期検証処理を実行することを前記セキュリティサーバに通知し、
前記サービスアクセスプロセスに対する同期検証処理の結果に基づいて、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定し、
前記サービス鍵情報に基づいて前記サービスアクセスプロセスとの間の暗号化サービス通信を実行するために、前記サービス鍵情報を前記サービスアクセスプロセスに送信し、
前記セキュリティサーバによる前記サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御するように構成される。
【0006】
本願の実施例はサービス通信装置を提供し、前記装置は、
サービスアクセスプロセスから送信された認証要求を受信するように構成される、受信モジュールと、
前記サービスアクセスプロセスに対して同期検証処理を実行し、前記サービスアクセスプロセスに対して非同期検証処理を実行するように構成される、検証モジュールと、
前記サービスアクセスプロセスに対する同期検証処理の結果に基づいて、前記サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するように構成される、決定モジュールと、
前記サービス鍵情報に基づいて前記サービスアクセスプロセスとの間の暗号化サービス通信を実行するために、前記サービス鍵情報を前記サービスアクセスプロセスに送信するように構成される、送信モジュールと、
前記サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、前記サービスアクセスプロセスとの間における前記暗号化サービス通信を搬送するための通信接続を制御するように構成される、接続制御モジュールと、を備える。
【0007】
本願の実施例は電子機器を提供し、前記電子機器は、
実行可能な命令を記憶するメモリと、
前記メモリに記憶された実行可能な命令を実行するとき、本願の実施例によるサービス通信方法を実現するプロセッサと、を備える。
本願の実施例は、プロセッサの実行を開始する際に、本願の実施例によるサービス通信方法を実現する実行可能な命令が記憶されたコンピュータ可読記憶媒体を提供する。
本願の実施例は、プロセッサによって実行されるとき、本願の実施例によるサービス通信方法を実現する実行可能な命令を含むコンピュータプログラム製品を提供する。
【図面の簡単な説明】
【0008】
図1】本願の実施例によるサービス通信システムのアーキテクチャの概略図である。
図2】本願の実施例によるブロックチェーンネットワークを組み込んだサービス通信システムのアーキテクチャの概略図である。
図3】本願の実施例による端末機器のアーキテクチャの概略図である。
図4A】本願の実施例によるサービス通信方法の例示的なフローチャートである。
図4B】本願の実施例によるサービス通信方法の例示的なフローチャートである。
図4C】本願の実施例によるサービス通信方法の例示的なフローチャートである。
図4D】本願の実施例によるサービス通信方法の例示的なフローチャートである。
図4E】本願の実施例によるサービス通信方法の例示的なフローチャートである。
図5】本願の実施例によるセキュリティ管理側の戦略管理インターフェースの概略図である。
図6】本願の実施例によるプロセス情報の概略図である。
図7】本願の実施例によるセキュリティ管理側のゼロトラストゲートウェイインターフェースの概略図である。
図8】本願の実施例によるゼロトラストゲートウェイの構成インターフェースの概略図である。
図9】本願の実施例によるセキュリティ管理側のサービスシステムインターフェースの概略図である。
図10】本願の実施例によるサービスシステムの構成インターフェースの概略図である。
図11】本願の実施例によるサービスシステムの構成インターフェースの概略図である。
図12】本願の実施例によるサービスシステムの構成インターフェースの概略図である。
図13】本願の実施例によるセキュリティ管理側の戦略管理インターフェースの概略図である。
図14】本願の実施例によるセキュリティクライアントインターフェースの概略図である。
図15】本願の実施例によるセキュリティクライアントインターフェースの概略図である。
図16】本願の実施例によるセキュリティクライアントインターフェースの概略図である。
図17】本願の実施例によるアクセス過程の概略図である。
図18】本願の実施例によるアクセス過程の概略図である。
図19】本願の実施例によるセキュリティサーバカスケード展開の概略図である。
図20】本願の実施例による非同期検証処理の概略図である。
【発明を実施するための形態】
【0009】
本願の目的、技術的解決策及び利点をより明確にするために、以下では、図面を参照して本願を更に詳細に説明し、説明される実施例は本願に対する制限と見なすべきではなく、創造的な努力なしに当業者によって取得される他のすべての実施例は、本願の保護範囲に含まれるものとする。
【0010】
以下の説明では、「いくつかの実施例」という用語は、すべての可能な実施例のサブセットを指し、理解できることとして、「いくつかの実施例」という用語は、すべての可能な実施例の同じサブセット又は異なるサブセットであり得、これらは、競合することなく互いに組み合わせることができる。
【0011】
以下の説明では、関する用語「第1/第2/第3」は、類似する対象を区別するために過ぎず、対象に対する特定のソートを表しなく、当然のことながら、許可される場合に「第1/第2/第3」は、特定の順序または優先順位を互いに交換して、ここで説明される本願実施例が、図面で示されたり説明される以外の順序で実施できるようにすることができることに留意されたい。以下の説明で言及される「複数」という用語は、少なくとも2つを含むことを指す。
【0012】
特に定義しない限り、本明細書で使用されるすべての技術及び科学的用語は、当業者が通常理解している意味と同じである。本明細書で使用される用語は、本願実施例の目的を説明するために過ぎず、本願を限定することを目的とするものではない。
【0013】
本願実施例をさらに詳細に説明する前に、本願実施例に関する名詞および用語を説明し、本願実施例に関する名詞および用語は、以下の説明に適用可能である。
【0014】
1)サービスアクセスプロセス:呼び出し元となるプロセスを指し、本願の実施例は、サービスアクセスプロセスのタイプに対して限定しなく、例えば、サービスアクセスプロセスは、アプリケーションプロセス(例えば、ある会議アプリケーションのプロセス)であってもよいし、アプリケーションプロセスのサービス要求のプロキシとして専用されるプロセスであってもよい。
【0015】
2)同期(Synchronous)検証処理:同期検証処理が完了するまで待機する必要があり、即つ、同期検証処理の結果を得た場合のみ、他のステップを実行できる。本願の実施例において、サービスアクセスプロセスに対する同期検証処理、及びアプリケーションプロセスに対する同期検証処理に関し、例を挙げると、サービスアクセスプロセスに対する同期検証処理の結果を得た後にのみ、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するステップを実行する。
【0016】
3)非同期(Asynchronous)検証処理:非同期検証処理中に、他のステップを実行することができる。本願の実施例において、サービスアクセスプロセスに対する非同期検証処理、及びアプリケーションプロセスに対する非同期検証処理に関し、例を挙げると、サービスアクセスプロセスに対して非同期検証処理を実行する期間、サービスアクセスプロセスと暗号化サービス通信を実行することができる。
【0017】
4)サービス鍵情報:暗号化サービス通信を実行するために使用され、サービス鍵情報は少なくとも鍵を含み、更に鍵IDなどの情報を含んでもよい。
【0018】
5)署名情報:一般的には、デジタル署名(Digital Signature)に関する情報を指し、例えば、デジタル署名自体及び証明書情報などを含んでもよい。
【0019】
6)ハッシュ(Hash):任意の長さの入力を、ハッシュアルゴリズム(ハッシュ処理とも呼ばれる)によって、固定した長さの出力に変換し、当該出力がHash値(Hash結果とも呼ばれる)であり、それにより、得られたHash値により入力を識別することができる。ハッシュアルゴリズムは、メッセージダイジェスト(MD:Message-Digest)アルゴリズム及びセキュアハッシュアルゴリズム(SHA:Secure Hash Algorithm)などを含む。
【0020】
7)対称鍵:データ送信側とデータ受信側が同じ鍵を使用して暗号化処理と復号化処理を実行することを指し、本願の実施例は、対称鍵の生成方式に対して限定しなく、例えば、高度暗号化標準(AES:Advanced Encryption Standard)アルゴリズムにより対称鍵を生成することができる。
【0021】
8)非対称鍵対:公開鍵及び秘密鍵を含み、データ送信側は、公開鍵を介してデータに対して暗号化処理を実行し、データ受信側は、秘密鍵を介して、暗号化されたデータに対して復号化処理を実行し、又は、秘密鍵でデータに対して暗号化処理を実行し、公開鍵で、暗号化されたデータに対して復号化処理を実行してもよい。本願の実施例は、非対称鍵対の生成方式に対して限定しなく、例えば、RSAアルゴリズムを介して生成することができる。
【0022】
9)サービスゲートウェイ:受信されたサービス要求を対応するサービスサーバに転送して、サービス要求のプロキシを実現するために使用される。本願の実施例において、サービスゲートウェイは、ソフトウェアの形で実現することができ、ハードウェアの形で実現することもできる。
【0023】
10)サービスサーバ:サービスリソースを提供するために使用されるサーバであり、例えば、会議サービスにとって、会議アプリケーションのバックエンドサーバがサービスサーバであり、会議アプリケーションのネットワーク運用にデータサポートを提供するために使用される。
【0024】
11)ブロックチェーン(Blockchain):ブロック(Block)によって形成された暗号化されたチェーン式トランザクションの記憶構造である。
【0025】
12)ブロックチェーンネットワーク(Blockchain Network):コンセンサスの方式で新しいブロックをブロックチェーンに組み込む一連のノードの集合である。
【0026】
本願の実施例は、サービス通信方法、システム、装置、電子機器及びコンピュータ可読記憶媒体を提供し、サービス通信のセキュリティを向上させることができる。以下では、本願の実施例による電子機器の例示的な適用について説明し、本願の実施例による電子機器は、端末機器として実施されてもよいし、サーバとして実施されてもよい。
【0027】
図1を参照すると、図1は、本願の実施例によるサービス通信システム100のアーキテクチャの概略図であり、端末機器400は、ネットワーク300を介してサーバ200に接続し、ネットワーク300は、ワイドエリアネットワーク又はローカルエリアネットワーク、又は両者の組み合わせであってもよい。ここで、端末機器400は、サービスアクセスクライアントを実行する。
【0028】
いくつかの実施例において、電子機器が端末機器であることを例として、本願の実施例によるサービス通信方法は、端末機器によって実現されることができる。例えば、端末機器400内のサービスアクセスクライアントは、実行中のサービスアクセスプロセスを介して、端末機器400内のアプリケーションクライアントのアプリケーションプロセスのインターフェースを呼び出し、即ち、アプリケーションクライアントは、サービスアクセスプロセスから送信される認証要求を受信する。この場合、アプリケーションクライアントは、サービスアクセスプロセスに対して同期検証処理及び非同期検証処理を実行し、同期検証処理の結果に基づいて、割り当てられたサービス鍵情報を決定し、サービス鍵情報に基づいてサービスアクセスプロセスとの暗号化サービス通信を実行することができ、アプリケーションクライアントは、非同期検証処理の結果を得たとき、更に、非同期検証処理の結果に基づいてサービスアクセスプロセスとの通信接続を制御することができる。確立された暗号化サービス通信に基づいて、サービスアクセスプロセスは、様々なサービス目的を実現することができ、本願はこれらに対して限定しない。
【0029】
例を挙げると、サービスアクセスプロセスは、インスタント通信アプリケーションクライアント(以下、クライアントAと略称)のアプリケーションプロセスであり得、ファイル管理クライアント(以下、クライアントBと略称)のアプリケーションプロセスを呼び出し、クライアントAにおける特定のファイルリンク(例えば、相互作用インターフェースに共有されているファイルリンク)がユーザによってトリガされる場合、クライアントAのアプリケーションプロセスは、クライアントBのアプリケーションプロセスのインターフェースを呼び出して、クライアントBのアプリケーションプロセスと暗号化サービス通信を確立する。暗号化サービス通信を確立した上で、クライアントAのアプリケーションプロセスは、当該ファイルリンクを含むサービス要求をクライアントBのアプリケーションプロセスに送信することができ、クライアントBのアプリケーションプロセスは、管理しているファイルから当該ファイルリンクに対応するファイル(即ち応答データ)を照会し、照会されたファイルをクライアントAのアプリケーションプロセスに送信して、クライアントAのインターフェースで表示する。
【0030】
いくつかの実施例において、電子機器がサーバであることを例として、本願の実施例によるサービス通信方法は、サーバによって実現されることができる。例えば、端末機器400内のサービスアクセスクライアントは、実行中のサービスアクセスプロセスを介して、サーバ200で実行されるプロセスのインターフェースを呼び出すことができ、即ち、サーバ200は、サービスアクセスプロセスから送信される認証要求を受信する。この場合、サーバ200は、サービスアクセスプロセスに対して同期検証処理及び非同期検証処理を実行して、サービスアクセスプロセスとの暗号化サービス通信を確立することができる。例を挙げると、サービスアクセスクライアントは、特定のアプリケーションのクライアントであってもよく、サーバ200は、当該アプリケーションのバックエンドサーバであり、サービスアクセスクライアントは、サービスアクセスプロセスを介してサーバ200におけるプロセスと暗号化サービス通信を確立し、それにより、サーバ200におけるプロセスにアプリケーションデータ(即ち応答データ)を要求することができる。
【0031】
いくつかの実施例において、本願の実施例によるサービス通信方法は、端末機器及びサーバによって協働して実現されることもできる。例えば、端末機器400にはセキュリティクライアントが実行され、サーバ200は、セキュリティサーバである。セキュリティクライアントがサービスアクセスプロセスから送信された認証要求を受信する場合、セキュリティクライアントは、サービスアクセスプロセスに対して同期検証処理を実行し、サービスアクセスプロセスに対して非同期検証処理を実行することをセキュリティサーバに通知して、サービスアクセスプロセスと暗号化サービス通信を確立する。
【0032】
いくつかの実施例において、端末機器400又はサーバ200は、コンピュータプログラムを実行することにより、本願の実施例によるサービス通信方法を実現することができ、例えば、コンピュータプログラムは、オペレーティングシステムにおける固有プログラム又はソフトウェアモジュールであってもよく、ネイティブ(Native)アプリケーションプログラム(APP:Application)、即ち、オペレーティングシステムにインストールする必要があるプログラムであってもよいし、アプレット、即ち、ブラウザ環境にダウンロードするだけで実行可能となるプログラムであってもよいし、任意のAPPに組み込むことができるアプレットであってもよく、ここで、当該アプレットコンポーネントは、ユーザの制御によって実行又は終了することができる。まとめると、上記のコンピュータプログラムは、任意の形のアプリケーションプログラム、モジュール又はプラグインであってもよい。
【0033】
いくつかの実施例において、サーバ200は、独立した物理サーバであってもよいし、複数の物理サーバによって構成されたサーバクラスタ又は分散型システムであってもよいし、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、CDN、ビッグデータ及び人工知能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するクラウドサーバであってもよく、ここで、クラウドサービスは、端末機器400が呼び出すために提供される非同期検証サービスであってもよい。端末機器400は、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、スマートテレビ、スマートスピーカ、スマート腕時計などであってもよいが、これに限定しない。端末機器及びサーバは、有線又は無線の通信方式により直接的又は間接的に接続でき、本願の実施例では制限しない。
【0034】
図2を参照すると、図2は、本願の実施例によるブロックチェーンネットワークを組み込んだサービス通信システム110のアーキテクチャの概略図であり、ブロックチェーンネットワーク500(ブロックチェーンネットワーク500は通常、複数のノードを含み、ここではノード510を例示的に示している)、認証センター600及び電子機器700を備え、電子機器700は、サーバ(例えば図1に示すサーバ200)又は端末機器(例えば図1に示す端末機器400)であってもよく、実際の適用シーンに応じて決定することができる。ここで、認証センター600は、電子機器700にデジタル証明書を発行するために使用される。
【0035】
電子機器700は、ブロックチェーンネットワーク500にアクセスして、ブロックチェーンネットワーク500のクライアントノードになって、更に、ブロックチェーンに記憶されたデータを照会することができる。ここで、ブロックチェーンは、サービス通信過程における様々な情報を記憶するために使用されることができる。例えば、電子機器700は、ブロックチェーンに記憶されたブラックリストを照会して、ブラックリストに基づいてサービスアクセスプロセスに対して同期検証処理及び非同期検証処理のうちの少なくとも1つを実行することができる。
【0036】
本願の実施例による電子機器が端末機器であることを例として説明すると、理解できるように、電子機器がサーバである場合、図3に示す構造における一部(例えば、ユーザインターフェース、表現モジュールと入力処理モジュール)は、デフォルトにすることができる。図3を参照すると、図3は、本願の実施例による端末機器400の例示的な構造図であり、図3に示す端末機器400は、少なくとも1つのプロセッサ410と、メモリ450と、少なくとも1つのネットワークインターフェース420と、ユーザインターフェース430とを備える。端末400内の各コンポーネントは、バスシステム440によって結合される。理解できることとして、バスシステム440は、これらのコンポーネント間の接続通信を実現するために使用される。データバスに加えて、バスシステム440は、電力バス、制御バス及びステータス信号バスを含む。しかしながら、説明を明確にするために、図3には様々なバスをバスシステム440として表記されている。
【0037】
プロセッサ410は、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなど、信号処理の機能を有する集積回路チップであってもよく、ここで、汎用プロセッサはマイクロプロセッサ又は任意の従来のプロセッサなどであってもよい。
【0038】
ユーザインターフェース430は、メディアコンテンツを表現できるようにする1つ又は複数の出力装置431を備え、前記出力装置431は、1つ又は複数のスピーカ、及び/又は、1つ又は複数の視覚ディスプレイスクリーンを備える。ユーザインターフェース430は、更に1つ又は複数の入力装置432を備え、前記入力装置432は、キーボード、マウス、マイクロフォン、タッチスクリーンディスプレイスクリーン、カメラ、他の入力ボタンとコントロールなど、ユーザの入力に役立つユーザインターフェース部品を備える。
【0039】
メモリ450は、取り外し可能、取り外し不可能又はそれらの組み合わせであってもよい。例示的なハードウェア機器は、固体メモリ、ハードディスクドライバ、光ディスクドライバなどを含む。メモリ450は、物理的位置においてプロセッサ410から離れた1つ又は複数の記憶機器を選択的に含む。
【0040】
メモリ450は、揮発性メモリ又は不揮発性メモリを含み、揮発性メモリ及び不揮発性メモリの両方を含んでもよい。不揮発性メモリは、読み取り専用メモリ(ROM:Read Only Memory)であってもよく、揮発性メモリは、ランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。本願の実施例で説明されるメモリ450は、任意の適切なタイプのメモリを含むことを意図する。
【0041】
いくつかの実施例において、メモリ450は、データを記憶して様々な動作をサポートすることができ、これらのデータの例は、プログラム、モジュール及びデータ構造又はそのサブセット又はスーパーセットを含み、以下で例示的に説明する。
【0042】
オペレーティングシステム451は、フレームワーク層、コアライブラリ層、ドライバ層などの、様々な基本的なシステムサービスを処理し、ハードウェアに関するタスクを実行するためのシステムプログラムを含み、様々な基本的なサービスを実現し、ハードウェアベースのタスクを処理するために使用される。
【0043】
ネットワーク通信モジュール452は、1つ又は複数の(有線又は無線)ネットワークインターフェース420を経由して他のコンピュータ機器に到達するために使用され、例示的なネットワークインターフェース420は、Bluetooth(登録商標)技術、ワイヤレス・フィディリティ(WiFi)、及び汎用シリアルバス(USB、Universal Serial Bus)などを含む。
【0044】
表現モジュール453は、ユーザインターフェース430に関連付けられる1つ又は複数の出力装置431(例えば、ディスプレイスクリーン、スピーカなど)を経由して情報を表現できるようにするために使用される(例えば、周辺機器を動作し、コンテンツと情報を表示するためのユーザインターフェース)。
【0045】
入力処理モジュール454は、1つ又は複数の入力装置432のうちの1つからの1つ又は複数のユーザの入力又は相互作用を検出し、検出された入力又は相互作用を翻訳するために使用される。
【0046】
いくつかの実施例において、本願の実施例によるサービス通信装置は、ソフトウェア方式を採用して実現することができ、図3は、メモリ450に記憶されたサービス通信装置455を示し、それはプログラムとプラグインなどの形のソフトウェアであってもよく、受信モジュール4551、検証モジュール4552、決定モジュール4553、送信モジュール4554及び接続制御モジュール4555のようなソフトウェアモジュールを含み、これらのモジュールは論理的なものであるため、実現機能に基づいて任意の組み合わせ又は更らなる分割を実行することができる。以下では各モジュールの機能について説明する。
【0047】
本願の実施例による電子機器の例示的な適用及び実施を参照して、本願の実施例によるサービス通信方法について説明する。
【0048】
図4Aを参照すると、図4Aは、本願の実施例によるサービス通信方法の例示的なフローチャートであり、図4Aに示すステップと組み合わせて説明する。
【0049】
ステップ101において、サービスアクセスプロセスから送信された認証要求を受信する。
【0050】
ここで、電子機器は、サービスアクセスプロセスから送信された認証要求を受信し、例えば、電子機器で1つの認証インターフェース(例えば、ある特定のポート)を事前に約束し、電子機器がサービスアクセスプロセスによる当該認証インターフェースへの呼び出し要求を受信した場合、当該呼び出し要求を認証要求として使用することができる。ここで、サービスアクセスプロセスは、あるアプリケーションクライアントのアプリケーションプロセスであってもよく、アプリケーションクライアントをプロキシするプロセスに使用されてもよく、後文で説明する。なお、本願の実施例は、サービスのタイプに対して限定しなく、例えばインスタント通信サービス又はビデオサービスなどであってもよい。
【0051】
ステップ102において、サービスアクセスプロセスに対して同期検証処理を実行し、サービスアクセスプロセスに対して非同期検証処理を実行する。
【0052】
ここで、サービスアクセスプロセスについて、同期検証処理及び非同期検証処理を実行して、その合法性を検証する。本願の実施例は、同期検証処理及び非同期検証処理の実行順序に対して限定しない。例えば、同時に実行してもよく、さらに例えば、同期検証処理の結果が検証成功である場合に、非同期検証処理を実行してもよい。
【0053】
本願の実施例は、同期検証処理及び非同期検証処理の処理方式に対しても限定しない。例えば、同期検証処理及び非同期検証処理の検証対象は同じであってもよく、検証対象がサービスアクセスプロセスのプロセス情報である場合、両方の違いは、同期検証処理は一回だけ実行するが、非同期検証処理は周期的に複数回実行することである。
【0054】
ステップ103において、サービスアクセスプロセスに対する同期検証処理の結果に基づいて、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定する。
【0055】
例えば、サービスアクセスプロセスに対する同期検証処理の結果に基づいて、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するか否かを判断することができる。ここで、サービス鍵情報は少なくとも鍵を含み、更に、鍵IDなどを含み得る。サービス鍵情報は、サービスアクセスプロセスに対して事前に割り当てられたものであってもよいし、リアルタイムで割り当てられたものであってもよく、これに対して限定しない。
【0056】
なお、セキュリティを更に向上させるために、電子機器は更に、サービスアクセスプロセスのために割り当てられたサービス鍵情報を周期的に更新し、更新前のサービス鍵情報に対して失効処理(無効処理とも呼ばれる)を実行して、認証要求を再送信するようにサービスアクセスプロセスをトリガし、それにより、更新後のサービス鍵情報を取得することができる。
【0057】
いくつかの実施例において、認証要求は、認証要求アドレスを含み、異なるサービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当て、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して異なるサービス鍵情報を割り当てる方式;異なるサービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当て、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して同じサービス鍵情報を割り当てる方式;異なるサービスアクセスプロセスから送信された認証要求アドレスに対して同じサービス鍵情報を割り当て、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して同じサービス鍵情報を割り当てる方式により、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定する、上記のステップを実現することができる。
【0058】
ここで、電子機器は、サービスアクセスプロセスが認証要求アドレスに基づいて認証要求を送信するように、複数の認証要求アドレスを事前に約束することができる。電子機器が、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定する場合、サービスアクセスプロセス自体及び認証要求アドレスの2つの要因に基づいて、様々な割り当て方案を実現することができる。
【0059】
例を挙げると、最初の割り当て方案は、異なるサービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当て、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して異なるサービス鍵情報を割り当てることである。当該割り当て方案のセキュリティは、他の割り当て方案よりも高く、同時に、割り当てられたサービス鍵情報の数もより多く、電子機器は、割り当てられたサービス鍵情報を記憶するためにより多くの記憶リソースを必要とする。
【0060】
2番目の割り当て方案は、異なるサービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当て、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して同じサービス鍵情報を割り当て、即ち、サービスアクセスプロセスのみを区別することである。最初の割り当て方案に比べて、2番目の割り当て方案が必要とする記憶リソースはより少ない。
【0061】
3番目の割り当て方案は、サービスアクセスプロセス及び認証要求アドレスを区別しなく、即ち、統一されたサービス鍵情報を割り当てることであり、当該技術案が必要とする記憶リソースが最も少ない。
【0062】
実際の適用シナリオにおける需要に応じて、上記の3つの割り当て方案のうちの任意の1つを選択することができ、例えば、ある企業がセキュリティに対する要求が最も高い場合、上記の最初の割り当て方案を選択することができる。上記の方式により、サービス鍵情報の割り当ての柔軟性を向上させる。
【0063】
いくつかの実施例において、サービスアクセスプロセスに対する同期検証処理の結果が検証成功である場合、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定することにより、サービスアクセスプロセスに対する同期検証処理の結果に基づいて、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定する、上記のステップを実現することができる。
【0064】
ここで、サービスアクセスプロセスに対する同期検証処理の結果が検証成功である場合、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定し、サービスアクセスプロセスに対する同期検証処理の結果が検証失敗である場合、サービスアクセスプロセスが合法的ではないことを表し、そのため、サービスアクセスプロセスのためにサービス鍵情報を割り当てることを拒絶し、更に、サービスアクセスプロセスとの通信接続を切断することができる。即ち、サービスアクセスプロセスに対する同期検証処理は、実質的には、サービスアクセスプロセスが合法的であるか否かに対する初歩的な検証と見なすことができる。
【0065】
いくつかの実施例において、サービスアクセスプロセスに対する同期検証処理の結果が検証失敗である場合、サービスアクセスプロセスにエラー情報を送信して、認証要求を再送信するようにサービスアクセスプロセスに通知するか、又はサービスアクセスプロセスとの通信接続を切断することができる。更に、サービスアクセスプロセスに対する同期検証処理の結果が検証失敗であることを取得したときにサービスアクセスプロセスに対する非同期検証処理を実行している場合、サービスアクセスプロセスに対する非同期検証処理を中断して、計算リソースを節約することができる。
【0066】
ステップ104において、サービス鍵情報をサービスアクセスプロセスに送信して、サービス鍵情報に基づいてサービスアクセスプロセスとの間の暗号化サービス通信を実行する。
【0067】
電子機器は、サービスアクセスプロセスのために割り当てられたサービス鍵情報をサービスアクセスプロセスに送信し、このようにして、サービス鍵情報に基づいてサービスアクセスプロセスとの間の暗号化サービス通信を実行することをができる。例えば、サービス鍵情報が1つの対称鍵を含み、そうすると、サービスアクセスプロセスは、対称鍵に基づいてデータに対して暗号化処理を実行し、暗号化後のデータを電子機器に送信して、電子機器が対称鍵に基づいて受信された暗号化後のデータに対して復号化処理を実行するようにすることができ、同様に、電子機器が、対称鍵に基づいてデータに対して暗号化処理を実行し、暗号化後のデータをサービスアクセスプロセスに送信して、サービスアクセスプロセスが対称鍵に基づいて暗号化後のデータに対して復号化処理を実行するようにすることができる。
【0068】
ステップ105において、サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を制御する。
【0069】
ここで、サービスアクセスプロセスに対する非同期検証処理の結果を得るとき、当該非同期検証処理の結果に基づいて、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を制御する。本願の実施例は、通信接続のタイプに対して限定しなく、例えば、ソケット(Socket)接続であってもよい。
【0070】
いくつかの実施例において、サービスアクセスプロセスに対する非同期検証処理の結果が検証成功である場合、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を維持し、サービスアクセスプロセスに対する非同期検証処理の結果が検証失敗である場合、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を切断することにより、サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を制御する、上記のステップを実現することができる。
【0071】
ここで、サービスアクセスプロセスに対する非同期検証処理の結果が検証成功である場合、サービスアクセスプロセスが合法的であることを表すと、続いてサービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を維持し、サービスアクセスプロセスに対する非同期検証処理の結果が検証失敗である場合、サービスアクセスプロセスが合法的ではないことを表すと、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を切断して、サービスへの損害(例えば、サービスデータの盗難)を回避する。即ち、サービスアクセスプロセスに対する非同期検証処理は、実質的には、サービスアクセスプロセスが合法的であるか否かに対する再検証と見なすことができる。
【0072】
図4Aに示すように、本願の実施例は、同期検証処理と非同期検証処理を組み合わせる方式により、サービスアクセスプロセスの合法性を効果的に検証することができ、同時に、電子機器によって発行されたサービス鍵情報に対して暗号化サービス通信を実行することにより、サービス鍵情報が悪意のあるプロセスによって盗難し利用される確率を低減させ、サービス通信のセキュリティを向上させることができる。
【0073】
いくつかの実施例において、図4Bを参照すると、図4Bは、本願の実施例によるサービス通信方法の1つの例示的なフローチャートであり、図4Aに示すステップ102は、ステップ201~ステップ204により実現でき、各ステップと組み合わせて説明する。
【0074】
ステップ201において、サービスアクセスプロセスのプロセス経路と、設定されたセキュリティディレクトリとのマッチング結果を、第1検証処理結果として使用する。
【0075】
本願の実施例において、サービスアクセスプロセスに対する同期検証処理は、プロセス経路に対する検証処理及び署名情報に対する検証処理を含み得る。前者の場合、実際の適用シナリオに応じてセキュリティディレクトリを事前に設定し、サービスアクセスプロセスのプロセス経路とセキュリティディレクトリに対してマッチング処理を実行し、得られたマッチング結果を第1検証処理の結果として使用することができる。ここで、サービスアクセスプロセスのプロセス経路がセキュリティディレクトリにある場合、プロセス経路とセキュリティディレクトリとのマッチング結果が成功であること、即ち、第1検証処理結果が検証成功であることをを決定し、サービスアクセスプロセスのプロセス経路がセキュリティディレクトリにない場合、サービスアクセスプロセスが合法ではないことを表し、プロセス経路とセキュリティディレクトリとのマッチング結果が失敗であること、即ち、第1検証処理結果が検証失敗であることを決定する。
【0076】
ステップ202において、サービスアクセスプロセスの署名情報に対して検証処理を実行して、第2検証処理結果を得る。
【0077】
ここで、署名情報は一般的には、サービスアクセスプロセスのデジタル署名に関する情報を指し、実際の適用シナリオにおけるセキュリティ要件に応じて検証処理を実行する必要のある署名情報の具体的なコンテンツを決定することができる。サービスアクセスプロセスの署名情報に対して検証処理を実行した後、第2検証処理結果を得る。
【0078】
いくつかの実施例において、署名情報にデジタル署名が含まれているかどうかの結果、デジタル署名の有効性検証処理結果、デジタル署名の署名者と署名者ブラックリストとのマッチング結果、及び署名情報における証明書情報と証明書情報ブラックリストとのマッチング結果のうちの少なくとも1つに基づいて、第2検証処理結果を決定することにより、サービスアクセスプロセスの署名情報に対して検証処理を実行して、第2検証処理結果を得る、上記のステップを実現することができる。
【0079】
本願の実施例は、サービスアクセスプロセスの署名情報に対して検証処理を実行することの4つの影響因子を提供し、以下でそれぞれ説明する。
【0080】
(1)署名情報がデジタル署名の結果を含むか否か。例えば、署名情報がデジタル署名を含む場合、第2検証処理結果が検証成功であることを決定し、署名情報がデジタル署名を含まない場合、第2検証処理結果が検証失敗であることを決定する。
【0081】
(2)署名情報内のデジタル署名に対して有効性検証処理を実行することにより得られた有効性検証処理結果。例えば、有効性検証処理結果を第2検証処理結果として直接に使用することができ、有効性検証処理の方式については後文で説明する。
【0082】
(3)署名情報内のデジタル署名の署名者と署名者ブラックリストとのマッチング結果。例えば、署名者ブラックリストは、複数の悪意のある署名者を含み、サービスアクセスプロセスのデジタル署名の署名者が、署名者ブラックリスト内のいずれかの悪意のある署名者と同じである場合、即ち、マッチング成功である場合、第2検証処理結果が検証失敗であることを決定し、サービスアクセスプロセスのデジタル署名の署名者が、署名者ブラックリスト内のすべての悪意のある署名者と異なる場合、即ち、マッチング失敗である場合、第2検証処理結果が検証成功であることを決定する。
【0083】
(4)署名情報内の証明書情報と証明書情報ブラックリストとのマッチング結果。ここで、証明書はデジタル証明書(Digital Certificate)を指す。例えば、証明書情報ブラックリストが複数の悪意のある証明書情報を含み、サービスアクセスプロセスの証明書情報が、証明書情報ブラックリスト内のいずれかの悪意のある証明書情報と同じである場合、即ち、マッチング成功である場合、第2検証処理結果が検証失敗であることを決定し、サービスアクセスプロセスの証明書情報が、証明書情報ブラックリスト内のすべての悪意のある証明書情報と異なる場合、即ち、マッチング失敗の場合、第2検証処理結果が検証成功であることを決定する。ここで、証明書情報は、証明書チェーン(Certificate Chain)情報であってもよく、例えば、ルート証明書情報、中間証明書情報及び署名証明書情報を含み、証明書情報のフォーマットは、サービスアクセスプロセスの実際の証明書の発行状況に応じて決定される。
【0084】
上記の(1)ないし(4)の影響因子の検証強度が高くなるほど、検証期間も長くなり、実際の適用シナリオにおけるセキュリティ要件や効率要件を考慮して、上記のうちの少なくとも1つの影響因子を選択して検証処理を実行することができる。上記の方式(1)と(2)を使用することを例として説明すると、署名情報がデジタル署名を含み、且つデジタル署名に対する有効性検証処理結果が検証成功である場合に、第2検証処理結果が検証成功であることを決定し;署名情報がデジタル署名を含まないか、又はデジタル署名に対する有効性検証処理結果が検証失敗である場合、第2検証処理結果が検証失敗であることを決定する。上記の方式により、サービスアクセスプロセスの署名情報に対して検証処理を実行する柔軟性を向上させる。
【0085】
いくつかの実施例において、前記方法は、更に、署名情報内のデジタル署名、及びデジタル署名に対応する復号鍵を決定するステップと、復号鍵に基づいてデジタル署名に対して復号化処理を実行して、サービスアクセスプロセスのプロセスファイルの第1ハッシュ結果を得るステップと、サービスアクセスプロセスのプロセスファイルに対してハッシュ処理を実行して、第2ハッシュ結果を得るステップと、第1ハッシュ結果と第2ハッシュ結果とのマッチング結果を、デジタル署名の有効性検証処理の結果として使用するステップと、を含む。
【0086】
ここで、デジタル署名に対して有効性検証処理を実行する1つの例を提供する。デジタル署名は、サービスアクセスプロセスのプロセスファイルに対してハッシュ処理を実行し、得られた第1ハッシュ結果に対して暗号化処理を実行して得られたものであり得、ここで、プロセスファイルは、サービスアクセスプロセスのポータブル実行可能(PE:Portable Executable)ファイルを指してもよい。よって、デジタル署名に対して有効性検証処理を実行する場合、まず、署名情報内のデジタル署名、及びデジタル署名に対応する復号鍵を決定することができ、ここで、復号鍵は、サービスアクセスプロセスの証明書情報から解析して得られることができ、例えば、署名証明書から解析して得られることができる。
【0087】
その後、復号鍵に基づいてデジタル署名に対して復号化処理を実行して、第1ハッシュ結果を得、その同時に、サービスアクセスプロセスのプロセスファイルに対してハッシュ処理を実行して、第2ハッシュ結果を得、ここでのハッシュ処理に使用されるアルゴリズムは、同じく証明書情報から得られることができ、このようにして、第1ハッシュ結果の計算に使用されるアルゴリズムと、第2ハッシュ結果の計算に使用されるアルゴリズムとの一致性を保証することができる。最後に、第1ハッシュ結果と第2ハッシュ結果とのマッチング結果を、有効性検証処理の結果として使用し、例えば、第1ハッシュ結果が第2ハッシュ結果と同じである場合、即ち、マッチング成功である場合、有効性検証処理の結果が検証成功であることを決定し、第1ハッシュ結果が第2ハッシュ結果と異なる場合、プロセスファイルが改ざんされたことを表し、この場合、有効性検証処理の結果が検証失敗であることを決定する。もちろん、上記の方式は、有効性検証処理の1つの例に過ぎず、有効性検証処理を限定するものではない。例えば、WinVerifyTrustなどの特定のアプリケーションプログラミングインターフェース(API:Application Programming Interface)を呼び出すことにより、有効性検証処理を実現することもできる。
【0088】
ステップ203において、第1検証処理結果及び第2検証処理結果に基づいて、サービスアクセスプロセスに対する同期検証処理の結果を決定する。
【0089】
例えば、第1検証処理結果及び第2検証処理結果が両方とも検証成功である場合、サービスアクセスプロセスに対する同期検証処理の結果が検証成功であることを決定し;第1検証処理結果及び第2検証処理結果のうちの任意の1つが検証失敗である場合、サービスアクセスプロセスに対する同期検証処理の結果が検証失敗であることを決定する。このようにして、プロセス経路と署名情報の2つの態様を組み合わせてサービスアクセスプロセスの同期検証処理を実行して、得られた同期検証処理の結果の正確度を効果的に向上させることができる。
【0090】
ステップ204において、サービスアクセスプロセスのプロセス情報をプロセス情報ブラックリストに周期的にマッチングさせ、得られたマッチング結果をサービスアクセスプロセスに対する非同期検証処理の結果として使用する。
【0091】
ここで、プロセス情報は、プロセスファイルのMD5値、プロセスファイルのHash値、プロセス経路及び証明書情報のうちの少なくとも1つを含み得、実際の適用シナリオに応じて設定することができる。プロセス情報ブラックリストは、複数の悪意のあるプロセスのプロセス情報を含み、プロセス情報ブラックリストは、ウイルスデータベースのような、時間の経過とともに更新されるものであり得る。サービスアクセスプロセスに対して非同期検証処理を実行する過程において、サービスアクセスプロセスのプロセス情報をプロセス情報ブラックリスト(例えば、現在最新のプロセス情報ブラックリスト)と周期的にマッチングさせ、サービスアクセスプロセスのプロセス情報が、プロセス情報ブラックリスト内のいずれかのプロセス情報と同じである場合、即ち、マッチング成功である場合、サービスアクセスプロセスに対する非同期検証処理の結果が検証失敗であることを決定し;サービスアクセスプロセスのプロセス情報が、プロセス情報ブラックリスト内のすべてのプロセス情報と異なる場合、即ち、マッチング失敗の場合、サービスアクセスプロセスに対する非同期検証処理の結果が検証成功であることを決定する。
【0092】
なお、プロセス情報が、複数タイプのコンテンツ(例えば、MD5値、Hash値など)を含む場合、プロセス情報Aに含まれる特定のコンテンツ(例えばMD5値)が、プロセス情報Bに含まれる同じタイプのコンテンツと同じである場合、プロセス情報Aがプロセス情報Bと同じであることを決定するように設定することができ、それにより、セキュリティ管理の効率を向上させる。
【0093】
更に、サービスアクセスプロセスのプロセス情報を特定のクラウドサービスに周期的に送信して、クラウドサービスがサービスアクセスプロセスのプロセス情報をプロセス情報ブラックリストとマッチングさせるようにし、それにより、ローカル処理の負担を軽減することができる。
【0094】
図4Bに示すように、本願の実施例は、サービスアクセスプロセスに対して同期検証処理及び非同期検証処理を実行する、いくつかの例を提供し、得られた同期検証処理の結果及び非同期検証処理の結果の正確度を効果的に向上させ、それにより、後続で行われるサービス通信のセキュリティを向上させることができる。
【0095】
いくつかの実施例において、図4Cを参照すると、図4Cは、本願の実施例によるサービス通信方法の1つの例示的なフローチャートであり、図4Aに示すステップ104は、ステップ301~ステップ307により実現でき、各ステップと組み合わせて説明する。
【0096】
ステップ301において、認証要求内の公開鍵に基づいてサービス鍵情報に対して暗号化処理を実行する。
【0097】
サービス鍵情報の伝送過程中のセキュリティと機密性を向上させるために、本願の実施例において、ステップ101の前に、サービスアクセスプロセスによって非対称鍵対を生成し、非対称鍵対のうちの公開鍵を認証要求に追加することができ、ここで、非対称鍵対は、公開鍵及び公開鍵に付随する秘密鍵を含む。
【0098】
電子機器は、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定した後、サービスアクセスプロセスから送信された公開鍵を利用してサービス鍵情報に対して暗号化処理を実行することができる。
【0099】
ステップ302において、暗号化後のサービス鍵情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスが秘密鍵対に基づいて暗号化後のサービス鍵情報に対して復号化処理を実行するようにする。
【0100】
ここで、電子機器は、暗号化後のサービス鍵情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスが、記憶された秘密鍵に基づいて暗号化後のサービス鍵情報に対して復号化処理を実行するようにする。サービスアクセスプロセス以外の他のプロセスは秘密鍵を有していないため、暗号化後のサービス鍵情報が他のプロセスによって盗難されても、他のプロセスは実際のサービス鍵情報を得ることができない。上記の方式により、サービス鍵情報の機密性を向上させることができる。
【0101】
ステップ303において、サービスアクセスプロセスから送信されたサービス要求を受信し、ここで、サービス要求は、鍵ID、及び対称鍵を利用して暗号化された要求データを含む。
【0102】
ここで、サービス鍵情報が鍵ID及び対称鍵を含むことを例として、暗号化サービス通信の過程について説明する。サービスアクセスプロセスがサービス鍵情報を受信した後、サービス鍵情報に基づいて呼び出し要求を生成することができ、当該呼び出し要求は、鍵ID、及び対称鍵を利用して暗号化された要求データを含み、ここでは要求データのタイプに対して限定しなく、実際の適用シナリオに応じて決定することができる。
【0103】
なお、電子機器で1つのサービスインターフェース(例えばある特定のポート)を事前に約束し、電子機器がサービスアクセスプロセスによる当該サービスインターフェースへの呼び出し要求を受信した場合、当該呼び出し要求をサービス要求として使用することができる。ここで、様々なサービスに異なるサービスインターフェースを設定してもよいし、統一されたサービスインターフェースを設定してもよい。
【0104】
ステップ304において、割り当て済みの対称鍵のうち、サービス要求の鍵IDに対応する対称鍵を照会する。
【0105】
電子機器はサービス鍵情報を割り当てる同時に、サービス鍵情報を記憶し、ここで、各サービス鍵情報は、1つの鍵ID及び鍵IDに対応する対称鍵を含む。電子機器が、サービスアクセスプロセスから送信されたサービス要求を受信した場合、割り当てられたすべての対称鍵で、サービス要求内の鍵IDに対応する対称鍵を照会する。鍵IDに対応する対称鍵が照会されていない場合、対応するエラー情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスがエラー情報を受信した場合にサービス要求を再送信するようにする。
【0106】
いくつかの実施例において、ステップ304の後、更に、照会された対称鍵の使用パラメータが期限切れパラメータ条件を満たす場合、期限切れ情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスが期限切れ情報を受信した場合認証要求を再送信するようにするステップを含み、ここで、使用パラメータは、使用回数及び使用期間のうちの少なくとも1つを含む。
【0107】
サービス鍵情報について、期限切れパラメータ条件を設定することができ、あるサービス鍵情報の使用パラメータが期限切れパラメータ条件を満たす場合、電子機器は当該サービス鍵情報を更新することができ、ここで、期限切れパラメータ条件は、最大使用回数及び有効な使用期間のうちの少なくとも1つであってもよく、もちろん、他の条件であってもよく、これに対して限定しない。
【0108】
電子機器がサービス要求内の鍵IDに基づいて照会した後、照会された対称鍵の使用パラメータ(対称鍵が属するサービス鍵情報の使用パラメータと同様)が期限切れパラメータ条件を満たす場合、期限切れ情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスが期限切れ情報を受信した場合に認証要求を再送信するようにし、それにより、更新後のサービス鍵情報を要求する。上記の方式により、サービス鍵情報の動的更新を実現し、更に、サービス通信のセキュリティを向上させることができる。
【0109】
ステップ305において、照会された対称鍵に基づいて、サービス要求における暗号化後の要求データに対して復号化処理を実行する。
【0110】
ステップ306において、復号化処理によって得られた要求データに対して応答処理を実行して、応答データを得る。
【0111】
ここで、実際のサービス戦略又は規則に基づいて、復号化処理して得られた要求データに対して応答処理を実行して、応答データを得ることができる。例えば、復号化処理して得られた要求データが1つのビデオリンクである場合、当該ビデオリンクに対応するビデオデータを取得して、応答データとして使用することができる。なお、行われる応答処理は、復号化処理して得られた要求データを記憶することであってもよく、即ち、必ずしも応答データを得る必要がなく、ここでは、応答データを得る場合について例示的に説明する。
【0112】
いくつかの実施例において、サービス要求は更に、タイムスタンプと第1検定情報を含み、ここで、第1検定情報は、サービスアクセスプロセスが鍵ID、対称鍵、タイムスタンプ、及び対称鍵を利用して暗号化された要求データに対してハッシュ処理を実行して得られたものであり、更に、鍵ID、照会された対称鍵、タイムスタンプ、及び暗号化後の要求データに対してハッシュ処理を実行して、第2検定情報を取得し、第1検定情報と第2検定情報とのマッチング結果がマッチング成功である場合、復号化処理して得られた要求データに対して応答処理を実行することにより、復号化処理知れ得られた要求データに対して応答処理を実行する、上記のステップを実現することができる。
【0113】
ここで、サービスアクセスプロセスは、鍵ID、対称鍵、現在のタイムスタンプ、及び対称鍵を利用して暗号化された要求データに対してハッシュ処理を実行して、第1検定情報を取得し、第1検定情報をサービス要求に追加することができ、即ち、サービス要求は、鍵ID、対称鍵を利用して暗号化された要求データ、タイムスタンプ、及び第1検定情報を含む。電子機器がサービス要求内の鍵IDを介して対応する対称鍵を照会した後、サービス要求内の鍵ID、照会された対称鍵、サービス要求内のタイムスタンプ、及びサービス要求内の暗号化後の要求データに対してハッシュ処理を実行して、第2検定情報を得る。ここで、ハッシュ処理に採用されるアルゴリズムは事前に約束され、アルゴリズムを統一することを保証することができる。
【0114】
第1検定情報が第2検定情報と同じである場合、即ちマッチング成功である場合、サービス要求内のデータが改ざんされてないことを表し、この場合、電子機器は復号化処理して得られた要求データに対して応答処理を実行し、第1検定情報が第2検定情報と異なる場合、即ちマッチング失敗の場合、サービス要求内のデータが改ざんされたことを表し、電子機器は対応するエラー情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスがエラー情報を受信した場合にサービス要求を再送信するようにする。なお、本願の実施例において、まず第1検定情報を第2検定情報と比較してから、照会された対称鍵に基づいてサービス要求内の暗号化後の要求データに対して復号化処理を実行してもよく、まず照会された対称鍵に基づいてサービス要求内の暗号化後の要求データに対して復号化処理を実行してから、第1検定情報を第2検定情報と比較してもよい。上記の方式により、サービス要求内のデータが改ざんされたか否かを正確に判断することにより、応答処理を実行するか否かを決定することができる。
【0115】
ステップ307において、公開鍵に基づいて応答データに対して暗号化処理を実行し、暗号化後の応答データをサービスアクセスプロセスに送信して、サービスアクセスプロセスが、秘密鍵に基づいて、暗号化後の応答データに対して復号化処理を実行するようにする。
【0116】
電子機器が応答処理により応答データを得た後、サービスアクセスプロセスから送信された公開鍵に基づいて応答データに対して暗号化処理を実行し、暗号化後の応答データをサービスアクセスプロセスに送信する。このようにして、サービスアクセスプロセスが暗号化後の応答データを受信した場合、記憶された秘密鍵に基づいてそれに対して復号化処理を実行して、応答データを得、1回の暗号化サービス通信をすることができる。
【0117】
図4Cに示すように、本願の実施例は、サービスアクセスプロセスによって生成された非対称鍵対、及び電子機器によって発行されたサービス鍵情報を組み合わせて暗号化サービス通信を実行し、サービス通信のセキュリティと機密性を効果的に保障することができる。
【0118】
いくつかの実施例において、図4Dを参照すると、図4Dは、本願の実施例によるサービス通信方法の1つの例示的なフローチャートであり、図4Aに示すステップ104の後、更にステップ401において、サービスアクセスプロセスから送信されたクレデンシャル要求を受信することができ、ここで、クレデンシャル要求は、サービスアクセスプロセスがアプリケーションプロセスのサービス要求を傍受するときに送信したものであり、サービス要求の宛先アドレスは、サービスサーバのアドレスである。
【0119】
本願の実施例において、サービスアクセスプロセスは、アプリケーションプロセス(例えば、サービスアクセスプロセスと同じ端末機器で実行されるアプリケーションプロセス)によって送信されたサービス要求を傍受するために使用されることができ、ここで、当該サービスが要求する宛先アドレスは、サービスサーバのアドレスであり、ここでのアドレスは、IPアドレス(又はドメインネーム)及びポートを含み得る。ここで、サービス要求を傍受する方式に対して限定しなく、例えば、特定の仮想ネットワークインターフェースカードにより傍受することができる。
【0120】
サービスアクセスプロセスがサービス要求を傍受した場合、クレデンシャル要求を生成し、当該クレデンシャル要求のコンテンツは、サービス要求内の送信元アドレス(即ちアプリケーションプロセスのアドレス)及び宛先アドレスを含み得、更に、アプリケーションプロセスのプロセスID(PID:Process IDentification)を含み得る。
【0121】
ステップ402において、アプリケーションプロセスに対して同期検証処理を実行する。
【0122】
電子機器は、サービスアクセスプロセスから送信されたクレデンシャル要求を受信した場合、クレデンシャル要求が指示されるアプリケーションプロセスに対して同期検証処理を実行する。実質的には、クレデンシャル要求もサービスアクセスプロセスから送信されたサービス要求の一種であり、クレデンシャル要求が要求する応答データがサービスクレデンシャルである。
【0123】
いくつかの実施例において、更に、アプリケーションプロセスが構成されている機器におけるログイン状態のユーザアカウントを決定し、ユーザアカウントに対応する信頼できるアプリケーションプロセスのプロセス情報、及びユーザアカウントに対応するアクセス可能なサービスサーバのアドレスを取得し;アプリケーションプロセスのプロセス情報と、信頼できるアプリケーションプロセスのプロセス情報とのマッチング結果を、第3検証処理結果として使用し;サービス要求が要求するサービスサーバのアドレスと、アクセス可能なサービスサーバのアドレスとのマッチング結果を、第4検証処理結果として使用し;アプリケーションプロセスが構成されている機器の機器情報を取得し、機器情報と機器セキュリティ条件とのマッチング結果を、第5検証処理結果として使用し;第3検証処理結果、第4検証処理結果及び第5検証処理結果に基づいて、アプリケーションプロセスに対する同期検証処理の結果を決定する、方式により、アプリケーションプロセスに対して同期検証処理を実行する、上記のステップを実現することができる。
【0124】
ここで、アプリケーションプロセスに対して同期検証処理を実行する1つの例を提供する。まず、実際の適用シナリオに応じて、複数のユーザアカウントのうちの各ユーザアカウントに対して、ユーザアカウントに対応する信頼できるアプリケーションプロセス及びアクセス可能なサービスサーバを設定することができ、電子機器は、信頼できるアプリケーションプロセスのプロセス情報及びアクセス可能なサービスサーバのアドレスをローカルに記憶することができる。
【0125】
電子機器は、サービスアクセスプロセスから送信されたクレデンシャル要求を受信した場合、クレデンシャル要求内のPIDに基づいて、対応するアプリケーションプロセスを決定し、アプリケーションプロセスが構成されている機器におけるログイン状態のユーザアカウントを決定し、同時に、アプリケーションプロセスが構成されている機器の機器情報を取得することができる。ログイン状態にあるユーザアカウントについて、アプリケーションプロセスのプロセス情報が、当該ユーザアカウントに対応するいずれかの信頼できるアプリケーションプロセスのプロセス情報と同じである場合、即ちマッチング成功である場合、第3検証処理結果が検証成功であることを決定し;アプリケーションプロセスのプロセス情報が、当該ユーザアカウントに対応するすべての信頼できるアプリケーションプロセスのプロセス情報と異なる場合、第3検証処理結果が検証失敗であることを決定する。同様に、ログイン状態にあるユーザアカウントについて、クレデンシャル要求内の宛先アドレスが、当該ユーザアカウントに対応するいずれかのアクセス可能なサービスサーバのアドレスと同じである場合、即ちマッチング成功である場合、第4検証処理結果が検証成功であることを決定し;クレデンシャル要求内の宛先アドレスが、当該ユーザアカウントに対応するすべてのアクセス可能なサービスサーバのアドレスと異なる場合、第4検証処理結果が検証失敗であることを決定する。
【0126】
更に、機器情報を、設定された機器セキュリティ条件とマッチングさせ、機器情報が機器セキュリティ条件を満たす場合、即ちマッチング成功である場合、第5検証処理結果が検証成功であることを決定し、そうでない場合、第5検証処理結果が検証失敗であることを決定する。ここで、機器セキュリティ条件を限定しなく、例えば、機器情報にウイルスやシステム脆弱性を含まないことであってもよい。
【0127】
最後に、第3検証処理結果、第4検証処理結果及び第5検証処理結果がすべて検証成功である場合、アプリケーションプロセスに対する同期検証処理の結果が検証成功であることを決定し;第3検証処理結果、第4検証処理結果及び第5検証処理結果のうちの任意の1つが検証失敗である場合、アプリケーションプロセスに対する同期検証処理の結果が検証失敗であることを決定する。なお、上記の第3検証処理結果、第4検証処理結果及び第5検証処理結果のうちの少なくとも1つに基づいて、アプリケーションプロセスに対する同期検証処理の結果を決定することもでき、それにより、同期検証処理の効率を向上させる。上記の方式により、得られた同期検証処理の結果の正確度と有効性を向上させることができる。
【0128】
いくつかの実施例において、ステップ401の後、更に、アプリケーションプロセスのプロセス情報をプロセス情報ブラックリストに周期的にマッチングさせ、得られたマッチング結果をアプリケーションプロセスに対する非同期検証処理の結果として使用するステップと、アプリケーションプロセスに対する非同期検証処理の結果に基づいて、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を制御するステップと、を含む。
【0129】
アプリケーションプロセスに対して同期検証処理を実行する以外に、更に、アプリケーションプロセスに対して非同期検証処理を実行することができる。ここで、アプリケーションプロセスに対して非同期検証処理を実行する過程は、サービスアクセスプロセスに対して非同期検証処理を実行する上記の過程と類似する。アプリケーションプロセスに対する非同期検証処理の結果を得た後、当該非同期検証処理の結果が検証成功である場合、サービスアクセスプロセス間の通信接続を維持し、当該非同期検証処理の結果が検証失敗である場合、サービスアクセスプロセス間の通信接続を切断する。
【0130】
いくつかの実施例において、任意のステップの間に、更に、ブロックチェーンに記憶されたブラックリストを照会するために、ブロックチェーンネットワークに照会要求を送信するステップを含む。
【0131】
本願の実施例は、ブロックチェーン技術と組み合わせて実現することもできる。本願の実施例において、ブロックチェーンは、ブラックリストを記憶するために使用されてもよく、上記の署名者ブラックリスト、証明書情報ブラックリスト及びプロセス情報ブラックリストを含むがこれに限定されない。以下では、電子機器がブロックチェーンネットワークにアクセスしてブラックリストを照会することを例として、ブロックチェーンネットワークの例示的な適用について説明する。
【0132】
理解を容易にするために、図2に示すアーキテクチャで、電子機器700がブロックチェーンネットワーク500にアクセスして、ブロックチェーンネットワーク500のクライアントノードになることについて説明する。電子機器700は、ブラックリストを照会する必要がある場合、照会要求をトランザクションの形でブロックチェーンネットワーク500に送信し、照会動作を実現するために呼び出されるスマートコントラクト及びスマートコントラクトに伝達されるパラメータをトランザクション中に指定し、トランザクションは、電子機器700が署名したデジタル署名(例えば、電子機器700のデジタル証明書を使用して、トランザクションの概要を暗号化して得られる)を運び、トランザクションをブロックチェーンネットワーク500に放送する。ここで、デジタル証明書は、電子機器700によって認証センター600に登録して得られることができる。
【0133】
ブロックチェーンネットワーク500におけるノード510がトランザクションを受信した場合、トランザクションに運ばれるデジタル署名を検証し、デジタル署名の検証が成功した後、トランザクションに運ばれる電子機器700の識別子に基づいて、電子機器700がトランザクション権限があるか否かを確認し、デジタル署名と権限検証のいずれかの検証判断はトランザクション失敗につながる。検証が成功すると、ノード510自身のデジタル署名に署名し、ブロックチェーンネットワーク500で放送を継続する。
【0134】
ブロックチェーンネットワーク500における順序付け機能を有するノード510は、検証成功のトランザクションを受信した後、トランザクションを新しいブロックに充填し、ブロックチェーンネットワーク500におけるコンセンサスサービスを提供するノードに放送する。
【0135】
ブロックチェーンネットワーク500におけるコンセンサスサービスを提供するノード510は、合意に達するために新しいブロックに対してコンセンサス処理を実行し、帳簿機能を提供するノード510は、新しいブロックをブロックチェーンの末尾に追加し、新しいブロック内のトランザクションを実行し、ここで、ブラックリストを照会するトランザクションについて、状態データベースからブラックリストを照会し、照会されたブラックリストを電子機器700に送信する。なお、状態データベースは、キーと値のペアの形でデータを記憶し、且つ状態データベースによって記憶されるデータは通常、ブロックチェーンによって記憶されたデータと同じであり、照会トランザクションに応答するとき、状態データベース内のデータに基づいて優先的に応答することができて、それにより、応答効率を向上させる。もちろん、状態データベースが存在しない場合には、ブロックチェーン内のデータに基づいて直接に応答してもよい。ブロックチェーン内のデータが改ざん不可能の特性を有するため、上記の方式により、取得されたブラックリストの正確度を保証する。なお、ブロックチェーンに記憶されたデータはブラックリストに限定されなく、例えば、割り当てられたサービス鍵情報、ユーザアカウントに対応する信頼できるアプリケーションプロセスのプロセス情報、ユーザアカウントに対応するアクセス可能なサービスサーバのアドレスなどを更に含み得る。
【0136】
ステップ403において、アプリケーションプロセスに対する同期検証処理の結果に基づいて、アプリケーションプロセスのために割り当てられたサービスクレデンシャル及びゲートウェイアドレスを決定し、サービスクレデンシャル及びゲートウェイアドレスをサービスアクセスプロセスに送信して、サービスアクセスプロセスが、サービスクレデンシャル及びサービス要求をゲートウェイアドレスに対応するサービスゲートウェイに送信するようにする。
【0137】
例えば、アプリケーションプロセスに対する同期検証処理の結果が検証成功である場合、電子機器は、アプリケーションプロセスのために割り当てられたサービスクレデンシャル及びゲートウェイアドレスを決定し、サービスクレデンシャル及びゲートウェイアドレスをサービスアクセスプロセスに送信し;アプリケーションプロセスに対する同期検証処理の結果が検証失敗である場合、サービスアクセスプロセスとの間の通信接続を切断するか、又はサービスアクセスプロセスにサービスサーバと直接接続するように通知する。ここでのゲートウェイアドレスは、サービスサーバ(ここでは、アプリケーションプロセスのサービス要求が要求するサービスサーバを指す)へのアクセス権限を有するサービスゲートウェイのアドレスを指し、本願の実施例において、異なるサービスサーバに対して、アクセス権限を有する異なるサービスゲートウェイを設定してもよいし、アクセス権限を有するサービスゲートウェイを統一的に設定してもよく、これに対して限定しない。後続の検証のために、電子機器は、割り当てられたサービスクレデンシャルをローカルに記憶することができ、ここで、サービスクレデンシャルのタイプを限定しなく、例えば、1つのランダムの文字列であってもよい。
【0138】
サービスアクセスプロセスがサービスクレデンシャル及びゲートウェイアドレスを受信した場合、まず、サービスクレデンシャルをゲートウェイアドレスに対応するサービスゲートウェイに送信してもよい。サービスゲートウェイがサービスクレデンシャルを受信した場合、サービスクレデンシャルを電子機器に送信して検証処理を実行し、サービスクレデンシャルが電子機器に記憶されたサービスクレデンシャルと同じである場合、即ち検証成功である場合、サービスゲートウェイは、検証成功の情報をサービスアクセスプロセスに送信することができる。サービスアクセスプロセスが検証成功の情報を受信した場合、アプリケーションプロセスのサービス要求をサービスゲートウェイに送信して、サービスゲートウェイがサービス要求をサービスサーバに転送するようにし、このようにして、サービスサーバは、受信されたサービス要求内の要求データに対して応答処理を実行することができる。サービスサーバが応答処理によって得られた応答データについては、逆の通信方向に応じてアプリケーションプロセスに送信すればよい。なお、サービスゲートウェイが、受信されたサービスクレデンシャルに検証に失敗した場合、サービスゲートウェイは、サービスアクセスプロセスから送信されたサービス要求の転送をサポートしなく、例えば、サービスゲートウェイは、サービスアクセスプロセスとの通信接続を切断することができる。
【0139】
なお、上記のステップ401~ステップ403において、サービスアクセスプロセスと電子機器との相互作用は、すべて暗号化サービス通信の範囲に含まれる。
【0140】
図4Dに示すように、サービスアクセスプロセスは、アプリケーションプロセスのプロキシとして、サービスサーバへのアクセスを実現し、ゼロトラストボーダーレスオフィス(Borderless office)のシナリオなど、ゼロトラストシナリオに適用されることができる。
【0141】
いくつかの実施例において、サービス通信システムによりサービス通信方法を実現することができ、ここで、サービス通信システムは、サービスアクセスクライアント、セキュリティクライアント及びセキュリティサーバを含む。図4Eを参照すると、図4Eは、本願の実施例によるサービス通信方法の例示的なフローチャートであり、図4Eに示すステップと組み合わせて説明する。
【0142】
ステップ501において、セキュリティクライアントがサービスアクセスプロセスから送信された認証要求を受信する。
【0143】
ここで、セキュリティクライアント及びサービスアクセスクライアントは、同じ端末機器に展開されてもよいし、異なる端末機器に展開されてもよい。
【0144】
ステップ502において、セキュリティクライアントがサービスアクセスプロセスに対して同期検証処理を実行する。
【0145】
ここで、サービスアクセスプロセスに対して行われた同期検証処理は、プロセス経路と署名情報に対する検証処理を含み得る。なお、いくつかの実施例において、サービスアクセスクライアントは、セキュリティクライアントの1つのコンポーネントであり得、セキュリティクライアントがサービスアクセスプロセスのプロセス経路に対して検証処理を実行するとき、セキュリティディレクトリは、セキュリティクライアントのインストールディレクトリであってもよい。
【0146】
ステップ503において、セキュリティサーバがサービスアクセスプロセスに対して非同期検証処理を実行する。
【0147】
ここで、セキュリティクライアントは、サービスアクセスプロセスに対して非同期検証処理を実行するようにセキュリティサーバに通知することができ、セキュリティサーバは、サービスアクセスプロセスに対する非同期検証処理の結果をセキュリティクライアントに返送することができる。ここで、セキュリティクライアントは、サービスアクセスプロセスのプロセス情報をセキュリティサーバに送信して、非同期検証処理の実行を容易にすることができる。
【0148】
ステップ504において、セキュリティクライアントが、サービスアクセスプロセスに対する同期検証処理の結果に基づいて、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定する。
【0149】
例えば、サービスアクセスプロセスに対する同期検証処理の結果が検証成功である場合、セキュリティクライアントは、サービス鍵情報をセキュリティサーバに要求し、即ち、サービス鍵情報の実際の生成元はセキュリティサーバであってもよい。セキュリティクライアントは、取得されたサービス鍵情報をローカルに記憶して、後続の暗号化サービス通信の実行を容易にすることができる。
【0150】
ステップ505において、セキュリティクライアントがサービス鍵情報をサービスアクセスプロセスに送信して、サービス鍵情報に基づいてサービスアクセスプロセスとの間の暗号化サービス通信を実行する。
【0151】
いくつかの実施例において、ステップ505の後、更に、セキュリティクライアントがサービスアクセスプロセスから送信されたクレデンシャル要求を受信するステップであって、ここで、クレデンシャル要求は、サービスアクセスプロセスがアプリケーションプロセスのサービス要求を傍受するときに送信するものであり、サービス要求の宛先アドレスは、サービスサーバのアドレスであるステップと、セキュリティクライアントが、アプリケーションプロセスに対して同期検証処理を実行するようにセキュリティサーバに通知するステップと、セキュリティサーバが、アプリケーションプロセスに対する同期検証処理の結果に基づいて、アプリケーションプロセスのために割り当てられたサービスクレデンシャル及びゲートウェイアドレスを決定し、セキュリティクライアントを介して、サービスクレデンシャル及びゲートウェイアドレスをサービスアクセスプロセスに送信するステップと、サービスアクセスクライアントが、サービスアクセスプロセスを介して、サービスクレデンシャル及びサービス要求をゲートウェイアドレスに対応するサービスゲートウェイに送信するステップと、を含み、ここで、サービスゲートウェイは、受信されたサービスクレデンシャルに対して検証処理を実行し、サービスクレデンシャルに対する検証処理の結果が検証成功である場合、受信されたサービス要求をサービスサーバに送信するように構成され、サービスサーバは、受信されたサービス要求内の要求データに対して応答処理を実行するように構成される。
【0152】
例えば、セキュリティクライアント、サービスアクセスプロセス及びアプリケーションプロセスは、同じ端末機器で実行されることができる。セキュリティクライアントは、取得されたクレデンシャル要求、アプリケーションプロセスが構成されている機器におけるログイン状態のユーザアカウント、アプリケーションプロセスのプロセス情報、及びアプリケーションプロセスが構成されている機器の機器情報をセキュリティサーバに送信して、セキュリティサーバがアプリケーションプロセスに対して同期検証処理を実行するようにすることができ、ここで、ログイン状態のユーザアカウントは、セキュリティクライアントにおけるログイン状態のユーザアカウントを指すことができる。
【0153】
いくつかの実施例において、セキュリティサーバはさらに、アプリケーションプロセスに対して非同期検証処理を実行することができる。
【0154】
ステップ506において、セキュリティクライアントが、セキュリティサーバによるサービスアクセスプロセスに対する非同期検証処理の結果に基づいて、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を制御する。
【0155】
図4Eに示すように、本願の実施例において、サービスアクセスクライアント、セキュリティクライアント及びセキュリティサーバを介して暗号化サービス通信を実現することができ、ここで、サービスアクセスクライアントは、セキュリティクライアントの1つのコンポーネントとして使用されることができて、端末機器(例えば企業の従業員が所持する端末機器)にインストールし易く、ゼロトラストボーダーレスオフィスなどのシナリオに適用される。
【0156】
以下では、本願の実施例の1つの実際の適用シナリオにおける例示的な適用について説明し、理解を容易にするために、ゼロトラストボーダーレスオフィスのシナリオを一例として説明し、ここで、ゼロトラスト(Zero Trust)は、ネットワーク内部や外部を信頼しない任意のユーザ/機器/アプリケーションを指す。本願の実施例において、サービス通信システムは、セキュリティクライアント、セキュリティサーバ及びセキュリティ管理側を含み得、ここで、セキュリティ管理側は、セキュリティクライアント及び/又はセキュリティサーバに適用される戦略、ルールなどを構成するために使用され、セキュリティ管理側は、ヒューマコンピュータインタラクション(HCI:Human-Computer Interaction)インターフェース(Webインターフェースなど)を提供することにより、管理者(例えば企業管理者)による設定を容易にすることができる。
【0157】
例えば、管理者は、セキュリティ管理側でゼロトラスト戦略を構成することができ、ここで、ゼロトラスト戦略は、ユーザアカウントが使用できるアプリケーション(信頼できるアプリケーション)及びアクセス可能なサービスシステムを含む。一例として、図5に示すセキュリティ管理側の戦略管理インターフェースの1つの概略図を参照されたい。図5において、ゼロトラスト戦略は、組織アーキテクチャにおけるユーザアカウント(又はユーザアカウントグループ)、信頼できるアプリケーション、サービスシステム(前述したサービスサーバに対応する)の3つの側面から構成することができ、以下でそれぞれ説明する。
【0158】
1)ユーザアカウント又はユーザアカウントグループ:本願の実施例において、ゼロトラスト戦略の粒度は、単一のユーザアカウントであってもよい。あるユーザアカウントグループにゼロトラスト戦略を構成する場合、当該ユーザアカウントグループに含まれるすべてのユーザアカウントは、同じゼロトラスト戦略を共有することができる。
【0159】
2)信頼できるアプリケーション:端末機器は、内部サービスシステムのアプリケーションキャリアにアクセスすることができ、当該アプリケーションキャリアは、セキュリティ管理側によって信頼される。本願の実施例において、アプリケーションプロセスのプロセス情報は、アプリケーション名称、プロセス名称、アプリケーションMD5値及び署名情報などを含み得る。
【0160】
3)サービスシステム:企業内部のサービスリソース、データ、開発環境、テスト環境、運用および保守環境や正式な本番環境などを提供するために使用されることができ、アクセス主体(人/端末機器/アプリケーション)がアクセスする必要のある対象であり、即ち、サービスシステムがアクセス対象である。場合によっては、サービスシステムは、サービスサーバ(又はサービスサーバクラスタ)であってもよい。
【0161】
なお、ユーザアカウントグループは、企業組織アーキテクチャにおける1つのノードであり、図5において、ノードは、上から下への順に、ネットワーク全体のアカウント、ユーザアカウントグループ及びユーザアカウントであり、即ち、ネットワーク全体のアカウントは、すべてのユーザアカウントグループの親ノードであり、ユーザアカウントグループは、当該ユーザアカウントグループに含まれるすべてのユーザアカウントの親ノードである。例を挙げると、図5における「lemon」ユーザアカウントは、「testgroup」ユーザアカウントグループに属し、「testgroup」ユーザアカウントグループは更に、ネットワーク全体のアカウントに属する。
【0162】
本願の実施例は更に、図6に示すプロセス情報(プロセス特徴とも称する)の1つの概略図を提供し、図6において、会議アプリケーションプロセスのプロセス情報を示し、プロセス名称、アプリケーション名称、オペレーティングシステム(即ち、アプリケーションプロセスを実行するために使用される端末機器のオペレーティングシステム)、メーカー、署名情報、検査結果(即ち、非同期検証処理の結果)、バージョン、MD5値及びSHA256を含み得る。
【0163】
サービスシステムを構成する前に、管理者は、セキュリティ管理側のゼロトラストゲートウェイ(前述したサービスゲートウェイに対応する)インターフェースでゼロトラストゲートウェイの関連構成を実行することができ、一例として、図7に示すセキュリティ管理側のゼロトラストゲートウェイインターフェースの概略図、及び図8に示すゼロトラストゲートウェイの構成インターフェースの概略図を提供し、図8に示す構成インターフェースは、図7に示すあるゲートウェイ(例えば、ゲートウェイ4)をトリガして表示されたものであり得、もちろんこれに対して限定しない。管理者は、実際の需要に応じて、ゼロトラストゲートウェイの名称、IPアドレス、ドメインネーム、ポート、及び優先アクセスIPアドレスセグメントなどの属性を構成することができる。ここで、あるゲートウェイに優先アクセスIPアドレスセグメントを構成した場合、アクセス主体(例えば、ある端末機器)のIPアドレスが当該優先アクセスIPアドレスセグメントとのマッチングに成功した場合(即ち、優先アクセスのIPアドレスセグメントに該当した場合)、当該ゲートウェイを優先的に使用して、当該アクセス主体のサービス要求を転送することができ;当該アクセス主体のIPアドレスが当該優先アクセスのIPアドレスセグメントとのマッチングに失敗した場合、実際の適用シナリオに応じて、当該ゲートウェイを使用するか使用しないかを選択することができる。
【0164】
本願の実施例は更に、図9に示すセキュリティ管理側のサービスシステムインターフェースの概略図を提供する。図9において、具体的なあるサービスシステムを照会することができ、さらに、サービスシステムの追加、コピー及び削除(例えば大量な削除)をサポートすることもできる。実際の適用シナリオの異なりに応じて、更に、異なるシステムの組み合わせを作成することもでき、ここで、システムの組み合わせは、少なくとも1つのサービスシステムを含む。図9において、システムの組み合わせ1を例として、システムの組み合わせ1内のサービスシステム1~4を示す。
【0165】
一例として、本願の実施例は更に、図10図11及び図12に示すサービスシステムの構成インターフェースの概略図を提供する。各サービスシステムについて、そのIPアドレス、属するIPアドレスセグメント、ドメインネーム及びポートを構成することができ、更に実際のサービス状況に応じて、当該サービスシステムにアクセスできるゲートウェイ(即ち、アクセス権限を有するゲートウェイ)を構成し、当該サービスシステムにアクセスできる複数のゲートウェイの順序をカスタマイズすることができる。例を挙げると、あるサービスシステムにアクセスできる4つのゲートウェイについて、前から後への順に、ゲートウェイ1、ゲートウェイ2、ゲートウェイ3及びゲートウェイ4である場合、アクセス主体が当該サービスシステムにアクセスする場合、同様に、当該順で順次にアクセスし、例えば、まずゲートウェイ1にアクセスし、アクセス失敗の場合、ゲートウェイ2にアクセスし、これによって類推する。
【0166】
サービスシステム及び信頼できるアプリケーションの構成を完了した後、ユーザアカウント又はユーザアカウントグループに対して関連構成を発行することができ、即ち、ゼロトラスト戦略を発行することができる。一例として、本願の実施例は、図13に示すセキュリティ管理側の戦略管理インターフェースの1つの概略図を提供し、図13において、ユーザアカウント「123」に、信頼できるアプリケーション(即ち図13における「xx会議」)、信頼できるアプリケーションを介してアクセスできるサービスシステム(即ち図13における「システムの組み合わせ2」)を構成する。なお、本願の実施例は、管理者による繰り返しのチェック動作を回避するために、上から下へのユーザアカウント階層関係につれて構成を自動的にコピーする継承機能を提供することができる。例えば、ユーザアカウント「123」は、ユーザアカウントグループ「test」に属すると、ユーザアカウントグループ「test」の構成を、ユーザアカウント「123」にコピーすることができる。もちろん、継承機能をオフにして、ユーザアカウント「123」に対してターゲットを絞って構成することができる。
【0167】
セキュリティ管理側は、管理者によって構成されたゼロトラスト戦略をセキュリティサーバに展開することができ、もちろん、セキュリティクライアントに展開することもでき、例えば、ゼロトラスト戦略の一部をセキュリティクライアントに展開することができる。セキュリティクライアントは、アクセス主体として使用される端末機器にインストールされ、ここでの端末機器は、企業の従業員によって使用されるパソコンなどである。一例として、本願の実施例は、図14に示すセキュリティクライアントのインターフェースの概略図を提供し、図14において、コードログイン及びアカウントログインの2つの方式を提供し、ここで、アカウントログインとは、ユーザ名とパスワードを入力する方式でログインすることを指す。なお、セキュリティクライアントは、ウイルスチェックと駆除、適合検査、バグフィックス及びコンピュータツールなどの機能を統合することができ、別の例では、図15に示すように、ログイン成功後、セキュリティクライアントは、リアルタイム保護戦略、アンチウイルス保護エンジン及びセキュリティ強化戦略を提供することができ、実際の適用シナリオに応じてセキュリティクライアントに対して機能の追加や削除を実行することができる。
【0168】
本願の実施例は更に、図16に示すセキュリティクライアントのインターフェースの概略図を提供し、ログインした後、セキュリティクライアントは、ログイン状態にあるユーザアカウントに対して構成されたゼロトラスト戦略を取得し、当該ゼロトラスト戦略から信頼できるアプリケーションを取得し表示することができる。例えば、図16において、ユーザアカウント「lemon」に対応する信頼できるアプリケーション「xx会議」を示す。セキュリティ管理側によって発行されたゼロトラスト戦略に従て、端末機器は、構成された信頼できるアプリケーションに基づいて、構成されたサービスシステムにアクセスすることができ、遠隔オフィスのようなボーダーレスオフィスのシナリオに適用される。
【0169】
次に、ボーダーレスオフィスのシナリオを例として、実際のアクセス過程について説明する。本願の実施例は、図17に示すアクセス過程の概略図を提供し、図17において、サービス通信システムは、ゼロトラストネットワークセキュリティサービスの提供者として機能することができ、アクセスプロキシ(前述したサービスアクセスクライアントに対応する)とゼロトラストゲートウェイに基づいて、アクセス主体に統合ポータルを提供して、アクセス主体が統合ポータルを介してアクセス対象にアクセスするようにし、即ち、ネットワークを介してサービス要求を送信する。ここで、サービス通信システムは、統合ポータルに認証動作を提供することができ、認証されたサービス要求のみアクセスプロキシによってゼロトラストゲートウェイに転送され、それにより、ゼロトラストゲートウェイを介して実際のサービスシステムへのアクセスをプロキシする。
【0170】
一例として、本願の実施例は更に、図18に示すアクセス過程の概略図を提供し、図18におけるコアモジュールは、セキュリティクライアント、セキュリティサーバ、アクセスプロキシ及びゼロトラストゲートウェイ(スマートゲートウェイ)を含み、以下でそれぞれ説明する。
【0171】
1)セキュリティクライアント:アクセス主体(例えば企業の従業員の端末機器)にインストールされたAgentであり、ログイン状態にあるユーザアカウントが信頼できるか否か、端末機器が信頼できるか否か及びアプリケーションが信頼できるか否かを検証するために使用されることができる。セキュリティクライアントは、アプリケーションプロセスのプロセス特徴(前述したプロセス情報に対応する)をセキュリティサーバに送信すること、即ち、プロセス検査(前述したアプリケーションプロセスに対する非同期検証処理に対応する)を実行することができる。
【0172】
2)アクセスプロキシ:プロキシクライアントとも呼ばれ、端末機器のトラフィックをハイジャックするために、即ち、端末機器におけるアプリケーションプロセスから送信されたサービス要求を傍受するために使用され、ここで、TUN/TAP仮想ネットワークインターフェースカードを介してトラフィックのハイジャックを実現することができるが、ハイジャック方式はこれによって限定されない。
【0173】
3)ゼロトラストゲートウェイ:企業アプリケーションプログラムとデータリソースのポータルに展開されてもよく、企業内部サービスシステムにアクセスするためのサービス要求のそれぞれを検証、認可及び転送する役割を担う。ここで、ゼロトラストゲートウェイは、ソフトウェアの形で構築されることができる。
【0174】
4)セキュリティサーバ:戦略制御エンジン(戦略センター)を介してサービストラフィックに対して安全なスケジューリングを実行し、ユーザアカウント-端末機器-アプリケーションの粒度に従ってアプリケーションプロセスのサービス要求を認可する役割を担う。セキュリティサーバは、セキュリティクライアント内のログイン状態にあるユーザアカウントが信頼できるか否かを検証するために使用されてもよいし、機器ハードウェア情報や機器セキュリティ状態を検証するために使用されてもよいし、アプリケーションプロセスが信頼できるか否か、例えば、脆弱性の有無、トロイの木馬の有無などを検出するために使用されてもよい。セキュリティサーバは、クラウドサーバにファイル検査を周期的に送信することができ、サービス要求を送信したアプリケーションプロセスが悪意のあるプロセスであることが識別された場合、非同期ブロッキング動作を実行するように、例えば、アクセスプロキシとの通信接続を切断するように、セキュリティクライアントに通知し、ここで、クラウドサーバは、悪意のあるプロセスのクラウド検出サービス(又は、クラウド照会サービス、クラウド識別サービスなどとも称する)を提供するために使用される。
【0175】
例を挙げると、端末機器(アクセス主体)は、アプリケーションプロセスを介してアクセス対象に対するサービス要求を送信することができ、アクセスプロキシが当該サービス要求をハイジャックした場合、セキュリティクライアントにチケット要求(前述したクレデンシャル要求に対応する)を送信し、チケット要求は、サービス要求内の送信元IPアドレス(又は送信元ドメインネーム)、送信元ポート、目的IPアドレス(又は目的ドメインネーム)及び目的ポートを含み、更に、アプリケーションプロセスに対応するPIDを含み、ここで、チケットは上記のサービスクレデンシャルに対応し、PIDはアプリケーションプロセスを唯一に特定するために使用される。セキュリティクライアントがアクセスプロキシによって送信されたチケット要求を受信した場合、その内のPIDに基づいてアプリケーションプロセスのMD5値、プロセス経路、プロセス最終変更時間、著作権情報及び署名情報など、チケット要求内の送信元IPアドレス(又は送信元ドメインネーム)、送信元ポート、目的IPアドレス(又は目的ドメインネーム)及び目的ポートとともに、更に、セキュリティクライアント内のログイン状態にあるユーザアカウントの情報などとともに収集して、セキュリティサーバにチケットを申請する。セキュリティサーバはこのような情報を受信した後、セキュリティクライアント内のログイン状態にあるユーザアカウントに対応するゼロトラスト戦略を取得し、取得されたゼロトラスト戦略に基づいて、当該ユーザアカウントが、アプリケーションプロセス(サービス要求を送信するアプリケーションプロセスを指す)を介してサービスシステム(サービス要求が要求するサービスシステムを指す)をアクセスする権限があるか否かを決定し、権限がある場合、セキュリティサーバは生成されたチケット、チケット最大使用回数及びチケット有効使用期間をセキュリティクライアントに送信して、セキュリティクライアントをアクセスプロキシに転送するようにする。
【0176】
チケット申請の過程において、同期と非同期の2つの側面を含み得る。例えば、同期検証処理中に、セキュリティクライアントがセキュリティサーバにチケットを申請し、セキュリティサーバがアプリケーションプロセスのプロセス特徴に対して同期検証処理を実行し、例えば、アプリケーションプロセスが信頼できるアプリケーションであるか否か、ユーザアカウントが、アプリケーションプロセスを介して対応するサービスシステムにアクセスする権限があるか否かなどを検証する。セキュリティサーバが得た同期検証処理の結果が検証成功である場合、セキュリティサーバはチケット、チケット最大使用回数及びチケット有効使用期間をセキュリティクライアントに正常に応答し、セキュリティクライアントによってアクセスプロキシに送信し、例えば、セキュリティクライアントはローカルプロセス通信(即ちSocket通信接続)の方式によりアクセスプロキシに送信することができる。
【0177】
非同期検証処理中に、セキュリティサーバはアプリケーションプロセスのプロセス特徴に基づいて、特定のクラウドサーバにファイル検査要求を周期的に送信することができる。セキュリティサーバがクラウドサーバから取得したアプリケーションプロセスが悪意のあるプロセスである場合、非同期ブロッキング動作を実行するように、例えば、アクセスプロキシとの通信接続を切断するようにセキュリティクライアントに通知することができる。
【0178】
アクセスプロキシがチケットを取得した後、ゼロトラストゲートウェイにチケットを送信して、ゼロトラストゲートウェイを検証するようにすることができる。例えば、アクセスプロキシはチケットをHTTPS要求のAuthorizationヘッダーフィールドに追加し、当該HTTPS要求をゼロトラストゲートウェイに送信することができる。ゼロトラストゲートウェイが当該HTTPS要求を受信するとき、Authorizationヘッダーフィールドにおけるチケットを解析し、セキュリティサーバにチケットを検定する。ゼロトラストゲートウェイがチケットの検証に成功した場合、ゼロトラストゲートウェイはアクセスプロキシとの接続を正常に確立し、その後、アクセスプロキシは元のサービス要求(ここではアプリケーションプロセスから送信されたサービス要求を指す)をゼロトラストゲートウェイに送信し、ゼロトラストゲートウェイによってサービス要求を対応するサービスシステムに転送して、アプリケーションプロセスによるサービスシステムへのネットワークアクセスをプロキシし、ゼロトラストゲートウェイがチケットの検証に失敗した場合、アクセスプロキシとゼロトラストゲートウェイとの間の通信接続を切断し、アクセスプロキシによって元のサービス要求を対応するサービスシステムに直接に送信し、ゼロトラストボーダーレスオフィスのシナリオにおいて、ネットワークアクセスのセキュリティを保証するために、このようなアクセスは通常失敗する。
【0179】
本願の実施例において、セキュリティサーバは単一の展開方式により、中規模の企業単位や政府に適応することができ、分散型カスケード展開方式により、大企業グループやマルチレベルの縦割り行政の電子政務システムに適応することもできる。
【0180】
例えば、ゼロトラストネットワークによるコアサービスへのアクセスを安定させるために、ゼロトラストコアサービスのマルチサイト・ハイ・アベイラビリティ(Multi-Site High Availability)の技術案を採用してもよい。コアとなる基本サービスはマスターコントロールノードに展開され、各異なるサービスは、異なる二級サービスノードに展開される。一例として、本願の実施例は、図19に示すカスケード展開の概略図を提供し、図19において、セキュリティサーバは、カスケード展開のモードを採用し、マスターコントロールノード(マスターコントロールサーバ)及び二級サービスノード(サーバノード)を含む。マスターコントロールノードには、ハートビートサービス、戦略同期サービス及び機器管理サービスなどのコアとなる基本サービスが展開されている。マスターコントロールノードの構成とデータは、各二級サービスノードに周期的に同期され、その同時に、二級サービスノードに変更すべきデータや構成がある場合、変更するようにマスターコントロールノードに通知することができ、マスターコントロールノードが変更を完了した後、対応する二級サービスノードに同期すればよい。
【0181】
本願の実施例において、アクセスプロキシのサービスアクセスプロセスは、セキュリティクライアント内のインターフェースを呼び出してデータ伝達を実現することができ、セキュリティを保証するために、アクセスプロキシのサービスアクセスプロセスに対して同期検証処理及び非同期検証処理を実行することができ、以下ではそれぞれ説明する。
【0182】
1)同期検証処理
【0183】
アクセスプロキシがセキュリティクライアントとSocket接続を確立した後、セキュリティクライアントは、アクセスプロキシのIPアドレスとポート番号を介して、サービスアクセスプロセスのPIDを取得する。その後、セキュリティクライアントは、サービスアクセスプロセスのPIDに基づいてサービスアクセスプロセスのプロセス経路を取得し、当該プロセス経路がセキュリティクライアントのインストールディレクトリ(前述したセキュリティディレクトリに対応する)内に位置するか否かを検出する。本願の実施例において、アクセスプロキシは、サービス通信システムの1つのコンポーネントであってもよく、通常のインストールの後、アクセスプロキシは通常、セキュリティクライアントのインストールディレクトリに位置する。更に、本願の実施例において、セキュリティクライアントのインストールディレクトリに対してディレクトリ保護を実行し、他の非サービス通信システムのサービス又はプロセスによる当該インストールディレクトリへの動作を止めることができる。
【0184】
サービスアクセスプロセスのプロセス経路がセキュリティクライアントのインストールディレクトリ内に位置するか否かを検出することにより、アクセスプロセスの合法性を初歩的に検出することができる。サービスアクセスプロセスのプロセス経路が当該インストールディレクトリ内に位置する場合、サービスアクセスプロセスのプロセスファイルの署名情報を更に取得し、検証処理を実行することができる。企業のセキュリティ管理レベルが低い場合、デジタル署名のないサービスアクセスプロセスによるセキュリティクライアントに対するインターフェースアクセスを緩和(認可)することができ、企業のセキュリティ管理レベルが高い場合、デジタル署名のあるサービスアクセスプロセスのみがセキュリティクライアントのインターフェースにアクセスできるように制限することができる。セキュリティ管理レベルの異なりに基づいて、署名情報に対する以下のいくつかの検証処理を実行することができる。
【0185】
(1)サービスアクセスプロセスのプロセスファイルがデジタル署名を有するか否かを検出し、デジタル署名を有する場合、署名情報に対する検証が成功したことを決定する。
【0186】
(2)セキュリティクライアントローカルがデジタル署名に対して有効性検証処理を実行し、例えば、WinVerifyTrustのAPIを呼び出して有効性検証処理を実行する。有効性検証処理が検証成功である場合、署名情報に対する検証が成功したことを決定する。
【0187】
(3)セキュリティクライアントローカルで実行される有効性検証処理に基づき、デジタル署名の署名者の名前(前述した署名者に対応する)を取得し、署名者の名前を署名者ブラックリストとマッチングする。署名者の名前が署名者ブラックリスト内にない場合、つまりマッチング失敗の場合、署名情報に対する検証が成功したことを決定する。
【0188】
(4)セキュリティクライアントがサービスアクセスプロセスのプロセスファイルの証明書チェーン情報(前述した証明書情報に対応する)を取得し、例えば、証明書チェーン情報は、概要アルゴリズム、ルート証明書情報、中間証明書情報、署名証明書情報、署名状態、署名者の名前、タイムスタンプ及び署名検証エラー情報を含み得る。ここで、ルート証明書情報は、ルート証明書の名称、シーケンス番号及び有効期限などを含み、中間証明書情報及び署名証明書情報もこれによって類推する。更に、署名状態は、デジタル署名が使用できること、デジタル署名が改ざんされたこと、証明書が信頼できないこと、証明書が期限切れたこと、証明書の無効及び他のエラーのうちの1つを表示するために使用されることができる。セキュリティクライアントは証明書チェーン情報を取得した後、証明書チェーン情報を証明書チェーン情報ブラックリスト(前述した証明書情報ブラックリストに対応する)とマッチングさせ、マッチング失敗の場合、署名情報に対する検証が成功したことを決定する。
【0189】
以上の4つの方式のセキュリティ管理レベルは徐々に増強され、それに対応して、検証処理に費やされる期間も長くなり、実際の適用シナリオにおけるセキュリティ管理のレベル要件及び効率要件に応じて、少なくとも1つの方式を採用して署名情報に対する検証処理を実現することができる。
【0190】
セキュリティクライアントがサービスアクセスプロセスのプロセス経路と署名情報に対する検証に両方とも成功した場合、まずサービスアクセスプロセスのインターフェースの呼び出しを許可して、インターフェース認証段階に進むことができる。
【0191】
2)非同期検証処理
【0192】
サービスアクセスプロセスが悪意のあるプロセスであるか否かを十分に検証するために、セキュリティクライアントはサービスアクセスプロセスのプロセス特徴を非同期に取得し、セキュリティサーバに送信して、非同期検証処理を実行することができる。ここで、サービスアクセスプロセスのプロセス特徴は、サービスアクセスプロセスのMD5値、Hash値、プロセス経路及び署名情報(証明書チェーン情報を含む)を含むがこれに限定されない。セキュリティサーバは、サービスアクセスプロセスのプロセス特徴を受信した後、クラウドサーバにファイル検査要求を周期的に送信することができ、クラウドサーバは、記憶された更新し続けるプロセス特徴ブラックリスト(前述したプロセス情報ブラックリストに対応する)に基づいて、サービスアクセスプロセスが悪意のあるプロセスであるか否かを判断する。クラウドサーバが、サービスアクセスプロセスが悪意のあるプロセスであると判断した場合、セキュリティサーバは、セキュリティクライアントをサービスアクセスプロセスとのSocket接続を切断させるように、セキュリティクライアントに通知する。
【0193】
一例として、本願の実施例は、図20に示す非同期検証処理の概略図を提供し、図20における番号は、非同期検証処理のステップを表示し、組み合わせて示される各ステップについて説明する。
【0194】
(1)アクセスプロキシがセキュリティクライアントの関連インターフェースを呼び出すことを試し、つまり、セキュリティクライアントに認証要求を送信する。
【0195】
(2)セキュリティクライアントがサービスアクセスプロセスに対して同期検証処理(プロセス経路及び署名情報に対する検証処理を含む)を実行し、同期検証処理の結果が検証成功である場合、サービスアクセスプロセスのプロセス特徴を収集する。
【0196】
(3)セキュリティクライアントがサービスアクセスプロセスのプロセス特徴をセキュリティサーバに送信し、つまり、非同期検査を実行する。
【0197】
(4)セキュリティサーバがサービスアクセスプロセスのプロセス特徴をクラウドサーバに送信して、クラウドサーバが、サービスアクセスプロセスが悪意のあるプロセスであるか否かを判断するようにする。
【0198】
(5)クラウドサーバが非同期検証処理の結果、即ち、サービスアクセスプロセスが悪意のあるプロセスであるか否かをセキュリティサーバに送信する。
【0199】
(6)サービスアクセスプロセスが悪意のあるプロセスである場合、セキュリティサーバは、接続ブロッキング動作を実行するように、セキュリティクライアントに通知する。
【0200】
(7)セキュリティクライアントがサービスアクセスプロセスとのSocket接続を積極的に切断する。
【0201】
次に、セキュリティクライアントとサービスアクセスプロセスとの間のインターフェース認証段階について説明し、理解の便宜上、ステップの形で説明する。
【0202】
1)サービスアクセスプロセスで非対称鍵対を生成する。
【0203】
サービスアクセスプロセスがセキュリティクライアントのインターフェースを呼び出す場合、今回の呼び出しに対するセキュリティクライアントの認可を取得する必要がある。まず、サービスアクセスプロセスで非対称鍵対を生成し、非対称鍵対の秘密鍵(privatekey)は、サービスアクセスプロセスによってストレージに暗号化して保存されることができ、非対称鍵対の公開鍵(pubkey)は、セキュリティクライアントに送信されるために使用される。本願の実施例は、非対称鍵対の生成方式に対して限定しなく、例えば、RSAアルゴリズムを介して生成することができる。
【0204】
2)サービスアクセスプロセスがセキュリティクライアントの認証インターフェースを呼び出す。
【0205】
ここで、サービスアクセスプロセスは、セキュリティクライアントの認証インターフェースに認証要求を送信し、認証要求の例は以下のとおりである。
【0206】
GET http://localhost:[port]/[path]/[req_acc]/{pubkey}
【0207】
ここで、[port]は、セキュリティクライアントによって提供されるセキュリティサービスのモニタリングポートを表示し、[path]は、サービスルート(前述した認証要求アドレスに対応する)を表示し、[req_acc]は、要求IDを表示し、即ち、認証の要求を表示するために使用される。更に、上記の例における{pubkey}=urlencode(base64encode(pubkey))において、即ち、{pubkey}は、サービスアクセスプロセスで生成された公開鍵(pubkey)に対してbase64encodeを実行した後、更にurlencodeを実行して得られた結果である。本願の実施例において、base64encodeとurlencodeを実行することはすべて、ネットワークの伝送を容易にすることを目的とする。
【0208】
3)セキュリティクライアントが認証要求に応答する。
【0209】
セキュリティクライアントが認証要求を受信する場合、上記の同期と非同期を組み合わせる方法によりサービスアクセスプロセスの合法性を検出する。サービスアクセスプロセスに対する同期検証処理の結果が検証成功である場合、セキュリティクライアントは、後続の暗号化サービス通信に使用される対称鍵aes_keyを生成するようにセキュリティサーバに要求し、ここで、対称鍵は、AESアルゴリズム又は他のアルゴリズムによって生成されることができる。セキュリティクライアントは、認証要求の{pubkey}を介して対称鍵を暗号化し、暗号化された対称鍵をサービスアクセスプロセスに送信して、最初の認可を完了する。
【0210】
ここで、セキュリティクライアントは、サービスアクセスプロセスに返送したデータパケットの例は以下のとおりである。
【0211】
{
“code”:0 //認証要求に対する応答コード、0である場合、正常であることを表す
“msg”:”“ //応答説明情報
“data”:base64encode(encrypt(plain_data,pubkey))
}
【0212】
ここで、plain_dataは、データパケット主体の平文情報を表し、そのコンテンツの例は以下のとおりである。
【0213】
{
”access_id”:”id” //アクセスid、上記の鍵IDに対応する
“access_key”:base64encode(aes_key) //アクセス動的鍵
【0214】
ここで、encrypt(plain_data,pubkey)は、セキュリティクライアントがサービスアクセスプロセスから送信された公開鍵(pubkey)に基づいてデータパケット主体の平文情報plain_dataを暗号化して得られた結果を表し、つまり、encryptは、暗号化処理を表す。access_keyは、セキュリティクライアントが対称鍵aes_keyに対してbase64encodeを実行して得られた結果であり、ここで、セキュリティサーバは、access_idとaccess_keyとのマッピング関係を記憶することができ、access_keyの最大使用回数及び有効使用期間などの属性を記憶することもできる。後続の照会を容易にするために、セキュリティクライアントは、access_id及び対応するaccess_key(又は対応するaes_key)をローカルに記憶することもできる。
【0215】
4)サービスアクセスプロセスは、セキュリティクライアントが応答したデータパケットを受信し解析する。
【0216】
サービスアクセスプロセスが、セキュリティクライアントが返送したデータパケットを受信する場合、データパケット内の応答コードcodeを解析し、応答コードcodeの値が0である場合、処理が正常であることを表し、サービスアクセスプロセスは更に、base64decodeを介して当該データパケットのdataのbase64平文を解析し、ストレージに暗号化して保存された秘密鍵(privatekey)を介してbase64平文に対して復号化処理を実行して、plain_dataを得る。
【0217】
その後、サービスアクセスプロセスはplain_dataからaccess_idとaccess_keyを解析し、暗号化してストレージに記憶する。本願の実施例において、access_idとaccess_keyは一対一の関係であってもよい。
【0218】
5)サービスアクセスプロセスがセキュリティクライアントのサービスインターフェースを呼び出す。
【0219】
ここで、サービスインターフェースは、チケットを申請するためのインターフェースであってもよいし、もちろん、他のサービスインターフェースであってもよい。サービスアクセスプロセスがセキュリティクライアントのサービスインターフェースを呼び出す場合、サービスインターフェースに送信された元パラメータraw_param(前述した要求データに対応する)に対して以下のような処理を実行して、call_paramを形成する。
【0220】
(1)対称鍵aes_keyを使用して元パラメータraw_paramに対して暗号化処理を実行し、即ち、encrypt(raw_param,aes_key)。ここで、元パラメータraw_paramのコンテンツに対して限定しなく、実際のサービスに応じて具体的に設定することができる。
【0221】
(2)ステップ(1)で得られた結果に対してbase64encodeを実行し、即ち、base64encode(encrypt(raw_param,aes_key))。
【0222】
(3)ステップ(2)で得られた結果に対してurlencodeを実行し、即ち、urlencode(base64encode(encrypt(raw_param,aes_key)))により、call_paramを得る。
【0223】
サービスアクセスプロセスがセキュリティクライアントのサービスインターフェースを呼び出す場合、サービスアクセスプロセスはその同時にカスタマイズ検定情報signature(前述した第1検定情報に対応する)を生成し、生成したステップは以下で示すとおりである。
【0224】
(1)サービスアクセスプロセスは、ストレージの暗号化データからaccess_idを取出して、第1部分(Aと命名)として使用する。
【0225】
(2)対称鍵aes_keyに対してbase64encodeを実行して、第2部分(Bと命名)を得、即ち、B=base64encode(aes_key)。
【0226】
(3)パラメータcall_paramに対してbase64encodeを実行して、第3部分(Cと命名)を得、即ち、C=base64encode(call_param)。
【0227】
(4)現在のタイムスタンプtimestampを第4部分(Dと命名)として使用する。
【0228】
(5)上記の4つのステップで得られた文字列を加算し、MD5値を計算して、カスタマイズ検定情報signatureを得、即ち、signature=MD5(A+B+C+D)。
【0229】
カスタマイズ検定情報signatureを得た後、それに対してbase64encodeを実行してAuthorization共通ヘッダー情報を得、例えば、以下のように表示することができる:
【0230】
Authorization:”IPN base64encode({”access_id”: ”“,”signature”: ”“,”timestamp” :”“})”
【0231】
ここで、timestampは、signtureを生成する過程におけるタイムスタンプ、即ち、上記のDを表す。なお、サービスアクセスプロセスがセキュリティクライアントに送信したサービス要求は、上記のcall_param及びAuthorization共通ヘッダー情報を含む。
【0232】
6)セキュリティクライアントが、サービスアクセスプロセスがサービスインターフェースに送信したサービス要求を解析し、サービス要求が合法的であるか否かを検出する。
【0233】
セキュリティクライアントがサービス要求を受信する場合、サービス要求内のcall_paramに対してurldecodeを実行し、その後、base64decodeを実行して、encrypt(raw_param,aes_key)を得る。その後、aes_keyを使用してencrypt(raw_param,aes_key)に対して復号化処理を行ってraw_param、即ち、サービスアクセスプロセスの元パラメータを得る。
【0234】
サービス要求内のAuthorization共通ヘッダー情報について、セキュリティクライアントはまず、base64decodeを実行して平文、即ちaccess_id、カスタマイズ検定情報signture及びタイムスタンプtimestampを得る。その後、セキュリティクライアントは、access_idに基づいてローカルで照会して、対応するaccess_key(又はaes_key)を得て、照会されたaccess_keyをセキュリティサーバに送信して、照会されたaccess_keyが期限切れたか否かを検出する。照会されたaccess_keyが期限切れた場合、セキュリティクライアントは認証インターフェースの呼び出し再認証をトリガし、つまり、サービスアクセスプロセスが認証要求を再送信するようにする。
【0235】
照会されたaccess_keyが期限切れていない場合、即ち無効になっていない場合、セキュリティクライアントはサービス要求のcall_param、Authorization共通ヘッダー情報のaccess_id、Authorization共通ヘッダー情報のtimestamp、及び照会されたaccess_keyに基づいて、検定情報Signature’(前述した第2検定情報に対応)を再生成し、即ち、Signature’=MD5(access_id+base64encode(aes_key)+base64encode(call_param)+timestamp)、ここでのbase64encode(aes_key)が照会されたaccess_keyである。
【0236】
セキュリティクライアントは生成された検定情報Signature’を、サービスアクセスプロセスから送信されたカスタマイズ検定情報Signatureと比較し、両者が同じである場合、セキュリティクライアントは、サービス要求が合法的であることを決定し;両者が異なる場合、サービス要求のパラメータが改ざん又は偽造されたことを表し、セキュリティクライアントは、サービス要求が合法的ではなく、サービスインターフェースに対するサービスアクセスプロセスの呼び出しが失敗したことを決定する。
【0237】
7)セキュリティクライアントがサービス要求内の元パラメータに対して応答処理を実行して応答データを得、サービスアクセスプロセスに返送する。
【0238】
セキュリティクライアントが、サービス要求が合法的であることを決定した場合、即ち、サービスインターフェースに対するサービスアクセスプロセスの呼び出しが合法的である場合、セキュリティクライアントは、サービス要求の元パラメータraw_paramに対して応答処理を実行して、応答データresultdataを得、ここで、応答データresultdataの具体的なコンテンツに対して限定しなく、実際のサービスに応じて設定することができる。セキュリティクライアントがサービスアクセスプロセスに返送したデータパケットの例は以下の通りである。
【0239】
{
“retcode”:0 //サービス要求に対する応答コード
“msg”:”“ //応答説明情報、実際の適用シナリオに応じて設定することができる
“data”: base64encode(encrypt(resultdata,pubkey))
}
【0240】
ここで、retcodeは、サービスアクセスプロセスから送信されたサービス要求に対する応答コードを表し、retcodeが0である場合、サービスインターフェースの呼び出しに成功したことを表し、retcodeが1である場合、サービスインターフェースの呼び出しが失敗したことを表し、retcodeが2である場合、access_key(又はaes_key)が期限切れたことを表し、サービスアクセスプロセスが認証要求を再送信する必要があることを表し、つまり、ステップ2)を再実行する必要があることを表す。
【0241】
本願の実施例において、セキュリティ管理側でインターフェースの認証に必要な対称鍵を周期的に更新することができ、毎回更新する際に、セキュリティサーバは更新前のすべてのaccess_id及びaccess_key(又はaes_key)を無効に設定し、それにより、サービスアクセスプロセスをトリガしてセキュリティクライアントの認証インターフェースを再呼び出して、更新後のaccess_idとaccess_keyを取得することができる。
【0242】
access_idとaccess_key(又はaes_key)について、本願の実施例は、セキュリティ管理側で異なる粒度を構成することができ、例えば、サービスアクセスプロセス自体、及びサービスアクセスプロセスが認証インターフェースを呼び出すときに送信したサービスルートの2つの側面で区別することができる。例を挙げると、サービスアクセスプロセスAが認証インターフェースを呼び出すときのサービスルートはpath1、path2とpath3を含み、サービスアクセスプロセスBが認証インターフェースを呼び出すときのサービスルートはpath4とpath5を含むと、粒度分割の技術案は以下の3つを含み得る:
【0243】
1)セキュリティサーバが、サービスアクセスプロセスとサービスルートとを同時に区別し、つまり、異なるサービスアクセスプロセスに対して異なるaccess_idとaccess_keyの組み合わせペアを割り当て、同じサービスアクセスプロセスの異なるサービスルートに対しても異なるaccess_idとaccess_keyの組み合わせペアを割り当てる。例を挙げると、サービスアクセスプロセスAのpath1、path2及びpath3に対してそれぞれ、3組の異なるaccess_idとaccess_keyの組み合わせペアを割り当て、サービスアクセスプロセスBのpath4及びpath5に対してそれぞれ、他の2組の異なるaccess_idとaccess_keyの組み合わせペアを割り当てる。
【0244】
2)セキュリティサーバは、サービスアクセスプロセスのみを区別し、サービスルートは区別せず、つまり、異なるサービスアクセスプロセスに対して異なるaccess_idとaccess_keyの組み合わせペアを割り当て、同じサービスアクセスプロセスの異なるサービスルートに対しては同じaccess_idとaccess_keyの組み合わせペアを割り当てる。例を挙げると、サービスアクセスプロセスAのpath1、path2及びpath3に対して、1組のaccess_idとaccess_keyの組み合わせペアを統一に割り当て、サービスアクセスプロセスBのpath4及びpath5に対して、他の組のaccess_idとaccess_keyの組み合わせペアを統一に割り当てる。
【0245】
3)セキュリティサーバは、サービスアクセスプロセス及びサービスルートを区別しなく、つまり、すべてのサービスアクセスプロセスのサービスルート全体に対して、一組のaccess_idとaccess_keyの組み合わせペアを統一に割り当てる。
【0246】
実際の適用シナリオにおいて、管理者は、企業の管理程度に基づいて、上記のいずれかの粒度分割の技術案を採用することができる。
【0247】
access_idとaccess_key(又はaes_key)の変更メカニズムについて、セキュリティサーバは、最大使用回数及び有効使用期間のうちの少なくとも1つを構成することにより、access_idとaccess_keyの定期的更新を実現し、セキュリティを向上させることができる。
【0248】
本願の実施例において、セキュリティクライアントは、サービスアクセスプロセスのプロセス経路及び署名情報に対して検証処理を実行することにより、サービスアクセスプロセスの合法性への有効検証を実現することができ、同時に、セキュリティクライアントのプロセス特徴の非同期検査及びセキュリティサーバのクラウド照会サービスの検出により、サービスアクセスプロセスが悪意のあるプロセスであるか否かを正確に検証することができる。本願の実施例において、サービスアクセスプロセスに対する検証の精度を向上させるだけでなく、準拠のサービスアクセスプロセスがセキュリティクライアントにアクセスする効率を向上させる。
【0249】
更に、本願の実施例は、動的鍵とカスタマイズ検定情報を介して検証するインターフェース認証技術案を提供し、セキュリティサーバによって発行される対称鍵に基づいて暗号化サービス通信を実行して、鍵の記憶が解読される問題を回避することができ、同時に、サービス鍵情報を周期的に更新することにより、インターフェース呼び出しのセキュリティが強化され、管理者が各サービスの管理程度に基づいて、異なる粒度分割技術案を介してサービス鍵情報を区別することに許可し、異なるサービス及び異なるシナリオへの適用性を向上させることができる。
【0250】
以下では続いて、本願の実施例による端末機器400がソフトウェアモジュールとして実施される例示的な構造について説明し、いくつかの実施例において、図3に示すように、メモリ450に記憶されたサービス通信装置455におけるソフトウェアモジュールは、受信モジュール4551と、検証モジュール4552と、決定モジュール4553と、送信モジュール4554と、接続制御モジュール4555と、を備え、前記受信モジュール4551は、サービスアクセスプロセスから送信された認証要求を受信するように構成され、前記検証モジュール4552は、サービスアクセスプロセスに対して同期検証処理を実行し、サービスアクセスプロセスに対して非同期検証処理を実行するように構成され、前記決定モジュール4553は、サービスアクセスプロセスに対する同期検証処理の結果に基づいて、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定するように構成され、前記送信モジュール4554は、サービス鍵情報に基づいてサービスアクセスプロセスとの暗号化サービス通信を実行するために、サービス鍵情報をサービスアクセスプロセスに送信するように構成され、前記接続制御モジュール4555は、サービスアクセスプロセスに対する非同期検証処理の結果に基づいて、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を制御するように構成される。
【0251】
いくつかの実施例において、検証モジュール4552は更に、サービスアクセスプロセスのプロセス経路と、設定されたセキュリティディレクトリとのマッチング結果を、第1検証処理結果として使用し;サービスアクセスプロセスの署名情報に対して検証処理を実行して、第2検証処理結果を得;第1検証処理結果及び第2検証処理結果に基づいて、サービスアクセスプロセスに対する同期検証処理の結果を決定するように構成される。
【0252】
いくつかの実施例において、検証モジュール4552は更に、署名情報にデジタル署名が含まれているかどうかの結果、デジタル署名の有効性検証処理結果、デジタル署名の署名者と署名者ブラックリストとのマッチング結果、及び署名情報における証明書情報と証明書情報ブラックリストとのマッチング結果のうちの少なくとも1つに基づいて、第2検証処理結果を決定するように構成される。
【0253】
いくつかの実施例において、検証モジュール4552は更に、署名情報内のデジタル署名、及びデジタル署名に対応する復号鍵を決定し;復号鍵に基づいてデジタル署名に対して復号化処理を実行して、サービスアクセスプロセスのプロセスファイルの第1ハッシュ結果を得;サービスアクセスプロセスのプロセスファイルに対してハッシュ処理を実行して、第2ハッシュ結果を得;第1ハッシュ結果と第2ハッシュ結果とのマッチング結果を、デジタル署名の有効性検証処理の結果として使用するように構成される。
【0254】
いくつかの実施例において、認証要求は、サービスアクセスプロセスによって生成された非対称鍵対の公開鍵を含み;ここで、非対称鍵対は公開鍵及び公開鍵に対応する秘密鍵を含み、送信モジュール4554は更に、公開鍵に基づいてサービス鍵情報に対して暗号化処理を実行し;暗号化後のサービス鍵情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスが、秘密鍵に基づいて暗号化後のサービス鍵情報に対して復号化処理を実行するようにするように構成される。
【0255】
いくつかの実施例において、サービス鍵情報は、鍵ID及び対称鍵を含み;サービス通信装置455は更に、サービス受信モジュールと、照会モジュールと、復号化モジュールと、応答モジュールと、暗号化送信モジュールと、を備え、前記サービス受信モジュールは、サービスアクセスプロセスから送信されたサービス要求を受信するように構成され;ここで、サービス要求は鍵ID、及び対称鍵を利用して暗号化した後の要求データを含み;前記照会モジュールは、割り当て済みの対称鍵から、サービス要求の鍵IDに対応する対称鍵を照会するように構成され;前記復号化モジュールは、照会された対称鍵に基づいて、サービス要求における暗号化後の要求データに対して復号化処理を実行するように構成され;前記応答モジュールは、復号化処理によって得られた要求データに対して応答処理を実行して、応答データを得るように構成され;前記暗号化送信モジュールは、公開鍵に基づいて応答データに対して暗号化処理を実行し、暗号化後の応答データをサービスアクセスプロセスに送信して、サービスアクセスプロセスが、秘密鍵に基づいて暗号化後の応答データに対して復号化処理を実行するようにするように構成される。
【0256】
いくつかの実施例において、サービス要求は更に、タイムスタンプと第1検定情報を含み;ここで、第1検定情報は、サービスアクセスプロセスが鍵ID、対称鍵、タイムスタンプ、及び対称鍵を利用して暗号化された要求データに対してハッシュ処理を実行して得られたものであり;応答モジュールは更に、鍵ID、照会された対称鍵、タイムスタンプ、及び暗号化後の要求データに対してハッシュ処理を実行して、第2検定情報を得;第1検定情報と第2検定情報とのマッチング結果がマッチング成功である場合、復号化処理して得られた要求データに対して応答処理を実行するように構成される。
【0257】
いくつかの実施例において、サービス通信装置455は更に、照会された対称鍵の使用パラメータが、期限切れパラメータ条件を満たす場合、期限切れ情報をサービスアクセスプロセスに送信して、サービスアクセスプロセスが、期限切れ情報を受信した場合に認証要求を再送信するようにするように構成される期限切れ処理モジュールを備え;ここで、使用パラメータは、使用回数及び使用期間のうちの少なくとも1つを含む。
【0258】
いくつかの実施例において、認証要求は、認証要求アドレスを含み;決定モジュール4553は更に、異なるサービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当てる処理、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して異なるサービス鍵情報を割り当てる処理;異なるサービスアクセスプロセスから送信された認証要求アドレスに対して異なるサービス鍵情報を割り当てる処理、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して同じサービス鍵情報を割り当てる処理;異なるサービスアクセスプロセスから送信された認証要求アドレスに対して同じサービス鍵情報を割り当てる処理、同じサービスアクセスプロセスから送信された異なる認証要求アドレスに対して、同じサービス鍵情報を割り当てる処理のいずれか1つの処理を実行するように構成される。
【0259】
いくつかの実施例において、検証モジュール4552は更に、サービスアクセスプロセスのプロセス情報をプロセス情報ブラックリストに周期的にマッチングさせて、得られたマッチング結果をサービスアクセスプロセスに対する非同期検証処理の結果として使用するように構成される。
【0260】
いくつかの実施例において、決定モジュール4553は更に、サービスアクセスプロセスに対する同期検証処理の結果が検証成功である場合、サービスアクセスプロセスのために割り当てられたサービス鍵情報を決定し;サービスアクセスプロセスに対する同期検証処理の結果が検証失敗である場合、認証要求を再送信するように、サービスアクセスプロセスに通知すること、サービスアクセスプロセスとの間における認証要求を伝送するための通信接続を切断すること、サービスアクセスプロセスに対する非同期検証処理を中断することのうちのいずれか1つの処理を実行するように構成される。
【0261】
いくつかの実施例において、接続制御モジュール4555は更に、サービスアクセスプロセスに対する非同期検証処理の結果が検証成功である場合、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を維持し;サービスアクセスプロセスに対する非同期検証処理の結果が検証失敗である場合、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を切断するように構成される。
【0262】
いくつかの実施例において、サービス通信装置455は更に、暗号化通信モジュールを備え、前記暗号化通信モジュールは、暗号化サービス通信中に、サービスアクセスプロセスから送信されたクレデンシャル要求を受信する処理;ここで、クレデンシャル要求は、サービスアクセスプロセスがアプリケーションプロセスのサービス要求を傍受するときに送信するものであり、サービス要求の宛先アドレスはサービスサーバのアドレスであり;アプリケーションプロセスに対して同期検証処理を実行する処理;アプリケーションプロセスに対する同期検証処理の結果に基づいて、アプリケーションプロセスのために割り当てられたサービスクレデンシャル及びゲートウェイアドレスを決定し、サービスクレデンシャル及びゲートウェイアドレスをサービスアクセスプロセスに送信して、サービスアクセスプロセスが、サービスクレデンシャル及びサービス要求をゲートウェイアドレスに対応するサービスゲートウェイに送信するようにする処理、を実行するように構成され、ここで、サービスゲートウェイは、受信されたサービスクレデンシャルに対して検証処理を実行し、サービスクレデンシャルに対する検証処理の結果が検証成功である場合、受信されたサービス要求をサービスサーバに送信するために使用され;サービスサーバは、受信されたサービス要求内の要求データに対して応答処理を実行するために使用される。
【0263】
いくつかの実施例において、暗号化通信モジュールは更に、アプリケーションプロセスが構成されている機器におけるログイン状態のユーザアカウントを決定し、ユーザアカウントに対応する信頼できるアプリケーションプロセスのプロセス情報、及びユーザアカウントに対応するアクセス可能なサービスサーバのアドレスを取得し;アプリケーションプロセスのプロセス情報と信頼できるアプリケーションプロセスのプロセス情報とのマッチング結果を、第3検証処理結果として使用し;サービス要求が要求するサービスサーバのアドレスとアクセス可能なサービスサーバのアドレスとのマッチング結果を、第4検証処理結果として使用し;アプリケーションプロセスが構成されている機器の機器情報を取得し、機器情報と機器セキュリティ条件とのマッチング結果を、第5検証処理結果として使用し;第3検証処理結果、第4検証処理結果及び第5検証処理結果に基づいて、アプリケーションプロセスに対する同期検証処理の結果を決定するように構成される。
【0264】
いくつかの実施例において、暗号化通信モジュールは更に、アプリケーションプロセスのプロセス情報をプロセス情報ブラックリストに周期的にマッチングさせて、得られたマッチング結果をアプリケーションプロセスに対する非同期検証処理の結果として使用し;アプリケーションプロセスに対する非同期検証処理の結果に基づいて、サービスアクセスプロセスとの間における暗号化サービス通信を搬送するための通信接続を制御するように構成される。
【0265】
本願の実施例は、コンピュータ可読記憶媒体に記憶されたコンピュータ命令(実行可能な命令)を含む、コンピュータプログラム製品又はコンピュータプログラムを提供する。コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサが当該コンピュータ命令を実行して、当該コンピュータ機器を本願の実施例に記載のサービス通信方法を実行させる。
【0266】
本願の実施例は、実行可能な命令が記憶されたコンピュータ可読記憶媒体を提供し、実行可能な命令がプロセッサによって実行されるとき、プロセッサを本願の実施例による方法、例えば、図4A図4B図4C図4D及び図4Eに示すサービス通信方法を実行させる。
【0267】
いくつかの実施例において、コンピュータ可読記憶媒体は、FRAM、ROM、PROM、EPROM、EEPROM、フラッシュメモリ、磁気表面メモリ、光ディスク、又はCD-ROMなどのメモリであってもよいし、上記のメモリのうちの1つを含むか任意に組み合わされた様々な機器であってもよい。
【0268】
いくつかの実施例において、実行可能な命令は、プログラム、ソフトウェア、ソフトウェアモジュール、脚本又はコードの形を採用し、任意の形のプログラミング言語(コンパイルまたは解析された言語、あるいは宣言型言語または手続き型言語を含む)で記述され、独立したプログラムとして展開されるか又はモジュール、コンポーネント、サブルーチン又はコンピューティング環境での使用に適した他のユニットとして展開されるなど、任意の形で展開されてもよい。
【0269】
一例として、実行可能な命令は、ファイルシステム内のファイルに対応してもよいが必ずしもそうではなく、他のプログラム又はデータを保存するファイルの一部に記憶されることができ、例えば、ハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)文書内の1つまたは複数の脚本に記憶され、議論中のプログラムの単一のファイルに記憶されるか、又は、複数の共同ファイル(例えば、1つ又は複数のモジュール、サブプログラム又はコード部分を記憶するファイル)に記憶されてもよい。
【0270】
一例として、実行可能な命令は、1つのコンピュータ機器で実行されるように展開されてもよいし、又は同じ場所にある複数のコンピュータ機器で実行されるように展開されてもよいし、又は、複数の場所に分散し且つ通信ネットワークによって相互接続された複数のコンピュータ機器で実行されるように展開されてもよい。
【0271】
上記は、本願の実施例に過ぎず、本願の保護範囲を限定することを意図するものではない。本願の精神及び範囲内で行われるあらゆる修正、同等の置換、改善などは、すべて本願の保護範囲に含まれる。
【符号の説明】
【0272】
200 サーバ
300 ネットワーク
400 端末機器
410 プロセッサ
420 ネットワークインターフェース
430 ユーザインターフェース
431 出力装置
432 入力装置
440 バスシステム
450 メモリ
451 オペレーティングシステム
452 ネットワーク通信モジュール
453 表現モジュール
454 入力処理モジュール
455 サービス通信装置
4551 受信モジュール
4552 検証モジュール
4553 決定モジュール
4554 送信モジュール
4555 接続制御モジュール
4555 接続制御モジュール
500 ブロックチェーンネットワーク
510 ノード
600 認証センター
700 電子機器
図1
図2
図3
図4A
図4B
図4C
図4D
図4E
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20