TWI620087B - 驗證伺服器、驗證方法及其電腦程式產品 - Google Patents
驗證伺服器、驗證方法及其電腦程式產品 Download PDFInfo
- Publication number
- TWI620087B TWI620087B TW106104890A TW106104890A TWI620087B TW I620087 B TWI620087 B TW I620087B TW 106104890 A TW106104890 A TW 106104890A TW 106104890 A TW106104890 A TW 106104890A TW I620087 B TWI620087 B TW I620087B
- Authority
- TW
- Taiwan
- Prior art keywords
- hash value
- user device
- hash
- equal
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004590 computer program Methods 0.000 title claims abstract description 16
- 238000013475 authorization Methods 0.000 title claims description 6
- 238000012795 verification Methods 0.000 claims abstract description 100
- 230000015654 memory Effects 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 22
- 238000012790 confirmation Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008054 signal transmission Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一種驗證伺服器、驗證方法及其電腦程式產品。驗證伺服器將第一金鑰與第i-1個雜湊值,經由一雜湊函式計算,以產生一第i個雜湊值,其中i對應至一第i時間區間。於自一使用者裝置接收載有一使用者識別碼之一認證要求訊息後,驗證伺服器使用第二金鑰,加密第i個雜湊值、使用者識別碼及使用者識別碼所對應之權限值,以產生第i個存取憑證,並傳送第i個存取憑證至使用者裝置。
Description
本發明係關於一驗證伺服器、用於驗證伺服器之一驗證方法及其電腦程式產品。更具體而言,本發明之驗證伺服器利用單向雜湊函式(hash function)之不可逆性,產生對應至複數連續時間區間之複數雜湊值,故於各時間區間內,可藉由將所對應之雜湊值與使用者相關資訊一同加密而產生存取憑證(access token),並提供給使用者作為後續取得服務使用。
習知之應用程式介面(Application Programming Interface;API)認證程序中,驗證伺服器於使用者註冊並登入後(即取得授權同意後),隨即產生一存取憑證(access token),以供使用者在一有效時間區間內得以使用此存取憑證來取得相關資源及服務。
驗證伺服器一般是藉由亂數或加密函式產生存取憑證。當採用亂數產生存取憑證時,驗證伺服器需要大量儲存空間以儲存所有使用者之存取憑證(包含目前時間有效的存取憑證及已失效的存取憑證),以在驗證時從儲存裝置(例如:記憶體、硬碟或所連線之網路儲存裝置)之資料庫中讀取存取憑證以進行核對,並追蹤分辨無法通過驗證的封包所載之存取憑證是否屬於已失效的存取憑證,以阻斷不法使用者之惡意嘗試。
當使用硬碟或所連線之網路儲存裝置中之資料庫儲存所有使用者之存取憑證時,由於受到硬碟及網路之存取速度的限制,大量使用者的呼叫將造成驗證伺服器需進行大量的輸入/輸出(input/ouput;I/O)動作導致反應時間過慢。此外,當使用每個驗證伺服器之記憶體作為儲存裝置以分散儲存使用者之存取憑證時,該些驗證伺服器間彼此所儲存的存取憑證間將存在一致性的問題,需額外進行整合,以避免其中一台驗證伺服器停機而造成資料遺失。
另一方面,當採用加密函式產生存取憑證時,驗證伺服器僅需將使用者資料加密而產生存取憑證,而不需要儲存使用者之存取憑證。然而,由於驗證伺服器無儲存任何隨時間區間改變的驗證資料(例如:過往的存取憑證),故驗證伺服器將無法追蹤分辨封包的合法性,進而無法阻斷不法使用者之惡意嘗試存取。
有鑑於此,如何提供一種驗證機制,其無需儲存使用者之存取憑證,且能追蹤分辨封包之合法性,乃業界亟需努力之目標。
本發明之目的在於提供一種驗證機制,其藉由單向雜湊函式之不可逆性,產生與時間區間相關聯之特定雜湊值作為驗證資料其中之一,並藉由將目前時間區間所對應之雜湊值、使用者識別碼以及使用者權限值加密,以產生存取憑證。如此一來,本發明之驗證機制,無需儲存使用者之存取憑證以供後續驗證,且可透過解密存取憑證以獲得與時間區間相關聯之特定雜湊值來追蹤分辨封包之合法性。
為達上述目的,本發明揭露一驗證伺服器,其包含一記憶
體、一網路介面以及一處理器。該記憶體用於儲存一第一金鑰以及一第二金鑰。該處理器電性連接至該記憶體及該網路介面,用於將該第一金鑰與儲存於該記憶體中之一第i-1個雜湊值,經由一雜湊函式(hash function)計算以產生一第i個雜湊值,並將該第i個雜湊值儲存於該記憶體中。i對應至一第i時間區間,以及i為大於2之一正整數。該處理器更執行下列操作:透過該網路介面自一使用者裝置接收一認證要求訊息,該認證要求訊息載有該使用者裝置之一使用者識別碼;使用該第二金鑰,加密該第i個雜湊值、該使用者識別碼及該使用者識別碼所對應之一權限值,以產生一第i個存取憑證(access token);透過該網路介面,傳送該第i個存取憑證至該使用者裝置。
此外,本發明更揭露一種用於一驗證伺服器之驗證方法。該驗證伺服器包含一記憶體、一網路介面及一處理器。該記憶體儲存一第一金鑰以及一第二金鑰。該驗證方法由該處理器執行且包含下列步驟:將該第一金鑰與儲存於該記憶體中之一第i-1個雜湊值,經由一雜湊函式計算,以產生一第i個雜湊值,並將該第i個雜湊值儲存於該記憶體中,其中i對應至一第i時間區間且為大於2之一正整數;透過該網路介面,自一使用者裝置接收一認證要求訊息,該認證要求訊息載有該使用者裝置之一使用者識別碼;使用該第二金鑰,加密該第i個雜湊值、該使用者識別碼及該使用者識別碼所對應之一權限值,以產生一第i個存取憑證;以及透過該網路介面,傳送該第i個存取憑證至該使用者裝置。
此外,本發明更揭露一種電腦程式產品,儲存有包含複數個程式指令之一電腦程式。在該電腦程式被具有一處理器之一驗證伺服器
載入後,該處理器執行該等程式指令,以執行一種驗證方法。該驗證伺服器包含一記憶體、一網路介面及該處理器,該記憶體儲存一第一金鑰以及一第二金鑰。該驗證方法包含下列步驟:將該第一金鑰與儲存於該記憶體中之一第i-1個雜湊值,經由一雜湊函式(hash function)計算,以產生一第i個雜湊值,並將該第i個雜湊值儲存於該記憶體中,其中i對應至一第i時間區間且為大於2之一正整數;透過該網路介面,自一使用者裝置接收一認證要求訊息,該認證要求訊息載有該使用者裝置之一使用者識別碼;使用該第二金鑰,加密該第i個雜湊值、該使用者識別碼及該使用者識別碼所對應之一權限值,以產生一第i個存取憑證(access token);以及透過該網路介面,傳送該第i個存取憑證至該使用者裝置。
在參閱圖式及隨後描述之實施方式後,此技術領域具有通常知識者便可瞭解本發明之其他目的,以及本發明之技術手段及實施態樣。
1‧‧‧驗證伺服器
3‧‧‧使用者裝置
5‧‧‧使用者裝置
7‧‧‧服務資源伺服器
11‧‧‧記憶體
13‧‧‧處理器
15‧‧‧網路介面
102‧‧‧認證要求訊息
104‧‧‧認證回應訊息
106‧‧‧服務要求訊息
108‧‧‧服務資料
302‧‧‧存取憑證確認要求訊息
304‧‧‧存取憑證確認回應訊息
Uid‧‧‧使用者辨識碼
p1,p2,p3,...,pn‧‧‧權限值
keyh‧‧‧第一金鑰
keye‧‧‧第二金鑰
Token_U‧‧‧待識別存取憑證
h1、h2、h3、hi-1、hi‧‧‧雜湊值
Token1、Token2、Token3、Tokeni‧‧‧存取憑證
T1、T2、T3、Ti‧‧‧時間區間
S401~S407‧‧‧步驟
第1A圖係本發明之驗證伺服器1之示意圖;第1B圖係描繪驗證伺服器1與使用者裝置3間之訊號傳遞;第1C圖係描繪本發明之存取憑證產生方式;第2圖係描繪驗證伺服器1與使用者裝置5間之訊號傳遞;第3圖係描繪驗證伺服器1、服務資源伺服器7與使用者裝置5間之訊號傳遞;以及第4圖係本發明之驗證方法之流程圖。
以下將透過實施方式來解釋本發明之內容。本發明係關於一種驗證伺服器、用於驗證伺服器之驗證方法及其電腦程式產品。須說明者,本發明的實施例並非用以限制本發明須在如實施例所述之任何特定的環境、應用或特殊方式方能實施。因此,有關實施例之說明僅為闡釋本發明之目的,而非用以限制本發明,且本案所請求之範圍,以申請專利範圍為準。除此之外,於以下實施例及圖式中,與本發明非直接相關之元件已省略而未繪示,且以下圖式中各元件間之尺寸關係僅為求容易瞭解,非用以限制實際比例。
本發明之第一實施例請參考第1A圖~第1C圖。第1A圖係本發明之驗證伺服器1之示意圖。第1B圖係描繪驗證伺服器1與一使用者裝置3間之訊號傳遞。第1C圖係描繪本發明之存取憑證產生方式。使用者裝置3可為一個人電腦、一筆記型電腦、一平板電腦、一智慧型手機或任一可與驗證伺服器1通訊以進行應用程式介面(Application Programming Interface;API)認證程序之電子裝置。
驗證伺服器1包含一記憶體11、一處理器13以及一網路介面15。驗證伺服器1可採用一開放授權標準第二版(OAuth 2.0)認證協定,或任何基於超文字傳輸安全協定(Hypertext Transfer Protocol Secure;HTTPS)所延伸之協定,但不限於此。處理器13電性連接至記憶體11及網路介面15。記憶體11儲存一第一金鑰keyh以及一第二金鑰keye。網路介面15可為有線網路介面、無線網路介面或及其組合,其連接至一網路(例如:一網際網路、一區域網路、一電信網路或其任意組合之網路)。
使用者可操作使用者裝置3,連線至驗證伺服器1進行一註
冊程序,以申請並取得一使用者識別碼以及使用者識別碼所對應之權限值。隨後,驗證伺服器1將使用者識別碼以及使用者識別碼所對應之權限值記錄於一使用者資料庫。使用者資料庫可儲存於驗證伺服器之一儲存器(圖未繪示)。儲存器可為一硬碟或經由網路介面11存取的網路儲存裝置。使用者識別碼可為一帳戶名稱,以及權限值表示使用者所能獲取之服務種類或服務等級。
當使用者欲登入驗證伺服器1,使用者裝置3會傳送載有其使用者識別碼之認證要求訊息102。當透過網路介面15自使用者裝置3接收認證要求訊息102後,處理器13根據使用者識別碼、使用者識別碼所對應之權限值及一雜湊值,產生一存取憑證(access token)並將其提供給使用者裝置3。處理器13可基於認證要求訊息102所載之使用者識別碼,自使用者資料庫讀取其所對應之權限值。以下將以第1C圖進行說明本發明之存取憑證的產生方式。
驗證伺服器1於剛運作時,處理器13會經由亂數產生一初始雜湊值h1,以供第1時間區間T1產生存取憑證所使用。接著,處理器13將第一金鑰keyh與雜湊值h1經由一單向加密雜湊函式(hash function)計算後,產生第2時間區間T2所使用的雜湊值h2。類似地,針對後續的第i時間區間,處理器13將第一金鑰keyh與第i-1個雜湊值hi-1經由雜湊函式計算後,產生第i個雜湊值hi。例如:處理器13將第一金鑰keyh與雜湊值h2經由雜湊函式計算後,產生第3時間區間T3所使用的雜湊值h3。換言之,i對應至第i時間區間,第i個雜湊值hi係用以供第i時間區間產生存取憑證Tokeni所使用。
須說明者,時間區間的長度可依驗證伺服器1實際運作的需
求所設定(例如:30分鐘、1小時、3小時、1天、3個月等),且該等時間周期可以相同亦可以不同,即驗證伺服器1可周期性地或非週期性地產生新的雜湊值(更新雜湊值),並於產生新的雜湊值後進入新的時間周期。此外,驗證伺服器1亦可預先產生未來若干個時間區間所需的雜湊值,並於相對應的時間區間中使用。所屬技術領域中具有通常知識者可瞭解,系統管理者可基於安全性的考量設定雜湊值的更新頻率,故時間區間的長度及雜湊值更新的時間點並非用以限制本發明的保護範疇。
隨後,當於第i個時間區間內,透過網路介面15自使用者裝置3接收認證要求訊息102後,處理器13使用第二金鑰keye,經由加密函式加密使用者識別碼Uid、使用者識別碼所對應之權限值p1,p2,p3,...,pn及第i個雜湊值hi,以產生第i個存取憑證Tokeni。接著,處理器13產生載有第i個存取憑證Tokeni之一認證回應訊息104至使用者裝置3。如此一來,使用者裝置3即可使用第i個存取憑證Tokeni,取得所需的資源及服務。
舉例而言,當使用者裝置3傳送驗證要求訊息102至驗證伺服器1之目前時間係落於第2時間區間T2內,故驗證伺服器1使用第二金鑰keye對第2個雜湊值h2、使用者識別碼Uid以及對應之權限值p1,p2,p3,...,pn進行加密,以產生第2個存取憑證Token2。隨後,驗證伺服器1透過認證回應訊息104,將第2個存取憑證Token2傳送至使用者裝置3。須說明者,於本實施例中,第二金鑰keye係為一對稱金鑰。驗證伺服器1可根據第二金鑰keye經由一對稱金鑰加密演算法(例如:3DES/AES加密演算法等),來加密/解密存取憑證。
本發明之第二實施例請參考第2圖。第2圖係描繪驗證伺服
器1與另一使用者裝置5間之訊號傳遞。類似地,使用者裝置5可為一個人電腦、一筆記型電腦、一平板電腦、一智慧型手機或任一可與驗證伺服器1通訊以進行應用程式介面(Application Programming Interface;API)認證程序之電子裝置。在某些情境下,使用者裝置5係為第一實施例之使用者裝置3。
當處理器13透過網路介面15自使用者裝置5接收載有一待識別存取憑證Token_U之一服務要求訊息106後,處理器13自服務要求訊息106中擷取出待識別存取憑證Token_U。隨後,處理器13使用第二金鑰keye嘗試解密待識別存取憑證Token_U。倘若處理器13能使用第二金鑰keye正確解密待識別存取憑證token_U,則代表可待識別存取憑證Token_U可能為有效的,且可藉由解密待識別存取憑證Token_U而獲得一雜湊值h_U、一使用者辨識碼Uid以及對應之權限值p1,p2,p3,...,pn。反之,若無法使用第二金鑰keye解密待識別存取憑證Token_U,則代表此待識別存取憑證Token_U為無效的,故處理器13將透過網路介面15傳送一認證失敗訊息(圖未繪示)至使用者裝置5,以要求使用者裝置5重新向驗證伺服器1取得合法的存取憑證。
於正確解密待識別存取憑證Token_U後,處理器13判斷目前時間是在哪個時間區間(即第i時間區間Ti),並基於目前時間區間所對應的雜湊值(即第i個雜湊值hi),判斷雜湊值h_U是否等於第i個雜湊值hi。當雜湊值h_U等於第i個雜湊值hi時,處理器13判斷待識別存取憑證Token_U為有效的且使用者裝置5為一合法狀態,並提供一服務資料108予使用者裝置5。須說明者,服務資料可儲存於如前述之儲存器,其可為一硬碟或經
由網路介面11存取的網路儲存裝置。
類似地,當雜湊值h_U不等於第i個雜湊值hi時,處理器13將透過網路介面15傳送一認證失敗訊息(圖未繪示)至使用者裝置5,以要求使用者裝置5重新向驗證伺服器1取得合法的存取憑證。須說明者,於其他實施例中,於判斷雜湊值h_U等於第i個雜湊值hi後,處理器13可進一步地判斷使用者辨識碼Uid以及對應之權限值p1,p2,p3,...,pn是否與使用者資料庫中所儲存之資料相符合,且是否具有要求服務資料108之權限。當資料相符合且具有權限時,處理器13才判斷待識別存取憑證Token_U為有效的,並提供一服務資料108予使用者裝置5。
舉例而言,於第2時間區間T2中,自使用者裝置5接收載有存取憑證Token2之服務請求訊息106後,處理器13使用第二金鑰keye嘗試解密存取憑證Token2。若可正確解碼,則處理器13可獲得第2個雜湊值h2、使用者辨識碼Uid以及對應之權限值p1,p2,p3,...,pn。隨後,處理器13判斷解碼獲得之第2個雜湊值h2是否相同於目前時間區間所使用之第2個雜湊值h2。若相同,則判斷使用者裝置5係為合法狀態(在此情境下,使用者裝置5應為第一實施例之使用者裝置3),並根據使用者識別碼Uid及其對應之權限值p1,p2,p3,...,pn,提供服務資料給使用者裝置5。
本發明之第三實施例請繼續參考第2圖,其係為第二實施例之延伸。於本實施例中,為了加速API的認證速度且減少合法使用者因為太久時間未向驗證伺服器1更新存取憑證而需要重新認證的狀況,記憶體11更儲存第i-1個雜湊值hi-1至第i-x個雜湊值hi-x,其中x為一正整數且i-x亦為一正整數。x的數值可依驗證伺服器1實際運作的需求所設定,係代表一時
間區間容忍值。
於判斷解密存取憑證Token_U而獲得之雜湊值h_U不相同於目前時間區間Ti之第i個雜湊值hi後,處理器13可進一步判斷雜湊值h_U是否為第i-1個雜湊值hi-1至第i-x個雜湊值hi-x其中之一。當雜湊值h_U為第i-1個雜湊值hi-1至第i-x個雜湊值hi-x其中之一時,處理器13判斷存取憑證Token_U為有效的且使用者裝置5為合法狀態,並提供服務資料108予使用者裝置5。類似地,當雜湊值h_U不等於第i-1個雜湊值hi-1至第i-x個雜湊值hi-x其中之一時,處理器13將透過網路介面15傳送認證失敗訊息(圖未繪示)至使用者裝置5,以要求使用者裝置5重新向驗證伺服器1取得合法的存取憑證。
舉例而言,在x為1之情況下(即代表可接受前一時間區間),當雜湊值h_U為第2個雜湊值h2且目前時間係在第3時間區間T3內時,處理器13判斷雜湊值h_U不等於第3雜湊值h3後,進一步地判斷雜湊值h_U是否為前一時間區間(即第2時間區間T2)之第2雜湊值h2,倘若雜湊值h_U等於第2雜湊值h2,則處理器13可判斷存取憑證Token_U為有效的且使用者裝置5為合法狀態,並根據使用者識別碼Uid及其對應之權限值p1,p2,p3,...,pn,提供服務資料108給使用者裝置5。
此外,處理器13判斷存取憑證Token_U為有效的且使用者裝置5為合法狀態後,更可傳送新的存取憑證(即目前時間區間Ti的存取憑證Tokeni)給使用者裝置5。如此一來,使用者裝置5可更新其使用的存取憑證,以便後續要求其他服務時使用。
本發明之第四實施例請繼續參考第2圖,其亦為第二實施例
之延伸。於本實施例中,為了追蹤分辨服務要求訊息106之合法性,以封鎖阻擋惡意攻擊的使用者,處理器更儲存第1個雜湊值h1至第i-1個雜湊值hi-1於儲存器(圖未繪示)中,故當雜湊值h_U不等於第i個雜湊值hi時,處理器13更進一步地判斷雜湊值h_U是否等於第1個雜湊值h1至第i-1個雜湊值hi-1其中之一。
詳言之,記憶體11更可儲存有一黑名單列表,其記錄被封鎖的網際網路協定位址(Internet Protocol Address;IP address),以使驗證伺服器1得以封鎖阻擋惡意攻擊的使用者。於判斷解密存取憑證Token_U而獲得之雜湊值h_U不相同於目前時間區間Ti之第i個雜湊值hi後,處理器13進一步地判斷雜湊值h_U是否完全未出現在歷史雜湊值列表中(即第1個雜湊值h1至第i-1個雜湊值hi-1中)。若未出現在歷史雜湊值列表中,處理器13判斷傳送服務要求訊息106之使用者裝置5應是一惡意使用者,並將使用者裝置5之連線資訊(即IP位址)加入至黑名單列表中。如此一來,驗證伺服器1得以根據黑名單列表所記載的IP位址,過濾接收到的封包,避免系統因遭受惡意攻擊而崩潰。
此外,於其他實施例中,驗證伺服器1可將黑名單列表提供或儲存於防火牆設備或路由器設備中,以使得這些惡意封包於前端設備處就被過濾,而不會被驗證伺服器1接收。另外,於其他實施例中,驗證伺服器1可無需儲存歷史雜湊值列表(即無需儲存第1個雜湊值h1至第i-1個雜湊值hi-1),處理器13可藉由將第一金鑰keyh與第1個雜湊值h1經由雜湊函式計算而得到第2個雜湊值h2,藉由將第一金鑰keyh與第2個雜湊值h2經由雜湊函式計算而得到第3個雜湊值h3,以此類推,依序地得到第4個雜湊值h4
至第i-1個雜湊值hi-1,並於得到每一個舊的雜湊值時,判斷雜湊值h_U是否與其相同。
本發明之第五實施例請參考第3圖。第3圖係描繪驗證伺服器1、一服務資源伺服器7與使用者裝置5間之訊號傳遞。服務資源伺服器7與驗證伺服器1通常為同一服務提供商所架設。使用者欲自服務資源伺服器7取得服務前,需先向驗證伺服器1取得存取憑證,以使用存取憑證向服務資源伺服器7取得服務。換言之,在本實施例中,驗證伺服器1可與資源伺服器7協同運作,資源伺服器7在收到使用者裝置5之服務要求訊息106後,將存取憑證傳送至驗證伺服器1,以驗證存取憑證。
具體而言,如第3圖所示,使用者裝置5傳送載有一待識別存取憑證Token_U之服務要求訊息106至服務資源伺服器7。隨後,服務資源伺服器7傳送載有待識別存取憑證Token_U之一存取憑證確認要求訊息302至驗證伺服器1。於透過網路介面15自服務資源伺服器7接收存取憑證確認要求訊息302後,處理器13自存取憑證確認要求訊息302中擷取出待識別存取憑證Token_U。
接著,處理器13使用第二金鑰keye嘗試解密待識別存取憑證Token_U。倘若處理器13能使用第二金鑰keye正確解密待識別存取憑證Token_U,則代表可待識別存取憑證Token_U可能為有效的,且可藉由解密待識別存取憑證Token_U而獲得一雜湊值h_U、一使用者辨識碼Uid以及對應之權限值p1,p2,p3,...,pn。反之,若無法使用第二金鑰keye解密待識別存取憑證Token_U,則代表此待識別存取憑證Token_U為無效的,故處理器13將透過網路介面15傳送一存取憑證無效訊息(圖未繪示)至服務資源伺
服器7。如此一來,服務資源伺服器7得以傳送一認證失敗訊息(圖未繪示)至使用者裝置5,以要求使用者裝置5重新向驗證伺服器1取得合法的存取憑證。
於正確解密待識別存取憑證Token_U後,處理器13判斷目前時間是在哪個時間區間(即第i時間區間Ti),並基於目前時間區間所對應的雜湊值(即第i個雜湊值hi),判斷雜湊值h_U是否等於第i個雜湊值hi。當雜湊值h_U等於第i個雜湊值hi時,處理器13判斷待識別存取憑證Token_U為有效的且使用者裝置5為一合法狀態,並傳送一存取憑證確認回應訊息304至服務資源伺服器7。如此一來,因應存取憑證確認回應訊息304,服務資源伺服器7提供服務資料108給使用者裝置5。於本實施例中,服務資料108可儲存於服務資源伺服器7中或與服務資源伺服器7連接之網路儲存裝置。
類似地,當雜湊值h_U不等於第i個雜湊值hi時,處理器13將透過網路介面15傳送存取憑證無效訊息(圖未繪示)至服務資源伺服器7。如此一來,服務資源伺服器7得以傳送認證失敗訊息(圖未繪示)至使用者裝置5,以要求使用者裝置5重新向驗證伺服器1取得合法的存取憑證。須說明者,於其他實施例中,於判斷雜湊值h_U等於第i個雜湊值後hi,處理器13可進一步地判斷使用者辨識碼Uid以及對應之權限值p1,p2,p3,...,pn是否與使用者資料庫中所儲存之資料相符合,且是否具有要求服務資料108之權限。當資料相符合且具有權限時,處理器13才判斷待識別存取憑證Token_U為有效的。
本發明之第六實施例請繼續參考第3圖,其係為第五實施例
之延伸。如同第三實施例,於本實施例中,為了加速API的認證速度且減少合法使用者因為太久時間未向驗證伺服器1更新解密存取憑證而需要重新認證的狀況,記憶體11更儲存第i-1個雜湊值hi-1至第i-x個雜湊值hi-x,其中x為一正整數且i-x亦為一正整數。x的數值可依驗證伺服器1實際運作的需求所設定,係代表一時間區間容忍值。
因此,於判斷解密存取憑證Token_U而獲得之雜湊值h_U不相同於目前時間區間Ti之第i個雜湊值hi後,處理器13可進一步判斷雜湊值h_U是否為第i-1個雜湊值hi-1至第i-x個雜湊值hi-x其中之一。當雜湊值h_U為第i-1個雜湊值hi-1至第i-x個雜湊值hi-x其中之一時,處理器13判斷存取憑證Token_U為有效的且使用者裝置5為合法狀態。隨後,處理器13產生一存取憑證確認回應訊息304,並透過網路介面15傳送存取憑證確認回應訊息304至服務資源伺服器7,以使服務資源伺服器7提供服務資料108予使用者裝置5。
類似地,當雜湊值h_U不等於第i-1個雜湊值hi-1至第i-x個雜湊值hi-x其中之一時,處理器13將透過網路介面15傳送存取憑證無效訊息(圖未繪示)至服務資源伺服器7。如此一來,服務資源伺服器7得以傳送認證失敗訊息(圖未繪示)至使用者裝置5,以要求使用者裝置5重新向驗證伺服器1取得合法的存取憑證。
本發明之第七實施例請繼續參考第3圖,其亦為第五實施例之延伸。如同第四實施例,於本實施例中,為了追蹤分辨服務要求訊息106之合法性,以封鎖阻擋惡意攻擊的使用者,處理器更儲存第1個雜湊值h1至第i-1個雜湊值hi-1於儲存器(圖未繪示)中,故當雜湊值h_U不等於第i
個雜湊值hi時,處理器13更進一步地判斷雜湊值h_U是否等於第1個雜湊值h1至第i-1個雜湊值hi-1其中之一。
詳言之,於判斷解密存取憑證Token_U而獲得之雜湊值h_U不相同於目前時間區間Ti之第i個雜湊值hi後,處理器13進一步地判斷雜湊值h_U是否完全未出現在歷史雜湊值列表中。若未出現在歷史雜湊值列表中,處理器13判斷傳送服務要求訊息106之使用者裝置5應是一惡意使用者,並將使用者裝置5之連線資訊(即IP位址)加入至一黑名單列表中。黑名單列表可儲存於服務資源伺服器7中,以讓服務資源伺服器7根據黑名單列表所記載的IP位址,過濾接收到的封包,避免系統因遭受惡意攻擊而崩潰。類似地,於其他實施例中,驗證伺服器1可將黑名單列表提供或儲存於防火牆設備或路由器設備中,以使得這些惡意封包於前端設備處就被過濾,而不會被服務資源伺服器7接收到。
本發明之第八實施例如第4圖所示,其係一驗證方法之流程圖。驗證方法係用於一驗證伺服器(例如:前述實施例之驗證伺服器1)驗證伺服器包含一記憶體、一網路介面及一處理器。記憶體儲存一第一金鑰以及一第二金鑰。處理器電性連接至記憶體及網路介面。本發明之驗證方法係由處理器所執行。
首先,於步驟S401中,將第一金鑰與儲存於記憶體中之一第i-1個雜湊值,經由一雜湊函式計算,以產生一第i個雜湊值,並將第i個雜湊值儲存於記憶體中。如同先前所述,i對應至一第i時間區間,其中i為大於2之一正整數。接著,於步驟S403中,透過網路介面,自一使用者裝置接收一認證要求訊息。隨後,於步驟S405中,使用第二金鑰,加密第i個
雜湊值、使用者識別碼及使用者識別碼所對應之權限值,以產生第i個存取憑證。然後,於步驟S407中,透過網路介面,傳送第i個存取憑證至使用者裝置。
此外,於另一實施例,本發明之驗證方法更包含下列步驟:透過網路介面自一另一使用者裝置接收載有一待識別存取憑證之一服務要求訊息;使用第二金鑰解密待識別存取憑證,以獲得一雜湊值;當雜湊值等於第i個雜湊值時,判斷該另一使用者裝置係為一合法狀態,並提供一服務資料予該另一使用者裝置。
再者,於另一實施例中,當記憶體更儲存第i-1個雜湊值至一第i-x個雜湊值(x為一正整數且i-x亦為一正整數)時,本發明之驗證方法可更包含下列步驟:當雜湊值不等於第i個雜湊值時,判斷雜湊值是否等於第i-1個雜湊值至第i-x個雜湊值其中之一;以及當雜湊值等於第i-1個雜湊值至第i-x個雜湊值其中之一時,判斷該另一使用者裝置係為合法狀態,並提供服務資料予該另一使用者裝置。
再者,於另一實施例中,當驗證伺服器之一儲存器更儲存第1個雜湊值至第i-1個雜湊值時,本發明之驗證方法更包含下列步驟:當雜湊值不等於第i個雜湊值時,判斷雜湊值是否等於第1個雜湊值至第i-1個雜湊值其中之一;以及當雜湊值不等於第1個雜湊值至第i-1個雜湊值其中之一時,將另一使用者裝置之一連線資訊加入至一黑名單列表中。
此外,於另一實施例中,當驗證伺服器連接至一服務資源伺服器,且服務資源伺服器自另一使用者裝置接收載有一待識別存取憑證之一服務要求訊息時,本發明之驗證方法更包含下列步驟:自服務資源伺
服器接收包含該待識別存取憑證之一存取憑證確認要求訊息;使用第二金鑰解密待識別存取憑證,以獲得一雜湊值;以及當雜湊值等於第i個雜湊值時,判斷該另一使用者裝置係為一合法狀態,並透過網路介面傳送一存取憑證確認回應訊息至服務資源伺服器,以使服務資源伺服器提供一服務資料予該另一使用者裝置。
再者,於另一實施例中,當記憶體更儲存第i-1個雜湊值至一第i-x個雜湊值(x為一正整數且i-x亦為一正整數)時,本發明之驗證方法可更包含下列步驟:當雜湊值不等於第i個雜湊值時,判斷雜湊值是否等於第i-1個雜湊值至第i-x個雜湊值其中之一;以及當雜湊值等於第i-1個雜湊值至第i-x個雜湊值其中之一時,判斷該另一使用者裝置係為合法狀態,並透過網路介面,傳送存取憑證確認回應訊息至服務資源伺服器,以使服務資源伺服器提供服務資料予該另一使用者裝置。
再者,於另一實施例中,當驗證伺服器之一儲存器,更儲存第1個雜湊值至第i-1個雜湊值時,本發明之驗證方法更包含下列步驟:當雜湊值不等於第i個雜湊值時,判斷雜湊值是否等於第1個雜湊值該第i-1個雜湊值其中之一;以及當雜湊值不等於第1個雜湊值至第i-1個雜湊值其中之一時,將該另一使用者裝置之一連線資訊加入至一黑名單列表中。
除了上述步驟,本發明之驗證方法亦能執行前述所有實施例所描述之驗證伺服器之所有運作及步驟,具有同樣之功能,且達到同樣之技術效果。本發明所屬技術領域中具有通常知識者可直接瞭解本發明之驗證方法如何基於前述所有實施例以執行此等運作及步驟,具有同樣之功能,並達到同樣之技術效果,故在此不加以贅述。
此外,前述本發明之驗證方法決定方法可藉由一電腦程式產品實現。電腦程式產品,儲存有包含複數個程式指令之一電腦程式,在所述電腦程式被載入並安裝於一電子計算裝置(例如:驗證伺服器1)之後,電子計算裝置之處理器執行所述電腦程式所包含之該等程式指令,以執行本發明之驗證方法。電腦程式產品可為,例如:一唯讀記憶體(read only memory;ROM)、一快閃記憶體、一軟碟、一硬碟、一光碟(compact disk;CD)、一隨身碟、一磁帶、一可由網路存取之資料庫或本發明所屬技術領域中具有通常知識者所知且具有相同功能之任何其他儲存媒體。
綜上所述,本發明之驗證機制藉由單向雜湊函式之不可逆性,產生與時間區間相關聯之特定雜湊值作為驗證資料其中之一,並藉由將目前時間區間所對應之特定雜湊值、使用者識別碼以及使用者權限值加密,以產生存取憑證。此外,本發明之驗證機制基於雜湊函式之正向關聯性連結每個時間區間所對應之雜湊值,故得以追蹤分辨存取憑證之合法性,以封鎖阻擋惡意攻擊的使用者。因此,相較於習知技術,本發明之驗證機制,無需儲存使用者之存取憑證以供後續驗證,且可透過解密存取憑證以獲得與時間區間相關聯之特定雜湊值來追蹤分辨封包之合法性。
上述實施方式僅用來例舉本發明之部分實施態樣,以及闡釋本發明之技術特徵,而非用來限制本發明之保護範疇及範圍。任何本發明所屬技術領域中具有通常知識者可輕易完成之改變或均等性之安排均屬於本發明所主張之範圍,而本發明之權利保護範圍以申請專利範圍為準。
Claims (17)
- 一種驗證伺服器,包含:一記憶體(memory),用於儲存一第一金鑰以及一第二金鑰;一網路介面;一處理器,電性連接至該記憶體及該網路介面,用於將該第一金鑰與儲存於該記憶體中之一第i-1個雜湊值,經由一雜湊函式(hash function)計算以產生一第i個雜湊值,並將該第i個雜湊值儲存於該記憶體中,其中i對應至一第i時間區間且為大於2之一正整數;其中,該處理器,更執行下列操作:透過該網路介面自一使用者裝置接收一認證要求訊息,該認證要求訊息載有該使用者裝置之一使用者識別碼;使用該第二金鑰,加密該第i個雜湊值、該使用者識別碼及該使用者識別碼所對應之一權限值,以產生一第i個存取憑證(access token);以及透過該網路介面,傳送載有該第i個存取憑證之一認證回應訊息至該使用者裝置。
- 如請求項1所述之驗證伺服器,其中該驗證伺服器係採用一開放授權標準第二版(OAuth 2.0)認證協定。
- 如請求項1所述之驗證伺服器,其中該處理器更透過該網路介面自一另一使用者裝置接收一服務要求訊息,該服務要求訊息載有一待識別存取憑證,以及該處理器更使用該第二金鑰,解密該待識別存取憑證,以獲得一雜湊值; 其中,當該雜湊值等於該第i個雜湊值時,該處理器判斷該另一使用者裝置係為一合法狀態,並提供一服務資料予該另一使用者裝置。
- 如請求項3所述之驗證伺服器,其中該記憶體更儲存該第i-1個雜湊值至一第i-x個雜湊值,x為一正整數且i-x為一正整數;其中,當該雜湊值不等於該第i個雜湊值時,該處理器更判斷該雜湊值是否等於該第i-1個雜湊值至該第i-x個雜湊值其中之一,以及當該雜湊值等於該第i-1個雜湊值至該第i-x個雜湊值其中之一時,該處理器判斷該另一使用者裝置係為該合法狀態,並提供該服務資料予該另一使用者裝置。
- 如請求項3所述之驗證伺服器,更包含一儲存器,其中該儲存器儲存一第1個雜湊值至該第i-1個雜湊值,以及當該雜湊值不等於該第i個雜湊值時,該處理器更判斷該雜湊值是否等於該第1個雜湊值至該第i-1個雜湊值其中之一;其中,當該雜湊值不等於該第1個雜湊值至該第i-1個雜湊值其中之一時,該處理器將該另一使用者裝置之一連線資訊加入至一黑名單列表中。
- 如請求項1所述之驗證伺服器,其中該驗證伺服器更連線至一服務資源伺服器,該服務資源伺服器自另一使用者裝置接收載有一待識別存取憑證一服務要求訊息,並產生載有該待識別存取憑證之一存取憑證確認要求訊息,以及該處理器更自該資源伺服器接收該存取憑證確認要求訊息,並使用該第二金鑰解密該待識別存取憑證,以獲得一雜湊值;其中,當該雜湊值等於該第i個雜湊值時,該處理器判斷該另一使用 者裝置係為一合法狀態,並透過該網路介面傳送一存取憑證確認回應訊息至該服務資源伺服器,以使該服務資源伺服器提供一服務資料予該另一使用者裝置。
- 如請求項6所述之驗證伺服器,其中該記憶體更儲存該第i-1個雜湊值至一第i-x個雜湊值,x為一正整數且i-x為一正整數;其中,當該雜湊值不等於該第i個雜湊值時,該處理器更判斷該雜湊值是否等於該第i-1個雜湊值至該第i-x個雜湊值其中之一,以及當該雜湊值等於該第i-1個雜湊值至該第i-x個雜湊值其中之一時,該處理器判斷該另一使用者裝置係為該合法狀態,並透過該網路介面傳送該存取憑證確認回應訊息至該服務資源伺服器,以使該服務資源伺服器提供該服務資料予該另一使用者裝置。
- 如請求項6所述之驗證伺服器,更包含一儲存器,其中該儲存器儲存一第1個雜湊值至該第i-1個雜湊值;其中,當該雜湊值不等於該第i個雜湊值時,該處理器更判斷該雜湊值是否等於該第1個雜湊值至該第i-1個雜湊值其中之一,以及當該雜湊值不等於該第1個雜湊值至該第i-1個雜湊值其中之一時,該處理器將該另一使用者裝置之一連線資訊加入至一黑名單列表中。
- 一種用於驗證伺服器之驗證方法,該驗證伺服器包含一記憶體、一網路介面及一處理器,該記憶體儲存一第一金鑰以及一第二金鑰,該驗證方法由該處理器執行且包含下列步驟:將該第一金鑰與儲存於該記憶體中之一第i-1個雜湊值,經由一雜湊函式(hash function)計算,以產生一第i個雜湊值,並將該第i個雜湊值 儲存於該記憶體中,其中i對應至一第i時間區間且為大於2之一正整數;透過該網路介面,自一使用者裝置接收一認證要求訊息,該認證要求訊息載有該使用者裝置之一使用者識別碼;使用該第二金鑰,加密該第i個雜湊值、該使用者識別碼及該使用者識別碼所對應之一權限值,以產生一第i個存取憑證(access token);透過該網路介面,傳送該第i個存取憑證至該使用者裝置。
- 如請求項9所述之驗證方法,其中該驗證方法係採用一開放授權標準第二版(OAuth 2.0)認證協定。
- 如請求項9所述之驗證方法,更包含下列步驟:透過該網路介面,自一另一使用者裝置接收一服務要求訊息,該服務要求訊息載有一待識別存取憑證;使用該第二金鑰解密該待識別存取憑證,以獲得一雜湊值;以及當該雜湊值等於該第i個雜湊值時,判斷該另一使用者裝置係為一合法狀態,並提供一服務資料予該另一使用者裝置。
- 如請求項11所述之驗證方法,其中該記憶體更儲存該第i-1個雜湊值至一第i-x個雜湊值,x為一正整數且i-x為一正整數,以及該驗證方法更包含下列步驟:當該雜湊值不等於該第i個雜湊值時,判斷該雜湊值是否等於該第i-1個雜湊值至該第i-x個雜湊值其中之一;以及當該雜湊值等於該第i-1個雜湊值至該第i-x個雜湊值其中之一時,判斷該另一使用者裝置係為該合法狀態,並提供該服務資料予該另一使用者裝置。
- 如請求項11所述之驗證方法,其中該驗證伺服器更包含一儲存器,該儲存器儲存一第1個雜湊值至該第i-1個雜湊值,以及該驗證方法更包含下列步驟:當該雜湊值不等於該第i個雜湊值時,判斷該雜湊值是否等於該第1個雜湊值至該第i-1個雜湊值其中之一;以及當該雜湊值不等於該第1個雜湊值至該第i-1個雜湊值其中之一時,將該另一使用者裝置之一連線資訊加入至一黑名單列表中。
- 如請求項9所述之驗證方法,其中該驗證伺服器更連接至一服務資源伺服器,該服務資源伺服器自另一使用者裝置接收載有一待識別存取憑證之一服務要求訊息,並產生載有該待識別存取憑證之一存取憑證確認要求訊息,以及該驗證方法更包含下列步驟:自該服務資源伺服器接收該存取憑證確認要求訊息;使用該第二金鑰解密該待識別存取憑證,以獲得一雜湊值;以及當該雜湊值等於該第i個雜湊值時,判斷該另一使用者裝置係為一合法狀態,並透過該網路介面傳送一存取憑證確認回應訊息至該服務資源伺服器,以使該服務資源伺服器提供一服務資料予該另一使用者裝置。
- 如請求項14所述之驗證方法,其中該記憶體更儲存該第i-1個雜湊值至一第i-x個雜湊值,x為一正整數且i-x為一正整數,以及該驗證方法更包含下列步驟:當該雜湊值不等於該第i個雜湊值時,判斷該雜湊值是否等於該第i-1個雜湊值至一第i-x個雜湊值其中之一;以及當該雜湊值等於該第i-1個雜湊值至該第i-x個雜湊值其中之一時,判 斷該另一使用者裝置係為該合法狀態,並透過該網路介面傳送該存取憑證確認回應訊息至該服務資源伺服器,以使該服務資源伺服器提供該服務資料予該另一使用者裝置。
- 如請求項14所述之驗證方法,其中該驗證伺服器更包含一儲存器,該儲存器儲存一第1個雜湊值至該第i-1個雜湊值,以及該驗證方法更包含下列步驟:當該雜湊值不等於該第i個雜湊值時,判斷該雜湊值是否等於該第1個雜湊值至該第i-1個雜湊值其中之一;以及當該雜湊值不等於該第1個雜湊值至該第i-1個雜湊值其中之一時,將該另一使用者裝置之一連線資訊加入至一黑名單列表中。
- 一種電腦程式產品,儲存有包含複數個程式指令之一電腦程式,在該電腦程式被具有一處理器之一驗證伺服器載入後,該處理器執行該等程式指令,以執行一種驗證方法,該驗證伺服器包含一記憶體、一網路介面及該處理器,該記憶體儲存一第一金鑰以及一第二金鑰,該驗證方法包含下列步驟:將該第一金鑰與儲存於該記憶體中之一第i-1個雜湊值,經由一雜湊函式(hash function)計算,產生一第i個雜湊值,並將該第i個雜湊值儲存於該記憶體中,其中i對應至一第i時間區間且為大於2之一正整數;透過該網路介面,自一使用者裝置接收一認證要求訊息,該認證要求訊息載有該使用者裝置之一使用者識別碼;使用該第二金鑰,加密該第i個雜湊值、該使用者識別碼及該使用者識別碼所對應之一權限值,以產生一第i個存取憑證;以及 透過該網路介面,傳送該第i個存取憑證至該使用者裝置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106104890A TWI620087B (zh) | 2017-02-15 | 2017-02-15 | 驗證伺服器、驗證方法及其電腦程式產品 |
| CN201710137326.2A CN108429725A (zh) | 2017-02-15 | 2017-03-09 | 验证服务器、验证方法及其电脑存储介质 |
| US15/471,172 US20180234426A1 (en) | 2017-02-15 | 2017-03-28 | Authorization server, authorization method and non-transitory computer readable medium thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW106104890A TWI620087B (zh) | 2017-02-15 | 2017-02-15 | 驗證伺服器、驗證方法及其電腦程式產品 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI620087B true TWI620087B (zh) | 2018-04-01 |
| TW201832121A TW201832121A (zh) | 2018-09-01 |
Family
ID=62639730
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW106104890A TWI620087B (zh) | 2017-02-15 | 2017-02-15 | 驗證伺服器、驗證方法及其電腦程式產品 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20180234426A1 (zh) |
| CN (1) | CN108429725A (zh) |
| TW (1) | TWI620087B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI704470B (zh) * | 2018-08-31 | 2020-09-11 | 香港商阿里巴巴集團服務有限公司 | 獲取、回饋使用者資源的方法、裝置及電子設備 |
| TWI741294B (zh) * | 2019-05-10 | 2021-10-01 | 新加坡商核智科技私人有限公司 | 用於執行存取裝置之控制系統及其方法 |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11245706B2 (en) | 2017-03-27 | 2022-02-08 | Oracle Systems Corporation | Protection configuration for application programming interfaces |
| WO2019027488A1 (en) * | 2017-08-02 | 2019-02-07 | Wepay, Inc. | SYSTEMS AND METHODS FOR INSTANT ACTIVATION OF A MERCHANT PROVIDING SECURE PAYMENT AT A POINT OF SALE |
| KR102422326B1 (ko) * | 2017-09-13 | 2022-07-19 | 현대자동차주식회사 | 자동차의 제어 시스템 및 제어 방법 |
| CN107508686B (zh) * | 2017-10-18 | 2020-07-03 | 克洛斯比尔有限公司 | 身份认证方法和系统以及计算设备和存储介质 |
| ES2802481T3 (es) * | 2018-04-11 | 2021-01-19 | Barclays Execution Services Ltd | Sistema para acceder de forma fiable a un recurso protegido |
| CN109120631B (zh) * | 2018-09-04 | 2021-05-14 | 苏州科达科技股份有限公司 | 功能调用系统、方法、装置及存储介质 |
| US10389708B1 (en) * | 2019-01-03 | 2019-08-20 | Capital One Services, Llc | Secure authentication of a user associated with communication with a service representative |
| CN109902479B (zh) * | 2019-01-28 | 2023-04-07 | 深圳市纽创信安科技开发有限公司 | 权限控制方法、权限控制设备、用户设备及系统 |
| US11509647B2 (en) * | 2019-01-28 | 2022-11-22 | Microsoft Technology Licensing, Llc | Determination of weak hashed credentials |
| CN112530053B (zh) * | 2019-09-02 | 2022-12-13 | 中移物联网有限公司 | 智能锁的控制方法、系统、锁设备、服务器及存储介质 |
| CN110781482B (zh) * | 2019-10-12 | 2021-06-18 | 广州酷旅旅行社有限公司 | 登陆方法、装置、计算机设备和存储介质 |
| AU2019101343B4 (en) * | 2019-11-05 | 2020-04-16 | Anson, Mark Rodney Mr | A computer system implemented method for generating a symmetric encryption key for encrypting and decrypting secure data |
| WO2021101888A1 (en) * | 2019-11-19 | 2021-05-27 | Consensys Ag | Network multi-tenant architecture for distributed ledger systems |
| CN111460466A (zh) * | 2020-02-27 | 2020-07-28 | 山东爱城市网信息技术有限公司 | 一种基于区块链的电子车票管理方法、设备及介质 |
| US11363007B2 (en) * | 2020-03-27 | 2022-06-14 | Comcast Cable Communications, Llc | Methods and systems for accessing a resource |
| US20230015697A1 (en) * | 2021-07-13 | 2023-01-19 | Citrix Systems, Inc. | Application programming interface (api) authorization |
| CN115883092B (zh) * | 2021-09-23 | 2025-11-25 | 西门子股份公司 | 授权的方法、授权服务器、资源服务器和客户端设备 |
| CN114499836B (zh) * | 2021-12-29 | 2024-07-16 | 北京像素软件科技股份有限公司 | 一种密钥管理方法、装置、计算机设备及可读存储介质 |
| CN115883097A (zh) * | 2022-11-23 | 2023-03-31 | 上证所信息网络有限公司 | 一种基于签名网关装置的可追溯数据处理方法 |
| CN118074908B (zh) * | 2024-04-12 | 2024-08-20 | 江苏华鲲振宇智能科技有限责任公司 | 一种加密通信方法、服务器及加密通信系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040153704A1 (en) * | 2001-02-09 | 2004-08-05 | Jurgen Bragulla | Automatic startup of a cluster system after occurrence of a recoverable error |
| TW200939063A (en) * | 2008-03-04 | 2009-09-16 | Ind Tech Res Inst | Record system and method based on one-way hash function |
| TW201604804A (zh) * | 2014-07-17 | 2016-02-01 | 捷碼數位科技股份有限公司 | 驗證行動端動態顯示之資料之系統及其方法 |
| TW201627909A (zh) * | 2015-01-22 | 2016-08-01 | 物聯智慧科技(深圳)有限公司 | 資料傳輸方法及系統與客戶端之資料傳輸方法 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101092543B1 (ko) * | 2004-11-12 | 2011-12-14 | 삼성전자주식회사 | 브로드캐스트 암호화를 위한 사용자 키 관리 방법 |
| CA2593897C (en) * | 2007-07-16 | 2016-06-14 | Tet Hin Yeap | Method, system and apparatus for accessing a resource based on data supplied by a local user |
| TWI466525B (zh) * | 2011-11-21 | 2014-12-21 | Inst Information Industry | 存取控制系統及其存取控制方法 |
| WO2014069783A1 (ko) * | 2012-10-31 | 2014-05-08 | 삼성에스디에스 주식회사 | 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치 |
| CN103414731A (zh) * | 2013-08-29 | 2013-11-27 | 青岛大学 | 一种并行密钥隔离的基于身份的聚合签名方法 |
| TWI548249B (zh) * | 2014-08-08 | 2016-09-01 | 蓋特資訊系統股份有限公司 | 安全資料驗證方法、系統與電腦可讀取儲存媒體 |
-
2017
- 2017-02-15 TW TW106104890A patent/TWI620087B/zh active
- 2017-03-09 CN CN201710137326.2A patent/CN108429725A/zh active Pending
- 2017-03-28 US US15/471,172 patent/US20180234426A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040153704A1 (en) * | 2001-02-09 | 2004-08-05 | Jurgen Bragulla | Automatic startup of a cluster system after occurrence of a recoverable error |
| TW200939063A (en) * | 2008-03-04 | 2009-09-16 | Ind Tech Res Inst | Record system and method based on one-way hash function |
| TW201604804A (zh) * | 2014-07-17 | 2016-02-01 | 捷碼數位科技股份有限公司 | 驗證行動端動態顯示之資料之系統及其方法 |
| TW201627909A (zh) * | 2015-01-22 | 2016-08-01 | 物聯智慧科技(深圳)有限公司 | 資料傳輸方法及系統與客戶端之資料傳輸方法 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI704470B (zh) * | 2018-08-31 | 2020-09-11 | 香港商阿里巴巴集團服務有限公司 | 獲取、回饋使用者資源的方法、裝置及電子設備 |
| TWI741294B (zh) * | 2019-05-10 | 2021-10-01 | 新加坡商核智科技私人有限公司 | 用於執行存取裝置之控制系統及其方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201832121A (zh) | 2018-09-01 |
| CN108429725A (zh) | 2018-08-21 |
| US20180234426A1 (en) | 2018-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI620087B (zh) | 驗證伺服器、驗證方法及其電腦程式產品 | |
| US11671425B2 (en) | Cross-region requests | |
| JP6542962B2 (ja) | 遅延データアクセス | |
| EP3375135B1 (en) | Methods and systems for pki-based authentication | |
| JP5860815B2 (ja) | コンピューターポリシーを施行するためのシステムおよび方法 | |
| US20220417028A1 (en) | Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession | |
| JP6514115B2 (ja) | フェデレーテッドキー管理 | |
| JP6329970B2 (ja) | 関連データを有するポリシー施行 | |
| US8775810B1 (en) | Self-validating authentication token | |
| EP4162647B1 (en) | Anonymous authentication with token redemption | |
| US10277569B1 (en) | Cross-region cache of regional sessions | |
| US20220067189A1 (en) | Data Sharing Via Distributed Ledgers | |
| CN109510802B (zh) | 鉴权方法、装置及系统 | |
| Yoon et al. | Remote security management server for IoT devices | |
| US20140351924A1 (en) | Method and system for providing limited secure access to sensitive data | |
| JP2023518662A (ja) | 暗号学的に安全な要求の検証 | |
| KR20090084545A (ko) | Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체 | |
| Chang et al. | A practical secure and efficient enterprise digital rights management mechanism suitable for mobile environment | |
| KR20170111809A (ko) | 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법 | |
| CN114553566B (zh) | 数据加密方法、装置、设备及存储介质 | |
| Neela | DSDOS Cloud: A Decentralized Secure Data Outsourcing System With Hybrid Encryption, Blockchain Smart Contract‐Based Access Control, and Hash Authentication Codes for Cloud Security | |
| Watt | Proof-of-possession tokens in microservice architectures | |
| CN113726807B (zh) | 一种网络摄像机访问方法、设备、系统及存储介质 | |
| Nosouhi et al. | Towards Availability of Strong Authentication in Remote and Disruption-Prone Operational Technology Environments | |
| CN117957813A (zh) | 安全管理系统及安全管理方法 |