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 PDF

Info

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
Application number
TW111147852A
Other languages
Chinese (zh)
Other versions
TW202424797A (en
Inventor
蔡家宏
連子清
成適郝
Original Assignee
臺灣網路認證股份有限公司
邊信聯科技股份有限公司
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 臺灣網路認證股份有限公司, 邊信聯科技股份有限公司 filed Critical 臺灣網路認證股份有限公司
Priority to TW111147852A priority Critical patent/TWI845063B/en
Application granted granted Critical
Publication of TWI845063B publication Critical patent/TWI845063B/en
Publication of TW202424797A publication Critical patent/TW202424797A/en

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system for providing a server to sign calculation data generated from an article to be sign and a method thereof are provided. By transmitting calculation data generated from an article from a signing client of a client device to a signing server through a security tunnel, and signing the calculation data by the signing server, the system and the method can achieve the effect of reducing time of signing and improving privacy and security of article to be sign.

Description

由待簽本文產生演算資料以供伺服器簽章之系統及方法System and method for generating calculation data from a document to be signed for server signature

一種簽章系統及其方法,特別係指一種由待簽本文產生演算資料以供伺服器簽章之系統及方法。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 client device 110 and a signature server 120. In some embodiments, the client device 110 may include a client calculation terminal 111, a signature client 113, and an attachable data burning terminal 115; the signature server 120 may also include a signature server 123, and an attachable signature management terminal 121.

客戶裝置110負責產生待簽本文400,並負責將待簽本文400的演算資料傳送給簽章伺服器120簽章。其中,待簽本文400可以是客戶裝置110提供輸入產生的資料或檔案,如文字訊息、圖像檔案等,待簽本文400也可以是客戶裝置110進行特定處理產生,例如可以是編譯程式碼所產生的可執行檔或韌體映像檔(image)等二進位檔案,但本發明並不以此為限。以下將進一步說明客戶裝置110中的各個模組與元件。The client device 110 is responsible for generating the document 400 to be signed, and for transmitting the calculation data of the document 400 to be signed to the signature server 120 for signature. The document 400 to be signed can be data or files generated by the client device 110 providing input, such as text messages, image files, etc. The document 400 to be signed can also be generated by the client device 110 performing specific processing, such as executable files or binary files such as firmware images generated by compiled code, but the present invention is not limited to this. The following will further explain the various modules and components in the client device 110.

客戶演算端111可以對客戶裝置110所產生的待簽本文400進行特定計算以產生待簽本文400的演算資料。上述之特定計算例如SHA、MD5等雜湊運算,但本發明並不以此為限,客戶演算端111也可以使用自定義的演算規則對待簽本文400進行計算以產生演算資料,例如,由待簽本文400中取出多個特定位元以組成演算資料等。The client computing end 111 can perform specific calculations on the document to be signed 400 generated by the client device 110 to generate calculation data of the document to be signed 400. The above-mentioned specific calculations are, for example, hash operations such as SHA and MD5, but the present invention is not limited thereto. The client computing end 111 can also use a custom calculation rule to calculate the document to be signed 400 to generate calculation data, for example, taking out a plurality of specific bits from the document to be signed 400 to form calculation data, etc.

簽章客戶端113負責透過有線或無線網路與簽章伺服器120的簽章伺服端123連接,藉以與簽章伺服端123相互傳遞資料或訊號。The signature client 113 is responsible for connecting to the signature server 123 of the signature server 120 through a wired or wireless network to transmit data or signals to and from the signature server 123 .

簽章客戶端113也負責取得客戶憑證。更詳細的,簽章客戶端113可以依據客戶裝置110之使用者所指定的檔案存放路徑讀取客戶憑證,或可以產生包含私鑰與公鑰的金鑰對並使用所產生之公鑰申請與所產生之私鑰對應的客戶憑證。The signing client 113 is also responsible for obtaining the client certificate. In more detail, the signing client 113 can read the client certificate according to the file storage path specified by the user of the client device 110, or can generate a key pair including a private key and a public key and use the generated public key to apply for a client certificate corresponding to the generated private key.

簽章客戶端113也負責取得待簽本文400的演算資料。一般而言,簽章客戶端113可以取得客戶演算端111所產生的演算資料,在部分的實施例中,簽章客戶端113也可以讀取預先被產生並儲存於指定位置的演算資料。The signing client 113 is also responsible for obtaining the calculation data of the document to be signed 400. Generally speaking, the signing client 113 can obtain the calculation data generated by the client calculation terminal 111. In some embodiments, the signing client 113 can also read the calculation data that is pre-generated and stored in a specified location.

簽章客戶端113也負責將所取得的客戶憑證傳送給簽章伺服端123。更詳細的,簽章客戶端113可以在將待簽本文400的演算資料傳送給簽章伺服端123前,透過認證請求將客戶憑證傳送給簽章伺服端123,藉以讓簽章伺服端123依據客戶憑證辨識簽章客戶端113的身分。在部分的實施例中,簽章客戶端113也可以接收簽章伺服端123所傳送的伺服憑證,並依據伺服憑證確認簽章伺服端123的身分。The signature client 113 is also responsible for transmitting the obtained client certificate to the signature server 123. In more detail, the signature client 113 can transmit the client certificate to the signature server 123 through an authentication request before transmitting the calculation data of the document 400 to be signed to the signature server 123, so that the signature server 123 can identify the identity of the signature client 113 based on the client certificate. In some embodiments, the signature client 113 can also receive the server certificate transmitted by the signature server 123 and confirm the identity of the signature server 123 based on the server certificate.

簽章客戶端113也負責將所取得之待簽本文400的演算資料傳送給簽章伺服端123,一般而言,簽章客戶端113可以在簽章伺服端123透過簽章客戶端113的客戶憑證辨識出簽章客戶端113的身分且與簽章客戶端113建立安全通道時才使用安全通道傳送演算資料給簽章伺服端123。簽章客戶端113也負責透過與簽章伺服端123之間的安全通道接收簽章伺服端123所產生的簽章資料。另外,簽章客戶端113也可以將所接收到的簽章資料提供給資料燒錄端115。The signature client 113 is also responsible for transmitting the calculation data of the document 400 to be signed to the signature server 123. Generally speaking, the signature client 113 can use the secure channel to transmit the calculation data to the signature server 123 only when the signature server 123 identifies the identity of the signature client 113 through the client certificate of the signature client 113 and establishes a secure channel with the signature client 113. The signature client 113 is also responsible for receiving the signature data generated by the signature server 123 through the secure channel between the signature server 123 and the signature server 123. In addition, the signature client 113 can also provide the received signature data to the data burning terminal 115.

資料燒錄端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 client device 110, the signature data received by the signature client 113, and the server certificate of the signature server 120, and can burn the obtained document to be signed 400, signature data, and server certificate to the hardware device 140. If the document to be signed 400 is a firmware image file, the hardware device 140 can use the server certificate and signature data to verify the document to be signed 400 during secure startup, and can load and execute the document to be signed 400 to start the hardware device 140 after the document to be signed 400 passes the verification.

簽章伺服器120負責為設置於客戶裝置110中之簽章客戶端113所取得的演算資料簽章以提供簽章資料給客戶裝置110。The signature server 120 is responsible for signing the calculation data obtained by the signature client 113 installed in the client device 110 to provide the signature data to the client device 110 .

簽章管理端121可以管理簽章伺服端123能夠使用的金鑰,並可以依據簽章伺服端123的使用需求將對應的金鑰提供給簽章伺服端123。一般而言,當簽章伺服端123可以使用多把金鑰時,簽章管理端121才會被設置在簽章伺服器120中,但本發明並不以此為限。在部分的實施例中,簽章管理端121還可以包含硬體安全模組(Hardware Security Module, HSM),並可以使用所包含之硬體安全模組保管金鑰,但本發明亦不以此為限。The signature management terminal 121 can manage the keys that can be used by the signature server 123, and can provide the corresponding keys to the signature server 123 according to the usage requirements of the signature server 123. Generally speaking, when the signature server 123 can use multiple keys, the signature management terminal 121 will be set in the signature server 120, but the present invention is not limited to this. In some embodiments, the signature management terminal 121 can also include a hardware security module (HSM), and the included hardware security module can be used to store keys, but the present invention is not limited to this.

簽章伺服端123負責儲存簽章客戶端113所取得的客戶憑證以註冊簽章客戶端113。要說明的是,簽章伺服端123所儲存的客戶憑證通常不會接收自簽章客戶端113,舉例來說,簽章伺服端123可以提供憑證匯入的使用者介面或應用程式介面,使得簽章伺服器120的管理人員可以透過使用者介面或應用程式介面將客戶憑證匯入簽章伺服端123,簽章伺服端123可以儲存被匯入的客戶憑證以註冊取得被匯入之客戶憑證的簽章客戶端113,例如,將取得被匯入之客戶憑證的簽章客戶端113加入白名單中等。The signature server 123 is responsible for storing the client certificate obtained by the signature client 113 to register the signature client 113. It should be noted that the client certificates stored in the signature server 123 are usually not received from the signature client 113. For example, the signature server 123 may provide a user interface or application program interface for importing certificates, so that the administrator of the signature server 120 may import the client certificates into the signature server 123 through the user interface or application program interface. The signature server 123 may store the imported client certificates to register the signature client 113 that obtains the imported client certificates, for example, adding the signature client 113 that obtains the imported client certificates to the whitelist, etc.

簽章伺服端123負責接收簽章客戶端113所傳送的客戶憑證,並負責使用所接收到之客戶憑證確認簽章客戶端113的身分,例如,簽章伺服端123可以接收簽章客戶端113所傳送的認證資料,並可以使用簽章客戶端113預先註冊之客戶憑證(所包含的公鑰)驗證認證資料以確認簽章客戶端113的身分。在部分的實施例中,簽章伺服端123也傳送伺服憑證給簽章客戶端113,使得簽章客戶端113可以以類似上述的方式驗證簽章伺服端123的身分。The signature server 123 is responsible for receiving the client certificate sent by the signature client 113, and is responsible for using the received client certificate to confirm the identity of the signature client 113. For example, the signature server 123 can receive the authentication data sent by the signature client 113, and can use the client certificate (including the public key) pre-registered by the signature client 113 to verify the authentication data to confirm the identity of the signature client 113. In some embodiments, the signature server 123 also transmits the server certificate to the signature client 113, so that the signature client 113 can verify the identity of the signature server 123 in a manner similar to the above.

簽章伺服端123也負責在傳送客戶憑證的簽章客戶端113之身分經過確認後與同一簽章客戶端113建立安全通道,藉以讓該簽章客戶端113做為簽章伺服端123在客戶裝置110上的延伸。The signature server 123 is also responsible for establishing a secure channel with the signature client 113 after the identity of the signature client 113 that sent the client certificate is confirmed, so that the signature client 113 can serve as an extension of the signature server 123 on the client device 110.

簽章伺服器123也負責透過所建立之與簽章客戶端113間的安全通道接收簽章客戶端113所傳送的演算資料,並依據所接收到的演算資料產生簽章資料,及使用所建立之與簽章客戶端113間的安全通道將所產生的簽章資料傳回簽章客戶端113。簽章伺服端123可以直接對演算資料簽章以產生簽章資料,也可以先計算演算資料的摘要資料(Digest)再對所產生的摘要資料簽章以產生簽章資料。其中,摘要資料通常為演算資料的數位指紋,例如演算資料的雜湊值,但本發明並不以此為限。The signature server 123 is also responsible for receiving the calculation data sent by the signature client 113 through the secure channel established with the signature client 113, generating signature data based on the received calculation data, and returning the generated signature data to the signature client 113 using the secure channel established with the signature client 113. The signature server 123 can directly sign the calculation data to generate the signature data, or first calculate the digest data of the calculation data and then sign the generated digest data to generate the signature data. The digest data is usually a digital fingerprint of the calculation data, such as a hash value of the calculation data, but the present invention is not limited thereto.

接著以一個實施例來解說本發明的運作系統與方法,並請參照「第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 client device 110 is a program development machine, but the present invention is not limited to this.

在客戶裝置110的使用者希望使用本發明對客戶裝置110編譯產品程式碼所產生的二進位檔案簽章時,使用者可以操作客戶裝置110安裝簽章客戶端113。When the user of the client device 110 wishes to use the present invention to sign the binary file generated by compiling the product code of the client device 110 , the user can operate the client device 110 to install the signing client 113 .

在客戶裝置110安裝並執行簽章客戶端113後,簽章客戶端113可以取得客戶憑證(步驟210)。在本實施例中,假設簽章客戶端113可以如「第2B圖」之流程所示,先產生包含相對應之私鑰與公鑰的金鑰對(步驟211),並使用所產生的公鑰透過憑證註冊中心(Registration authority, RA)或直接向憑證發布中心(Certificate authority, CA)申請與所產生之私鑰對應的客戶憑證(步驟215)。另外,若客戶裝置110已預先申請客戶憑證,簽章客戶端113也可以依據客戶裝置110之使用者所設定的存放路徑讀取客戶憑證。After the signing client 113 is installed and executed on the client device 110, the signing client 113 can obtain the client certificate (step 210). In this embodiment, it is assumed that the signing client 113 can generate a key pair including a corresponding private key and a public key as shown in the process of "Figure 2B" (step 211), and use the generated public key to apply for a client certificate corresponding to the generated private key through a certificate registration authority (RA) or directly from a certificate issuing center (CA) (step 215). In addition, if the client device 110 has applied for a client certificate in advance, the signing client 113 can also read the client certificate according to the storage path set by the user of the client device 110.

在客戶裝置110的簽章客戶端113取得客戶憑證(步驟210)後,簽章伺服器120的簽章伺服端123可以儲存簽章客戶端113所取得的客戶憑證以註冊簽章客戶端113(步驟220)。在本實施例中,假設簽章伺服端123可以提供使用者介面給簽章伺服器120的管理人員,簽章伺服器120的管理人員在取得客戶裝置110的使用者所提供之簽章客戶端113的客戶識別資料與客戶憑證後,可以透過簽章伺服端123所提供的使用者介面將簽章客戶端113的客戶識別資料與客戶憑證匯入簽章伺服端123,簽章伺服端123可以將被匯入之客戶識別資料與客戶憑證作為一筆資料儲存,藉以讓簽章客戶端113在簽章伺服端123註冊。After the signing client 113 of the client device 110 obtains the client certificate (step 210), the signing server 123 of the signing server 120 may store the client certificate obtained by the signing client 113 to register the signing client 113 (step 220). In this embodiment, it is assumed that the signature server 123 can provide a user interface to the administrator of the signature server 120. After obtaining the client identification data and client certificate of the signature client 113 provided by the user of the client device 110, the administrator of the signature server 120 can import the client identification data and client certificate of the signature client 113 into the signature server 123 through the user interface provided by the signature server 123. The signature server 123 can store the imported client identification data and client certificate as a piece of data, so that the signature client 113 can be registered in the signature server 123.

在簽章伺服器120的簽章客戶端123完成客戶裝置110之簽章客戶端113註冊後,當待簽本文400被客戶裝置110產生,簽章客戶端113可以取得客戶裝置110所產生之待簽本文400的演算資料(步驟240)。在本實施例中,假設待簽本文400為客戶裝置110之使用者完成程式開發並編譯開發完成之程式所產生的韌體映像檔,簽章客戶端123可以在客戶演算端111對韌體映像檔(待簽本文400)進行雜湊計算等特定演算而產生演算資料(步驟230)後,取得客戶演算端111所產生的演算資料。After the signature client 123 of the signature server 120 completes the registration of the signature client 113 of the client device 110, when the document 400 to be signed is generated by the client device 110, the signature client 113 can obtain the calculation data of the document 400 to be signed generated by the client device 110 (step 240). In this embodiment, assuming that the document 400 to be signed is a firmware image file generated by the user of the client device 110 completing program development and compiling the developed program, the signature client 123 can obtain the calculation data generated by the client computing terminal 111 after performing specific calculations such as hash calculations on the firmware image file (document 400 to be signed) on the client computing terminal 111 to generate calculation data (step 230).

在客戶裝置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 signature client 113 of the client device 110 obtains the calculation data of the document to be signed 400 generated by the client device 110 (step 240), a secure channel can be established with the signature server 123 of the signature server 120 to transmit the document to be signed 400 to the signature server 123. More specifically, the signature client 113 can first transmit the client certificate to the signature server 123 (step 251), and the signature server 120 of the signature server 120 can then send the client certificate to the signature server 123 (step 252). After receiving the client certificate sent by the signing client 113 of the client device 110, 123 can use the received client certificate to determine the identity of the signing client 113, that is, to determine whether the signing client 113 that sent the client certificate has been registered. The signing server 123 can also establish a secure channel with the signing client 113 that sent the client certificate after determining that the signing client 113 that sent the client certificate has been successfully registered (step 255). In this embodiment, it is assumed that a secure channel can be established between the signature client 113 and the signature server 123 using the Transport Layer Security (TLS) protocol. For example, the signature server 123 can transmit its own server certificate to the signature client 113, so that the signature client 113 can verify the identity of the signature server 123 based on the received server certificate, and the signature server 123 can verify the identity of the signature client 113 based on the received client certificate. When the signature server 123 successfully verifies the identity of the signature client 113 and the signature client 113 successfully verifies the identity of the signature server 123, the signature server 123 and the signature client 113 can establish a TLS secure channel.

實務上,客戶裝置110的簽章客戶端113也可以在取得客戶裝置110所產生之二進位檔案或取得演算資料等待簽本文400(步驟240)前,便傳送客戶憑證至簽章伺服器120的簽章伺服端123並與簽章伺服端123建立安全通道(步驟251、255)。In practice, the signature client 113 of the client device 110 may also transmit the client certificate to the signature server 123 of the signature server 120 and establish a secure channel with the signature server 123 (steps 251, 255) before obtaining the binary file generated by the client device 110 or obtaining the calculation data waiting for the signature document 400 (step 240).

客戶裝置110的簽章客戶端113可以在與簽章伺服器120的簽章伺服端123建立安全通道後,使用所建立之簽章客戶端113與簽章伺服端123間的安全通道將所取得之待簽本文400的演算資料傳送給簽章伺服端123(步驟260)。After establishing a secure channel with the signature server 123 of the signature server 120 , the signature client 113 of the client device 110 may use the established secure channel between the signature client 113 and the signature server 123 to transmit the obtained calculation data of the document to be signed 400 to the signature server 123 (step 260 ).

簽章伺服器120的簽章伺服端123可以在接收到客戶裝置110之簽章客戶端113所傳送的演算資料後,依據所接收到的演算資料產生簽章資料,並可以透過所建立之簽章客戶端113與簽章伺服端123間的安全通道將所產生的簽章資料傳回簽章客戶端113(步驟270)。在本實施例中,假設簽章伺服端123可以將演算資料作為待簽資料,依照習知的簽章過程,對演算資料進行雜湊運算以產生摘要資料並使用簽章伺服端123的私鑰對所產生的摘要資料進行簽章以產生簽章資料,之後,簽章伺服器123可以透過與簽章客戶端113之間的安全通道將簽章資料傳送給簽章客戶端113。After receiving the calculation data sent by the signature client 113 of the client device 110, the signature server 123 of the signature server 120 can generate signature data according to the received calculation data, and can return the generated signature data to the signature client 113 through the established secure channel between the signature client 113 and the signature server 123 (step 270). In this embodiment, it is assumed that the signature server 123 can use the calculation data as the data to be signed, and according to the known signing process, perform a hashing operation on the calculation data to generate summary data and use the private key of the signature server 123 to sign the generated summary data to generate signature data. Afterwards, the signature server 123 can transmit the signature data to the signature client 113 through a secure channel between the signature server 123 and the signature client 113.

如此,透過本發明,待簽本文400可以在不離開客戶裝置110的情況下,使用由待簽本文400產生之演算資料給第三方之公證單位所提供的簽章伺服器120簽章,藉以滿足待簽本文400之隱私性、安全性,同時也可以減少傳送待簽本文400與產生簽章資料的時間。Thus, through the present invention, the document to be signed 400 can be signed by the signature server 120 provided by a third-party notary public institution using the calculation data generated by the document to be signed 400 without leaving the client device 110, thereby satisfying the privacy and security of the document to be signed 400 and reducing the time for transmitting the document to be signed 400 and generating the signature data.

上述實施例中,若客戶裝置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 client device 110 further includes a data burning terminal 115, then as shown in the process of "FIG. 2C", after the signature client 113 of the client device 110 receives the signature data returned by the signature server 120 (step 270), the data burning terminal 115 can obtain the firmware image file (document to be signed 400) generated by the client device 110, the signature data received by the signature client 113, and the signature The server 120 obtains the server certificate (step 280), and the obtained signature data and the server certificate can be burned together with the document to be signed 400 into the hardware device 140, so that when the hardware device 140 is securely started, the signature data and the server certificate can be used to verify the firmware image file (the document to be signed 400), and the firmware image file can be loaded to start the hardware device 140 after the document to be signed 400 passes the verification (step 290).

綜上所述,可知本發明與先前技術之間的差異在於具有由設置於客戶裝置上的簽章客戶端使用安全通道將待簽本文的演算資料傳送給簽章伺服器簽章之技術手段,藉由此一技術手段可以來解決先前技術所存在將資料傳送到伺服器簽章可能需要較長等待時間且可能有隱私與安全性的問題,進而達成減少對資料量大之待簽本文的簽章時間及提高待簽本文之隱私與安全性技術功效。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)

一種由待簽本文產生演算資料以供伺服器簽章之系統,該系統至少包含:一簽章客戶端,用以取得一客戶憑證,及用以取得一待簽本文之一演算資料,該演算資料為該待簽本文經過特定計算產生;一簽章伺服端,用以取得該客戶憑證並儲存該客戶憑證以註冊該簽章客戶端,及用以接收該簽章客戶端所傳送之該客戶憑證,並使用該客戶憑證確認該簽章客戶端之身分,及於該簽章客戶端之身分經過確認後與該簽章客戶端建立一安全通道以接收該簽章客戶端使用該安全通道所傳送之該演算資料,並依據該演算資料產生一簽章資料,及使用該安全通道傳送該簽章資料至該簽章客戶端;及一資料燒錄端,用以取得該待簽本文、該簽章資料、及該簽章伺服端之一伺服憑證,並將該待簽本文、該簽章資料、及該伺服憑證燒錄至一硬體裝置中,使該硬體裝置於安全啟動時使用該伺服憑證與該簽章資料驗證該待簽本文並於該待簽本文通過驗證後載入並執行該待簽本文。 A system for generating calculation data from a document to be signed for server signature, the system at least comprising: a signature client, used to obtain a client certificate, and used to obtain a calculation data of a document to be signed, the calculation data is generated by a specific calculation of the document to be signed; a signature server, used to obtain the client certificate and store the client certificate to register the signature client, and used 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 communication with the signature client. A channel is used to receive the calculation data transmitted by the signature client using the secure channel, generate a signature data according to the calculation data, and transmit the signature data to the signature client using the secure channel; and a data burning terminal is used to obtain the document to be signed, the signature data, and a server certificate of the signature server, and burn the document to be signed, the signature data, and the server certificate into a hardware device, so that the hardware device uses the server certificate and the signature data to verify the document to be signed during secure startup, and loads and executes the document to be signed after the document to be signed passes the verification. 如請求項1所述之由待簽本文產生演算資料以供伺服器簽章之系統,其中該簽章客戶端是產生一私鑰,並申請與該私鑰對應之該客戶憑證以取得該客戶憑證。 A system for generating computational data from a document to be signed for server signing as described in claim 1, wherein the signing client generates a private key and applies for the client certificate corresponding to the private key to obtain the client certificate. 如請求項1所述之由待簽本文產生演算資料以供伺服器簽章之系統,其中該簽章伺服端是對該演算資料簽章以產生該簽章資料、或該簽章伺服端計算該演算資料之一摘要資料並對該摘要資料簽章以產生該簽章資料。 A system for generating calculation data from a document to be signed for server signature as described in claim 1, wherein the signature server signs the calculation data to generate the signature data, or the signature server calculates a summary data of the calculation data and signs the summary data to generate the signature data. 如請求項1所述之由待簽本文產生演算資料以供伺服器簽章之系統,其中該系統更包含一客戶演算端,用以對該待簽本文進行雜湊運算以產生該演算資料。 A system for generating calculation data from a document to be signed for server signature as described in claim 1, wherein the system further comprises a client computing end for performing a hash operation on the document to be signed to generate the calculation data. 如請求項1所述之由待簽本文產生演算資料以供伺服器簽章之系統,其中該系統更包含一簽章管理端,用以使用一硬體安全模組保管該簽章伺服端所使用之金鑰,及用以提供該金鑰給該簽章伺服端以使該簽章伺服端依據該演算資料產生該簽章資料。 A system for generating calculation data from a document to be signed for server signature as described in claim 1, wherein the system further comprises a signature management terminal for using a hardware security module to store the key used by the signature server, and for providing the key to the signature server so that the signature server generates the signature data based on the calculation data. 一種由待簽本文產生演算資料以供伺服器簽章之方法,該方法至少包含下列步驟:一簽章客戶端取得一客戶憑證;該簽章伺服端取得並儲存該客戶憑證以註冊該簽章客戶端;該簽章客戶端取得一待簽本文之一演算資料,該演算資料為該待簽本文經過特定計算產生;該簽章客戶端傳送該客戶憑證至該簽章伺服端,以提供該簽章伺服端使用該客戶憑證確認該簽章客戶端之身分,該簽章伺服端並於該簽章客戶端之身分被確認後與該簽章客戶端建立一安全通道;該簽章客戶端於該安全通道被建立後使用該安全通道傳送該演算資料至該簽章伺服端;該簽章伺服端依據該演算資料產生一簽章資料,並使用該安全通道傳送該簽章資料至該簽章客戶端;及一資料燒錄端取得該待簽本文、該簽章資料及該簽章伺服端之一伺服憑證,並將該待簽本文、該簽章資料、與該伺服憑證燒錄至一硬體裝置中, 使該硬體裝置於安全啟動時使用該伺服憑證與該簽章資料驗證該待簽本文並於該待簽本文通過驗證後載入並執行該待簽本文。 A method for generating calculation data from a document to be signed for server signing, the method comprising at least the following steps: a signing client obtains a client certificate; the signing server obtains and stores the client certificate to register the signing client; the signing client obtains a calculation data of a document to be signed, the calculation data is generated by the document to be signed through specific calculation; the signing client transmits the client certificate to the signing server to provide the signing server with the client certificate to confirm the identity of the signing client, and the signing server establishes a secure channel with the signing client after the identity of the signing client is confirmed; After the secure channel is established, the signature client uses the secure channel to transmit the calculation data to the signature server; the signature server generates a signature data based on the calculation data, and transmits the signature data to the signature client using the secure channel; and a data burning end obtains the document to be signed, the signature data, and a server certificate of the signature server, and burns the document to be signed, the signature data, and the server certificate into a hardware device, so that the hardware device uses the server certificate and the signature data to verify the document to be signed during secure startup, and loads and executes the document to be signed after the document to be signed passes the verification. 如請求項6所述之由待簽本文產生演算資料以供伺服器簽章之方法,其中該簽章客戶端取得該客戶憑證之步驟,更包含該簽章客戶端產生一私鑰,並申請與該私鑰對應之該客戶憑證之步驟。 The method of generating computational data from the document to be signed for server signing as described in claim 6, wherein the step of the signing client obtaining the client certificate further includes the step of the signing client generating a private key and applying for the client certificate corresponding to the private key. 如請求項6所述之由待簽本文產生演算資料以供伺服器簽章之方法,其中該簽章伺服端依據該演算資料產生該簽章資料之步驟為該簽章伺服端對該演算資料簽章,或該簽章伺服端計算該演算資料之一摘要資料並對該摘要資料簽章。 The method of generating calculation data from the document to be signed for server signature as described in claim 6, wherein the step of the signature server generating the signature data based on the calculation data is that the signature server signs the calculation data, or the signature server calculates a summary data of the calculation data and signs the summary data. 如請求項6所述之由待簽本文產生演算資料以供伺服器簽章之方法,其中該待簽本文經過特定計算產生該演算資料之步驟為一客戶演算端對該待簽本文進行雜湊運算以產生該演算資料。 The method of generating calculation data from the document to be signed for server signature as described in claim 6, wherein the step of generating the calculation data by performing a specific calculation on the document to be signed is that a client computing end performs a hashing operation on the document to be signed to generate the calculation data. 如請求項6所述之由待簽本文產生演算資料以供伺服器簽章之方法,其中該簽章伺服端取得並儲存該客戶憑證以註冊該簽章客戶端之步驟,更包含該簽章伺服端提供匯入該客戶憑證之使用者介面或應用程式介面以取得該客戶憑證。 The method of generating computational data from the document to be signed for server signature as described in claim 6, wherein the signature server obtains and stores the client certificate to register the signature client, and further includes the signature server providing a user interface or application program interface for importing the client certificate to obtain the client certificate.
TW111147852A 2022-12-13 2022-12-13 System and method for providing server to sign calculation data generated from article to be sign TWI845063B (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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