TW201638822A - 進程的身份認證方法和裝置 - Google Patents

進程的身份認證方法和裝置 Download PDF

Info

Publication number
TW201638822A
TW201638822A TW104141928A TW104141928A TW201638822A TW 201638822 A TW201638822 A TW 201638822A TW 104141928 A TW104141928 A TW 104141928A TW 104141928 A TW104141928 A TW 104141928A TW 201638822 A TW201638822 A TW 201638822A
Authority
TW
Taiwan
Prior art keywords
key
machine
authentication
authentication agent
ticket
Prior art date
Application number
TW104141928A
Other languages
English (en)
Other versions
TWI679551B (zh
Inventor
Meng-Zhe Yang
Can Zhou
Lin Cheng
Original Assignee
Alibaba Group Services Ltd
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 Alibaba Group Services Ltd filed Critical Alibaba Group Services Ltd
Publication of TW201638822A publication Critical patent/TW201638822A/zh
Application granted granted Critical
Publication of TWI679551B publication Critical patent/TWI679551B/zh

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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申請實施例公開了一種進程的身份認證方法。該方法包括:在處於分散式運算環境中的機器上配置有一個專屬於所述機器的認證代理;所述機器上的啟動單元在啟動進程前為所述進程生成進程資訊,並將所述進程資訊發送給所述機器上的認證代理;所述進程在被啟動後向所述機器上的認證代理請求身份認證;回應於身份認證請求,所述機器上的認證代理從所述機器的系統資源中獲取所述進程的進程資訊,並將獲取的所述進程的進程資訊與啟動單元發送的所述進程的進程資訊進行比對,如果相同,將所述進程認定為合法進程,如果不同,將所述進程認定為非法進程。透過本申請,可以保證身份認證過程的安全性。本申請實施例還公開了一種進程的身份認證裝置。

Description

進程的身份認證方法和裝置
本申請關於分散式運算領域,特別是關於進程的身份認證方法和裝置。
在分散式運算環境中,分佈在不同機器上的進程通過網路互相通信。然而,如果實現進程間通信的網路是一個開放的、不安全的網路,進程間通信的安全性是無法得到有效保證的,駭客很有可能會入侵並訪問分散式運算環境,以使得駭客的非法進程與其它合法進程進行通信。
為了保證進程間通信的安全性,避免駭客的非法進程與合法進程進行通信,在通信之前,需要對通信的進程進行身份認證。
但是,在實現本申請的過程中,本申請的發明人發現現有技術中至少存在如下問題:目前現有的身份認證協議基本上都是對互聯網中某一應用場景中的“用戶”實現身份認證,實現方式一般都是“一般使用者”採用普通的網路通訊協定完成身份認證,獲得“合法用戶”的身份,進而獲得通信用的會談金鑰。但是,由於本申請中實現進程 間通信的網路是一個開放的、不安全的網路,因此,如果“進程”採用普通的網路通訊協定進行身份認證,不僅“合法進程”可以通過身份認證,駭客的“非法進程”也完全可以通過同樣的手段通過身份認證,因此,無法保證身份認證的過程的安全性。
為了解決上述技術問題,本申請實施例提供了進程的身份認證方法和裝置,以盡可能地保證身份認證過程的安全性,阻止駭客的“非法進程”通過同樣的手段通過身份認證。
本申請實施例公開了如下技術方案:一種進程的身份認證方法,在機器上配置有一個專屬於所述機器的認證代理,所述機器為處於分散式運算環境中的任一機器,所述方法包括:所述機器上的啟動單元在啟動進程之前為所述進程生成進程資訊,並將所述進程資訊發送給所述機器上的認證代理;所述進程在被啟動後向所述機器上的認證代理請求身份認證;回應於身份認證請求,所述機器上的認證代理從所述機器的系統資源中獲取所述進程的進程資訊,並將獲取的所述進程的進程資訊與啟動單元發送的所述進程的進程資訊進行比對,如果相同,將所述進程認定為合法進程,如 果不同,將所述進程認定為非法進程。
較佳的,所述進程資訊包括進程的PID、進程的可執行檔的訪問路徑和進程的可執行檔的簽名值中的至少一個。
較佳的,所述方法還包括:所述機器上的啟動單元為所述進程生成初始金鑰,將所述初始金鑰發送給所述機器上的認證代理,並在啟動所述進程後將所述初始金鑰發送給所述進程;在將所述進程認定為合法進程之前,所述機器上的認證代理利用所述啟動單元發送的所述進程的初始金鑰對所述進程請求身份認證時使用的初始金鑰進行驗證,如果驗證通過,將所述進程認定為合法進程,如果驗證不通過,將所述進程認定為非法進程;則所述進程在被啟動後向所述機器上的認證代理請求身份認證具體為:所述進程在被啟動後利用所述初始金鑰向所述機器上的認證代理請求身份認證。
較佳的,所述初始金鑰的生命週期為一次。
較佳的,當所述進程是子進程時,所述啟動單元為所述子進程的父進程,當所述進程為父進程時,所述啟動單元為所述機器上的認證代理。
較佳的,所述方法還包括:在將所述進程認定為合法進程之後,所述機器上的認證代理按照被啟動關係從所述進程開始一直回溯到所述機 器上的認證代理,並將回溯的路徑作為所述進程唯一的身份標識。
較佳的,所述方法還包括:在將所述進程被認定為合法進程之後,所述機器上的認證代理與所述進程協商第一金鑰;其中,所述第一金鑰用於所述機器上的認證代理與所述進程之間的安全通信。
較佳的,所述方法還包括:所述進程向所述機器上的認證代理請求與目標進程通信;響應於與目標進程通信的請求,所述機器上的認證代理與所述目標進程所在機器上的認證代理協商會談金鑰,利用所述第一金鑰加密所述會談金鑰,生成第一票據,並將所述第一票據返回給所述進程;所述進程利用所述第一金鑰解密所述第一票據,獲得會談金鑰,所述會談金鑰用於所述進程與所述目標進程之間的安全通信。
較佳的,所述方法還包括:在所述機器上的認證代理與所述目標進程所在機器上的認證代理協商會談金鑰之後,所述機器上的認證代理接收所述目標進程所在機器上的認證代理發送的第二票據,並將所述第二票據返回給所述進程;其中,所述第二票據是利用第二金鑰加密所述會談金鑰生成的,所述第二金鑰用於所述目標進程與所在機器上的認證代理之間的安全通信; 所述進程將所述第二票據發送給所述目標進程,以便所述目標進程解密所述第二票據獲得會談金鑰。
較佳的,所述方法還包括:所述機器上的認證代理從所述目標進程所在機器上的認證代理獲取所述目標進程的身份標識;所述機器上的認證代理利用所述第一金鑰加密所述會談金鑰,生成第一票據,並將所述第一票據返回給所述進程具體為:所述機器上的認證代理利用所述第一金鑰加密所述會談金鑰和所述目標進程的身份標識,生成第一票據,並將所述第一票據返回給所述進程;所述進程利用所述第一金鑰解密所述第一票據,獲得會談金鑰具體為:所述進程利用所述第一金鑰解密所述第一票據,獲得會談金鑰和所述目標進程的身份標識。
較佳的,所述方法還包括:在所述進程利用所述會談金鑰與所述目標進程進行通信之前,所述進程根據所述目標進程的身份標識確定所述目標進程是否為期望通信的物件,如果是,後續所述進程再利用所述會談金鑰與所述目標進程進行通信。
一種進程的身份認證裝置,所述裝置位於分散式運算環境中的任一機器上,所述裝置包括:認證代理、啟動單元以及進程;其中,所述啟動單元,用於在啟動所述進程之前為所述進程 生成進程資訊,並將所述進程資訊發送給所述認證代理;所述進程,用於在被啟動後向所述認證代理請求身份認證;所述認證代理,用於回應於身份認證請求,從所述機器的系統資源中獲取所述進程的進程資訊,並將獲取的所述進程的進程資訊與所述啟動單元發送的所述進程的進程資訊進行比對,如果相同,將所述進程認定為合法進程,如果不同,將所述進程認定為非法進程。
較佳的,所述進程資訊包括進程的PID、進程的可執行檔的訪問路徑和進程的可執行檔的簽名值中的至少一個。
較佳的,所述啟動單元還用於,為所述進程生成初始金鑰,將所述初始金鑰發送給所述認證代理,並在啟動所述進程後將所述初始金鑰發送給所述進程;則所述認證代理還用於,在將所述進程認定為合法進程之前,所述機器上的認證代理利用所述啟動單元發送的所述進程的初始金鑰對所述進程請求身份認證時使用的初始金鑰進行驗證,如果驗證通過,將所述進程認定為合法進程,如果驗證不通過,將所述進程認定為非法進程;則所述進程具體用於,在被啟動後利用所述初始金鑰向所述認證代理請求身份認證。
較佳的,所述認證代理還用於,按照被啟動關係從所述進程開始一直回溯到所述認證代理,並將回溯的路徑作為所述進程唯一的身份標識。
較佳的,所述認證代理還用於,在將所述進程認定為合法進程之後,與所述進程協商第一金鑰;其中,所述第一金鑰用於所述認證代理與所述進程之間的安全通信。
較佳的,所述進程還用於,向所述認證代理請求與目標進程通信,接收所述認證代理發送的第一票據,利用所述第一金鑰解密所述第一票據,獲得會談金鑰,利用所述會談金鑰與所述目標進程進行通信; 所述認證代理還用於,響應於與目標進程通信的請求,與所述目標進程所在機器上的認證代理協商會談金鑰,利用所述第一金鑰加密所述會談金鑰,生成第一票據,將所述第一票據返回給所述進程。
較佳的,所述認證代理還用於,在與所述目標進程所在機器上的認證代理協商會談金鑰之後,接收所述目標進程所在機器上的認證代理發送的第二票據,並將所述第二票據返回給所述進程;其中,所述第二票據是利用第二金鑰加密所述會談金鑰生成的,所述第二金鑰用於所述目標進程與所在機器上的認證代理之間的安全通信;所述進程還用於,將所述第二票據發送給所述目標進程,以便所述目標進程解密所述第二票據獲得會談金鑰。
較佳的,所述認證代理還用於,從所述目標進程所在機器上的認證代理獲取所述目標進程的身份標識;所述認證代理具體用於,利用所述第一金鑰加密所述會談金鑰和所述目標進程的身份標識,生成第一票據,並將所述第一票據返回給所述進程; 所述進程具體用於,利用所述第一金鑰解密所述第一票據,獲得會談金鑰和所述目標進程的身份標識。
較佳的,在利用所述會談金鑰與所述目標進程進行通信之前,根據所述目標進程的身份標識確定所述目標進程是否為期望通信的物件,如果是,後續再利用所述會談金鑰與所述目標進程進行通信。
由上述實施例可以看出,與現有技術相比,本申請的優點在於:在機器上,由本地的認證代理完成對本地進程的身份認證。在認證過程中,對於每一個本地進程,在其被啟動之前,啟動單元已經向本地的認證代理報備了本地進程的進程資訊,也就是說,凡是本地進程,其進程資訊在本地的認證代理中都有記錄,所有記錄相當於構成了一個關於本地進程的“白名單”。當有進程請求身份認證時,本地的認證代理先從本地機器的系統資源中獲取該進程的進程資訊,並判斷該進程資訊是否在“白名單”中,如果是本地進程請求身份認證,獲取的進程資訊必然在“白名單”中,而如果是駭客的“非法進程”偽裝本地進程請求身份認證,獲取的進程資訊必然不在“白名單”中。因此,保證了身份認證的過程的安全性。
1‧‧‧機器
2‧‧‧機器
71‧‧‧認證代理
72‧‧‧啟動單元
73‧‧‧進程
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附 圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1示意性地示出了本申請的實施方式可以在其中實施的一個示例性應用場景;圖2示意性地示出了根據本申請的一個實施方式的進程的身份認證方法的流程圖;圖3示意性地示出了根據本申請的另一個實施方式的進程的身份認證方法的流程圖;圖4示意性地示出了根據本申請的另一個實施方式的進程的身份認證方法的流程圖;圖5示意性地示出了本申請的實施方式可以在其中實施的另一個示例性應用場景;圖6示意性地示出了根據本申請的一個實施方式的進程間通信的方法的流程圖;圖7示意性地示出了根據本申請的一個實施例的進程的身份認證裝置的結構框圖。
首先參考圖1,圖1示意性地示出了本申請的實施方式可以在其中實施的示例性應用場景。其中,在分散式環境中包含多個機器,為了方便描述,假設在分散式環境中共包含兩個機器10和20,為機器10設置專屬於該機器 的認證代理11,為機器20設置專屬於該機器的認證代理21。認證代理11專門負責對機器10上運行的任一進程進行身份認證,而認證代理21專門負責對機器20上運行的任一進程進行身份認證。假設在機器10上存在3個合法進程和1個非法進程,合法進程為進程1、2和3,其中,認證代理11啟動進程1和進程2,進程1進一步啟動進程3,即,進程1為進程3的父進程,進程3為進程1的子進程。在機器20上存在3個合法進程,分別為進程4、5和6,認證代理21啟動進程4,進程4進一步啟動進程5和進程6,即,進程4是進程5和6的父進程,而進程5和6是進程4的子進程。本領域技術人員可以理解,圖1所示的示意圖僅是本申請的實施方式可以在其中得以實現的一個示例。本申請實施方式的應用範圍不受到該框架任何方面的限制。例如,在分散式運算環境中除了可以包含機器10和20之外,還可以包含更多的機器,並且機器上運行的進程也不僅限於圖1所示的數量。
為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖對本申請實施例進行詳細描述。
方法實施例
請參閱圖2,圖2示意性地示出了根據本申請的一個實施方式的進程的身份認證方法的流程圖,例如,針對機器10中的進程3,該認證方法例如包括以下步驟:
步驟201:機器10上的進程1在啟動進程3之前為 進程3生成一個進程資訊,並將該進程資訊發送給認證代理11。
進程資訊可以包括進程3的PID、進程3的可執行檔的訪問路徑和進程3的可執行檔的簽名值中的至少一個。
其中,進程1可以利用預設的簽名演算法計算可執行檔的簽名值。例如,如果可執行檔的簽名值為sha1值,進程1可以利用linux系統的sha1sum命令來計算可執行檔的sha1值。
例如,進程3的進程資訊為:PID:14632
可執行檔的訪問路徑:/bin/sleep
可執行檔的sha1值:5bbc30bb0b086b587d2a55b93d5cdbe6fb03cc3f
當然,除了進程3之外,機器10中所有被啟動進程的進程資訊都會被發送到認證代理11處,也就是說,在認證代理11中,維護了機器10中所有被啟動進程的進程資訊,並且,這些進程資訊是進程的啟動單元發送過來的。
步驟202:進程3被啟動後向認證代理11請求身份認證。
進程3被啟動後,可以先通過linux的domainsocket方式與認證代理進行通信,以請求身份認證。
步驟203:回應於身份認證請求,認證代理11從機器10的系統資源中獲取進程3的進程資訊,並將獲取的 進程3的進程資訊與進程1發送的進程3的進程資訊進行比對,如果相同,進入步驟204,如果不同,進入步驟205。
步驟204:認證代理11將進程3認定為合法進程,結束流程。
步驟205:認證代理11將進程3認定為非法進程,結束流程。
其中,認證代理11在接收到進程3的請求後,可以通過linux系統中的getsockopt介面以及SO_PEERCRED參數,從內核中獲取進程3的PID,然後依據進程3的PID從/proc檔案系統獲取進程3的可執行檔的訪問路徑,最後利用預設的簽名演算法計算可執行檔的簽名值。
如果是進程3向認證代理11請求身份認證,認證代理11從機器10的系統資源中獲取的必然是進程3的進程資訊,並且通過比對可以發現,獲取到的進程3的進程資訊與進程1發送的進程3的進程資訊必然是相同的,說明當前請求身份認證的進程3確實是由進程1啟動的,即,進程3不是偽裝的,而是一個合法的進程。
如果一個非法進程偽裝成進程3同樣向認證代理11請求身份認證,由於認證代理從機器10的系統資源中獲取到的是該非法進程的進行資訊,而不是其偽裝的進程3的進程資訊,因此通過比對可以發現,獲取到的非法進程的進程資訊與進程1發送的進程3的進程資訊必然是不同的,說明當前請求身份認證的進程3並不是由進程1啟動 的,而是由非法進程偽裝的。
其中,認證代理11可以將獲取到的進程3的進程資訊與自身維護的所有進程資訊進行逐一比對,如果與自身維護的其中一個進程相同,說明進程3是合法的,如果與自身維護的每一個進程都不同,說明進程3是非法的。
在申請的一個較佳實施方式中,為了增強認證結果的可靠性,如圖3所示,該方法例如包括以下步驟:
步驟301:機器10上的進程1在啟動進程3之前為進程3生成一個進程資訊以及一個初始金鑰,將該進程資訊和該初始金鑰發送給認證代理11,並在啟動進程3後將該初始金鑰發送給進程3。
步驟302:進程3被啟動後利用初始金鑰向認證代理11請求身份認證。
步驟303:回應於身份認證請求,認證代理11從機器10的系統資源中獲取進程3的進程資訊,並將獲取的進程3的進程資訊與進程1發送的進程3的進程資訊進行比對,如果相同,進入步驟304,如果不同,進入步驟305。
步驟304:認證代理11利用進程1發送的初始金鑰對進程3請求身份認證時使用的初始金鑰進行驗證,如果驗證通過,進入步驟306,如果驗證不通過,進入步驟305。
其中,上述驗證過程可以使用消息驗證碼(MAC)技術,或者,也可以使用Authenticated Encryption技術。
步驟305:認證代理11認定進程3為非法進程,結束流程。
步驟306:認證代理11認定進程3為合法進程,結束流程。
顯然,對於認證代理來說,其除了比對進程資訊之外,還需要驗證初始金鑰,與只比對進程資訊相比,增加對初始金鑰的驗證,可以使認證的結果更可靠,更加保證了身份認證過程的安全性。
在本申請的另一個較佳實施方式中個,可以將初始金鑰的生命週期設置為一次。也就是說,初始金鑰被進程3在身份認證時使用一次後,該初始金鑰即失效。即使非法進程獲取到了進程3的初始金鑰,由於該初始金鑰使用一次即失效,因此,該非法進程也無法再利用該初始金鑰通過認證代理11的認證。
另外,認證代理11還可以將進程1發送的進程3的進程資訊與初始金鑰建立對應關係,在回應進程3的身份認證請求時,可以從自身維護的所有進程資訊中查找與進程3使用的初始金鑰對應的進程資訊,進而直接將獲取的進程3的進程資訊與查找到的進程資訊(即,進程1發送的進程3的進程資訊)進行比對,而不再需要將獲取得到的進程3的進程資訊與自身維護的所有進程資訊一一地進行比對,更有效地節省了比對的時間,加快了身份認證的處理進度。當然,在進程3的初始金鑰失效後,認證代理11還需要解除進程資訊與該初始金鑰之間的對應關係。
當然,需要說明的是,通過上述方法,除了可以對進程3進行身份認證之外,還可以對機器10上的其它進程進行身份認證。例如,可以對進程1或進程2進行身份認證,並且,由於進程1和進程2是由認證代理11啟動的,因此,認證代理11本身可以完成進程資訊以及初始金鑰的生成。
可以理解的,在機器10上,被認證通過的所有合法進程在認證代理11中都有記錄,並且,按照啟動和被啟動關係,被認證通過的所有合法進程可以形成一個樹狀結構,而樹的根節點就是認證代理11。在本申請中,從樹上的某一個節點回溯到根節點的整個路徑可以作為該節點唯一的身份標識。
因此,在本申請另一個較佳實施方式中,認證代理11可以按照被啟動關係從進程3開始一直回溯到認證代理11,並將回溯的路徑作為進程3唯一的身份標識。
即,進程3的身份標識為:進程3@進程1@認證代理11;進程1的身份標識為:進程1@認證代理11;進程2的身份標識為:進程2@認證代理11。
類似的,進程5的身份標識為:進程5@進程4@認證代理21;進程6的身份標識為:進程6@進程4@認證代理21。
在本申請的另一個較佳實施方式中,如圖4所示,在將進程3認定為合法進程之後,認證代理11與進程3協商第一金鑰,其中,第一金鑰用於進程3與認證代理11 之間的安全通信,以便於進程3通過安全通信從認證代理11獲取到與目標進程實現進程間通信的會談金鑰。
其中,秘鑰協商在現有技術中有多種方案,本申請可以採用現有技術中提供的任意中方案實現第一金鑰的協商。例如,採用現有技術中比較常用的Diffie-Hellman key exchange方案實現金鑰協商。
如圖5所示,假設機器1上的client進程與機器2上的server進程都通過了認證代理的認證,是合法進程,並且,client進程已經從機器1上的agent_c中獲得了其與agent_c之間實現安全通信的金鑰client_key;類似的,server也已經從機器2上的agent_s中獲得了其與agent_s之間實現安全通信的會談金鑰server_key。
當client進程需要與server進程實現進程間通信時,請參閱圖6,圖6示意性地示出了根據本申請的一個實施方式的進程間通信的方法的流程圖,該通信方法例如包括以下步驟:
步驟601:機器1上的client進程向本地的agent_c請求與機器2上server進程通信。
步驟602:agent_c與agent_s通信,協商出一個session_key。
步驟603:agent_c產生一個client_ticket,agent_s產生一個server_ticket。
其中,client_ticket=Encrypt(session_key,client_key),即,利用client_key加密session_key。
類似的,server_ticket=Encrypt(session_key,server_key)即,利用server_key加密session_key。
步驟604:agent_s將server_ticket發送給agent_c。
步驟605:agent_c向client進程返回client_ticket和server_ticket。
步驟606:client進程持有client_key,直接利用client_key解密client_ticket,獲得session_key。
步驟607:client進程將server_ticket發送給server進程。
步驟608:server進程持有server_key,直接利用server_key解密server_ticket,獲得session_key。
步驟609:client進程與server進程之間通過session_key進行加密通信。
當然,在通過認證後,client進程具有自己唯一的身份標識client_info,類似的,server進程也具有自己唯一的身份標識server_info。在上述步驟602中,還可以通過以下方式產生client_ticket和server_ticket:c1ient_ticket=Encrypt(session_key+server_info,client_key),即,利用client_key加密session_key和server_info。
類似的,server_ticket=Encrypt(session_key+client_info,server_key)即,利用server_key加密session_key和client_info。
相應的,在步驟606中,client進程利用client_key 解密client_ticket,不僅可以獲得session_key,還可以獲得server_info。而在步驟608中,server進程利用server_key解密server_ticket,也可以獲得session_key和client_info。
在步驟609之前,client可以先根據獲得的server_info確定server進程是否為自己期望通信的物件,server進程也可以根據獲得的client_info確定client進程是否為自己期望通信的物件。
如果client進程確定server進程是自己期望通信的物件,在步驟608中,client進程就會通過session_key向server進程發送網路消息,如果client進程確定server進程不是自己期望通信的物件,則不會向server進程發送網路消息。當client進程向server進程發送網路消息時,如果server進程確定client進程是自己期望通信的物件,就會對client進程進行回應,如果server進程確定client進程不是自己期望通信的物件,則不會對client進程進行回應。
由上述實施例可以看出,與現有技術相比,本申請的優點在於:在機器上,由本地的認證代理完成對本地進程的身份認證。在認證過程中,對於每一個本地進程,在其被啟動之前,啟動單元已經向本地的認證代理報備了本地進程的進程資訊,也就是說,凡是本地進程,其進程資訊在本地的認證代理中都有記錄,所有記錄相當於構成了一個關於 本地進程的“白名單”。當有進程請求身份認證時,本地的認證代理先從本地機器的系統資源中獲取該進程的進程資訊,並判斷該進程資訊是否在“白名單”中,如果是本地進程請求身份認證,獲取的進程資訊必然在“白名單”中,而如果是駭客的“非法進程”偽裝本地進程請求身份認證,獲取的進程資訊必然不在“白名單”中。因此,保證了身份認證的過程的安全性。
裝置實施例
與上述一種進程的身份認證方法相對應,本申請實施例還提供了一種進程的身份認證裝置。請參閱圖7,圖7示意性地示出了根據本申請的一個實施例的進程的身份認證裝置的結構框圖,該裝置位於分散式運算環境中的任意機器上,該裝置例如可以包括:認證代理71、啟動單元72以及進程73。下面結合該裝置的工作原理進一步介紹其內部結構以及連接關係。
啟動單元72,用於在啟動進程73前為進程73生成進程資訊,並將所述進程資訊發送給認證代理71;進程73,用於在被啟動後向認證代理71請求身份認證;認證代理71,用於回應於身份認證請求,從所述機器的系統資源中獲取進程73的進程資訊,並將獲取的進程73的進程資訊與啟動單元72發送的進程73的進程資訊進行比對,如果相同,將進程73認定為合法進程,如 果不同,將進程73認定為非法進程。
在本申請的一個較佳實施方式中,所述進程資訊包括進程的PID、進程的可執行檔的訪問路徑和進程的可執行檔的簽名值中的至少一個。
在本申請的另一個較佳實施方式中,啟動單元72還用於,為進程73生成初始金鑰,將所述初始金鑰發送給認證代理71,並在啟動進程73後將所述初始金鑰發送給進程73;則認證代理71還用於,在將所述進程認定為合法進程之前,所述機器上的認證代理利用所述啟動單元發送的所述進程的初始金鑰對所述進程請求身份認證時使用的初始金鑰進行驗證,如果驗證通過,將所述進程認定為合法進程,如果驗證不通過,將所述進程認定為非法進程; 則進程73具體用於,在被啟動後利用所述初始金鑰向認證代理71請求身份認證。
在本申請的另一個較佳實施方式中,所述初始金鑰的生命週期為一次。
在本申請的另一個較佳實施方式中,認證代理71還用於,按照被啟動關係從進程73開始一直回溯到認證代理71,並將回溯的路徑作為進程73唯一的身份標識。
在本申請的另一個較佳實施方式中,認證代理71還用於,在將進程73認定為合法進程之後,與進程73協商第一金鑰;其中,所述第一金鑰用於進程73與認證代理71之間的安全通信。
在本申請的另一個較佳實施方式中,進程73還用於,向認證代理71請求與目標進程通信,接收認證代理71發送的第一票據,利用所述第一金鑰解密所述第一票據,獲得會談金鑰,利用所述會談金鑰與所述目標進程進行通信;認證代理71還用於,響應於與目標進程通信的請求,與所述目標進程所在機器上的認證代理協商會談金鑰,利用所述第一金鑰加密所述會談金鑰,生成第一票據,將所述第一票據返回給進程73。
在本申請的另一個較佳實施方式中,認證代理71還用於,在與所述目標進程所在機器上的認證代理協商會談金鑰之後,接收所述目標進程所在機器上的認證代理發送的第二票據,並將所述第二票據返回給進程73;其中,所述第二票據是利用第二金鑰加密所述會談金鑰生成的,所述第二金鑰用於所述目標進程與所在機器上的認證代理之間的安全通信;進程73還用於,將所述第二票據發送給所述目標進程,以便所述目標進程解密所述第二票據獲得會談金鑰。
在本申請的另一個較佳實施方式中,認證代理71還用於,從所述目標進程所在機器上的認證代理獲取所述目標進程的身份標識;認證代理71具體用於,利用所述第一金鑰加密所述會談金鑰和所述目標進程的身份標識,生成第一票據,並將所述第一票據返回給進程73; 進程73具體用於,利用所述第一金鑰解密所述第一票據,獲得會談金鑰和所述目標進程的身份標識。
在本申請的另一個較佳實施方式中,進程73還用於,在利用所述會談金鑰與所述目標進程進行通信之前,根據所述目標進程的身份標識確定所述目標進程是否為期望通信的物件,如果是,後續再利用所述會談金鑰與所述目標進程進行通信。
由上述實施例可以看出,與現有技術相比,本申請的優點在於:在機器上,由本地的認證代理完成對本地進程的身份認證。在認證過程中,對於每一個本地進程,在其被啟動之前,啟動單元已經向本地的認證代理報備了本地進程的進程資訊,也就是說,凡是本地進程,其進程資訊在本地的認證代理中都有記錄,所有記錄相當於構成了一個關於本地進程的“白名單”。當有進程請求身份認證時,本地的認證代理先從本地機器的系統資源中獲取該進程的進程資訊,並判斷該進程資訊是否在“白名單”中,如果是本地進程請求身份認證,獲取的進程資訊必然在“白名單”中,而如果是駭客的“非法進程”偽裝本地進程請求身份認證,獲取的進程資訊必然不在“白名單”中。因此,保證了身份認證的過程的安全性。
所述領域的技術人員可以清楚地瞭解到,為了描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅 述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述到的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,裝置或單元的間接耦合或通信連接,可以是電性、機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,可以採用軟體功能單元的形式實現。
需要說明的是,本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以透過電腦程式來指令相關的硬體來完成,所述的程式可存儲於一電腦可讀取儲存介質中,該程式在執行時,可包括如上述各方法 的實施例的流程。其中,所述的儲存介質可為磁碟、光碟、唯讀記憶體(Read-Only Memory,ROM)或隨機存取記憶體(Random Access Memory,RAM)等。
以上對本申請所提供的一種進程的身份註冊方法和裝置進行了詳細介紹,本文中應用了具體實施例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。

Claims (15)

  1. 一種進程的身份認證方法,其特徵在於,在機器上配置有一個專屬於該機器的認證代理,該機器為處於分散式運算環境中的任一機器,該方法包括:該機器上的啟動單元在啟動進程之前為該進程生成進程資訊,並將該進程資訊發送給該機器上的認證代理;該進程在被啟動後向該機器上的認證代理請求身份認證;回應於身份認證請求,該機器上的認證代理從該機器的系統資源中獲取該進程的進程資訊,並將獲取的該進程的進程資訊與啟動單元發送的該進程的進程資訊進行比對,如果相同,將該進程認定為合法進程,如果不同,將該進程認定為非法進程。
  2. 根據申請專利範圍第1項所述的方法,其中,該進程資訊包括進程的PID、進程的可執行檔的訪問路徑和進程的可執行檔的簽名值中的至少一個。
  3. 根據申請專利範圍第1項所述的方法,其中,該方法還包括:該機器上的啟動單元為該進程生成初始金鑰,將該初始金鑰發送給該機器上的認證代理,並在啟動該進程後將該初始金鑰發送給該進程;在將該進程認定為合法進程之前,該機器上的認證代理利用該啟動單元發送的該進程的初始金鑰對該進程請求身份認證時使用的初始金鑰進行驗證,如果驗證通過,將 該進程認定為合法進程,如果驗證不通過,將該進程認定為非法進程;則該進程在被啟動後向該機器上的認證代理請求身份認證具體為:該進程在被啟動後利用該初始金鑰向該機器上的認證代理請求身份認證。
  4. 根據申請專利範圍第1項所述的方法,其中,當該進程是子進程時,該啟動單元為該子進程的父進程,當該進程為父進程時,該啟動單元為該機器上的認證代理。
  5. 根據申請專利範圍第1項所述的方法,其中,該方法還包括:在將該進程認定為合法進程之後,該機器上的認證代理按照被啟動關係從該進程開始一直回溯到該機器上的認證代理,並將回溯的路徑作為該進程唯一的身份標識。
  6. 根據申請專利範圍第1至5項中任一項所述的方法,其中,該方法還包括:在將該進程被認定為合法進程之後,該機器上的認證代理與該進程協商第一金鑰;其中,該第一金鑰用於該機器上的認證代理與該進程之間的安全通信。
  7. 根據申請專利範圍第6項所述的方法,其中,該方法還包括:該進程向該機器上的認證代理請求與目標進程通信;響應於與目標進程通信的請求,該機器上的認證代理與該目標進程所在機器上的認證代理協商會談金鑰,利用 該第一金鑰加密該會談金鑰,生成第一票據,並將該第一票據返回給該進程;該進程利用該第一金鑰解密該第一票據,獲得會談金鑰,該會談金鑰用於該進程與該目標進程之間的安全通信。
  8. 根據申請專利範圍第7項所述的方法,其中,該方法還包括:在該機器上的認證代理與該目標進程所在機器上的認證代理協商會談金鑰之後,該機器上的認證代理接收該目標進程所在機器上的認證代理發送的第二票據,並將該第二票據返回給該進程;其中,該第二票據是利用第二金鑰加密該會談金鑰生成的,該第二金鑰用於該目標進程與所在機器上的認證代理之間的安全通信;該進程將該第二票據發送給該目標進程,以便該目標進程解密該第二票據獲得會談金鑰。
  9. 根據申請專利範圍第7項所述的方法,其中,該方法還包括:該機器上的認證代理從該目標進程所在機器上的認證代理獲取該目標進程的身份標識;該機器上的認證代理利用該第一金鑰加密該會談金鑰,生成第一票據,並將該第一票據返回給該進程具體為:該機器上的認證代理利用該第一金鑰加密該會談金鑰和該目標進程的身份標識,生成第一票據,並將該第一票 據返回給該進程;該進程利用該第一金鑰解密該第一票據,獲得會談金鑰具體為:該進程利用該第一金鑰解密該第一票據,獲得會談金鑰和該目標進程的身份標識。
  10. 一種進程的身份認證裝置,其特徵在於,該裝置位於分散式運算環境中的任一機器上,該裝置包括:認證代理、啟動單元以及進程;其中,該啟動單元,用於在啟動該進程之前為該進程生成進程資訊,並將該進程資訊發送給該認證代理;該進程,用於在被啟動後向該認證代理請求身份認證;該認證代理,用於回應於身份認證請求,從該機器的系統資源中獲取該進程的進程資訊,並將獲取的該進程的進程資訊與該啟動單元發送的該進程的進程資訊進行比對,如果相同,將該進程認定為合法進程,如果不同,將該進程認定為非法進程。
  11. 根據申請專利範圍第10項所述的裝置,其中,該進程資訊包括進程的PID、進程的可執行檔的訪問路徑和進程的可執行檔的簽名值中的至少一個。
  12. 根據申請專利範圍第10項所述的裝置,其中,該啟動單元還用於,為該進程生成初始金鑰,將該初始金鑰發送給該認證代理,並在啟動該進程後將該初始金鑰發送給該進程; 則該認證代理還用於,在將該進程認定為合法進程之前,該機器上的認證代理利用該啟動單元發送的該進程的初始金鑰對該進程請求身份認證時使用的初始金鑰進行驗證,如果驗證通過,將該進程認定為合法進程,如果驗證不通過,將該進程認定為非法進程;則該進程具體用於,在被啟動後利用該初始金鑰向該認證代理請求身份認證。
  13. 根據申請專利範圍第10項所述的裝置,其中,該認證代理還用於,按照被啟動關係從該進程開始一直回溯到該認證代理,並將回溯的路徑作為該進程唯一的身份標識。
  14. 根據申請專利範圍第10至13項中任一項所述的裝置,其中,該認證代理還用於,在將該進程認定為合法進程之後,與該進程協商第一金鑰;其中,該第一金鑰用於該認證代理與該進程之間的安全通信。
  15. 根據申請專利範圍第14項所述的裝置,其中,該進程還用於,向該認證代理請求與目標進程通信,接收該認證代理發送的第一票據,利用該第一金鑰解密該第一票據,獲得會談金鑰,利用該會談金鑰與該目標進程進行通信;該認證代理還用於,響應於與目標進程通信的請求,與該目標進程所在機器上的認證代理協商會談金鑰,利用該第一金鑰加密該會談金鑰,生成第一票據,將該第一票據返回給該進程。
TW104141928A 2015-04-30 2015-12-14 進程的身份認證方法和裝置 TWI679551B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510218936.6A CN106209734B (zh) 2015-04-30 2015-04-30 进程的身份认证方法和装置
CN201510218936.6 2015-04-30

Publications (2)

Publication Number Publication Date
TW201638822A true TW201638822A (zh) 2016-11-01
TWI679551B TWI679551B (zh) 2019-12-11

Family

ID=57199723

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104141928A TWI679551B (zh) 2015-04-30 2015-12-14 進程的身份認證方法和裝置

Country Status (4)

Country Link
US (1) US11146554B2 (zh)
CN (1) CN106209734B (zh)
TW (1) TWI679551B (zh)
WO (1) WO2016176424A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI682651B (zh) * 2017-06-19 2020-01-11 香港商阿里巴巴集團服務有限公司 一種認證方法、基於區塊鏈的認證資料處理方法及裝置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790075A (zh) * 2016-12-21 2017-05-31 上海云熵网络科技有限公司 用于udp传输的认证系统及认证方法
CN106775960B (zh) * 2016-12-30 2020-04-10 武汉斗鱼网络科技有限公司 一种对Windows进程的唯一标示方法及系统
GB201710168D0 (en) * 2017-06-26 2017-08-09 Microsoft Technology Licensing Llc Introducing middleboxes into secure communications between a client and a sever
CN109670312A (zh) 2017-10-13 2019-04-23 华为技术有限公司 安全控制方法及计算机系统
CN111090480B (zh) * 2018-10-24 2022-06-21 武汉斗鱼网络科技有限公司 一种检测进程实例个数的方法及相关装置
US11271933B1 (en) * 2020-01-15 2022-03-08 Worldpay Limited Systems and methods for hosted authentication service
CN112800393B (zh) * 2021-01-29 2022-08-26 深圳市商汤科技有限公司 授权认证、软件开发工具包生成方法、装置及电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0720165B2 (ja) * 1989-07-26 1995-03-06 株式会社東芝 通信装置
US8055527B1 (en) * 2001-06-08 2011-11-08 Servigistics, Inc. Policy based automation for a supply chain
US7249379B2 (en) * 2002-02-01 2007-07-24 Systems Advisory Group Enterprises, Inc. Method and apparatus for implementing process-based security in a computer system
JP2005196728A (ja) * 2003-12-11 2005-07-21 Nec Corp セキュリティ検証システム、装置、方法、およびセキュリティ検証用プログラム
JP4587158B2 (ja) * 2004-01-30 2010-11-24 キヤノン株式会社 セキュア通信方法、端末装置、認証サービス装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7890428B2 (en) * 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
US7350074B2 (en) * 2005-04-20 2008-03-25 Microsoft Corporation Peer-to-peer authentication and authorization
US7665098B2 (en) * 2005-04-29 2010-02-16 Microsoft Corporation System and method for monitoring interactions between application programs and data stores
US8898802B2 (en) * 2005-10-24 2014-11-25 Science Park Corporation Electronic computer data management method, program, and recording medium
JP2007310656A (ja) * 2006-05-18 2007-11-29 Hitachi Ltd 計算機システム及び論理パス差分検出方法
US7684352B2 (en) * 2006-11-02 2010-03-23 Nortel Networks Ltd Distributed storage of routing information in a link state protocol controlled network
JP5315748B2 (ja) * 2008-03-28 2013-10-16 富士通株式会社 マイクロプロセッサおよびシグネチャ生成方法ならびに多重化システムおよび多重化実行検証方法
US8474044B2 (en) * 2009-01-05 2013-06-25 Cisco Technology, Inc Attack-resistant verification of auto-generated anti-malware signatures
JP2011053893A (ja) * 2009-09-01 2011-03-17 Hitachi Ltd 不正プロセス検知方法および不正プロセス検知システム
US9582590B2 (en) * 2010-12-28 2017-02-28 Verizon Patent And Licensing Inc. Method and system for presenting a navigation path for enabling retrieval of content
JP2012212211A (ja) * 2011-03-30 2012-11-01 Hitachi Ltd 認証連携システム、および、認証連携方法
CN102147845A (zh) * 2011-04-18 2011-08-10 北京思创银联科技股份有限公司 进程监控方法
US8626543B2 (en) * 2011-10-08 2014-01-07 Sap Ag Tracing software execution of a business process
CN102521099A (zh) * 2011-11-24 2012-06-27 深圳市同洲视讯传媒有限公司 一种进程监控方法及进程监控系统
CN102521101B (zh) * 2011-12-08 2015-05-13 曙光信息产业(北京)有限公司 一种基于进程扫描的非法作业监控方法
CN103888252A (zh) * 2012-12-19 2014-06-25 深圳市华营数字商业有限公司 一种基于uid、pid、appid控制应用访问权限方法
CN105765528B (zh) * 2013-11-13 2019-09-24 微软技术许可有限责任公司 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI682651B (zh) * 2017-06-19 2020-01-11 香港商阿里巴巴集團服務有限公司 一種認證方法、基於區塊鏈的認證資料處理方法及裝置

Also Published As

Publication number Publication date
TWI679551B (zh) 2019-12-11
CN106209734B (zh) 2019-07-19
US11146554B2 (en) 2021-10-12
US20160323278A1 (en) 2016-11-03
WO2016176424A1 (en) 2016-11-03
CN106209734A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
TWI679551B (zh) 進程的身份認證方法和裝置
KR102437841B1 (ko) 사물 인터넷 디바이스의 기록 및 검증 방법과 장치, 그리고 아이덴티티 인증 방법 및 장치
WO2018145605A1 (zh) 鉴权方法及服务器、访问控制装置
KR102168984B1 (ko) 보안 디바이스 페어링
US10601801B2 (en) Identity authentication method and apparatus
WO2018050081A1 (zh) 设备身份认证的方法、装置、电子设备及存储介质
US8863257B2 (en) Securely connecting virtual machines in a public cloud to corporate resource
WO2017028593A1 (zh) 网络接入设备接入无线网络接入点的方法、网络接入设备、应用程序服务器和非易失性计算机可读存储介质
US8838961B2 (en) Security credential deployment in cloud environment
TWI475899B (zh) 用以儲存電子存取用戶之設備及方法
US9514313B2 (en) Techniques for secure data extraction in a virtual or cloud environment
WO2015196659A1 (zh) 一种桌面云客户端和服务端之间连接认证的方法及装置
US8863255B2 (en) Security credential deployment in cloud environment
CA2982539C (en) Method of operating a computing device, computing device and computer program
TW201710937A (zh) 雲端主機服務權限控制方法、裝置和系統
TW202109320A (zh) 基於可信執行環境的應用程式啟動方法及裝置
US11190503B2 (en) Resource processing method, apparatus, and system, and computer-readable medium
US20220245631A1 (en) Authentication method and apparatus of biometric payment device, computer device, and storage medium
US10855724B2 (en) Securely establishing key-based SSH communications between virtual machines during cloud marketplace provisioning
CN110069909B (zh) 一种免密登录第三方系统的方法及装置
WO2016054990A1 (zh) 安全校验方法、装置、终端及服务器
CN103780609A (zh) 一种云数据的处理方法、装置和云数据安全网关
CN111669351B (zh) 鉴权方法、业务服务器、客户端及计算机可读存储介质
US11868476B2 (en) Boot-specific key access in a virtual device platform
RU2019130396A (ru) Удаленное администрирование параметров первоначальной настройки операционной системы компьютера

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees