TWI845063B - System and method for providing server to sign calculation data generated from article to be sign - Google Patents
System and method for providing server to sign calculation data generated from article to be sign Download PDFInfo
- Publication number
- TWI845063B TWI845063B TW111147852A TW111147852A TWI845063B TW I845063 B TWI845063 B TW I845063B TW 111147852 A TW111147852 A TW 111147852A TW 111147852 A TW111147852 A TW 111147852A TW I845063 B TWI845063 B TW I845063B
- Authority
- TW
- Taiwan
- Prior art keywords
- signature
- client
- server
- data
- signed
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
一種簽章系統及其方法,特別係指一種由待簽本文產生演算資料以供伺服器簽章之系統及方法。A signature system and method thereof, in particular, a system and method for generating calculation data from a document to be signed for server signature.
數位簽章(Digital Signature)被用來驗證數位資料,通常是以數學演算法或其他方式對數位資料運算而產生。一套數位簽章的演算法通常包含兩種互補的運算,其中一個用於產生數位簽章,另一個用於驗證數位簽章。Digital signatures are used to verify digital data, usually generated by mathematical algorithms or other methods. A digital signature algorithm usually includes two complementary operations, one for generating a digital signature and the other for verifying the digital signature.
目前,在產生數位簽章的運算時,通常是由需要數位簽章的客戶端將需要被簽章的待簽本文傳送給簽章伺服器,簽章伺服器對待簽本文進行運算而產生與待簽本文對應的數位簽章後,再將所產生的數位簽章傳回客戶端使用。Currently, when generating a digital signature, the client that needs a digital signature usually sends the document to be signed to the signature server. The signature server calculates the document to be signed and generates a digital signature corresponding to the document to be signed, and then sends the generated digital signature back to the client for use.
在早期,待簽本文大多只是文字訊息,客戶端將文字訊息傳送給簽章伺服器並不會使用太大的頻寬,也不會需要花費太長的時間傳送文字訊息,然而,隨著技術的進步,目前需要簽章之待簽本文的資料量可能非常龐大,例如,待簽本文可能是能夠被執行的二進位檔案,如執行檔或映像檔等,如此,客戶端需要花費一定的時間將待簽本文傳送給簽章伺服器,且簽章伺服器也需要花費一定時間才能完成對待簽本文的演算而產生與待簽本文對應的數位簽章。In the early days, documents to be signed were mostly just text messages. The client would not use too much bandwidth to send text messages to the signature server, nor would it take too long to send the text messages. However, with the advancement of technology, the amount of data in the documents to be signed may be very large. For example, the document to be signed may be a binary file that can be executed, such as an executable file or an image file. In this case, the client needs to spend a certain amount of time to send the document to be signed to the signature server, and the signature server also needs to spend a certain amount of time to complete the calculation of the document to be signed and generate a digital signature corresponding to the document to be signed.
另外,待簽本文可能包含機敏資料,若將待簽本文傳送給外部的簽章伺服器簽章,可能會在傳送過程被有心人士取得,這將導致機敏資料的隱密性與安全性降低。In addition, the document to be signed may contain sensitive information. If the document to be signed is sent to an external signature server for signature, it may be obtained by someone with ulterior motives during the transmission process, which will reduce the confidentiality and security of the sensitive information.
綜上所述,可知先前技術中長期以來一直存在將資料傳送到伺服器簽章可能需要較長等待時間且可能有隱私與安全性的問題,因此有必要提出改進的技術手段,來解決此一問題。In summary, it can be seen that the prior art has long had the problem that it may take a long time to send data to the server for signature and there may be privacy and security issues. Therefore, it is necessary to propose improved technical means to solve this problem.
有鑒於先前技術存在將資料傳送到伺服器簽章可能需要較長等待時間且可能有隱私與安全性的問題,本發明遂揭露一種由待簽本文產生演算資料以供伺服器簽章之系統及方法,其中:In view of the fact that the prior art may require a long waiting time to send data to a server for signature and may have privacy and security issues, the present invention discloses a system and method for generating calculation data from a document to be signed for server signature, wherein:
本發明所揭露之由待簽本文產生演算資料以供伺服器簽章之系統,至少包含:簽章客戶端,用以取得客戶憑證,及用以取得待簽本文之演算資料,演算資料為待簽本文經過特定計算產生;簽章伺服端,用以取得客戶憑證並儲存客戶憑證以註冊簽章客戶端,及用以接收簽章客戶端所傳送之客戶憑證,並使用客戶憑證確認簽章客戶端之身分,及於簽章客戶端之身分經過確認後與簽章客戶端建立安全通道以接收簽章客戶端使用安全通道所傳送之演算資料,並依據演算資料產生簽章資料,及使用安全通道傳送簽章資料至簽章客戶端。The system disclosed in the present invention generates calculation data from a document to be signed for server signature, and at least includes: a signature client, which is used to obtain a client certificate and to obtain the calculation data of the document to be signed, and the calculation data is generated by the document to be signed through specific calculations; a signature server, which is used to obtain a client certificate and store the client certificate to register the signature client, and to receive the client certificate sent by the signature client, and use the client certificate to confirm the identity of the signature client, and after the identity of the signature client is confirmed, establish a secure channel with the signature client to receive the calculation data sent by the signature client using the secure channel, and generate signature data based on the calculation data, and use the secure channel to send the signature data to the signature client.
本發明所揭露之由待簽本文產生演算資料以供伺服器簽章之方法,其步驟至少包括:簽章客戶端取得客戶憑證;簽章伺服端取得客戶憑證以註冊簽章客戶端;簽章客戶端於取得待簽本文之演算資料,演算資料為待簽本文經過特定計算產生;簽章客戶端傳送客戶憑證至簽章伺服端,以提供簽章伺服端使用客戶憑證確認簽章客戶端之身分,簽章伺服端並於簽章客戶端之身分被確認後與簽章客戶端建立安全通道;簽章客戶端於安全通道被建立後使用安全通道傳送演算資料至簽章伺服端;簽章伺服端依據演算資料產生簽章資料,並使用安全通道傳送簽章資料至簽章客戶端。The method disclosed in the present invention generates calculation data from a document to be signed for server signature, and its steps at least include: the signature client obtains a client certificate; the signature server obtains the client certificate to register the signature client; the signature client obtains the calculation data of the document to be signed, and the calculation data is generated by the document to be signed after specific calculation; the signature client transmits the client certificate to the signature server to provide the signature server with the client certificate to confirm the identity of the signature client, and the signature server establishes a secure channel with the signature client after the identity of the signature client is confirmed; the signature client uses the secure channel to transmit the calculation data to the signature server after the secure channel is established; the signature server generates signature data based on the calculation data, and uses the secure channel to transmit the signature data to the signature client.
本發明所揭露之系統與方法如上,與先前技術之間的差異在於本發明透過設置於客戶裝置上的簽章客戶端使用安全通道將待簽本文的演算資料傳送給簽章伺服器簽章,藉以解決先前技術所存在的問題,並可以達成減少對資料量大之待簽本文的簽章時間且提高待簽本文之隱私與安全性的技術功效。The system and method disclosed in the present invention are as described above. The difference between the system and method and the prior art is that the present invention uses a secure channel to transmit the calculation data of the document to be signed to the signature server for signature through a signature client installed on the client device, thereby solving the problems existing in the prior art and achieving the technical effect of reducing the signing time for documents to be signed with large amounts of data and improving the privacy and security of the documents to be signed.
以下將配合圖式及實施例來詳細說明本發明之特徵與實施方式,內容足以使任何熟習相關技藝者能夠輕易地充分理解本發明解決技術問題所應用的技術手段並據以實施,藉此實現本發明可達成的功效。The following will be used in conjunction with drawings and embodiments to explain in detail the features and implementation methods of the present invention. The content is sufficient to enable anyone familiar with the relevant technology to easily and fully understand the technical means used by the present invention to solve the technical problems and implement them accordingly, thereby achieving the effects that can be achieved by the present invention.
本發明可以透過由簽章伺服器延伸到客戶裝置的簽章客戶端完成對待簽本文簽章,藉以在不將待簽本文傳出客戶裝置的情況下對待簽本文簽章。其中,待簽本文的格式並沒有特別的限制,例如,待簽本文可以是文字資料,也可以是二進位檔案等。The present invention can complete the signing of the document to be signed by the signing client extending from the signing server to the client device, so as to sign the document to be signed without transmitting the document to be signed out of the client device. There is no special restriction on the format of the document to be signed, for example, the document to be signed can be text data or binary file.
本發明所提之簽章伺服器與客戶裝置可以是計算設備。本發明所提之計算設備包含但不限於一個或多個處理模組、一條或多條記憶體模組、以及連接不同硬體元件(包括記憶體模組和處理模組)的匯流排等硬體元件。透過所包含之多個硬體元件,計算設備可以載入並執行作業系統,使作業系統在計算設備上運行,也可以執行軟體或程式。另外,計算設備也包含一個外殼,上述之各個硬體元件設置於外殼內。The signature server and client device mentioned in the present invention can be a computing device. The computing device mentioned in the present invention includes but is not limited to one or more processing modules, one or more memory modules, and hardware components such as a bus connecting different hardware components (including memory modules and processing modules). Through the multiple hardware components included, the computing device can load and execute the operating system so that the operating system runs on the computing device, and can also execute software or programs. In addition, the computing device also includes a housing, and the above-mentioned hardware components are arranged in the housing.
本發明所提之計算設備的匯流排可以包含一種或多個類型,例如包含資料匯流排(data bus)、位址匯流排(address bus)、控制匯流排(control bus)、擴充功能匯流排(expansion bus)、及/或局域匯流排(local bus)等類型的匯流排。計算設備的匯流排包括但不限於的工業標準架構(Industry Standard Architecture, ISA)匯流排、周邊元件互連(Peripheral Component Interconnect, PCI)匯流排、視頻電子標準協會(Video Electronics Standards Association, VESA)局域匯流排、以及串列的通用序列匯流排(Universal Serial Bus, USB)、快速周邊元件互連(PCI Express, PCI-E/PCIe)匯流排等。The bus of the computing device mentioned in the present invention may include one or more types, such as a data bus, an address bus, a control bus, an expansion bus, and/or a local bus. The buses of computing devices include but are not limited to the Industry Standard Architecture (ISA) bus, the Peripheral Component Interconnect (PCI) bus, the Video Electronics Standards Association (VESA) local bus, the Universal Serial Bus (USB) bus, the PCI Express (PCI-E/PCIe) bus, etc.
本發明所提之計算設備的處理模組與匯流排耦接。處理模組包含暫存器(Register)組或暫存器空間,暫存器組或暫存器空間可以完全的被設置在處理模組之處理晶片上,或全部或部分被設置在處理晶片外並經由專用電氣連接及/或經由匯流排耦接至處理晶片。處理模組可為中央處理器、微處理器或任何合適的處理元件。若計算設備為多處理器設備,也就是計算設備包含多個處理模組,則計算設備所包含的處理模組都相同或類似,且透過匯流排耦接與通訊。處理模組可以解釋一個計算機指令或一連串的多個計算機指令以進行特定的運算或操作,例如,數學運算、邏輯運算、資料比對、複製/移動資料等,藉以驅動計算設備中的其他硬體元件或運行作業系統或執行各種程式及/或模組。The processing module of the computing device of the present invention is coupled to a bus. The processing module includes a register group or a register space, which can be completely set on the processing chip of the processing module, or completely or partially set outside the processing chip and coupled to the processing chip via a dedicated electrical connection and/or via a bus. The processing module can be a central processing unit, a microprocessor, or any suitable processing element. If the computing device is a multi-processor device, that is, the computing device includes multiple processing modules, the processing modules included in the computing device are the same or similar, and are coupled and communicated through a bus. The processing module can interpret a computer instruction or a series of multiple computer instructions to perform specific calculations or operations, such as mathematical operations, logical operations, data comparison, copying/moving data, etc., to drive other hardware components in the computing device or run the operating system or execute various programs and/or modules.
計算設備中通常也包含一個或多個晶片組(Chipset)。計算設備的處理模組可以與晶片組耦接或透過匯流排與晶片組電性連接。晶片組是由一個或多個積體電路(Integrated Circuit, IC)組成,包含記憶體控制器以及周邊輸出入(I/O)控制器等,也就是說,記憶體控制器以及周邊輸出入控制器可以包含在一個積體電路內,也可以使用兩個或更多的積體電路實現。晶片組通常提供了輸出入和記憶體管理功能、以及提供多個通用及/或專用暫存器、計時器等,其中,上述之通用及/或專用暫存器與計時器可以讓耦接或電性連接至晶片組的一個或多個處理模組存取或使用。Computing devices usually also include one or more chipsets. The processing module of the computing device can be coupled to the chipset or electrically connected to the chipset through a bus. The chipset is composed of one or more integrated circuits (ICs), including a memory controller and a peripheral input/output (I/O) controller, etc. That is, the memory controller and the peripheral input/output (I/O) controller can be included in one IC, or can be implemented using two or more ICs. The chipset usually provides input/output and memory management functions, as well as multiple general and/or dedicated registers, timers, etc., wherein the above-mentioned general and/or dedicated registers and timers can be accessed or used by one or more processing modules coupled or electrically connected to the chipset.
計算設備的處理模組也可以透過記憶體控制器存取安裝於計算設備上的記憶體模組和大容量儲存區中的資料。上述之記憶體模組包含任何類型的揮發性記憶體(volatile memory)及/或非揮發性(non-volatile memory, NVRAM)記憶體,例如靜態隨機存取記憶體(Static Random Access Memory, SRAM)、動態隨機存取記憶體(Dynamic Random Access Memory, DRAM)、唯讀記憶體(Read-Only Memory, ROM)、快閃記憶體(Flash memory)等。上述之大容量儲存區可以包含任何類型的儲存裝置或儲存媒體,例如,硬碟機、光碟(optical disc)、隨身碟(flash drive)、記憶卡(memory card)、固態硬碟(Solid State Disk, SSD)、或任何其他儲存裝置等。也就是說,記憶體控制器可以存取靜態隨機存取記憶體、動態隨機存取記憶體、快閃記憶體、硬碟機、固態硬碟中的資料。The processing module of the computing device can also access the data in the memory module and the mass storage area installed on the computing device through the memory controller. The above-mentioned memory module includes any type of volatile memory and/or non-volatile memory (NVRAM) memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), read-only memory (ROM), flash memory, etc. The mass storage area mentioned above may include any type of storage device or storage media, such as a hard drive, optical disc, flash drive, memory card, solid state disk (SSD), or any other storage device. In other words, the memory controller can access data in static random access memory, dynamic random access memory, flash memory, hard drive, and solid state disk.
計算設備的處理模組也可以透過周邊輸出入控制器經由周邊輸出入匯流排與周邊輸出裝置、周邊輸入裝置、通訊介面、及GPS接收器等周邊裝置或介面連接並通訊。周邊輸入裝置可以是任何類型的輸入裝置,例如鍵盤、滑鼠、軌跡球、觸控板、搖桿等,周邊輸出裝置可以是任何類型的輸出裝置,例如顯示器、印表機等,周邊輸入裝置與周邊輸出裝置也可以是同一裝置,例如觸控螢幕等。通訊介面可以包含無線通訊介面及/或有線通訊介面,無線通訊介面可以包含支援無線區域網路(如Wi-Fi、Zigbee等)、藍牙、紅外線、近場通訊(Near-field communication, NFC)、3G/4G/5G等行動通訊網路(蜂巢式網路)或其他無線資料傳輸協定的介面,有線通訊介面可為乙太網路裝置、DSL數據機、纜線(Cable)數據機、非同步傳輸模式(Asynchronous Transfer Mode, ATM)裝置、或光纖通訊介面及/或元件等。處理模組可以週期性地輪詢(polling)各種周邊裝置與介面,使得計算設備能夠透過各種周邊裝置與介面進行資料的輸入與輸出,也能夠與具有上面描述之硬體元件的另一個計算設備進行通訊。The processing module of the computing device can also be connected and communicated with peripheral devices or interfaces such as peripheral output devices, peripheral input devices, communication interfaces, and GPS receivers through the peripheral input/output controller via the peripheral input/output bus. The peripheral input device can be any type of input device, such as a keyboard, a mouse, a trackball, a touchpad, a joystick, etc. The peripheral output device can be any type of output device, such as a display, a printer, etc. The peripheral input device and the peripheral output device can also be the same device, such as a touch screen, etc. The communication interface may include a wireless communication interface and/or a wired communication interface. The wireless communication interface may include an interface supporting a wireless local area network (such as Wi-Fi, Zigbee, etc.), Bluetooth, infrared, near-field communication (NFC), 3G/4G/5G and other mobile communication networks (cellular networks) or other wireless data transmission protocols. The wired communication interface may be an Ethernet device, a DSL modem, a cable modem, an asynchronous transfer mode (ATM) device, or an optical fiber communication interface and/or component. The processing module can periodically poll various peripheral devices and interfaces, so that the computing device can input and output data through various peripheral devices and interfaces, and can also communicate with another computing device having the hardware components described above.
以下先以「第1圖」本發明所提之由待簽本文產生演算資料以供伺服器簽章之系統架構圖來說明本發明的系統運作。如「第1圖」所示,本發明之系統含有客戶裝置110與簽章伺服器120。在部分的實施例中,客戶裝置110可以包含客戶演算端111、簽章客戶端113、及可附加的資料燒錄端115;簽章伺服器120也可以包含簽章伺服端123、及可附加的簽章管理端121。The following first uses "Figure 1" as a system architecture diagram of the present invention for generating calculation data from the document to be signed for server signature to illustrate the system operation of the present invention. As shown in "Figure 1", the system of the present invention includes a
客戶裝置110負責產生待簽本文400,並負責將待簽本文400的演算資料傳送給簽章伺服器120簽章。其中,待簽本文400可以是客戶裝置110提供輸入產生的資料或檔案,如文字訊息、圖像檔案等,待簽本文400也可以是客戶裝置110進行特定處理產生,例如可以是編譯程式碼所產生的可執行檔或韌體映像檔(image)等二進位檔案,但本發明並不以此為限。以下將進一步說明客戶裝置110中的各個模組與元件。The
客戶演算端111可以對客戶裝置110所產生的待簽本文400進行特定計算以產生待簽本文400的演算資料。上述之特定計算例如SHA、MD5等雜湊運算,但本發明並不以此為限,客戶演算端111也可以使用自定義的演算規則對待簽本文400進行計算以產生演算資料,例如,由待簽本文400中取出多個特定位元以組成演算資料等。The
簽章客戶端113負責透過有線或無線網路與簽章伺服器120的簽章伺服端123連接,藉以與簽章伺服端123相互傳遞資料或訊號。The
簽章客戶端113也負責取得客戶憑證。更詳細的,簽章客戶端113可以依據客戶裝置110之使用者所指定的檔案存放路徑讀取客戶憑證,或可以產生包含私鑰與公鑰的金鑰對並使用所產生之公鑰申請與所產生之私鑰對應的客戶憑證。The
簽章客戶端113也負責取得待簽本文400的演算資料。一般而言,簽章客戶端113可以取得客戶演算端111所產生的演算資料,在部分的實施例中,簽章客戶端113也可以讀取預先被產生並儲存於指定位置的演算資料。The
簽章客戶端113也負責將所取得的客戶憑證傳送給簽章伺服端123。更詳細的,簽章客戶端113可以在將待簽本文400的演算資料傳送給簽章伺服端123前,透過認證請求將客戶憑證傳送給簽章伺服端123,藉以讓簽章伺服端123依據客戶憑證辨識簽章客戶端113的身分。在部分的實施例中,簽章客戶端113也可以接收簽章伺服端123所傳送的伺服憑證,並依據伺服憑證確認簽章伺服端123的身分。The
簽章客戶端113也負責將所取得之待簽本文400的演算資料傳送給簽章伺服端123,一般而言,簽章客戶端113可以在簽章伺服端123透過簽章客戶端113的客戶憑證辨識出簽章客戶端113的身分且與簽章客戶端113建立安全通道時才使用安全通道傳送演算資料給簽章伺服端123。簽章客戶端113也負責透過與簽章伺服端123之間的安全通道接收簽章伺服端123所產生的簽章資料。另外,簽章客戶端113也可以將所接收到的簽章資料提供給資料燒錄端115。The
資料燒錄端115可以取得客戶裝置110所產生的待簽本文400、簽章客戶端113所接收到的簽章資料、與簽章伺服器120的伺服憑證,並可以將所取得的待簽本文400、簽章資料、及伺服憑證燒錄至硬體裝置140中。若待簽本文400為韌體映像檔,則硬體裝置140可以在安全啟動時使用伺服憑證與簽章資料驗證待簽本文400,並可以在待簽本文400通過驗證後載入並執行待簽本文400以啟動硬體裝置140。The data burning terminal 115 can obtain the document to be signed 400 generated by the
簽章伺服器120負責為設置於客戶裝置110中之簽章客戶端113所取得的演算資料簽章以提供簽章資料給客戶裝置110。The
簽章管理端121可以管理簽章伺服端123能夠使用的金鑰,並可以依據簽章伺服端123的使用需求將對應的金鑰提供給簽章伺服端123。一般而言,當簽章伺服端123可以使用多把金鑰時,簽章管理端121才會被設置在簽章伺服器120中,但本發明並不以此為限。在部分的實施例中,簽章管理端121還可以包含硬體安全模組(Hardware Security Module, HSM),並可以使用所包含之硬體安全模組保管金鑰,但本發明亦不以此為限。The
簽章伺服端123負責儲存簽章客戶端113所取得的客戶憑證以註冊簽章客戶端113。要說明的是,簽章伺服端123所儲存的客戶憑證通常不會接收自簽章客戶端113,舉例來說,簽章伺服端123可以提供憑證匯入的使用者介面或應用程式介面,使得簽章伺服器120的管理人員可以透過使用者介面或應用程式介面將客戶憑證匯入簽章伺服端123,簽章伺服端123可以儲存被匯入的客戶憑證以註冊取得被匯入之客戶憑證的簽章客戶端113,例如,將取得被匯入之客戶憑證的簽章客戶端113加入白名單中等。The
簽章伺服端123負責接收簽章客戶端113所傳送的客戶憑證,並負責使用所接收到之客戶憑證確認簽章客戶端113的身分,例如,簽章伺服端123可以接收簽章客戶端113所傳送的認證資料,並可以使用簽章客戶端113預先註冊之客戶憑證(所包含的公鑰)驗證認證資料以確認簽章客戶端113的身分。在部分的實施例中,簽章伺服端123也傳送伺服憑證給簽章客戶端113,使得簽章客戶端113可以以類似上述的方式驗證簽章伺服端123的身分。The
簽章伺服端123也負責在傳送客戶憑證的簽章客戶端113之身分經過確認後與同一簽章客戶端113建立安全通道,藉以讓該簽章客戶端113做為簽章伺服端123在客戶裝置110上的延伸。The
簽章伺服器123也負責透過所建立之與簽章客戶端113間的安全通道接收簽章客戶端113所傳送的演算資料,並依據所接收到的演算資料產生簽章資料,及使用所建立之與簽章客戶端113間的安全通道將所產生的簽章資料傳回簽章客戶端113。簽章伺服端123可以直接對演算資料簽章以產生簽章資料,也可以先計算演算資料的摘要資料(Digest)再對所產生的摘要資料簽章以產生簽章資料。其中,摘要資料通常為演算資料的數位指紋,例如演算資料的雜湊值,但本發明並不以此為限。The
接著以一個實施例來解說本發明的運作系統與方法,並請參照「第2A圖」本發明所提之由待簽本文產生演算資料以供伺服器簽章之方法流程圖。在本實施例中,假設客戶裝置110為程式開發機,但本發明並不以此為限。Next, an embodiment is used to explain the operating system and method of the present invention, and please refer to "Figure 2A" for a flow chart of the method of generating calculation data from the document to be signed for the server to sign. In this embodiment, it is assumed that the
在客戶裝置110的使用者希望使用本發明對客戶裝置110編譯產品程式碼所產生的二進位檔案簽章時,使用者可以操作客戶裝置110安裝簽章客戶端113。When the user of the
在客戶裝置110安裝並執行簽章客戶端113後,簽章客戶端113可以取得客戶憑證(步驟210)。在本實施例中,假設簽章客戶端113可以如「第2B圖」之流程所示,先產生包含相對應之私鑰與公鑰的金鑰對(步驟211),並使用所產生的公鑰透過憑證註冊中心(Registration authority, RA)或直接向憑證發布中心(Certificate authority, CA)申請與所產生之私鑰對應的客戶憑證(步驟215)。另外,若客戶裝置110已預先申請客戶憑證,簽章客戶端113也可以依據客戶裝置110之使用者所設定的存放路徑讀取客戶憑證。After the
在客戶裝置110的簽章客戶端113取得客戶憑證(步驟210)後,簽章伺服器120的簽章伺服端123可以儲存簽章客戶端113所取得的客戶憑證以註冊簽章客戶端113(步驟220)。在本實施例中,假設簽章伺服端123可以提供使用者介面給簽章伺服器120的管理人員,簽章伺服器120的管理人員在取得客戶裝置110的使用者所提供之簽章客戶端113的客戶識別資料與客戶憑證後,可以透過簽章伺服端123所提供的使用者介面將簽章客戶端113的客戶識別資料與客戶憑證匯入簽章伺服端123,簽章伺服端123可以將被匯入之客戶識別資料與客戶憑證作為一筆資料儲存,藉以讓簽章客戶端113在簽章伺服端123註冊。After the
在簽章伺服器120的簽章客戶端123完成客戶裝置110之簽章客戶端113註冊後,當待簽本文400被客戶裝置110產生,簽章客戶端113可以取得客戶裝置110所產生之待簽本文400的演算資料(步驟240)。在本實施例中,假設待簽本文400為客戶裝置110之使用者完成程式開發並編譯開發完成之程式所產生的韌體映像檔,簽章客戶端123可以在客戶演算端111對韌體映像檔(待簽本文400)進行雜湊計算等特定演算而產生演算資料(步驟230)後,取得客戶演算端111所產生的演算資料。After the
在客戶裝置110之簽章客戶端113取得客戶裝置110所產生之待簽本文400的演算資料(步驟240)後,可以與簽章伺服器120的簽章伺服端123建立安全通道以傳送待簽本文400給簽章伺服端123,更詳細的,簽章客戶端113可以先傳送客戶憑證至簽章伺服端123(步驟251),簽章伺服器120的簽章伺服端123在接收到客戶裝置110之簽章客戶端113所傳送的客戶憑證後,可以使用所接收到的客戶憑證判斷簽章客戶端113的身分,即判斷傳送客戶憑證的簽章客戶端113是否已註冊,簽章伺服端123並可以在判斷傳送客戶憑證的簽章客戶端113已成功註冊後,與傳送客戶憑證的簽章客戶端113建立安全通道(步驟255)。在本實施例中,假設簽章客戶端113與簽章伺服端123之間可以使用傳輸層安全性協定(Transport Layer Security, TLS)建立安全通道,例如,簽章伺服端123可以將自身的伺服憑證傳送給簽章客戶端113,使得簽章客戶端113依據所接收到的伺服憑證驗證簽章伺服端123的身分,且簽章伺服端123可以依據所接收到的客戶憑證驗證簽章客戶端113的身分,當簽章伺服端123成功驗證簽章客戶端113的身分且簽章客戶端113成功驗證簽章伺服端123的身分時,簽章伺服端123與簽章客戶端113可以建立TLS安全通道。After the
實務上,客戶裝置110的簽章客戶端113也可以在取得客戶裝置110所產生之二進位檔案或取得演算資料等待簽本文400(步驟240)前,便傳送客戶憑證至簽章伺服器120的簽章伺服端123並與簽章伺服端123建立安全通道(步驟251、255)。In practice, the
客戶裝置110的簽章客戶端113可以在與簽章伺服器120的簽章伺服端123建立安全通道後,使用所建立之簽章客戶端113與簽章伺服端123間的安全通道將所取得之待簽本文400的演算資料傳送給簽章伺服端123(步驟260)。After establishing a secure channel with the
簽章伺服器120的簽章伺服端123可以在接收到客戶裝置110之簽章客戶端113所傳送的演算資料後,依據所接收到的演算資料產生簽章資料,並可以透過所建立之簽章客戶端113與簽章伺服端123間的安全通道將所產生的簽章資料傳回簽章客戶端113(步驟270)。在本實施例中,假設簽章伺服端123可以將演算資料作為待簽資料,依照習知的簽章過程,對演算資料進行雜湊運算以產生摘要資料並使用簽章伺服端123的私鑰對所產生的摘要資料進行簽章以產生簽章資料,之後,簽章伺服器123可以透過與簽章客戶端113之間的安全通道將簽章資料傳送給簽章客戶端113。After receiving the calculation data sent by the
如此,透過本發明,待簽本文400可以在不離開客戶裝置110的情況下,使用由待簽本文400產生之演算資料給第三方之公證單位所提供的簽章伺服器120簽章,藉以滿足待簽本文400之隱私性、安全性,同時也可以減少傳送待簽本文400與產生簽章資料的時間。Thus, through the present invention, the document to be signed 400 can be signed by the
上述實施例中,若客戶裝置110還包含資料燒錄端115,則可以如「第2C圖」之流程所示,在客戶裝置110的簽章客戶端113接收到簽章伺服器120所傳回的簽章資料(步驟270)後,資料燒錄端115可以取得客戶裝置110所產生的韌體映像檔(待簽本文400)、簽章客戶端113所接收到的簽章資料、與簽章伺服器120的伺服憑證(步驟280),並可以將所取得之簽章資料與伺服憑證連同待簽本文400一同燒錄到硬體裝置140中,使硬體裝置140在進行安全啟動時,可以先使用簽章資料與伺服憑證驗證韌體映像檔(待簽本文400),並可以在待簽本文400通過驗證後載入韌體映像檔以啟動硬體裝置140(步驟290)。In the above embodiment, if the
綜上所述,可知本發明與先前技術之間的差異在於具有由設置於客戶裝置上的簽章客戶端使用安全通道將待簽本文的演算資料傳送給簽章伺服器簽章之技術手段,藉由此一技術手段可以來解決先前技術所存在將資料傳送到伺服器簽章可能需要較長等待時間且可能有隱私與安全性的問題,進而達成減少對資料量大之待簽本文的簽章時間及提高待簽本文之隱私與安全性技術功效。In summary, the difference between the present invention and the prior art lies in the technical means by which the signature client installed on the client device transmits the calculation data of the document to be signed to the signature server for signature using a secure channel. This technical means can solve the problem of the prior art that it may take a long time to send data to the server for signature and may have privacy and security issues, thereby achieving the technical effect of reducing the signing time of documents to be signed with large amounts of data and improving the privacy and security of the documents to be signed.
再者,本發明之由待簽本文產生演算資料以供伺服器簽章之方法,可實現於硬體、軟體或硬體與軟體之組合中,亦可在電腦系統中以集中方式實現或以不同元件散佈於若干互連之電腦系統的分散方式實現。Furthermore, the method of the present invention for generating calculation data from the document to be signed for server signature can be implemented in hardware, software or a combination of hardware and software, and can also be implemented in a centralized manner in a computer system or in a distributed manner with different components distributed in several interconnected computer systems.
雖然本發明所揭露之實施方式如上,惟所述之內容並非用以直接限定本發明之專利保護範圍。任何本發明所屬技術領域中具有通常知識者,在不脫離本發明所揭露之精神和範圍的前提下,對本發明之實施的形式上及細節上作些許之更動潤飾,均屬於本發明之專利保護範圍。本發明之專利保護範圍,仍須以所附之申請專利範圍所界定者為準。Although the implementation methods disclosed in the present invention are as above, the contents described are not intended to directly limit the scope of patent protection of the present invention. Any person with common knowledge in the technical field to which the present invention belongs, without departing from the spirit and scope disclosed by the present invention, makes slight changes and modifications to the implementation of the present invention in form and details, which are all within the scope of patent protection of the present invention. The scope of patent protection of the present invention shall still be based on the scope defined in the attached patent application.
110:客戶裝置 111:客戶演算端 113:簽章客戶端 115:資料燒錄端 120:簽章伺服器 121:簽章管理端 123:簽章伺服端 140:硬體裝置 400:待簽本文 步驟210:簽章客戶端取得客戶憑證 步驟211:簽章客戶端產生包含私鑰之金鑰對 步驟215:簽章客戶端申請與私鑰對應之客戶憑證 步驟220:簽章伺服端取得客戶憑證以註冊簽章客戶端 步驟230:待簽本文經過特定計算產生演算資料 步驟240:簽章客戶端取得待簽本文之演算資料 步驟251:簽章客戶端傳送客戶憑證至簽章伺服端,以提供簽章伺服端使用客戶憑證確認簽章客戶端之身分 步驟255:簽章伺服端於使用客戶憑證確認簽章客戶端之身分後建立簽章客戶端與簽章伺服端間之安全通道 步驟260:簽章客戶端使用安全通道傳送演算資料至簽章伺服端 步驟270:簽章伺服端依據演算資料產生簽章資料,並使用安全通道傳送簽章資料至簽章客戶端 步驟280:資料燒錄端取得待簽本文、簽章資料及簽章伺服器之伺服憑證 步驟290:資料燒錄端將待簽本文、簽章資料及伺服憑證燒錄至硬體裝置中,使硬體裝置於安全啟動時使用伺服憑證與簽章資料驗證待簽本文,並於待簽本文通過驗證後載入並執行待簽本文 110: Client device 111: Client calculation terminal 113: Signature client 115: Data burning terminal 120: Signature server 121: Signature management terminal 123: Signature server 140: Hardware device 400: Document to be signed Step 210: The signature client obtains the client certificate Step 211: The signature client generates a key pair including a private key Step 215: The signature client applies for a client certificate corresponding to the private key Step 220: The signature server obtains the client certificate to register the signature client Step 230: The document to be signed generates calculation data after specific calculations Step 240: The signature client obtains the calculation data of the document to be signed Step 251: The signature client transmits the client certificate to the signature server to provide the signature server with the client certificate to confirm the identity of the signature client Step 255: The signature server uses the client certificate to confirm the identity of the signature client and establishes a secure channel between the signature client and the signature server Step 260: The signature client transmits the calculation data to the signature server using the secure channel Step 270: The signature server generates signature data based on the calculation data and transmits the signature data to the signature client using the secure channel Step 280: The data burning terminal obtains the document to be signed, the signature data and the server certificate of the signature server Step 290: The data burning end burns the document to be signed, the signature data and the server certificate to the hardware device, so that the hardware device uses the server certificate and signature data to verify the document to be signed during security startup, and loads and executes the document to be signed after the document to be signed passes the verification.
第1圖為本發明所提之由待簽本文產生演算資料以供伺服器簽章之系統架構圖。 第2A圖為本發明所提之由待簽本文產生演算資料以供伺服器簽章之方法流程圖。 第2B圖為本發明所提之簽章客戶端申請客戶憑證之方法流程圖。 第2C圖為本發明所提之燒錄可驗證啟動映像檔置硬體裝置之方法流程圖。 Figure 1 is a system architecture diagram of the invention for generating calculation data from the document to be signed for server signature. Figure 2A is a flow chart of the method for generating calculation data from the document to be signed for server signature. Figure 2B is a flow chart of the method for the signature client to apply for a client certificate. Figure 2C is a flow chart of the method for burning a verifiable boot image file to a hardware device.
步驟210:簽章客戶端取得客戶憑證 Step 210: The signing client obtains the client certificate
步驟220:簽章伺服端取得客戶憑證以註冊簽章客戶端 Step 220: The signature server obtains the client certificate to register the signature client
步驟230:待簽本文經過特定計算產生演算資料 Step 230: The document to be signed undergoes specific calculations to generate calculation data
步驟240:簽章客戶端取得待簽本文之演算資料 Step 240: The signature client obtains the calculation data of the document to be signed
步驟251:簽章客戶端傳送客戶憑證至簽章伺服端,以提供簽章伺服端使用客戶憑證確認簽章客戶端之身分 Step 251: The signing client sends the client certificate to the signing server, so that the signing server can use the client certificate to confirm the identity of the signing client.
步驟255:簽章伺服端於使用客戶憑證確認簽章客戶端之身分後,建立簽章客戶端與簽章伺服端間之安全通道 Step 255: After the signature server uses the client certificate to confirm the identity of the signature client, it establishes a secure channel between the signature client and the signature server.
步驟260:簽章客戶端使用安全通道傳送演算資料至簽章伺服端 Step 260: The signature client uses a secure channel to transmit the calculation data to the signature server
步驟270:簽章伺服端依據演算資料產生簽章資料,並使用安全通道傳送簽章資料至簽章客戶端 Step 270: The signature server generates signature data based on the calculation data and transmits the signature data to the signature client using a secure channel
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111147852A TWI845063B (en) | 2022-12-13 | 2022-12-13 | System and method for providing server to sign calculation data generated from article to be sign |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111147852A TWI845063B (en) | 2022-12-13 | 2022-12-13 | System and method for providing server to sign calculation data generated from article to be sign |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI845063B true TWI845063B (en) | 2024-06-11 |
| TW202424797A TW202424797A (en) | 2024-06-16 |
Family
ID=92539821
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111147852A TWI845063B (en) | 2022-12-13 | 2022-12-13 | System and method for providing server to sign calculation data generated from article to be sign |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI845063B (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200830830A (en) * | 2006-09-14 | 2008-07-16 | Seagate Technology Llc | Hard disc streaming cryptographic operations with embedded authentication |
| TWI515601B (en) * | 2012-11-21 | 2016-01-01 | 蘋果公司 | Electronic device, method for establishing and enforcing a security policy associated with anaccess control element, and secure element |
| TWI543574B (en) * | 2008-12-19 | 2016-07-21 | F2威爾股份有限公司 | Method for authenticatiing online transactions using a browser |
| TW202207664A (en) * | 2020-08-03 | 2022-02-16 | 新唐科技股份有限公司 | Secure computing device, secure computing method, verifier and device attestation method |
| TWM640937U (en) * | 2022-12-13 | 2023-05-11 | 臺灣網路認證股份有限公司 | A system that generates calculation data from the text to be signed for the server to sign |
-
2022
- 2022-12-13 TW TW111147852A patent/TWI845063B/en active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200830830A (en) * | 2006-09-14 | 2008-07-16 | Seagate Technology Llc | Hard disc streaming cryptographic operations with embedded authentication |
| TWI543574B (en) * | 2008-12-19 | 2016-07-21 | F2威爾股份有限公司 | Method for authenticatiing online transactions using a browser |
| TWI515601B (en) * | 2012-11-21 | 2016-01-01 | 蘋果公司 | Electronic device, method for establishing and enforcing a security policy associated with anaccess control element, and secure element |
| TW202207664A (en) * | 2020-08-03 | 2022-02-16 | 新唐科技股份有限公司 | Secure computing device, secure computing method, verifier and device attestation method |
| TWM640937U (en) * | 2022-12-13 | 2023-05-11 | 臺灣網路認證股份有限公司 | A system that generates calculation data from the text to be signed for the server to sign |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202424797A (en) | 2024-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111164596B (en) | System and method for validating virtual trusted platform modules | |
| CN108476404B (en) | Device and method for pairing | |
| CN115001714B (en) | Resource access method and device, electronic equipment and storage medium | |
| CN116264861B (en) | Distributed secure communication system | |
| CN114969713A (en) | Equipment verification method, equipment and system | |
| TWM640937U (en) | A system that generates calculation data from the text to be signed for the server to sign | |
| TWI845063B (en) | System and method for providing server to sign calculation data generated from article to be sign | |
| TWI730549B (en) | System for checking key pair generating algorithm during certificate applying process and method thereof | |
| TWM594186U (en) | Device and system combining online rapid authentication and public key infrastructure to identify identity | |
| CN112417400A (en) | Security optimization method, device, electronic device and medium based on multi-cluster system | |
| TWM641468U (en) | Electronic certificate and digital certificate verification system through third-party platform | |
| US12095931B2 (en) | Chained cryptographically signed certificates to convey and delegate trust and authority in a multiple node environment | |
| TWM592629U (en) | System to obtain appended data and execute corresponding operation when identity is confirmed | |
| KR20230160744A (en) | Authentication mechanism for computational storage download program | |
| WO2022170973A1 (en) | Key installation method, system, apparatus, device, and storage medium | |
| TW202305627A (en) | System for confirming identity on different devices by verifying valid certification and method thereof | |
| TWM583978U (en) | System of using physical carrier to store digital certificate for performing online transaction | |
| TWI831029B (en) | System for confirming identity on different devices by verifying certification and verification code and method thereof | |
| US12287908B2 (en) | Systems and methods to manage security protocol and data model (SPDM) secure communication sessions | |
| US12490101B2 (en) | Extended root of trust validation for remote edge devices | |
| US12153681B2 (en) | Systems and methods for identifying firmware versions using SPDM alias certificates | |
| US20250245313A1 (en) | Managing device onboarding after component replacement | |
| TWI767113B (en) | System for using certificate stored in carrier to conduct online transactions and method thereof | |
| US12470401B2 (en) | Onboarding data processing systems using trusted tokens | |
| US12452053B2 (en) | Systems and methods for restoring secure connections between data processing systems and control planes |