TWI695293B - 具有保護數位簽章機制的方法及系統與伺服器 - Google Patents
具有保護數位簽章機制的方法及系統與伺服器 Download PDFInfo
- Publication number
- TWI695293B TWI695293B TW108111339A TW108111339A TWI695293B TW I695293 B TWI695293 B TW I695293B TW 108111339 A TW108111339 A TW 108111339A TW 108111339 A TW108111339 A TW 108111339A TW I695293 B TWI695293 B TW I695293B
- Authority
- TW
- Taiwan
- Prior art keywords
- random code
- private key
- random
- code
- server
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一種具有保護數位簽章機制的方法,包含伺服器在接收到來自客戶端裝置的一簽章請求時,使用儲存在伺服器的一隨機碼清單中未被標記的隨機碼其中一者,並根據所使用的該隨機碼及儲存在該伺服器的數位私鑰資料的第二部分產生且傳送一簽章回覆,以使該客戶端裝置在接收到該簽章回覆時產生一私鑰以對一目標資料進行數位簽章;其中,該私鑰是藉由該客戶端裝置在判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的一隨機碼清單當中未被標記的隨機碼其中一者時,利用該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分而產生。
Description
本公開係關於一種保護數位簽章機制的方法及系統與伺服器,尤其是一種利用隨機碼的保護數位簽章機制的方法及系統與伺服器。
在一些數位簽章(Digital Signature, DS)的程序中,傳送端將訊息經過雜湊演算法計算後得到一個雜湊值(hash value),再利用傳送端的私鑰向雜湊值加密成為一個數位簽章。接著,再將數位簽章附加在訊息後面一併傳送出去。接收端收到訊息之後,利用傳送端的公鑰將數位簽章解密得到傳送端的雜湊值,由於確認了公鑰與私鑰的配對關係,而能確定所接收的訊息的『不可否認性』。接著,接收端以同樣的雜湊演算計算出雜湊值,並比較兩個雜湊值,如果相同的話,則可以確定該訊息的『完整性』。
企業可以將儲存有電子憑證私鑰的實體的儲存元件提供給客戶,如此,客戶可以透過該儲存元件中的私鑰對訊息進行數位簽章。該儲存元件可以是磁碟片、隨身碟、USB Token或IC卡。在一些情況中,儲存元件的運送會耗費較長時間,例如企業與客戶位於不同國家。
本公開提供一種保護數位簽章機制的方法,包含:提供一數位私鑰資料的第一部分至一客戶端裝置;一伺服器在接收到來自該客戶端裝置的一簽章請求時,依序使用儲存在該伺服器的一隨機碼清單中未被標記為已使用的隨機碼其中一者對儲存在該伺服器的數位私鑰資料的第二部分加密,並將當前時間作為一編碼產生時間,並根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、及該編碼產生時間運算出一雜湊值(Hash Value),並根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、該編碼產生時間及該雜湊值產生一編碼,並將一包含該編碼的簽章回覆傳送出。該客戶端裝置在接收到該簽章回覆時,根據該編碼運算出該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間及該雜湊值,並根據該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間運算出一參考雜湊值,且在判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的一隨機碼清單中未被標記為已使用的隨機碼其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內時,利用該伺服器所使用的該隨機碼對該數位私鑰資料的第二部分解密,並根據該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分產生一私鑰以對一目標資料進行數位簽章。
本公開提供一種具有保護數位簽章機制的系統,包含:一客戶端裝置及一伺服器。該客戶端裝置儲存有一隨機碼清單及一數位私鑰資料的第一部分,並組配來傳送一簽章請求。該伺服器儲存有一隨機碼清單及一數位私鑰資料的第二部分,組配來與該客戶端裝置數據連接,並在接收到來自該客戶端裝置的該簽章請求時,將當前時間作為一編碼產生時間,依序使用儲存在該伺服器的隨機碼清單且未被標記的隨機碼其中一者對該數位私鑰資料的第二部分加密,並根據該所使用的該隨機碼、加密過的該數位私鑰資料的第二部分及一編碼產生時間運算出一雜湊值(Hash Value),並根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、該編碼產生時間及該雜湊值產生一編碼,將一包含該編碼的簽章回覆傳送出。
該客戶端裝置還組配來接收該簽章回覆,並根據該編碼,運算出該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間及該雜湊值,並根據該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間運算出一參考雜湊值。
該客戶端裝置還組配來在判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的該隨機碼清單中未被標記為已使用的隨機碼其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內時,利用該伺服器所使用的該隨機碼對該數位私鑰資料的第二部分解密,並根據該數位私鑰資料的第二部分與該數位私鑰資料的第一部分產生一私鑰以對一目標資料進行數位簽章。
本公開提供一種伺服器,包含一通訊模組、一儲存單元、及一處理單元。該儲存單元組配來儲存一隨機碼清單及數位私鑰資料的第二部分。該處理單元數據連接該通訊模組及該儲存單元,組配來藉由該通訊模組接收來自一客戶端裝置的一簽章請求,並使用儲存在該伺服器的一隨機碼清單當中未被標記的隨機碼其中一者,並至少根據所使用的該隨機碼及儲存在該伺服器的數位私鑰資料的第二部分產生一簽章回覆,並藉由該通訊模組傳送該簽章回覆,以使該客戶端裝置在接收到該簽章回覆時產生一私鑰以對一目標資料進行數位簽章。
該私鑰是藉由該客戶端裝置在判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的一隨機碼清單當中未被標記的隨機碼其中一者時,利用該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分而產生。
本公開提供一種保護數位簽章機制的方法,包含:提供數位私鑰資料的第一部分至一遠端裝置;接收來自該遠端裝置的該簽章請求;使用儲存在一本地端裝置的一隨機碼清單當中未被標記的隨機碼其中一者;至少根據所使用的該隨機碼及儲存在該本地端裝置的數位私鑰資料的第二部分產生一簽章回覆;及傳送該簽章回覆,以使該遠端裝置在接收到該簽章回覆時產生一私鑰以對一目標資料進行數位簽章。該私鑰是藉由該遠端裝置在判定出該本地端裝置所使用的該隨機碼匹配於儲存在該遠端裝置的一隨機碼清單當中未被標記的隨機碼其中一者時,利用該數位私鑰資料的第二部分與儲存於該遠端裝置的數位私鑰資料的第一部分而產生。
承上所述,該客戶端裝置(或該遠端裝置)預先儲存有一數位私鑰資料的第一部分,並能利用來自伺服器(或該本地端裝置)的數位私鑰資料的第二部分而產生私鑰來進行簽章,如此,不需要利用實體的儲存元件將私鑰交給客戶,無須花費運送實體儲存元件的時間;此外,該客戶端裝置(或該遠端裝置)不僅須獲得來自該伺服器(或該本地端裝置)的數位私鑰資料的第二部分,還必須儲存有未被標記且匹配於該伺服器(或該本地端裝置)所使用的該隨機碼才能執行數位簽章,如此,能提升系統安全性。
以下描述將參考附圖以更全面地描述本公開內容。 附圖中所示為本公開的示例性實施例。 然而,本公開可以以許多不同的形式來實施,並且不應該被解釋為限於在此闡述的示例性實施例。 提供這些示例性實施例是為了使本公開透徹和完整,並且將本公開的範圍充分地傳達給本領域技術人員。 類似的附圖標記表示相同或類似的元件。
本文使用的術語僅用於描述特定示例性實施例的目的,而不意圖限制本公開。 如本文所使用的,除非上下文另外清楚地指出,否則單數形式“一”,“一個”和“該”旨在也包括複數形式。 此外,當在本文中使用時,“包括”和/或“包含”或“包括”和/或“包括”或“具有”和/或“具有”,整數,步驟,操作,元件和/或組件,但不排除存在或添加一個或多個其它特徵,區域,整數,步驟,操作,元件,組件和/或其群組。
除非另外定義,否則本文使用的所有術語(包括技術和科學術語)具有與本公開所屬領域的普通技術人員通常理解的相同的含義。 此外,除非文中明確定義,諸如在通用字典中定義的那些術語應該被解釋為具有與其在相關技術和本公開內容中的含義一致的含義,並且將不被解釋為理想化 或過於正式的含義。
以下內容將結合附圖對示例性實施例進行描述。 須注意的是,參考附圖中所描繪的元件不一定按比例顯示;而相同或類似的元件將被賦予相同或相似的附圖標記表示或類似的技術用語。
以下將參照相關圖式,其中相同的元件將以相同的參照符號加以說明。
圖1示出了根據本公開的一些實施例的具有保護數位簽章機制的系統100, 具有保護數位簽章機制的系統100包含一隨機碼產生裝置1、一伺服器2、一時間伺服器3、及一客戶端裝置4。
在本實施例中,隨機碼產生器1、伺服器2及時間伺服器3是各自為相互獨立且相互連接的伺服器,並可以藉由通訊網路5連接至客戶端裝置4。通訊網路5通信網絡可以包括有線和無線介質其中至少一者。通訊網路5可以用來實現一個或多個預先約定之傳輸方式,傳輸方式可以包含但不限於短信息服務(Short Message Service, SMS)、電子郵件(electronic mail)、及區塊鏈(block chain)。在其他實施態樣中,隨機碼產生器1、伺服器2及時間伺服器3亦可作各自為不同功能的模組並置於同一伺服器中。
該隨機碼產生裝置1組配來與該伺服器2及該客戶端裝置4數據連接,並在接收到來自該伺服器2及該客戶端裝置4其中一者的一隨機碼請求時,產生一隨機碼清單,並將所產生的隨機碼清單同步傳送至該伺服器2及該客戶端裝置4。在本實施例中,該隨機碼產生裝置1回應於該隨機碼請求所產生的該隨機碼清單是唯一對應於一客戶的身分。在本實施例中,該隨機碼清單可以包含一個或多個隨機產生的隨機碼(Random Code)。在本實施例中,該等隨機碼可以按照特定順序排列。該等隨機碼各自可以是一PIN碼。隨機碼產生裝置1可以設置於一伺服器。在其他實施態樣中,隨機碼產生裝置1可以設置於該客戶端裝置4中。
該伺服器2包含一通訊模組21、一儲存單元22及一處理單元23。
該伺服器2的儲存單元22可以是包含一個或多個硬體、軟體、或韌體的電子模塊,並能儲存電子資料。儲存單元22組配來儲存一隨機碼清單L2
及數位私鑰資料的第二部分P2
。在本實施例中,該隨機碼清單L2
是接收自該隨機碼產生裝置1,並且唯一對應於該客戶,並包含一個或多個隨機產生的隨機碼R2
。該等隨機碼R2
的一部分未被標記,該等隨機碼R2
的另一部分已被標記。在本實施例中,隨機碼R2
被標記的方式可以是被標記為已使用。在本實施例中數位私鑰資料的第二部分P2
可以是唯一對應於該客戶的私鑰的一部分。
處理單元23可以是包含一個或多個硬體、軟體、或韌體的電子模塊,例如一中央處理器(CPU)或者為處理器(MCU)。處理單元23組配來藉由該通訊模組21與該隨機碼產生裝置1、該客戶端裝置4、及該時間伺服器3數據連接。
該時間伺服器3組配來產生時間戳記。該時間伺服器3可以是一個連接至通訊網路5的伺服器。伺服器2的處理單元23可藉由通訊模組21透過時間伺服器3取得時間戳記。
該伺服器2的該處理單元23組配來在判定出儲存在該儲存單元22的未被標記為已使用的隨機碼R2
的數量小於一預定值時,藉由該通訊模組21傳送一隨機碼請求至該隨機碼產生裝置1,以使該隨機碼產生裝置1將回應於該隨機碼請求所產生的一隨機碼清單同步傳送至該伺服器2及該客戶端裝置4,該處理單元23在藉由該通訊模組21接收到來自該隨機碼產生裝置1的隨機碼清單時,儲存所接收的該隨機碼清單,並標記在接收該隨機碼清單之前已儲存的隨機碼(例如隨機碼R2
)為已使用。
該伺服器2的該處理單元23組配來接收來自該客戶端裝置4的一簽章請求,依序使用儲存在該伺服器2且未被標記為已使用的該等隨機碼R2
其中一者,將儲存在該伺服器2的所使用的該隨機碼R2
標記為已使用。該處理單元23組配來回應於該簽章請求來產生一簽章回覆且將該簽章回覆傳送出。在本實施例中,該處理單元23可以將該簽章回覆傳送至該客戶端裝置4,在其他實施態樣中,該簽章回覆可被傳送至相異於該客戶端裝置4的其他電子裝置,例如歸屬於第三方的電子裝置。在本實施例中,在產生簽章回覆時,以所使用的該隨機碼R2
其中一者對該數位私鑰資料的第二部分P2
加密,並該自該時間伺服器3取得現在時間為一編碼產生時間。該處理單元23組配來根據所使用的該隨機碼R2
、加密過的該數位私鑰資料的第二部分P2
及該編碼產生時間運算出一雜湊值(Hash Value),並根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分P2
、該編碼產生時間及該雜湊值產生一編碼,並使該簽章回覆包含該編碼。在其他的實施態樣中,伺服器2的系統時間亦可用作為編碼產生時間。
在本實施例中,該客戶端裝置4包含一通訊模組41、一儲存單元42及一處理單元43。在其他實施態樣中,該客戶端裝置4包含可進一步包含該隨機碼產生裝置1。客戶端裝置4可以為電腦,智能手機,平板電腦,POS機或其他移動裝置。
該儲存單元42可以是包含一個或多個硬體、軟體、或韌體的電子模塊,並能儲存電子資料。該儲存單元42組配來儲存一隨機碼清單R4
及數位私鑰資料的第一部分P4
。在本實施例中,該隨機碼清單L4
是接收自該隨機碼產生裝置1,並包含一個或多個隨機產生的隨機碼R4
,在本實施例中,該隨機碼清單L4
唯一對應於該客戶而相同於隨機碼清單L2
。該等隨機碼R4
的一部分未被標記,該等隨機碼R4
的另一部分已被標記。在本實施例中,隨機碼R4
被標記的方式可以是被標記為已使用。在本實施例中,數位私鑰資料的第二部分P4
及該數位私鑰資料的第一部分P2
可以共同組成一唯一對應於該客戶的私鑰,換言之,數位私鑰資料的第二部分P4
可以是唯一對應於該客戶的該私鑰的相異於該數位私鑰資料的第一部分P2
的另一部分。
在本實施例中,該數位私鑰資料的第一部分P2
可以是由該伺服器2傳送至該客戶端裝置4。在其他實施例中,可以藉由相異於該伺服器2的其他電子裝置傳送至該客戶端裝置4,例如歸屬於第三方的電子裝置。
該處理單元43數據連接該通訊模組41及該儲存單元42。該處理單元43可以包含運算模組431及簽章模組432。該運算模組431及簽章模組432各自可以包含一個或多個硬體、軟體、或韌體的電子模塊。該運算模組431及簽章模組432可以是同一個硬體。
該處理單元43的該運算模組431組配來在判定出儲存在該儲存單元42的未被標記為已使用的隨機碼R2
的數量小於一預定值時,傳送一隨機碼請求至該隨機碼產生裝置1,並在藉由該通訊模組41接收到來自該隨機碼產生裝置1回應於該隨機碼請求所產生的該隨機碼清單時,儲存該隨機碼清單,將在接收該隨機碼清單之前已儲存的隨機碼(例如隨機碼R4
)標記為已使用。
該處理單元43的該運算模組431還組配來藉由該通訊模組41傳送一簽章請求至該伺服器2。該處理單元43的該運算模組431還組配來在藉由該通訊模組41接收到來自該伺服器2的該簽章回覆時,根據該編碼,運算出該伺服器2所使用的該隨機碼R2
、該加密的數位私鑰資料的第二部分P2
、該編碼產生時間及該雜湊值,並根據該伺服器2所使用的該隨機碼R2
、該加密的數位私鑰資料的第二部分P2
、該編碼產生時間運算出一參考雜湊值。
該處理單元43的該運算模組431還組配來在判定出該伺服器2所使用的該隨機碼R2
匹配於儲存在該儲存單元42的未被標記為已使用的隨機碼R4
其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內時,利用該伺服器2所使用的該隨機碼R2
對該數位私鑰資料的第二部分P2
解密。該處理單元43的簽章模組432並根據該數位私鑰資料的第二部分P2
與該數位私鑰資料的第一部分P4
產生一私鑰以對一目標資料進行數位簽章。有效時間可為編碼產生時間往後推算的一時間區間,也可以是指定的日期的時間段。舉例來說,在一情況中,編碼產生時間為2019年4月3日15點30分,有效時間為同日的15點40分,在此情況中,有效時間便是編碼產生時間往後推算的10分鐘。
值得說明的是,藉由判定該參考雜湊值相同於該雜湊值,可以確認編碼產生時間、該伺服器2所使用的該隨機碼R1
、及該加密的數位私鑰資料的第二部分P1
是完整且未被竄改。藉由確認該當前時間在一有效時間內可確保資料的時效性。
在本實施例中,該處理單元43的該運算模組431還組配來在判定出該伺服器2所使用的該隨機碼R2
匹配於儲存於該儲存單元42的未被標記為已使用的隨機碼R4
時,將儲存在該儲存單元42的匹配的該隨機碼R4
標記為已使用。
值得說明的是,透過將使用過的隨機碼R2
及隨機碼R4
標記為已使用,一旦被使用過的隨機碼R2
外流而被包含在一個被偽冒的簽章回覆中,該客戶端裝置2在接收到偽冒的簽章回覆時,也無法執行數位簽章,如此,能提升系統安全性。
值得說明的是,在本實施例中伺服器2在使用儲存在該伺服器2的隨機碼清單L2且未被標記的隨機碼R2
其中一者時,是依序地使用,且該客戶端裝置4也是依序地比對儲存在該儲存單元42的未被標記的隨機碼R4
是否存在一者是匹配於該伺服器2所使用的該隨機碼R2
,而無須比對整個隨機碼清單L4的所有隨機碼R4
,如此,能有效節省運算資源。在其他的實施態樣中,伺服器2在使用儲存在該伺服器2的隨機碼清單L2且未被標記的隨機碼R2
其中一者時,可以是隨機地使用。
在其他的實施態樣中,該簽章回覆可以根據該伺服器2所使用的儲存在該伺服器2且未被標記為已使用的隨機碼R2
其中一者、以及數位私鑰資料的第二部分P1
產生。則該處理單元43的該運算模組431在藉由該通訊模組41接收到來自該伺服器2的該簽章回覆時,在判定出該伺服器2所使用的該隨機碼R2
匹配於儲存在該儲存單元42的未被標記為已使用的隨機碼R4
其中一者時,可直接根據該數位私鑰資料的第二部分P2
與儲存於該儲存裝置42的數位私鑰資料的第一部分P4
產生該私鑰,該處理單元43的簽章模組432利用該私鑰對一目標資料進行數位簽章。
在其他實施態樣中,該簽章回覆可透過區塊鏈傳送。客戶端裝置4、伺服器2、隨機碼產生裝置1可以是區塊鏈上的位址或節點,位址或節點即其公鑰代號,傳送給該位址或節點,即只有擁有該位址或節點私鑰才能讀取。伺服器2可以將該簽章回覆的編碼以客戶端公鑰加密且寫入區塊鏈,並通知客戶。客戶端裝置4至區塊鏈取得該簽章回覆的編碼並以客戶端私鑰解密該簽章回覆的編碼。
第2圖示出了根據本公開的具有保護數位簽章機制的方法的一實施例的流程圖。
首先,如程序S201,伺服器(例如伺服器2)提供數位私鑰資料的第一部分(例如數位私鑰資料的第一部分P4
)至客戶端裝置(例如客戶端裝置4)。
如程序S202,客戶端裝置儲存該數位私鑰資料的第一部分。
如程序S203,客戶端裝置傳送一簽章請求。
如程序S204,伺服器接收簽章請求。
如程序S205,伺服器依序使用儲存在該伺服器的一隨機碼清單(例如隨機碼清單L2
)中未被標記為已使用的隨機碼(例如隨機碼R2
)其中一者對儲存在該伺服器的數位私鑰資料的第二部分(例如數位私鑰資料的第二部分P2
)加密。
如程序S206,伺服器將儲存在該伺服器的所使用的該隨機碼標記為已使用。
如程序S207,伺服器將當前時間作為一編碼產生時間。
如程序S208,伺服器根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、及該編碼產生時間運算出一雜湊值(Hash Value)。
如程序S209,伺服器根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、該編碼產生時間及該雜湊值產生一編碼。
如程序S210,伺服器將一包含該編碼的簽章回覆傳送出。
如程序S211,客戶端裝置接收該簽章回覆。
如程序S212,客戶端裝置根據該編碼運算出該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間及該雜湊值。
如程序S213,客戶端裝置根據該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間運算出一參考雜湊值。
如程序S214,客戶端裝置判定該伺服器所使用的該隨機碼是否匹配於儲存在該客戶端裝置的一隨機碼清單(例如隨機碼清單L4
)中未被標記為已使用的隨機碼(例如隨機碼R4
)其中一者,且該參考雜湊值是否相同於該雜湊值,且根據該編碼產生時間判定當前時間是否在一有效時間內。
若結果為是,亦即,客戶端裝置判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的一隨機碼清單中未被標記為已使用的隨機碼其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內,流程進行至程序S215。若結果為否,流程進行至程序S216,流程結束。
在本實施例中,於程序S215中,該客戶端裝置將儲存在該客戶端裝置的匹配的該隨機碼標記為已使用。
程序S217中,客戶端裝置利用該伺服器所使用的該隨機碼對該數位私鑰資料的第二部分解密。
於程序S218中,該客戶端裝置根據該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分(例如數位私鑰資料的第一部分P4
)產生一私鑰以對一目標資料進行數位簽章。
第3圖示出了根據本公開的具有保護數位簽章機制的方法的另一實施例的流程圖。本實施例可以通過與一個遠端裝置建立相互通訊的一個本地端裝置執行。該本地端裝置可以是一個伺服器(例如伺服器2),或其他的電子裝置。該遠端裝置可以是一個客戶端裝置(客戶端裝置4),或其他的電子裝置。
首先,如程序S301,本地端裝置(例如伺服器2)提供數位私鑰資料的第一部分(例如數位私鑰資料的第一部分P4
)至遠端裝置(例如客戶端裝置4)。
如程序S302,遠端裝置儲存該數位私鑰資料的第一部分(例如數位私鑰資料的第一部分P4
)。
如程序S303,遠端裝置傳送一簽章請求。
如程序S304,本地端裝置接收簽章請求。
如程序S305,本地端裝置使用儲存在該本地端裝置的一隨機碼清單(例如隨機碼清單L2
)中未被標記為已使用的隨機碼(例如隨機碼R2
)其中一者。
如程序S306,本地端裝置將儲存在該本地端裝置的所使用的該隨機碼標記為已使用。
如程序S307,本地端裝置根據所使用的該隨機碼及儲存在該本地端裝置的該數位私鑰資料的第二部分產生一簽章回覆。
如程序S308,本地端裝置將簽章回覆傳送出。
如程序S309,遠端裝置接收該簽章回覆。
如程序S310,遠端裝置判定該本地端裝置所使用的該隨機碼是否匹配於儲存在該遠端裝置的一隨機碼清單(例如隨機碼清單L4
)中未被標記為已使用的隨機碼(例如隨機碼R4
)其中一者。
若結果為是,亦即,遠端裝置判定出該本地端裝置所使用的該隨機碼匹配於儲存在該遠端裝置的一隨機碼清單中未被標記為已使用的隨機碼其中一者,流程進行至程序S311。若結果為否,流程進行至程序S313,流程結束。
在本實施例中,於程序S311中,該遠端裝置將儲存在該遠端裝置的匹配的該隨機碼標記為已使用。
程序S312中,該遠端裝置根據該數位私鑰資料的第二部分與儲存於該遠端裝置的數位私鑰資料的第一部分(例如數位私鑰資料的第一部分P4
)產生一私鑰以對一目標資料進行數位簽章。
綜上所述,該客戶端裝置4(或遠端裝置)預先儲存有一數位私鑰資料的第一部分P4
,並能利用來自伺服器2(或本地端裝置)的數位私鑰資料的第二部分P2
而產生私鑰來進行簽章,如此,不需要利用實體的儲存元件將私鑰交給客戶,無須花費運送實體儲存元件的時間;此外,該客戶端裝置4(或遠端裝置)不僅須獲得來自該伺服器2(或本地端裝置)的數位私鑰資料的第二部分P2
,還必須儲存有未被標記且匹配於該伺服器2(或本地端裝置)所使用的該隨機碼R2
的隨機碼R4
才能執行數位簽章,如此,能提升系統安全性。
惟以上所述者,僅為本公開之實施例而已,當不能以此限定本公開實施之範圍,凡是依本公開申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本公開專利涵蓋之範圍內。
100‧‧‧具有保護數位簽章機制的系統
1‧‧‧隨機碼產生裝置
2‧‧‧伺服器
21‧‧‧通訊模組
22‧‧‧儲存單元
23‧‧‧處理單元
3‧‧‧時間伺服器
4‧‧‧客戶端裝置
41‧‧‧通訊模組
42‧‧‧儲存單元
43‧‧‧處理單元
431‧‧‧運算模組
432‧‧‧簽章模組
5‧‧‧通訊網路
L2,L4‧‧‧隨機碼清單
R2,R4‧‧‧隨機碼
P2‧‧‧數位私鑰資料的第二部分
P4‧‧‧數位私鑰資料的第一部分
S201~S218‧‧‧程序
S301~S313‧‧‧程序
為可仔細理解本案以上記載之特徵,參照實施態樣可提供簡述如上之本案的更特定描述,一些實施態樣係說明於隨附圖式中。然而,要注意的是,隨附圖式僅說明本案的典型實施態樣並且因此不被視為限制本案的範圍,因為本案可承認其他等效實施態樣。
第1圖示出了本公開的具有保護數據簽章機制系統的一實施例的組件方塊圖;
第2圖示出了本公開的具有保護數據簽章機制方法的一實施例的流程圖; 及
第3圖示出了本公開的具有保護數據簽章機制方法的另一實施例的流程圖。
S201~S218‧‧‧程序
Claims (14)
- 一種具有保護數位簽章機制的方法,包含:提供一數位私鑰資料的第一部分至一客戶端裝置;一伺服器在接收到來自該客戶端裝置的一簽章請求時,依序使用儲存在該伺服器的一隨機碼清單中未被標記為已使用的隨機碼其中一者對儲存在該伺服器的數位私鑰資料的第二部分加密,並將當前時間作為一編碼產生時間,並根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、及該編碼產生時間運算出一雜湊值(Hash Value);該伺服器根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、該編碼產生時間及該雜湊值產生一編碼,並將一包含該編碼的簽章回覆傳送出;其中,該客戶端裝置接收該簽章回覆時,根據該編碼運算出該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間及該雜湊值,並根據該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間運算出一參考雜湊值;其中,該客戶端裝置在判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的一隨機碼清單中未被標記為已使用的隨機碼其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內時,利用該伺服器所使用的該隨機碼對該數位私鑰資料的第二部分解密,並根據該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分產生一私鑰以對一目標資料進行數位簽章; 其中,該伺服器在使用儲存在該伺服器該隨機碼清單中未被標記為已使用的隨機碼其中一者時,還將儲存在該伺服器的所使用的該隨機碼標記為已使用。
- 如請求項1所述的方法,其中,該客戶端裝置在判定出所使用的該隨機碼匹配於儲存於該客戶端裝置的該隨機碼清單的未被標記為已使用的隨機碼其中一者時,還將儲存在該客戶端裝置的匹配的該隨機碼標記為已使用。
- 如請求項1所述的方法,還包含:該伺服器及該客戶端裝置其中一者在判定出儲存在該伺服器及該客戶端裝置的該其中一者的未被標記為已使用的隨機碼的數量小於一預定值時,傳送一隨機碼請求至一隨機碼產生裝置,以使該隨機碼產生裝置將回應於該隨機碼請求所產生的一隨機碼清單同步傳送至該伺服器及該客戶端裝置;及該伺服器及該客戶端裝置在接收到來自該隨機碼產生裝置的該隨機碼清單時,儲存所接收的該隨機碼清單,並將在接收該隨機碼清單之前已儲存的隨機碼標記為已使用。
- 一種具有保護數位簽章機制的系統,包含:一客戶端裝置,儲存有一隨機碼清單及一數位私鑰資料的第一部分,並組配來傳送一簽章請求;一伺服器,儲存有一隨機碼清單及一數位私鑰資料的第二部分,組配來與該客戶端裝置數據連接,並在接收到來自該客戶端裝置的該簽章請求時,將當前時間作為一編碼產生時間,依序使用儲存在該伺服器的隨機碼清單且未被標記的隨機碼其中一者對該數位 私鑰資料的第二部分加密,並根據該所使用的該隨機碼、加密過的該數位私鑰資料的第二部分及一編碼產生時間運算出一雜湊值(Hash Value),並根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、該編碼產生時間及該雜湊值產生一編碼,將一包含該編碼的簽章回覆傳送出;其中,該客戶端裝置還組配來接收該簽章回覆,並根據該編碼,運算出該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間及該雜湊值,並根據該伺服器所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間運算出一參考雜湊值;其中,該客戶端裝置還組配來在判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的該隨機碼清單中未被標記為已使用的隨機碼其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內時,利用該伺服器所使用的該隨機碼對該數位私鑰資料的第二部分解密,並根據該數位私鑰資料的第二部分與該數位私鑰資料的第一部分產生一私鑰以對一目標資料進行數位簽章;其中,該伺服器還組配來在使用儲存在該伺服器的未被標記為已使用的隨機碼其中一者時,還將儲存在該伺服器的該所使用的該隨機碼標記為已使用。
- 如請求項4所述的系統,其中,該客戶端裝置還組配來在判定出所使用的該隨機碼匹配於儲存於該客戶端裝置的未被標記為已使用的隨機碼時,還將儲存在該客戶端裝置的匹配的該隨機碼標記為已使用。
- 如請求項4所述的系統,還包含一隨機碼產生裝置,與該伺服器及該客戶端裝置其中一者數據連接,組配用於在接收到來自該伺服器及該客戶端裝置的該其中一者的一隨機碼請求時,產生一隨機碼清單,並將所產生的隨機碼同步傳送至該伺服器及該客戶端裝置;其中,該伺服器及該客戶端裝置的該其中一者還組配來在判定出儲存在該伺服器及該客戶端裝置的該其中一者的未被標記為已使用的隨機碼的數量小於一預定值時,傳送該隨機碼請求至該隨機碼產生裝置;其中,該伺服器及該客戶端裝置還組配來接收到來自該隨機碼產生裝置的隨機碼清單時,儲存所接收的該隨機碼清單,並將在接收該隨機碼清單之前已儲存的隨機碼標記為已使用。
- 一種伺服器,包含:一通訊模組;一儲存單元,組配來儲存一隨機碼清單及數位私鑰資料的第二部分;及一處理單元,數據連接該通訊模組及該儲存單元,組配來藉由該通訊模組接收來自一客戶端裝置的一簽章請求,使用儲存在該伺服器的一隨機碼清單當中未被標記的隨機碼其中一者,並至少根據所使用的該隨機碼及儲存在該儲存單元的該數位私鑰資料的第二部分產生一簽章回覆,並藉由該通訊模組傳送該簽章回覆,以使該客戶端裝置在接收到該簽章回覆時產生一私鑰以對一目標資料進行數位簽章;其中,該私鑰是藉由該客戶端裝置在判定出該伺服器所使用的該隨機碼匹配於儲存在該客戶端裝置的一隨機碼清單當中未被標記 的隨機碼其中一者時,利用該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分而產生。
- 如請求項7所述的伺服器,其中,該處理單元在使用儲存在該儲存單元的一隨機碼清單當中未被標記的隨機碼其中一者時,還標記儲存在該儲存單元的所使用的該隨機碼;其中,該私鑰是藉由該客戶端裝置在判定出使用的該隨機碼匹配於儲存在該客戶端裝置的一隨機碼清單當中未被標記的隨機碼其中一者時,標記儲存在該客戶端裝置的匹配的該隨機碼,且利用該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分而產生。
- 如請求項7所述的伺服器,還包含:該處理單元組配來在判定出儲存在該儲存單元的未被標記的隨機碼的數量小於一預定值時,藉由該通訊模組傳送一隨機碼請求至一隨機碼產生裝置,以使該隨機碼產生裝置將回應於該隨機碼請求所產生的一隨機碼清單同步傳送至該伺服器及該客戶端裝置;及該處理單元組配來在藉由該通訊模組接收到來自該隨機碼產生裝置的隨機碼清單時,儲存所接收的該隨機碼清單,並標記在接收該隨機碼清單之前已儲存的隨機碼。
- 如請求項7所述的伺服器,其中,該處理單元組配來在產生該簽章回覆時,將當前時間作為一編碼產生時間,根據所選的該隨機碼對該數位私鑰資料的第二部分加密, 根據所選的該隨機碼、加密過的該數位私鑰資料的第二部分及該編碼產生時間運算出一雜湊值(Hash Value),及根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、該編碼產生時間、及該雜湊值產生一編碼,該簽章回覆包含該編碼;其中,該私鑰是藉由該客戶端裝置在接收到來自該伺服端的該簽章回覆時,根據該編碼,運算出所選的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間及該雜湊值,並根據所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間運算出一參考雜湊值,並在判定出所選的該隨機碼匹配於儲存在該客戶端裝置的該隨機碼清單當中未被標記的隨機碼其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內時,利用所使用的該隨機碼對該數位私鑰資料的第二部分解密,並利用該數位私鑰資料的第二部分與儲存於該客戶端裝置的數位私鑰資料的第一部分而產生。
- 一種具有保護數位簽章機制的方法,包含:提供數位私鑰資料的第一部分至一遠端裝置;接收來自該遠端裝置的一數位簽章請求;使用儲存在一本地端裝置的一隨機碼清單當中未被標記的隨機碼其中一者,並至少根據所使用的該隨機碼及儲存在該數位私鑰資料的第二部分產生一簽章回覆;及傳送該簽章回覆,以使該遠端裝置在接收到該簽章回覆時產生一私鑰以對一目標資料進行數位簽章; 其中,該私鑰是藉由該遠端裝置在判定出使用的該隨機碼匹配於儲存在該遠端裝置的一隨機碼清單當中未被標記的隨機碼其中一者時,利用該數位私鑰資料的第二部分與儲存於該遠端裝置的數位私鑰資料的第一部分而產生。
- 如請求項11所述的方法,其中,在使用儲存在該本地端裝置的該隨機碼清單當中未被標記的隨機碼其中一者時,還標記儲存在該本地端裝置的所使用的該隨機碼;其中,該私鑰是藉由該遠端裝置在判定出使用的該隨機碼匹配於儲存在該遠端裝置的一隨機碼清單當中未被標記的隨機碼其中一者時,標記儲存在該遠端裝置的匹配的該隨機碼,且利用該數位私鑰資料的第二部分與儲存於該遠端裝置的數位私鑰資料的第一部分而產生。
- 如請求項11所述的方法,還包含:在判定出儲存在該本地端裝置的未被標記的隨機碼的數量小於一預定值時,傳送一隨機碼請求至一隨機碼產生裝置,以使該隨機碼產生裝置將回應於該隨機碼請求所產生的一隨機碼清單同步傳送至該本地端裝置及該遠端裝置;及該本地端裝置在接收到來自該隨機碼產生裝置的該隨機碼清單時,儲存所接收的該隨機碼清單,並標記在接收該隨機碼清單之前已儲存的隨機碼。
- 如請求項11所述的方法,其中,在產生該簽章回覆時,利用所選的該隨機碼對該數位私鑰資料的第二部分加密, 將當前時間作為一編碼產生時間,根據所選的該隨機碼、加密過的該數位私鑰資料的第二部分及該編碼產生時間運算出一雜湊值(Hash Value),及根據所使用的該隨機碼、加密過的該數位私鑰資料的第二部分、該編碼產生時間、及該雜湊值產生一編碼,該簽章回覆包含該編碼;其中,該私鑰是藉由該遠端裝置在接收到來自該伺服端的該簽章回覆時,根據該編碼,運算出所選的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間及該雜湊值,並根據所使用的該隨機碼、該加密的數位私鑰資料的第二部分、該編碼產生時間運算出一參考雜湊值,並在判定出所選的該隨機碼匹配於儲存在該遠端裝置的該隨機碼清單當中未被標記的隨機碼其中一者,且判定出該參考雜湊值相同於該雜湊值,且根據該編碼產生時間判定出當前時間在一有效時間內時,利用該本地端裝置所使用的該隨機碼對該數位私鑰資料的第二部分解密,並利用該數位私鑰資料的第二部分與儲存於該遠端裝置的數位私鑰資料的第一部分而產生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108111339A TWI695293B (zh) | 2019-03-29 | 2019-03-29 | 具有保護數位簽章機制的方法及系統與伺服器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108111339A TWI695293B (zh) | 2019-03-29 | 2019-03-29 | 具有保護數位簽章機制的方法及系統與伺服器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201926116A TW201926116A (zh) | 2019-07-01 |
TWI695293B true TWI695293B (zh) | 2020-06-01 |
Family
ID=68048891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108111339A TWI695293B (zh) | 2019-03-29 | 2019-03-29 | 具有保護數位簽章機制的方法及系統與伺服器 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI695293B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI734729B (zh) * | 2017-01-19 | 2021-08-01 | 香港商阿里巴巴集團服務有限公司 | 實現電子簽章的方法、裝置及簽章伺服器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481108A (zh) * | 2002-09-04 | 2004-03-10 | 英华达(上海)电子有限公司 | 于网络系统中取得非对称式密钥的相关方法 |
TWI555370B (zh) * | 2015-06-18 | 2016-10-21 | Univ Chaoyang Technology | Digital signature method |
US20160328713A1 (en) * | 2015-05-05 | 2016-11-10 | ShoCard, Inc. | Identity Management Service Using A Blockchain Providing Identity Transactions Between Devices |
US20170180134A1 (en) * | 2015-12-21 | 2017-06-22 | Mastercard International Incorporated | Method and system for blockchain variant using digital signatures |
TW201724803A (zh) * | 2015-12-17 | 2017-07-01 | 國立清華大學 | 具有時戳驗證的免憑證公開金鑰管理方法 |
TW201732666A (zh) * | 2016-02-23 | 2017-09-16 | 恩鏈控股有限公司 | 使用分散式雜湊表與區塊鏈來保護電腦軟體之方法與系統 |
TWI644556B (zh) * | 2017-05-18 | 2018-12-11 | 富邦金融控股股份有限公司 | 具隱密性的kyc資料共享系統及其方法 |
CN109523382A (zh) * | 2018-10-30 | 2019-03-26 | 长威信息科技发展股份有限公司 | 独立共识区块链的方法 |
-
2019
- 2019-03-29 TW TW108111339A patent/TWI695293B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481108A (zh) * | 2002-09-04 | 2004-03-10 | 英华达(上海)电子有限公司 | 于网络系统中取得非对称式密钥的相关方法 |
US20160328713A1 (en) * | 2015-05-05 | 2016-11-10 | ShoCard, Inc. | Identity Management Service Using A Blockchain Providing Identity Transactions Between Devices |
TWI555370B (zh) * | 2015-06-18 | 2016-10-21 | Univ Chaoyang Technology | Digital signature method |
TW201724803A (zh) * | 2015-12-17 | 2017-07-01 | 國立清華大學 | 具有時戳驗證的免憑證公開金鑰管理方法 |
US20170180134A1 (en) * | 2015-12-21 | 2017-06-22 | Mastercard International Incorporated | Method and system for blockchain variant using digital signatures |
TW201732666A (zh) * | 2016-02-23 | 2017-09-16 | 恩鏈控股有限公司 | 使用分散式雜湊表與區塊鏈來保護電腦軟體之方法與系統 |
TWI644556B (zh) * | 2017-05-18 | 2018-12-11 | 富邦金融控股股份有限公司 | 具隱密性的kyc資料共享系統及其方法 |
CN109523382A (zh) * | 2018-10-30 | 2019-03-26 | 长威信息科技发展股份有限公司 | 独立共识区块链的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201926116A (zh) | 2019-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108780548A (zh) | 将椭圆曲线加密用于个人装置安全以共享秘密 | |
CN112491549B (zh) | 数据信息加密校验方法、系统及计算机可读存储介质 | |
JP2017098806A (ja) | 電子データの存在証明プログラムおよび存在証明サーバ | |
JP6275302B2 (ja) | 存在証明装置、存在証明方法、及びそのためのプログラム | |
JP2003521154A (ja) | 電子識別情報を発行する方法 | |
EP2961094A1 (en) | System and method for generating a random number | |
CN110601815B (zh) | 一种区块链数据处理方法以及设备 | |
CN110677261B (zh) | 可信二维码生成方法、装置、电子设备及存储介质 | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
CN102843232A (zh) | 生成安全装置密钥 | |
CN114124502B (zh) | 消息传输方法、装置、设备及介质 | |
CN113610526A (zh) | 一种数据信任方法、装置、电子设备及存储介质 | |
CN110597836A (zh) | 基于区块链网络的信息查询请求响应方法及装置 | |
TW202236131A (zh) | 數位簽章私鑰驗證方法 | |
CN110599270A (zh) | 电子票据生成方法、装置和计算机设备 | |
CN113961893A (zh) | 基于区块链的用户登录方法、装置、电子设备及存储介质 | |
CN107332833B (zh) | 校验方法及装置 | |
CN113449338A (zh) | 基于区块链的信息加密存储方法及系统 | |
TWI695293B (zh) | 具有保護數位簽章機制的方法及系統與伺服器 | |
US7574607B1 (en) | Secure pipeline processing | |
CN111865761B (zh) | 一种基于区块链智能合约的社交聊天信息存证方法 | |
CN111552950B (zh) | 一种软件授权方法、装置及计算机可读存储介质 | |
CN116506134B (zh) | 数字证书管理方法、装置、设备、系统及可读存储介质 | |
CN112948896A (zh) | 签名信息的验证方法以及信息签名方法 | |
CN110011808B (zh) | 具有保护数位签章机制的方法及系统与伺服器 |