TW202040568A - Zero trust communication system for freight shipping organizations, and methods of use - Google Patents

Zero trust communication system for freight shipping organizations, and methods of use Download PDF

Info

Publication number
TW202040568A
TW202040568A TW109106120A TW109106120A TW202040568A TW 202040568 A TW202040568 A TW 202040568A TW 109106120 A TW109106120 A TW 109106120A TW 109106120 A TW109106120 A TW 109106120A TW 202040568 A TW202040568 A TW 202040568A
Authority
TW
Taiwan
Prior art keywords
data
user
document
client terminal
role
Prior art date
Application number
TW109106120A
Other languages
Chinese (zh)
Other versions
TWI753367B (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 英屬維爾京群島商東方海外(信息科技)控股有限公司
Publication of TW202040568A publication Critical patent/TW202040568A/en
Application granted granted Critical
Publication of TWI753367B publication Critical patent/TWI753367B/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Abstract

Presented herein are systems and methods of securely sharing data from multiple sources with different client terminals. A server may establish an electronic document for defining a transaction. The electronic document may have data fields. Each data field may be from a client terminal. The server may identify encryption keys to encrypt the corresponding data fields included in the electronic document. The server may distribute the encryption keys across the client terminals in accordance with an access control policy. The access control policy may specify access permissions for a client terminal to each of the plurality of data fields based on a role of the client terminal in the transaction. The server may provide, to each client terminal with access to the data fields in the electronic document via the encryption keys distributed in accordance with the access control policy.

Description

貨物運輸組織之零信任通信系統及其使用方法Zero trust communication system of cargo transportation organization and its use method

本發明係關於用於交換經加密資料之系統及方法,包含但不限於用於在零信任通信環境中交換經加密資料之系統及方法。The present invention relates to systems and methods for exchanging encrypted data, including but not limited to systems and methods for exchanging encrypted data in a zero-trust communication environment.

使用貨櫃長距離運送商品係一標準運輸形式。聯運貨櫃用於藉由汽車、火車及船來運送商品。單元係可堆疊的且經設計以在不打開貨櫃之情況下自一種形式之運送移動至另一種形式之運送。可涉及運送一或多個貨櫃之一運輸係一運輸承運人承諾使用聯運貨櫃或作為項目貨品(總稱為「貨品」或「貨物」)遞送商品。為了成功完成一運輸,需要在運輸中所涉及之不同當事方當中共用相關資料。此等當事方包含但不限於運輸承運人、運輸程序中之船舶經營者、港口/碼頭、政府機關以及運輸中之運輸方(包含托運人、收貨人,且有時包含代運人及通知方)。一貨物運輸中亦可涉及其他當事方。The use of containers to transport goods over long distances is a standard form of transportation. Intermodal containers are used to transport goods by cars, trains and ships. The units are stackable and designed to move from one form of transport to another without opening the container. It may involve the delivery of one or more containers. One of the transportation is a transport carrier's promise to use intermodal containers or deliver goods as project goods (collectively called "goods" or "goods"). In order to successfully complete a transportation, relevant information needs to be shared among the different parties involved in the transportation. These parties include, but are not limited to, the transportation carrier, the ship operator in the transportation process, the port/terminal, the government agency, and the transportation party in the transportation (including the shipper, the consignee, and sometimes the forwarder and Notifying party). Other parties may also be involved in a cargo transportation.

在本文中闡述用於使用其中涉及零信任之一通信系統之系統及方法。該通信系統可經設計以與使用者一起工作,該等使用者可係彼此之直接競爭者或輔助競爭者,但有時期望或可需要在同一空間中工作以便達成其業務目標。In this article, a system and method for using a communication system involving zero trust is described. The communication system can be designed to work with users, who can be direct competitors or auxiliary competitors with each other, but sometimes it is desirable or necessary to work in the same space in order to achieve their business goals.

在運輸貨櫃(有時稱為聯運貨櫃)之裝載、卸載及移動中涉及之企業使用企業間(B2B)通信、電子資料互換(EDI)及應用程式設計介面(API)調用來彼此通信。此等通信頻道係點對點的,要求一個當事方與另一當事方通信。此通信之個體對個體性質一般不允許多個當事方同時「保持在循環中」。不同當事方在其如何處置通信方面採取之協定亦存在變化,因此通信可經延遲或受製於降低此類通信之及時性之企業原則定時。在移動貨物中當事方之地理分佈導致通信延遲。貨物可起源於亞洲且去往美洲、歐洲或非洲中之位置。嘗試一個當事方之通信之方便時間可係在另一當事方之營業時間之後,從而導致進一步延遲。Companies involved in the loading, unloading and movement of shipping containers (sometimes called intermodal containers) use inter-enterprise (B2B) communications, electronic data interchange (EDI), and application programming interface (API) calls to communicate with each other. These communication channels are peer-to-peer, requiring one party to communicate with another party. The individual-to-individual nature of this communication generally does not allow multiple parties to "keep in circulation" at the same time. There are also changes in the agreements adopted by different parties on how they handle communications, so communications can be delayed or subject to corporate principles that reduce the timeliness of such communications. The geographical distribution of the parties in the moving cargo causes communication delays. Goods can originate in Asia and go to locations in America, Europe or Africa. The convenient time to try one party’s communication may be after the other party’s business hours, causing further delays.

彼此直接競爭之組織有時可共用資源以完成其企業職責。諸如兩個或兩個以上運輸公司共用其船舶來運送商品,使得可達成更佳服務覆蓋範圍以及規模經濟。另一實例係其中使用同一代運人之多個托運人可共用一單個聯運貨櫃以避免每一者必須付費且運輸單獨的部分地裝滿之聯運貨櫃。當公司可協調其活動時,實現其他經濟及更佳服務履行。然而,協調通常需要揭露機密資料,公司不願意這樣做。亦存在禁止與特定當事方共用特定類型之資料之法規要求。更一般而言,每一當事方皆具有機密資訊。保護機密資訊(諸如業務聯繫、客戶清單、定價資訊等)之需要對於在市場中維持一競爭優勢及法規遵從性係至關重要的。因此,彼此競爭或需要使用彼此之服務之當事方不會共用其機密資訊。Organizations that directly compete with each other can sometimes share resources to fulfill their corporate responsibilities. For example, two or more transportation companies share their ships to transport goods, making it possible to achieve better service coverage and economies of scale. Another example is where multiple shippers using the same forwarder can share a single intermodal container to avoid each having to pay and transport separate partially filled intermodal containers. When the company can coordinate its activities, achieve other economic and better service performance. However, coordination usually requires the disclosure of confidential information, which companies are reluctant to do. There are also legal requirements prohibiting the sharing of specific types of data with specific parties. More generally, each party has confidential information. The need to protect confidential information (such as business contacts, customer lists, pricing information, etc.) is critical to maintaining a competitive advantage and regulatory compliance system in the market. Therefore, parties that compete with each other or need to use each other's services will not share their confidential information.

處理聯運貨櫃且追蹤其位置之方法趨於聚焦於貨櫃之內容,或在小位置中而非在一全域意義上進行追蹤。因此,仍需要允許為一共同任務而一起工作之當事方共用呈一格式之機密資訊的一通信與資料控制系統,該格式允許各個當事方僅看到他們執行其任務之部分所需要之資訊,同時使任何其他資訊對(資訊之)源保持機密。進一步需要可減少在運輸程序之路徑中之任何地方追蹤貨物所需要之時間且提供聯運貨櫃及項目貨品兩者之位置之及時更新的一系統。The methods of handling intermodal containers and tracking their locations tend to focus on the contents of the containers, or to track them in small locations rather than in a global sense. Therefore, there is still a need for a communication and data control system that allows parties working together for a common task to share confidential information in a format that allows each party to see only what they need to perform their tasks. Information, while keeping any other information confidential from the source (of the information). There is a further need for a system that can reduce the time required to track goods anywhere in the path of the transportation process and provide timely updates of the locations of both intermodal containers and project goods.

進一步需要為與聯運貨櫃及項目貨品之運送、交貨裝載及卸載相關聯之各個當事方提供此等運輸之一及時狀態及運輸更新,同時保護資料私密性及商業機密性。可藉由以下揭示內容滿足此等及其他目標。It is further necessary to provide all parties involved in the transportation, delivery loading and unloading of intermodal containers and project goods with timely status and transportation updates of one of these transportations, while protecting the privacy of data and commercial confidentiality. These and other goals can be met by the following disclosures.

闡述 種用於產生一運輸文件之系統。該系統可具有一運輸文件控制中樞及一或多個使用者節點。該運輸文件控制中樞可具有一電腦,該電腦具有一邏輯、一記憶體及一通信裝置。該中樞亦可具有能夠發送及接收事件訊息之一訊息代理者。可存在儲存全域成員清單、存取原則文件清單及角色清單清單之一存取原則儲存庫。亦可存在儲存於該記憶體上之一公開金鑰儲存庫。亦可存在一識別碼(ID)儲存庫,該識別碼(ID)儲存庫具有一或多個使用者、一或多個使用者登入認證及一或多個使用者參數之一清單。亦可存在一區塊鏈資料庫,該區塊鏈資料庫包含儲存經加密運輸文件、經加密資料加密金鑰及文件發起者之簽章之一或多個區塊鏈節點。該等使用者節點可具有一電腦、一訊息代理者、用於將運輸文件解密之一金鑰儲存區、具有用於將運輸文件加密之一密碼層之一API介面及用於存取該運輸文件控制中樞之一入口網站中之一或多者。該API介面可在使用者電腦之邏輯上執行且與運輸文件控制中樞訊息代理者通信。Describe a system for generating a transport document. The system may have a transportation document control center and one or more user nodes. The transportation document control center may have a computer with a logic, a memory and a communication device. The hub may also have a message agent capable of sending and receiving event messages. There may be an access policy repository storing one of the global member list, the access policy document list, and the role list list. There may also be a public key repository stored on the memory. There may also be an identification code (ID) repository that has one or more users, one or more user login credentials, and a list of one or more user parameters. There may also be a blockchain database that includes one or more blockchain nodes that store the encrypted transport document, the encrypted data encryption key, and the signature of the document originator. These user nodes may have a computer, a message broker, a key storage area for decrypting transportation documents, an API interface with a cryptographic layer for encrypting transportation documents, and access to the transportation One or more of the portals of one of the document control centers. The API interface can be executed on the logic of the user's computer and communicate with the information agent of the transportation document control center.

亦闡述供在產生一單個共用運輸文件交易中使用之一獨立使用者節點。該使用者節點可具有一電腦,該電腦具有用於執行程式指令之一邏輯、一記憶體裝置、一使用者介面及用於存取一運輸文件控制中樞之一通信裝置。該使用者節點可具有能夠發送及接收事件訊息之一訊息代理者。一API介面可具有一密碼存取層,該API介面協調該共用運輸文件交易與該運輸文件控制中樞之對應性。該使用者節點亦可具有儲存於該記憶體裝置上之一區塊鏈資料庫。該記憶體裝置可係區域的、遠端的、基於雲的或可抽換的。該區塊鏈資料庫可具有與單個共用運輸文件交易中之使用者角色有關之運輸文件。It also describes an independent user node for use in generating a single shared transportation document transaction. The user node may have a computer with a logic for executing program instructions, a memory device, a user interface, and a communication device for accessing a transportation document control center. The user node may have a message agent capable of sending and receiving event messages. An API interface may have a password access layer, and the API interface coordinates the correspondence between the shared transportation document transaction and the transportation document control center. The user node may also have a blockchain database stored on the memory device. The memory device can be regional, remote, cloud-based, or removable. The blockchain database may have transportation documents related to the user's role in a single shared transportation document transaction.

亦闡述用於在一共用運輸(電子)文件之分佈中協調一第一使用者節點與第二使用者節點之間的通信的一獨立運輸文件控制中樞。該共用運輸文件可具有經加密資料屬性、經加密資料加密金鑰及/或一文件發起者之數位簽章。該運輸文件控制中樞可使用一電腦,該電腦具有用於執行程式指令之一邏輯、一記憶體裝置及用於與該等使用者節點通信之一通信裝置。可存在一通信路由控制器,該控制器可使用一路由邏輯來將自該第一使用者節點接收之一共用運輸文件路由至該第二使用者節點。該第二使用者節點可係由該第一使用者節點提供之運輸文件之運輸方中之一者。可存在儲存於該記憶體上之一分散式分類帳。該分散式分類帳可係用於儲存經加密共用運輸文件(或選擇一共用運輸文件之資料屬性)之一區塊鏈資料庫。亦可儲存經加密資料加密金鑰及經加密共用運輸文件之一雜湊以及該共用運輸文件的一文件發起者之數位簽章。It also describes an independent transportation document control hub for coordinating the communication between a first user node and a second user node in the distribution of a shared transportation (electronic) document. The shared transport document may have an encrypted data attribute, an encrypted data encryption key, and/or a digital signature of a document originator. The transportation document control center can use a computer with a logic for executing program instructions, a memory device, and a communication device for communicating with the user nodes. There may be a communication routing controller that can use a routing logic to route a common transportation document received from the first user node to the second user node. The second user node may be one of the transport parties of the transport document provided by the first user node. There may be a distributed ledger stored on the memory. The distributed ledger can be used to store encrypted shared transportation documents (or select the data attributes of a shared transportation document) a blockchain database. It is also possible to store the encrypted data encryption key and a hash of the encrypted shared transport document and the digital signature of the originator of the shared transport document.

亦存在產生一共用運輸文件之一方法。該方法可涉及:產生一共用運輸文件且藉由API介面中之密碼存取層將該共用運輸文件加密;將該經加密共用運輸文件、經加密資料加密金鑰及文件發起者之數位簽章提交給一運輸文件控制中樞(中樞);識別一或多個使用者,且每一使用者可根據一存取控制原則具有至少一個所指派角色;將該經加密共用運輸文件、該等經加密資料加密金鑰及該文件發起者之數位簽章轉發給該一或多個使用者,其中該一或多個使用者可基於如由該存取控制原則提供之該一或多個使用者所指派角色而履行該經加密運輸文件之一角色。There is also a way to generate a common transport document. The method may involve: generating a shared transport document and encrypting the shared transport document through the password access layer in the API interface; the encrypted shared transport document, the encrypted data encryption key and the digital signature of the document originator Submit to a transportation document control center (hub); identify one or more users, and each user can have at least one assigned role according to an access control principle; the encrypted shared transportation document, the encrypted The data encryption key and the digital signature of the initiator of the document are forwarded to the one or more users, where the one or more users can be based on the one or more users as provided by the access control policy. Assign roles to fulfill one of the roles of the encrypted transport file.

亦可存在用於識別對該共用運輸文件之使用者存取權之一方法。該方法可涉及接收待被至少一個使用者共用之一運輸文件,該文件具有一發起者、一角色清單及一識別碼。然後識別該發起者,基於一全域使用者清單(或全域成員清單)而判定該發起者之角色,驗證該共用運輸文件之該角色清單,藉由資料加密金鑰將該共用運輸文件之至少一個資料屬性加密,根據存取原則藉由相關運輸方之公開金鑰將該等資料加密金鑰加密,且將彼至少一個資料屬性分佈至至少一個經驗證使用者。There may also be a method for identifying user access rights to the shared transport document. The method may involve receiving a transport document to be shared by at least one user, the document having an initiator, a role list and an identification code. Then identify the initiator, determine the role of the initiator based on a global user list (or global member list), verify the role list of the shared transport document, and use the data encryption key to use at least one of the shared transport documents Encrypting data attributes, encrypting the data encryption keys with the public key of the relevant transporter according to the access principle, and distributing at least one data attribute to at least one authenticated user.

亦闡述額外態樣。It also explains additional aspects.

本文中所闡述之貨物追蹤系統及方法可幫助公司及個體透過運輸程序追蹤諸如聯運貨櫃之貨物貨櫃之進度。此可藉由在各個當事方向系統提供運輸文件時給每一當事方指派一角色而達成。該系統可組織該等運輸文件且根據一邏輯方案將該等運輸文件加密。該等運輸文件可經歷其中可與邏輯上彼此相關之其他當事方共用該等經加密運輸文件(例如,當其全部與一共同承運人或代理有關聯時)之一程序。可在將貨物自起始點運送至目的地點期間在各個時間及事件處更新與經運輸之貨物對應之資料。每一更新產生新的經加密運輸文件,可與共用一邏輯、業務或財務關係之所有當事方共用該等新的經加密運輸文件。The cargo tracking system and method described in this article can help companies and individuals track the progress of cargo containers such as intermodal containers through transportation procedures. This can be achieved by assigning a role to each party when each party provides shipping documents to the system. The system can organize the transport documents and encrypt the transport documents according to a logical scheme. The transportation documents may undergo a process in which the encrypted transportation documents can be shared with other parties that are logically related to each other (for example, when they are all associated with a common carrier or agent). The data corresponding to the transported goods can be updated at various times and events during the transport of the goods from the starting point to the destination point. Each update generates new encrypted shipping documents, which can be shared with all parties that share a logical, business, or financial relationship.

表示貨運之運輸文件可含有關於貨物運輸之資訊,諸如可運輸哪種產品、其重量為多少及其是否需要任何特殊處置(僅舉幾個例子)。該運輸文件亦可包含關於所涉及之當事方(例如托運人、收貨人、運輸承運人)之資訊及運輸之路線資訊。另外,該運輸文件可包含儲存運輸中發生之對於其狀態可有意義之事情的一或多個事件記錄。總之,該運輸文件可涵蓋可與任何運輸有關之各種其他細節。該運輸文件之存取原則亦可含有關於誰可擔任一運輸角色之資訊。可在該系統中添加、編輯或讀取一運輸文件。在某些實施例中,該運輸文件可含有關於一使用者之資訊。在某些實施例中,該運輸文件可係一貨物運輸之一虛擬文件。在某些實施例中,該運輸文件可含有關於一用戶之資訊。The transportation document that represents the freight may contain information about the transportation of the goods, such as what kind of product can be transported, how much its weight and whether it requires any special handling (just to name a few). The transportation document may also contain information about the parties involved (such as shippers, consignees, transportation carriers) and transportation route information. In addition, the transportation file may include one or more event records that occurred during storage and transportation that are meaningful to its state. In short, the shipping document can cover various other details that can be related to any shipping. The access policy of the transportation document may also contain information about who can play a transportation role. A transport file can be added, edited or read in the system. In some embodiments, the shipping document may contain information about a user. In some embodiments, the transportation document may be a virtual document of a cargo transportation. In some embodiments, the shipping document may contain information about a user.

在某些實施例中,存取該系統之當事方可係該系統之使用者。此等使用者可具有對系統之各種存取級別及特權。在某些實施例中,該等使用者可能夠讀取在該系統中呈現之資料。在某些實施例中,使用者可能夠在該系統中創建資料。在又某些實施例中,使用者可能夠更新該系統中之現有資訊。在某些實施例中,使用者可能夠進行以下操作中之一或多者:在該系統中創建該資料;讀取該系統中之該資料;及更新該系統中之該資料。In some embodiments, the party accessing the system may be the user of the system. These users can have various access levels and privileges to the system. In some embodiments, the users may be able to read the data presented in the system. In some embodiments, the user may be able to create data in the system. In still other embodiments, the user may be able to update the existing information in the system. In some embodiments, the user may be able to perform one or more of the following operations: create the data in the system; read the data in the system; and update the data in the system.

在某些實施例中,該系統中可存在一或多個成員級別。此等不同成員級別可伴隨著不同存取權或授權。在某些實施例中,該等不同存取權可伴隨著不同費用。In some embodiments, there may be one or more membership levels in the system. These different membership levels can be accompanied by different access rights or authorizations. In some embodiments, the different access rights may be accompanied by different fees.

在某些實施例中,可存在接收使用者資訊且即時儲存與貨櫃之運輸及追蹤有關之資訊的一系統。該系統可包含一電腦,該電腦具有一處理器、一記憶體裝置及用於存取網際網路之一通信介面。該電腦系統可經由該通信介面自一或多個使用者接收資料。可處理該資料且收集該資料且將該資料分類為該記憶體裝置中之一有組織資料結構。該電腦可具有使得該電腦能夠將來自一或多個使用者之該資料轉變成一經加密記錄之一邏輯。該電腦可使用各種加密方法來將該資料加密以產生該經加密運輸文件。亦可產生一系列資料加密金鑰,其中為該運輸文件中之每一屬性提供一個資料加密金鑰。可藉由使用者之公開金鑰基於相關運輸方之使用者之角色而將相關個別資料加密金鑰加密。該使用者之該公開金鑰稱為金鑰加密金鑰。可透過可由系統用於每一使用者之區塊鏈節點將此等經加密資料加密金鑰及經加密資料封裝提供給該等使用者。節點可經共用或專用於一運輸方。一使用者可使用一私密金鑰將經加密資料加密金鑰解密,且然後使用該等經解密加密金鑰來將節點中之相關資料解密。In some embodiments, there may be a system that receives user information and stores information related to container transportation and tracking in real time. The system may include a computer with a processor, a memory device, and a communication interface for accessing the Internet. The computer system can receive data from one or more users via the communication interface. The data can be processed and collected and classified as an organized data structure in the memory device. The computer may have a logic that enables the computer to transform the data from one or more users into an encrypted record. The computer can use various encryption methods to encrypt the data to generate the encrypted transport file. A series of data encryption keys can also be generated, wherein a data encryption key is provided for each attribute in the transport document. The relevant individual data encryption key can be encrypted by the user's public key based on the role of the user of the relevant shipping party. The public key of the user is called the key encryption key. These encrypted data encryption keys and encrypted data encapsulation can be provided to these users through a blockchain node that can be used by the system for each user. Nodes can be shared or dedicated to a transporter. A user can use a private key to decrypt the encrypted data encryption key, and then use the decrypted encryption key to decrypt the relevant data in the node.

在某些實施例中,可存在保護在一分佈式使用者群組中共用之一運輸文件之資料私密性之一方法。該方法包括經由一通信網路自一使用者接收該運輸文件,該使用者可具有一所指派角色,其中該運輸文件包括複數個資料屬性。亦可存在經由一第一加密邏輯將該複數個資料屬性加密成相似數目個經加密資料屬性,該第一加密邏輯產生對應於每一經加密資料屬性之一資料加密金鑰。該方法亦可涉及經由一程式化邏輯將該複數個經加密資料屬性組織至一分散式資料分類帳中,該分散式資料分類帳含有來自一使用者之至少一個經加密運輸文件。該方法進一步涉及經由一第二加密邏輯將對應於該複數個資料屬性之該等加密金鑰加密,該第二加密邏輯可使用基於使用者之所指派角色而為該分散式資料分類帳之一或多個使用者提供權限的一查找表。該方法亦可具有:經由該通信網路以一更高效方式將該等經加密資料屬性、該經加密資料加密金鑰分佈至該等區塊鏈節點,使得整個解決方案可係可擴縮的。每一使用者可存取一節點,該節點可提供對該等分散式資料分類帳中之一者之存取。每一使用者可僅將與其所指派角色有關之資料解密。In some embodiments, there may be a method to protect the privacy of the data of a transport document shared in a distributed user group. The method includes receiving the transportation document from a user via a communication network. The user may have an assigned role, wherein the transportation document includes a plurality of data attributes. There may also be a first encryption logic to encrypt the plurality of data attributes into a similar number of encrypted data attributes, and the first encryption logic generates a data encryption key corresponding to each encrypted data attribute. The method may also involve organizing the plurality of encrypted data attributes into a distributed data ledger through a programmed logic, the distributed data ledger containing at least one encrypted transport document from a user. The method further involves encrypting the encryption keys corresponding to the plurality of data attributes through a second encryption logic. The second encryption logic can be one of the distributed data ledgers based on the assigned role of the user Or a lookup table of permissions provided by multiple users. The method may also have: distribute the encrypted data attributes and the encrypted data encryption key to the blockchain nodes via the communication network in a more efficient manner, so that the entire solution can be scalable . Each user can access a node that can provide access to one of the distributed data ledgers. Each user can decrypt only the data related to the assigned role.

第一加密及第二加密可利用各種加密技術。使用者所指派角色可與一使用者存取控制原則相關聯。Various encryption techniques can be used for the first encryption and the second encryption. The role assigned by the user can be associated with a user access control policy.

系統及/或方法之使用可提供內容脈絡敏感資料隔離、加密及存取控制原則之一組合以達成一分散式分類帳技術之資料私密性。The use of the system and/or method can provide a combination of content context sensitive data isolation, encryption, and access control principles to achieve data privacy in a distributed ledger technology.

本發明 至少一個態樣係針對與不同用戶端終端機安全地共用來自多個源之資料之一方法。具有一或多個處理器之至少一個伺服器可建立用於定義一單個交易之一電子文件。該電子文件可具有複數個資料欄位。該複數個資料欄位中之每一者可與複數個用戶端終端機中之一者相關聯。該至少一個伺服器可識別複數個加密金鑰以將包含於該電子文件中之該對應複數個資料欄位加密。該至少一個伺服器可根據一存取控制原則跨越該複數個用戶端終端機分佈該複數個加密金鑰。該存取控制原則可基於該複數個用戶端終端機中之一對應用戶端終端機在該單個交易中之一角色而規定該對應用戶端終端機對該複數個資料欄位中之每一者之存取權限。該至少一個伺服器可經由根據該存取控制原則分佈之該複數個加密金鑰向該複數個用戶端終端機中之每一者提供對該電子文件中之該複數個資料欄位中之至少一者之存取。 The at least one aspect of the present invention system for securely shared with a different one of the plurality of client terminals from a source of data method. At least one server with one or more processors can create an electronic file for defining a single transaction. The electronic file may have a plurality of data fields. Each of the plurality of data fields can be associated with one of the plurality of client terminals. The at least one server can identify a plurality of encryption keys to encrypt the corresponding plurality of data fields included in the electronic document. The at least one server can distribute the plurality of encryption keys across the plurality of client terminals according to an access control principle. The access control principle may be based on one of the plurality of client terminals corresponding to a role of the client terminal in the single transaction and stipulate that the corresponding client terminal corresponds to each of the plurality of data fields The access rights. The at least one server can provide at least one of the plurality of data fields in the electronic document to each of the plurality of client terminals via the plurality of encryption keys distributed according to the access control principle Access to one.

在某些實施例中,建立該電子文件可包含自該複數個用戶端終端機中之一第一用戶端終端機接收更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性的一請求。在某些實施例中,建立該電子文件可包含根據該存取控制原則基於該第一用戶端終端機在該單個交易中之一角色而判定該第一用戶端終端機具有修改該第一資料欄位之權限。在某些實施例中,建立該電子文件可包含回應於判定該第一用戶端終端機具有該權限而准許該用戶端終端機更新該電子文件中之該第一資料欄位之該屬性。In some embodiments, creating the electronic file may include receiving and updating one of the plurality of data fields in the electronic file from a first one of the plurality of client terminals. A request for an attribute of the data field. In some embodiments, creating the electronic file may include determining that the first client terminal has the ability to modify the first data based on a role of the first client terminal in the single transaction according to the access control principle The permissions of the field. In some embodiments, creating the electronic document may include permitting the client terminal to update the attribute of the first data field in the electronic document in response to determining that the first client terminal has the authority.

在某些實施例中,該至少一個伺服器可回應於自該複數個用戶端終端機中之一第一用戶端終端機接收到更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性的一請求而自該單個交易中之一角色清單識別該第一用戶端終端機之一角色。在某些實施例中,該至少一個伺服器可根據該存取控制原則基於該第一用戶端終端機之該所識別角色而判定該第一用戶端終端機缺乏修改該第一資料欄位之權限。在某些實施例中,該至少一個伺服器可回應於判定該第一用戶端終端機缺乏該權限而阻止由該第一用戶端終端機更新該電子文件中之該資料欄位之該屬性。In some embodiments, the at least one server may respond to the first client terminal receiving update from one of the plurality of client terminals in the plurality of data fields in the electronic document A request for an attribute of a first data field identifies a role of the first client terminal from a role list in the single transaction. In some embodiments, the at least one server may determine that the first client terminal lacks the ability to modify the first data field based on the recognized role of the first client terminal according to the access control principle Permissions. In some embodiments, the at least one server may prevent the first client terminal from updating the attribute of the data field in the electronic document in response to determining that the first client terminal lacks the authority.

在某些實施例中,識別該複數個加密金鑰可包含針對該對應複數個用戶端終端機識別複數個私密加密金鑰及複數個公開加密金鑰。在某些實施例中,分佈該複數個加密金鑰可包含將該複數個私密加密金鑰中之一私密加密金鑰提供至該複數個用戶端終端機中之一對應用戶端終端機。在某些實施例中,分佈該複數個加密金鑰可包含根據該存取控制原則將該複數個公開加密金鑰中之一公開加密金鑰提供至該複數個用戶端終端機中之至少一者。該電子文件中之該複數個資料欄位中之至少一者可由該複數個用戶端終端機中之至少兩者使用該私密加密金鑰及該公開加密金鑰中之至少一者來存取。In some embodiments, identifying the plurality of encryption keys may include identifying a plurality of private encryption keys and a plurality of public encryption keys for the corresponding plurality of client terminals. In some embodiments, distributing the plurality of encryption keys may include providing one of the plurality of private encryption keys to a corresponding one of the plurality of client terminals. In some embodiments, distributing the plurality of encryption keys may include providing one of the plurality of public encryption keys to at least one of the plurality of client terminals according to the access control principle By. At least one of the plurality of data fields in the electronic file can be accessed by at least two of the plurality of client terminals using at least one of the private encryption key and the public encryption key.

在某些實施例中,該至少一個伺服器可根據該存取控制原則基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機。在某些實施例中,該至少一個伺服器可回應於識別該第一用戶端終端機及該第二用戶端終端機而使用該第二用戶端終端機之一公開加密金鑰將該第一用戶端終端機之一第一加密金鑰加密。在某些實施例中,分佈該複數個加密金鑰可包含將藉助該第二用戶端終端機之該公開加密金鑰加密的該第一用戶端終端機之該第一加密金鑰提供至該第二用戶端終端機。In some embodiments, the at least one server may be based on a first role of a first client terminal and a second role of a second client terminal according to the access control principle. The client terminal recognizes the first client terminal and the second client terminal. In some embodiments, the at least one server may respond to identifying the first client terminal and the second client terminal by using one of the second client terminal's public encryption key to make the first Encryption with a first encryption key of one of the client terminals. In some embodiments, distributing the plurality of encryption keys may include providing the first encryption key of the first client terminal encrypted with the public encryption key of the second client terminal to the The second client terminal.

在某些實施例中,該至少一個伺服器可識別自該電子文件之該複數個資料欄位中之對應複數個屬性導出之複數個雜湊值。該複數個雜湊值中之每一雜湊值可確保該複數個屬性中之一者之資料完整性。在某些實施例中,該至少一個伺服器可針對該複數個用戶端終端機中之一第一用戶端終端機使用該複數個雜湊值中之一第一雜湊值及該複數個加密金鑰中之一第一加密金鑰產生一第一簽章。該第一雜湊值可自該複數個屬性中之一第一屬性導出。該第一加密金鑰可係針對該複數個資料欄位中對應於該第一屬性之一第一資料欄位。該第一簽章可確保該第一屬性及該第一資料欄位之資料完整性。In some embodiments, the at least one server can identify multiple hash values derived from corresponding multiple attributes in the multiple data fields of the electronic document. Each of the plurality of hash values can ensure the data integrity of one of the plurality of attributes. In some embodiments, the at least one server may use one of the plurality of hash values and the plurality of encryption keys for one of the plurality of client terminal sets, the first client terminal set One of the first encryption keys generates a first signature. The first hash value can be derived from the first attribute of one of the plurality of attributes. The first encryption key may be for a first data field corresponding to the first attribute among the plurality of data fields. The first signature can ensure the data integrity of the first attribute and the first data field.

在某些實施例中,該至少一個伺服器可根據該存取控制原則基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機。在某些實施例中,提供存取可包含經由自該資料欄位之一屬性導出之一雜湊值及該第一用戶端終端機之一簽章向該第二用戶端終端機提供對該第一用戶端終端機之該複數個資料欄位中之一資料欄位之存取。該第二用戶端終端機可使用該雜湊值及該簽章獲得該第一用戶端終端機之該複數個加密金鑰中之一加密金鑰。In some embodiments, the at least one server may be based on a first role of a first client terminal and a second role of a second client terminal according to the access control principle. The client terminal recognizes the first client terminal and the second client terminal. In some embodiments, providing access may include providing the second client terminal with a hash value derived from an attribute of the data field and a signature of the first client terminal. Access to one of the plurality of data fields of a client terminal. The second client terminal can use the hash value and the signature to obtain one of the encryption keys of the first client terminal.

在某些實施例中,該至少一個伺服器可判定該複數個加密金鑰跨越該複數個用戶端終端機之一分佈是否成功。在某些實施例中,該至少一個伺服器可基於該複數個加密金鑰之該分佈是否成功之一判定而將一事件通知提供至該複數個用戶端終端機中之至少一者。In some embodiments, the at least one server can determine whether the distribution of the plurality of encryption keys across one of the plurality of client terminals is successful. In some embodiments, the at least one server may provide an event notification to at least one of the plurality of client terminals based on a determination of whether the distribution of the plurality of encryption keys is successful.

在某些實施例中,識別該複數個加密金鑰可包含自該複數個用戶端終端機中之每一用戶端終端機聚合該複數個加密金鑰之一對應加密金鑰。該對應加密金鑰可由該用戶端終端機產生以將該複數個資料欄位中之一資料欄位加密。在某些實施例中,建立該電子文件可包含在一運輸文件控制中樞之一資料庫上建立該電子文件以在該複數個用戶端終端機當中協調通信,該電子文件之該複數個資料欄位對應於該資料庫上之對應複數個資料庫項目。In some embodiments, identifying the plurality of encryption keys may include aggregating one of the plurality of encryption keys corresponding to the encryption key from each of the plurality of client terminals. The corresponding encryption key can be generated by the client terminal to encrypt one of the plurality of data fields. In some embodiments, creating the electronic document may include creating the electronic document on a database of a transportation document control center to coordinate communications among the plurality of client terminals, the plurality of data fields of the electronic document The bits correspond to the corresponding plural database items on the database.

在某些實施例中,該單個交易可涉及一實體商品且可包含該實體商品之一系列子交易。該複數個資料欄位中之每一者可映射至該等子交易中之一者。在某些實施例中,該實體商品之該等子交易中之每一者可由至少一個服務提供者處置。In some embodiments, the single transaction may involve a physical commodity and may include a series of sub-transactions of the physical commodity. Each of the plurality of data fields can be mapped to one of the subtransactions. In some embodiments, each of the sub-transactions of the physical commodity can be handled by at least one service provider.

本發明 至少一個態樣係針對用於與不同用戶端終端機安全地共用來自多個源之資料之一系統。該系統可包含具有一或多個處理器之至少一個伺服器。該至少一個伺服器可建立用於定義一單個交易之一電子文件。該電子文件可具有複數個資料欄位。該複數個資料欄位中之每一者可與複數個用戶端終端機中之一者相關聯。該至少一個伺服器可識別複數個加密金鑰以將包含於該電子文件中之該對應複數個資料欄位加密。該至少一個伺服器可根據一存取控制原則跨越該複數個用戶端終端機分佈該複數個加密金鑰。該存取控制原則可基於該複數個用戶端終端機中之一對應用戶端終端機在該單個交易中之一角色而規定該對應用戶端終端機對該複數個資料欄位中之每一者之存取權限。該至少一個伺服器可經由根據該存取控制原則分佈之該複數個加密金鑰向該複數個用戶端終端機中之每一者提供對該電子文件中之該複數個資料欄位中之至少一者之存取。 The aspect of the present invention is a system for at least a plurality of common data from one source of system security with different client terminals. The system may include at least one server with one or more processors. The at least one server can create an electronic file for defining a single transaction. The electronic file may have a plurality of data fields. Each of the plurality of data fields can be associated with one of the plurality of client terminals. The at least one server can identify a plurality of encryption keys to encrypt the corresponding plurality of data fields included in the electronic document. The at least one server can distribute the plurality of encryption keys across the plurality of client terminals according to an access control principle. The access control principle may be based on one of the plurality of client terminals corresponding to a role of the client terminal in the single transaction and stipulate that the corresponding client terminal corresponds to each of the plurality of data fields The access rights. The at least one server can provide at least one of the plurality of data fields in the electronic document to each of the plurality of client terminals via the plurality of encryption keys distributed according to the access control principle Access to one.

在某些實施例中,該至少一個伺服器可自該複數個用戶端終端機中之一第一用戶端終端機接收更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性的一請求。在某些實施例中,該至少一個伺服器可根據該存取控制原則基於該第一用戶端終端機在該單個交易中之一角色而判定該第一用戶端終端機具有修改該第一資料欄位之權限。在某些實施例中,該至少一個伺服器可回應於判定該第一用戶端終端機具有該權限而准許該用戶端終端機更新該電子文件中之該第一資料欄位之該屬性。In some embodiments, the at least one server can receive and update one of the plurality of data fields in the electronic document from one of the plurality of client terminals. A request for an attribute of the data field. In some embodiments, the at least one server may determine that the first client terminal has the ability to modify the first data based on a role of the first client terminal in the single transaction according to the access control principle The permissions of the field. In some embodiments, the at least one server may permit the client terminal to update the attribute of the first data field in the electronic document in response to determining that the first client terminal has the authority.

在某些實施例中,該至少一個伺服器可回應於自該複數個用戶端終端機中之一第一用戶端終端機接收到更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性的一請求而自該單個交易中之一角色清單識別該第一用戶端終端機之一角色。在某些實施例中,該至少一個伺服器可根據該存取控制原則基於該第一用戶端終端機之該所識別角色而判定該第一用戶端終端機缺乏修改該第一資料欄位之權限。在某些實施例中,該至少一個伺服器可回應於判定該第一用戶端終端機缺乏該權限而阻止由該第一用戶端終端機更新該電子文件中之該資料欄位之該屬性。In some embodiments, the at least one server may respond to the first client terminal receiving update from one of the plurality of client terminals in the plurality of data fields in the electronic document A request for an attribute of a first data field identifies a role of the first client terminal from a role list in the single transaction. In some embodiments, the at least one server may determine that the first client terminal lacks the ability to modify the first data field based on the recognized role of the first client terminal according to the access control principle Permissions. In some embodiments, the at least one server may prevent the first client terminal from updating the attribute of the data field in the electronic document in response to determining that the first client terminal lacks the authority.

在某些實施例中,該至少一個伺服器可針對該對應複數個用戶端終端機識別複數個私密加密金鑰及複數個公開加密金鑰。在某些實施例中,該至少一個伺服器可將該複數個私密加密金鑰中之一私密加密金鑰提供至該複數個用戶端終端機中之一對應用戶端終端機。在某些實施例中,該至少一個伺服器可根據該存取控制原則將該複數個公開加密金鑰中之一公開加密金鑰提供至該複數個用戶端終端機中之至少一者。該電子文件中之該複數個資料欄位中之至少一者可由該複數個用戶端終端機中之至少兩者使用該私密加密金鑰及該公開加密金鑰中之至少一者來存取。In some embodiments, the at least one server can identify a plurality of private encryption keys and a plurality of public encryption keys for the corresponding plurality of client terminals. In some embodiments, the at least one server can provide one of the plurality of private encryption keys to a corresponding one of the plurality of client terminals. In some embodiments, the at least one server can provide one of the plurality of public encryption keys to at least one of the plurality of client terminals according to the access control principle. At least one of the plurality of data fields in the electronic file can be accessed by at least two of the plurality of client terminals using at least one of the private encryption key and the public encryption key.

在某些實施例中,該至少一個伺服器可根據該存取控制原則基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機。在某些實施例中,該至少一個伺服器可回應於識別該第一用戶端終端機及該第二用戶端終端機而使用該第二用戶端終端機之一公開加密金鑰將該第一用戶端終端機之一第一加密金鑰加密。在某些實施例中,該至少一個伺服器可將藉助該第二用戶端終端機之該公開加密金鑰加密的該第一用戶端終端機之該第一加密金鑰提供至該第二用戶端終端機。In some embodiments, the at least one server may be based on a first role of a first client terminal and a second role of a second client terminal according to the access control principle. The client terminal recognizes the first client terminal and the second client terminal. In some embodiments, the at least one server may respond to identifying the first client terminal and the second client terminal by using one of the second client terminal's public encryption key to make the first Encryption with a first encryption key of one of the client terminals. In some embodiments, the at least one server may provide the first encryption key of the first client terminal encrypted with the public encryption key of the second client terminal to the second user End terminal.

在某些實施例中,該至少一個伺服器可識別自該電子文件之該複數個資料欄位中之對應複數個屬性導出之複數個雜湊值。該複數個雜湊值中之每一雜湊值可確保該複數個屬性中之一者之資料完整性。在某些實施例中,該至少一個伺服器可針對該複數個用戶端終端機中之一第一用戶端終端機使用該複數個雜湊值中之一第一雜湊值及該複數個加密金鑰中之一第一加密金鑰產生一第一簽章。該第一雜湊值可自該複數個屬性中之一第一屬性導出。該第一加密金鑰可係針對該複數個資料欄位中對應於該第一屬性之一第一資料欄位。該第一簽章可確保該第一屬性及該第一資料欄位之資料完整性。In some embodiments, the at least one server can identify multiple hash values derived from corresponding multiple attributes in the multiple data fields of the electronic document. Each of the plurality of hash values can ensure the data integrity of one of the plurality of attributes. In some embodiments, the at least one server may use one of the plurality of hash values and the plurality of encryption keys for one of the plurality of client terminal sets, the first client terminal set One of the first encryption keys generates a first signature. The first hash value can be derived from the first attribute of one of the plurality of attributes. The first encryption key may be for a first data field corresponding to the first attribute among the plurality of data fields. The first signature can ensure the data integrity of the first attribute and the first data field.

在某些實施例中,該至少一個伺服器可根據該存取控制原則基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機。在某些實施例中,該至少一個伺服器可經由自該資料欄位之一屬性導出之一雜湊值及該第一用戶端終端機之一簽章向該第二用戶端終端機提供對該第一用戶端終端機之該複數個資料欄位中之一資料欄位之存取。該第二用戶端終端機可使用該雜湊值及該簽章獲得該第一用戶端終端機之該複數個加密金鑰中之一加密金鑰。In some embodiments, the at least one server may be based on a first role of a first client terminal and a second role of a second client terminal according to the access control principle. The client terminal recognizes the first client terminal and the second client terminal. In some embodiments, the at least one server may provide the second client terminal with a hash value derived from an attribute of the data field and a signature of the first client terminal. Access to one of the plurality of data fields of the first client terminal. The second client terminal can use the hash value and the signature to obtain one of the encryption keys of the first client terminal.

在某些實施例中,該至少一個伺服器可判定該複數個加密金鑰跨越該複數個用戶端終端機之一分佈是否成功。在某些實施例中,該至少一個伺服器可基於該複數個加密金鑰之該分佈是否成功之一判定而將一事件通知提供至該複數個用戶端終端機中之至少一者。In some embodiments, the at least one server can determine whether the distribution of the plurality of encryption keys across one of the plurality of client terminals is successful. In some embodiments, the at least one server may provide an event notification to at least one of the plurality of client terminals based on a determination of whether the distribution of the plurality of encryption keys is successful.

在某些實施例中,該至少一個伺服器可自該複數個用戶端終端機中之每一用戶端終端機聚合該複數個加密金鑰之一對應加密金鑰。該對應加密金鑰可由該用戶端終端機產生以將該複數個資料欄位中之一資料欄位加密。在某些實施例中,該至少一個伺服器可在一運輸文件控制中樞之一資料庫上建立該電子文件以在該複數個用戶端終端機當中協調通信,該電子文件之該複數個資料欄位對應於該資料庫上之對應複數個資料庫項目。In some embodiments, the at least one server can aggregate the encryption key corresponding to one of the plurality of encryption keys from each of the plurality of client terminals. The corresponding encryption key can be generated by the client terminal to encrypt one of the plurality of data fields. In some embodiments, the at least one server may create the electronic document on a database of a transportation document control center to coordinate communication among the plurality of client terminals, and the plurality of data fields of the electronic document The bits correspond to the corresponding plural database items on the database.

在某些實施例中,該單個交易可涉及一實體商品且可包含該實體商品之一系列子交易。該複數個資料欄位中之每一者可映射至該等子交易中之一者。在某些實施例中,該實體商品之該等子交易中之每一者可由至少一個服務提供者(例如,托運人、承運人、船舶經營者、碼頭經營者)處置。一服務提供者亦可稱為一促進者或交易成員/使用者。In some embodiments, the single transaction may involve a physical commodity and may include a series of sub-transactions of the physical commodity. Each of the plurality of data fields can be mapped to one of the subtransactions. In some embodiments, each of the sub-transactions of the physical commodity can be handled by at least one service provider (eg, shipper, carrier, ship operator, terminal operator). A service provider can also be called a facilitator or transaction member/user.

熟習此項技術者可基於本發明之研究而明白系統及方法之替代實施例。出於本文中所附加之申請專利範圍之目的,此等替代實施例意欲作為等效內容。Those familiar with the art can understand alternative embodiments of the system and method based on the research of the present invention. For the purpose of the scope of patent application appended herein, these alternative embodiments are intended as equivalent content.

相關申請案之交叉參考Cross reference of related applications

本申請案主張2019年2月25日提出申請之標題為「Encrypted Distributed Ledger for Use with Freight Shipping Organizations, and methods of use」之美國臨時申請案62/919,097的優先權,該美國臨時申請案之內容係以其全文引用的方式併入。本申請案係2019年4月5日提出申請之標題為「Zero Trust Communication System for Freight Shipping Organizations, and Methods of Use」之US 16/501,399之一部分接續案,該申請案係以其全文引用的方式併入本文中。This application claims priority to the U.S. Provisional Application 62/919,097 entitled "Encrypted Distributed Ledger for Use with Freight Shipping Organizations, and methods of use" filed on February 25, 2019. The content of the U.S. Provisional Application It is incorporated by reference in its entirety. This application is a continuation of a part of US 16/501,399 entitled "Zero Trust Communication System for Freight Shipping Organizations, and Methods of Use" filed on April 5, 2019. The application is quoted in its entirety Incorporated into this article.

多個當事方共用資料可產生協同作用及效率。然而,當進行一單個交易(例如,多級交易、多方交易、一子交易系列/序列)所需要或利用之資料對單個交易中所涉及之當事方中之一或多者可為機密的時,資料共用可係一問題。在運輸貨物領域中,此問題可係尤其嚴峻的。其他業務亦可具有此問題。一可能解決方案可係利用加密技術來保護資料私密性同時在一分散式分類帳系統中允許適當當事方共用相關資料的一系統及程序,如本文中所闡述。所闡述之系統及方法在運輸貨品及貨物中可係有用的。本文中所闡述之系統及方法亦可應用於其他行業中。The sharing of data by multiple parties can produce synergy and efficiency. However, when conducting a single transaction (for example, a multi-level transaction, a multi-party transaction, a sub-transaction series/sequence), the information required or used may be confidential to one or more of the parties involved in the single transaction At times, data sharing can be a problem. In the field of transportation of goods, this problem can be particularly severe. Other businesses may also have this problem. One possible solution may be a system and procedure that uses encryption technology to protect the privacy of data while allowing appropriate parties to share relevant data in a distributed ledger system, as described in this article. The described system and method can be useful in transporting goods and cargo. The systems and methods described in this article can also be applied to other industries.

本文中所闡述之貨物追蹤系統及方法可幫助公司及個體追蹤貨物在運輸程序中之進度。此可藉由使各個使用者將運輸文件提供給系統來達成。系統可含有提供角色之一清單及每一角色之權利的一查找表。當一使用者將一運輸文件提交給系統時,運輸文件可含有使用者之識別碼,及個別運輸方之一角色清單。系統可使來自運輸文件的使用者之所列出角色與一查找表中的角色之權利相關。系統可處理運輸文件,因此使用者及相關運輸方可能夠在將資料加密之後存取資料。系統中之每一使用者可具有一或多個所定義角色。對一運輸文件中之每一資料屬性之存取可由使用者之角色定義。一使用者可根據使用者在存取控制原則中之角色僅存取與其有關之資料。The cargo tracking system and method described in this article can help companies and individuals track the progress of cargo in the transportation process. This can be achieved by allowing each user to provide transportation documents to the system. The system may contain a look-up table that provides a list of roles and the rights of each role. When a user submits a transportation document to the system, the transportation document may contain the user's identification code and a list of roles of individual transportation parties. The system can correlate the listed roles of the users from the transport document with the rights of the roles in a lookup table. The system can process shipping documents, so users and related shipping parties can access the data after encrypting the data. Each user in the system can have one or more defined roles. The access to each data attribute in a transport document can be defined by the user's role. A user can only access data related to it according to the user's role in the access control policy.

系統可辨識由一使用者提交之一運輸文件且可將該運輸文件之每一資料屬性加密。第一加密程序可針對每一資料屬性創建一個別加密金鑰。The system can recognize a transport document submitted by a user and can encrypt each data attribute of the transport document. The first encryption procedure can create a unique encryption key for each data attribute.

作為一實例,一運輸文件可具有五個標頭及五個資料屬性。第一加密程序可將該五個資料屬性加密,而不將該五個標頭欄位加密。分散式分類帳亦可具有與每一經加密資料屬性中之至少一者對應之標頭欄位。分散式分類帳之標頭欄位對應於該運輸文件之標頭欄位中之至少一者。在某些實施例中,分散式分類帳之標頭欄位在一對一基礎上與運輸文件之標頭欄位對應。可不將分散式分類帳標頭欄位加密,但可將與分散式分類帳之每一標頭欄位對應之資料屬性加密。一第二級別之加密可用於將分散式分類帳之資料屬性中之加密金鑰中之每一者加密。可藉由使用在運輸程序中具有已知角色之一或多個使用者之公開金鑰而進行該第二級別之加密。第二加密程序可藉由使來自運輸文件之使用者角色與查找表相關而識別使用者在運輸中之角色。然後,使用者之公開金鑰可用於基於使用者所指派角色及存取原則而將對應於與使用者有關之資料屬性之加密金鑰加密。可將各種屬性(經加密資料屬性、基於不同角色之經加密加密金鑰、雜湊(由經加密資料屬性產生)及文件發起者之簽章)放置至一基於權限之區塊鏈分散式分類帳區塊鏈節點中。某些使用者可具有其自身之區塊鏈節點。為在使用區塊鏈分散式分類帳時改良可擴縮性及效能,可將資料放置至屬運輸中所涉及之使用者之節點中。As an example, a transportation document may have five headers and five data attributes. The first encryption procedure can encrypt the five data attributes without encrypting the five header fields. The distributed ledger may also have a header field corresponding to at least one of the attributes of each encrypted data. The header field of the distributed ledger corresponds to at least one of the header fields of the transportation document. In some embodiments, the header field of the distributed ledger corresponds to the header field of the shipping document on a one-to-one basis. The header field of the distributed ledger may not be encrypted, but the data attributes corresponding to each header field of the distributed ledger can be encrypted. A second level of encryption can be used to encrypt each of the encryption keys in the data attributes of the distributed ledger. The second level of encryption can be performed by using the public key of one or more users with known roles in the transportation process. The second encryption process can identify the user's role in the transportation by correlating the user role from the transportation document with the lookup table. Then, the user's public key can be used to encrypt the encryption key corresponding to the data attribute of the user based on the role assigned by the user and the access policy. Various attributes (encrypted data attributes, encrypted encryption keys based on different roles, hashes (generated by encrypted data attributes), and signature of the file originator) can be placed in a permission-based blockchain distributed ledger In the blockchain node. Some users may have their own blockchain nodes. In order to improve scalability and performance when using blockchain distributed ledger, data can be placed in nodes belonging to users involved in transportation.

系統中之每一使用者可具有一或多個所指派角色。每一運輸文件角色清單可識別提交運輸文件角色清單之使用者之角色,且運輸文件角色清單可識別運輸中可涉及之使用者之角色。在某些實施例中,角色清單可追蹤誰創建了其、使用者之角色及對應使用者之一清單以及一定位子金鑰(創建者之識別碼及運輸文件之預訂號)。Each user in the system can have one or more assigned roles. The role list of each transportation document can identify the role of the user who submitted the role list of the transportation document, and the role list of the transportation document can identify the role of the user that can be involved in the transportation. In some embodiments, the role list can track who created it, the user's role and a list of corresponding users, and a location subkey (identification code of the creator and reservation number of the transportation document).

可與所有類型之運輸文件一起使用本文中所闡述之各種實施例。一共同運輸文件係一「預訂」–創建一提單之一前體文件。儘管可與本發明系統一起使用諸多運輸文件,但諸多實例可使用術語「預訂」或「預訂資料」。此等術語應被視為分別與任何運輸文件或運輸文件資料相同。The various embodiments described herein can be used with all types of shipping documents. A common transport document is a "reservation"-creating a precursor document of a bill of lading. Although many shipping documents can be used with the system of the present invention, many examples can use the term "reservation" or "reservation information." These terms should be regarded as the same as any transport documents or transport documents, respectively.

在某些實施例中,各個使用者之間可存在允許其看到彼此之資料屬性之一關係。在某些實施例中,可存在建構至查找表中之業務關係,該查找表准許一個使用者看到並非其自身之業務之一部分之資料。可透過每一當事方識別其需要之權利以及其期望之權利來導出存取權之查找表,其中系統控制器係每一使用者具有之權利之最終仲裁者。In some embodiments, each user may have a relationship that allows them to see each other's data attributes. In some embodiments, there may be a business relationship constructed into a lookup table that allows a user to see data that is not part of his own business. A look-up table of access rights can be derived by identifying the rights needed by each party and the rights they expect. The system controller is the ultimate arbiter of the rights each user has.

在某些實施例中,分散式分類帳可表示一單個運輸文件。在某些實施例中,可存在併入至一單個分散式分類帳中之多個運輸文件。In some embodiments, the distributed ledger may represent a single shipping document. In some embodiments, there may be multiple shipping documents incorporated into a single distributed ledger.

在某些實施例中,不對稱密碼學可用作本文中所闡述之加密方法之一部分或全部。In some embodiments, asymmetric cryptography can be used as part or all of the encryption methods described herein.

特定方法中之總體程序之概略圖。A schematic diagram of the overall procedure in a specific method.

在圖1中展示用於追蹤一運輸在貨運通道中之狀態之程序。陰影橢圓展示一單個運輸交易中之各個當事方,及其如何使用EDI (電子資料互換)彼此進行通信。當事方之實例經展示為一托運人、代運人、承運人、碼頭、海關、港務局及收貨人。Shown in Figure 1 is a procedure for tracking the status of a transport in a freight lane. The shaded ellipse shows the parties in a single transportation transaction and how they communicate with each other using EDI (Electronic Data Interchange). Examples of parties are shown as a shipper, forwarder, carrier, terminal, customs, port authority, and consignee.

當事方之簡要說明Brief description of the parties

托運人 – 將貨品運輸至收貨人之公司或人。Shipper-The company or person that transports the goods to the consignee.

收貨人 – 一貨運合同中經指定已將商品運輸至或移交看護之人或公司。Consignee-a person or company designated in the freight contract to transport or hand over the goods to the caregiver.

代運人(或貨物代運人) – 從事於組裝、收集、鞏固、運輸及分佈零擔貨運(less-than-carload或less-than-truckload)貨物之業務的一人或企業。以及在通過海關轉運貨物中充當代理(包含充分準備文件、安排運輸、入倉、交貨及出口結關)之一人。Forwarder (or cargo forwarder)-A person or enterprise engaged in the business of assembling, collecting, consolidating, transporting and distributing less-than-carload (less-than-carload or less-than-truckload) cargo. And one of the agents in the transshipment of goods through customs (including adequate preparation of documents, arranging transportation, warehousing, delivery and export clearance).

承運人 – 經營運送旅客或商品以獲得租金之一個體或法律實體。Carrier-an entity or legal entity that operates to transport passengers or goods for rent.

船舶經營者 – 負責船舶之操作成本、維修及盈餘之任何企業單位。經營者可為或可並非船舶之擁有者。成本包含船員工資、港口費及船體險。海運承運人透過聯盟或船舶共用協議來共用船舶之使用,且一承運人之一船舶擁有者(船舶經營者)可載運透過其他承運人預訂之運輸。Ship operator-any business unit responsible for the operating costs, maintenance and surplus of ships. The operator may or may not be the owner of the ship. The cost includes crew wages, port fees and hull insurance. Ocean carriers share the use of ships through alliances or ship sharing agreements, and one of the ship owners (ship operators) of one carrier can carry the transportation booked through other carriers.

碼頭經營者 – 海上碼頭經營者(MTO)為在海運對外貿易中移動貨品之海洋共同承運人提供碼頭停泊位、船塢、倉庫或其他海上碼頭設施。Terminal Operators-Marine Terminal Operators (MTO) provide dock berths, docks, warehouses or other offshore terminal facilities for marine co-carriers who move goods in maritime foreign trade.

除一貨物運輸之此等當事方之外,亦可存在對一貨物運輸感興趣之其他當事方,諸如政府機關(海關、檢驗局)、金融機構、保險公司等等。In addition to these parties in a cargo transportation, there may also be other parties interested in a cargo transportation, such as government agencies (customs, inspection bureau), financial institutions, insurance companies, and so on.

托運人102可產生一產品運輸且透過直接通信將資訊提供給其他當事方。此等係自托運人102至代運人104、承運人106、碼頭108、海關110、港務局112、收貨人114及(若需要)一金融機構116 (諸如一銀行、放款人、保險公司、債券持有人等)中之每一者之單向通信。如圖1中可見,與其他當事方之每一通信係與每一當事方之一單向通信,每一當事方基本上向其他當事方發送與一運輸有關之某些資訊,且然後接收當事方向原始當事方發送一回應。程序中之每一當事方可已針對此形式之通信開發了其自身之專屬技術。通信協定未經整合以共同起作用,因此每一接收當事方將接收一訊息,且然後以其自身之協定做出回應且等待其他當事方做出回應。此程序為低效的且耗時的。 A shipper 102 can generate a product shipment and provide information to other parties through direct communication. These are from shipper 102 to forwarder 104, carrier 106, terminal 108, customs 110, port authority 112, consignee 114 and (if necessary) a financial institution 116 (such as a bank, lender, insurance company) , Bondholders, etc.) one-way communication. As can be seen in Figure 1, every communication with other parties is a one-way communication with one of each party, and each party basically sends certain information related to a transportation to the other parties. And then the receiving party sends a response to the original party. Each party in the program may have developed its own proprietary technology for this form of communication. The communication protocol is not integrated to work together, so each receiving party will receive a message, and then respond with its own agreement and wait for other parties to respond. This procedure is inefficient and time-consuming.

可給一運輸合同中之各個當事方指派運輸中之一或多個角色。在圖2中展示各種角色。每一所指派角色之位置在圖中由一不同陰影標記。圖2僅僅係說明性的。諸多其他角色位置係可能的且存在於實際交易中。可在圖2中所展示之圖解說明200中看到在世界範圍內創建一預訂與運輸貨運之系統。在某些實施例中,一托運人202可藉由判定商品將經收取且發送至一特定目的地而開始一運輸預訂。托運人202可創建一預訂請求(形成一商業合同以發送貨物之一預備步驟),且指定具有如所展示之碼頭A、B及C之一港務局204。托運人亦可選擇一船或船舶以由一船舶經營者206載運貨品。托運人202亦可指定一最終收貨人208進行運輸。亦在圖2中藉由實例方式圖解說明一運輸可採取之路線。若遵循自起點(收貨地點)至終點(最終目的地)之路徑,則可見,涉及眾多當事方。在此路線內運送商品可涉及諸多當事方,其全部具有其自身之通信模式,如先前所闡述。Each party in a contract of carriage may be assigned one or more roles in transportation. Various roles are shown in Figure 2. The position of each assigned role is marked by a different shade in the figure. Figure 2 is only illustrative. Many other character positions are possible and exist in actual transactions. It can be seen in the illustration 200 shown in FIG. 2 that a system for booking and shipping freight is created worldwide. In some embodiments, a shipper 202 may initiate a transportation reservation by determining that the merchandise will be collected and sent to a specific destination. The shipper 202 can create a reservation request (a preparatory step of forming a commercial contract to send the goods), and designate a port authority 204 with a terminal A, B, and C as shown. The shipper may also choose a ship or ship to carry the goods by a ship operator 206. The shipper 202 may also designate a final consignee 208 for transportation. Also illustrated in Figure 2 by way of examples illustrate the possible routes of a transportation. If you follow the path from the starting point (receiving place) to the ending point (final destination), it can be seen that many parties are involved. Transporting goods within this route may involve many parties, all of which have their own communication mode, as explained earlier.

以上實例未展示一運輸中可涉及之所有當事方。每當貨物進入一港口時,一港務局204可具有在其管轄權下工作之數個代理。可存在各種檢驗員(例如,針對糧食、牲畜、水果及蔬菜)、對未經授權之危險品之檢查、用以證明任何受製裁材料之ITC檢驗、移民檢驗員等等。碼頭經營者可屬一私營公司且在數個其他港口具有在其權威下之碼頭設施。在某些情形中,一當事方可屬一更大公司,其中該公司必須沿著一上級組織之子公司鏈向上或向下進行通信。The above examples do not show all the parties involved in a transportation. Whenever cargo enters a port, a port authority 204 may have several agents working under its jurisdiction. There may be various inspectors (for example, for food, livestock, fruits and vegetables), inspections of unauthorized dangerous goods, ITC inspections to prove any sanctioned materials, immigration inspectors, etc. The terminal operator can be a private company and has terminal facilities under its authority in several other ports. In some cases, a party may belong to a larger company, where the company must communicate up or down along a chain of subsidiaries of a parent organization.

在本文中闡述創建一新類型之預訂合同(一類型之運輸文件)之一系統及方法之各種實施例,該新類型之預訂合同允許協議之相關當事方藉由以一單點聯繫進行檢查而追蹤貨運之進度。該單點聯繫提供對於所有相關當事方可係可用之最新資訊且避開使每一當事方一次一個地或以一順序方式與每一其他當事方通信之限定性通信。可隨著貨品移動穿過各個運送階段而連續地更新各個使用者。此等更新可包含貨品之狀態、債務、監管事項及其他問題。In this article, various embodiments of a system and method for creating a new type of booking contract (a type of transportation document) are described. The new type of booking contract allows the relevant parties of the agreement to be checked by a single point of contact And track the progress of the shipment. This single point of contact provides up-to-date information that is available to all relevant parties and avoids restricted communications that allow each party to communicate with each other party one at a time or in a sequential manner. Each user can be continuously updated as the goods move through each stage of delivery. These updates may include the status of the goods, debts, regulatory issues and other issues.

如本文中所使用,術語「使用者」可係指一個體或組織。一使用者可係可存取系統且與本文中所闡述之程序互動之任何人、當事方、組織或程式。可存取如本文中所闡述之系統之任何個體或實體可被視為一使用者。本發明亦利用詳述各個使用者之特定權利、特權及責任之清單。一般而言,一使用者可表示一交易中之一角色,儘管不必要使每一使用者成為交易之一當事方。術語「使用者」及「當事方」可在本文中互換地使用,除非內容脈絡另有清晰指示。As used herein, the term "user" can refer to a body or tissue. A user can be any person, party, organization, or program that can access the system and interact with the procedures described in this article. Any individual or entity that can access the system as described herein can be considered a user. The present invention also utilizes lists detailing the specific rights, privileges and responsibilities of each user. Generally speaking, a user can represent a role in a transaction, although it is not necessary to make each user a party to the transaction. The terms "user" and "party" can be used interchangeably in this article, unless the context clearly indicates otherwise.

在某些實施例中,一使用者可登上系統且然後可獲得金鑰保存庫存取及各種所指派金鑰。該使用者可起始一金鑰保存庫程序300 (圖3),至系統之一初始登入或開始302。該使用者登上系統且系統可登入至一金鑰儲存區,且使金鑰儲存區為使用者產生一金鑰保存庫304。系統之一全域使用者清單(或全域成員清單)可記錄使用者之基本資訊。該基本資訊可包含使用者之姓名、使用者在任一預訂中之角色、聯繫資訊及與使用者具有之角色相關之其他資訊。系統可將使用者金鑰保存庫之映射儲存於一金鑰保存庫映射資料庫中306。然後,使用者可登入至系統以產生公開金鑰及私密金鑰。可將私密金鑰儲存於使用者之私密金鑰保存庫中308。系統可自金鑰保存庫獲得公開金鑰,且將公開金鑰儲存於一公開金鑰儲存庫中310。一旦兩個金鑰在其各別資料庫中得到保護,程序便可結束312。在某些實施例中,使用者可具有對一金鑰保存庫之預配置存取且連同如本文中所闡述之系統使用一預先存在金鑰保存庫。In some embodiments, a user can log on to the system and then obtain a key storage inventory and various assigned keys. The user can start a key storage library program 300 (FIG. 3) to an initial login or start 302 of the system. The user logs on to the system and the system can log in to a key storage area, and the key storage area generates a key repository 304 for the user. A global user list (or global member list) of the system can record basic information of users. The basic information may include the user's name, the user's role in any reservation, contact information, and other information related to the user's role. The system can store the mapping of the user key repository in a key repository mapping database 306. Then, the user can log in to the system to generate a public key and a private key. The private key can be stored in the user's private key repository 308. The system can obtain the public key from the key repository, and store the public key in a public key repository 310. Once the two keys are protected in their respective databases, the procedure can end 312. In some embodiments, users may have pre-configured access to a key repository and use a pre-existing key repository in conjunction with the system as described herein.

在某些實施例中,一當事方可一次追蹤一或多個金鑰。可使用金鑰位置400 (圖4),因此一當事方可有權使用其自身之私密金鑰404,而系統可使用當事方之公開金鑰402。每一使用者可具有一金鑰保存庫,該金鑰保存庫具有一私密金鑰404及一公開金鑰402。該公開金鑰可儲存於系統服務提供者網路中。系統可藉由使用使用者組織之公開金鑰而將一資料加密金鑰加密。此加密可發生在系統服務提供者網路中。當系統將經加密資料加密金鑰(DEK)解密時,系統經由一安全網路連接410將經加密DEK發送至金鑰儲存區網路。金鑰儲存區然後可使用使用者之私密金鑰404來將經加密DEK 406解密以在金鑰儲存區網路中產生一經解密DEK。金鑰儲存區然後可再次經由一安全網路連接412將經解密DEK 408往回發送至系統。使用者可使用DEK 408來將與彼特定金鑰有關之經加密資料解密。In some embodiments, a party can track one or more keys at a time. The key location 400 (FIG. 4) can be used, so a party can have the right to use its own private key 404, and the system can use the party's public key 402. Each user can have a key repository, and the key repository has a private key 404 and a public key 402. The public key can be stored in the system service provider network. The system can encrypt a data encryption key by using the public key of the user organization. This encryption can occur in the system service provider network. When the system decrypts the encrypted data encryption key (DEK), the system sends the encrypted DEK to the key storage area network via a secure network connection 410. The key storage area can then use the user's private key 404 to decrypt the encrypted DEK 406 to generate a decrypted DEK in the key storage area network. The key storage area can then again send the decrypted DEK 408 back to the system via a secure network connection 412. The user can use DEK 408 to decrypt the encrypted data related to the specific key.

在某些實施例中,每一資料屬性加密金鑰可使用一單獨公開金鑰或一單獨加密協定來加密,但使用相同公開金鑰來將資料加密金鑰加密。在一特定使用者可具有准許彼使用者看到每一預訂記錄中之多個資料屬性之一角色之情況下,可針對使用者存取之每一欄位重複以上程序。此加密及解密程序之使用發生在各個系統之間的通信中,且對存取資料庫資訊之人可係不可見的。In some embodiments, each data attribute encryption key can be encrypted using a separate public key or a separate encryption protocol, but the same public key is used to encrypt the data encryption key. In the case that a specific user can have a role that allows the user to see multiple data attributes in each reservation record, the above procedure can be repeated for each field accessed by the user. The use of this encryption and decryption process occurs in the communication between the various systems, and may be invisible to those who access the database information.

在某些實施例中,一使用者可透過一鑑認程序500 (圖5)獲得對系統之存取。該使用者可藉由提供其登入名及密碼而存取一用戶端應用程式502。用戶端應用程式502可向經授權使用者提供組織認證且可透過一安全網路連接504將登入請求發送至一授權權杖產生器506。用戶端應用程式502可提供鑑認資訊(例如,使用者姓名及密碼以及任何其他鑑認資訊)。舉例而言,鑑認資訊可係一API訂用ID及秘密(例如,密碼)。該授權權杖產生器可自用戶端應用程式接收API訂用ID及秘密且對照API訂用資料庫驗證資訊。一旦可鑑認此等項目,權杖產生器506便可產生可傳回至使用者之一權杖。使用者之用戶端應用程式502然後可使用權杖以透過安全網路連接504與預訂API 508通信。使用者可獲得對預訂API 508之存取以輸入及/或存取資料。In some embodiments, a user can gain access to the system through an authentication process 500 (FIG. 5). The user can access a client application 502 by providing his login name and password. The client application 502 can provide organization authentication to authorized users and can send a login request to an authorization token generator 506 via a secure network connection 504. The client application 502 can provide authentication information (for example, user name and password and any other authentication information). For example, the authentication information may be an API subscription ID and secret (for example, password). The authorization token generator can receive the API subscription ID and secret from the client application and verify the information against the API subscription database. Once these items can be authenticated, the token generator 506 can generate a token that can be returned to the user. The user's client application 502 can then use the token to communicate with the reservation API 508 via the secure network connection 504. The user can gain access to the booking API 508 to enter and/or access data.

在某些實施例中,用戶端應用程式502可係授權權杖產生器506或預訂API 508之一基於網路之入口網站及部分。在某些實施例中,用戶端應用程式502可係用戶端自身之軟體,且授權權杖產生器506及預訂API 508可經調試以與用戶端軟體通信。在一些實施例中,授權權杖產生器506及預訂API 508可係相同應用程式(未展示)。在某些實施例中,授權權杖可對用戶端應用程式可存取預訂API 508多長時間具有一預定時間限制,或者用戶端應用程式502可必須在每一工作階段使其自身由授權權杖產生器506鑑認。在某些實施例中,一預定時間量可設定為一「超時」安全協定,以在一設定不活動時間之後自動注銷一使用者。In some embodiments, the client application 502 can be a web-based portal and part of the authorization token generator 506 or the subscription API 508. In some embodiments, the client application 502 can be the client's own software, and the authorization token generator 506 and the subscription API 508 can be debugged to communicate with the client software. In some embodiments, the authorization token generator 506 and the subscription API 508 may be the same application (not shown). In some embodiments, the authorization token may have a predetermined time limit on how long the client application can access the reservation API 508, or the client application 502 may have to authorize itself at each work stage The rod generator 506 authenticates. In some embodiments, a predetermined amount of time can be set as a "timeout" security protocol to automatically log out a user after a set period of inactivity.

在某些實施例中,可存在API管理程序之三個域,如圖6中所展示。在某些實施例中,展示API介面600之交握。API介面600可使用用戶端應用程式602、API管理工具604及一區塊鏈API 606。一用戶端應用程式602可係由用戶端(使用者)創建之一應用程式或經具體地創建以與API管理工具604一起工作之一應用程式。使用者可登入至用戶端應用程式602且可提交一請求(例如,創建一預訂請求),用戶端應用程式602可將一驗證請求608 (在某些實施例中,其可包含API訂用ID及一秘密)發送至API管理工具604。驗證請求608可產生一用戶鑑認616結果,或一錯誤(未展示)。若用戶鑑認616係結果,則API管理工具604然後可產生一存取權杖且將權杖610傳回至用戶端應用程式602。用戶端應用程式602然後可將存取權杖及預訂請求有效負載612發送至API管理工具604。當API管理工具604接收權杖及有效負載612請求時,API管理工具604可提供權杖鑑認618。然後,可鑑認權杖,可基於權杖及組織之映射而將權杖解析為組織ID。然後可將組織ID及有效負載請求發送614至區塊鏈API 606以對區塊鏈節點進行寫入。In some embodiments, there may be three domains of the API management program, as shown in FIG. 6. In some embodiments, the handshake of the API interface 600 is shown. The API interface 600 can use a client application 602, an API management tool 604, and a blockchain API 606. A client application 602 may be an application created by the client (user) or an application specifically created to work with the API management tool 604. The user can log in to the client application 602 and submit a request (for example, create a reservation request), and the client application 602 can send a verification request 608 (in some embodiments, it may include an API subscription ID And a secret) sent to the API management tool 604. The verification request 608 can generate a user authentication 616 result, or an error (not shown). If the user authentication 616 is the result, the API management tool 604 can then generate an access token and return the token 610 to the client application 602. The client application 602 can then send the access token and the subscription request payload 612 to the API management tool 604. When the API management tool 604 receives a token and payload 612 request, the API management tool 604 can provide token authentication 618. Then, the token can be authenticated, and the token can be resolved into an organization ID based on the mapping between the token and the organization. The organization ID and payload request can then be sent 614 to the blockchain API 606 to write to the blockchain node.

圖6中所展示之實例性實施例具有三個域。用戶端應用程式602可存在於用戶端應用程式網路中。API管理工具604可駐存於API管理工具網路中,且區塊鏈API 606可駐存於系統服務提供者網路中。然而,在某些實施例中,API管理工具網路及系統服務提供者網路可合併至一單個系統網路中。在又其他實施例中,可使用3個以上域。The example embodiment shown in Figure 6 has three domains. The client application 602 may exist in the client application network. The API management tool 604 may reside in the API management tool network, and the blockchain API 606 may reside in the system service provider network. However, in some embodiments, the API management tool network and the system service provider network can be combined into a single system network. In still other embodiments, more than 3 domains may be used.

在某些實施例中,可存在一API管理程序700,如圖7中所展示。API管理程序700可向一使用者提供對本發明之系統之存取,且在登入時向系統鑑認使用者。一使用者可在開始方塊702處開始,其中使用者可透過鑑認一使用者之一API管理程序700存取系統,如本文中所闡述。訂用ID可由系統指派給使用者,或使用者可選擇一訂用ID (例如,自一下拉式選單,或一組系統選項)且系統記錄其。該訂用ID可基於一訂用費(基於一貨幣支付、一以物換物交換),或其可係免費的。可將訂用ID發出給監管機構、支付客戶、系統管理者或需要對本文中所闡述之系統之存取之任何其他當事方。每一使用者亦可具有可隨登入請求或隨與系統之每一通信發出給系統之一秘密。一旦使用者與系統建立秘密,秘密便可儲存於API管理程序700或API管理程序700可視需要存取以檢查使用者秘密之一資料庫中。可採取額外步驟,或替代步驟可代替訂用ID及秘密挑戰,使得可使用任何形式之用於一使用者之鑑認之可接受安全性。In some embodiments, there may be an API management program 700, as shown in FIG. 7. The API management program 700 can provide a user with access to the system of the present invention, and authenticate the user to the system when logging in. A user can start at start block 702, where the user can access the system through an API management program 700 that authenticates a user, as described herein. The subscription ID can be assigned to the user by the system, or the user can select a subscription ID (for example, a pull-down menu, or a set of system options) and the system records it. The subscription ID can be based on a subscription fee (based on a currency payment, a barter exchange), or it can be free. The subscription ID can be issued to regulatory agencies, payment customers, system administrators, or any other parties that need access to the system described in this article. Each user can also have a secret that can be sent to the system with the login request or with each communication with the system. Once the user establishes a secret with the system, the secret can be stored in the API management program 700 or the API management program 700 can be accessed as needed to check user secrets in a database. Additional steps can be taken, or alternative steps can replace subscription IDs and secret challenges, so that any form of acceptable security for a user’s authentication can be used.

系統可對照其自身之準則檢查鑑認認證以驗證鑑認可係正確的706。若鑑認失敗,則可報告一錯誤714且程序結束716。當鑑認成功時,可將一權杖發出708至用戶端應用程式。用戶端應用程式然後可將權杖與一有效負載請求710一起提交給API管理工具。API管理工具可檢查權杖以查看其是否有效712。若權杖並非有效的,則可傳回一錯誤回應714。若權杖係有效的,則可基於權杖及組織之映射而將權杖解析為組織ID 718。然後可將組織ID及有效負載請求轉發至區塊鏈API且程序結束716。The system can check the authentication certificate against its own criteria to verify that the authentication is correct 706. If the authentication fails, an error 714 can be reported and the procedure ends 716. When the authentication is successful, a token can be sent 708 to the client application. The client application can then submit the token along with a payload request 710 to the API management tool. The API management tool can check the token to see if it is valid 712. If the token is not valid, an error response 714 can be returned. If the token is valid, the token can be resolved to the organization ID 718 based on the mapping between the token and the organization. The organization ID and payload request can then be forwarded to the blockchain API and the procedure ends 716.

有效負載請求可係用於預訂請求API (或其他運輸文件API)之預訂請求資料。當由系統確認權杖及組織ID時,可隨著做出預訂預留請求而將資料儲存至相同資料庫。資料可經加密且儲存於一區塊鏈資料庫中。如本文中所闡述,用於預訂請求之資料可含有標頭欄位。每一資料屬性可具有一對應標頭欄位。可在具有或不具有一對應標頭欄位之情況下,將資料屬性儲存至資料庫中。在其中可於不具有一標頭欄位之情況下儲存資料的情形中,每一資料屬性可含有其所來自之標頭欄位之一指標,因此當讀取資料時,可在恰當欄位中恰當地展示資料。類似地,當使用經加密資料來建構各個當事方之間的關係時(諸如當做出一提單(B/L)時),標頭資料可係有用的。The payload request may be the reservation request data used in the reservation request API (or other transportation document API). When the token and organization ID are confirmed by the system, the data can be stored in the same database as the reservation reservation request is made. The data can be encrypted and stored in a blockchain database. As explained in this article, the data used for the reservation request can contain header fields. Each data attribute can have a corresponding header field. The data attribute can be stored in the database with or without a corresponding header field. In the case where data can be stored without a header field, each data attribute can contain an indicator of the header field from which it comes, so when the data is read, the appropriate field Display information appropriately in the Similarly, when using encrypted data to construct relationships between parties (such as when a bill of lading (B/L) is made), the header data can be useful.

在某些實施例中,於圖8中展示用於分佈經加密資料及經加密資料加密金鑰之程序之一概觀。該程序可於開始方塊802處開始,系統可將資料及資料加密金鑰加密804,如本文中所闡述。系統然後可藉由使用其組織ID來找到、存取或定位發送者及各種運輸方之分類帳806。系統可檢查以查看是否可找到所有運輸方之分類帳。若未找到一分類帳,則系統可傳回一錯誤810回應且該程序結束。若找到所有運輸方之分類帳,則系統可繼續將資料及資料加密金鑰發送至分類帳。In some embodiments, an overview of a process for distributing encrypted data and encrypted data encryption keys is shown in FIG. 8. The process can start at the start block 802, and the system can encrypt 804 the data and the data encryption key, as described in this article. The system can then find, access, or locate the ledger 806 of the sender and various shipping parties by using its organization ID. The system can check to see if the ledger of all shipping parties can be found. If a ledger is not found, the system can return an error 810 response and the process ends. If the ledger of all shipping parties is found, the system can continue to send the data and data encryption key to the ledger.

系統然後可繼續發送經加密資料及經加密資料金鑰,且可檢查至各種適當分類帳之發送成功808 (接收驗證)。若發送係成功的,則程序可繼續進行至結束方塊812。The system can then continue to send the encrypted data and the encrypted data key, and can check to various appropriate ledgers for sending success 808 (reception verification). If the transmission is successful, the procedure can continue to end block 812.

在某些實施例中,一使用者可經由一獲得預訂程序900獲得預訂資訊,如圖9中所展示。該程序可以系統執行預訂之最新版本904之一尋找來開始902。系統可藉由運輸文件資料庫中之一唯一預訂ID找到一預訂之最新版本904。記錄可含有分類帳名稱。系統可藉由唯一預訂ID 904來搜索(預訂之)最新版本。在某些實施例中,系統可能未找到正確資料記錄。當發生此情況時,系統可產生且傳回一錯誤918。若找到資料記錄,則系統可檢查組織之存取原則且檢查存取原則定義906以查看組織權限可係什麼資料。若組織不具有指派給其角色之一存取原則,則系統可傳回一錯誤918,且程序結束920。若恰當地識別存取原則及定義,則系統可自預訂908之分類帳收集經加密預訂資料及經加密資料加密金鑰。預訂之分類帳可藉由其分類帳名稱來定位。系統可進行一檢查相關910步驟,其中可檢查經加密預訂資料及經加密資料加密金鑰以查看其在分散式分類帳中是否相同。若否,則可傳回一錯誤918回應且程序結束。若資料確實在不同分散式分類帳中相關,則程序可登入至金鑰儲存區912,且金鑰儲存區使用發送者組織之私密金鑰來將資料加密金鑰解密。若金鑰儲存區無法將資料解密,則可產生一錯誤918回應,且該程序結束。系統然後可將資料及金鑰914解密且為使用者公佈經解密資訊916。該程序然後可進行至結束方塊920。In some embodiments, a user can obtain reservation information through an obtain reservation procedure 900, as shown in FIG. 9. The program can start 902 by searching for one of the latest versions 904 of the system execution. The system can find the latest version 904 of a reservation by using a unique reservation ID in the transportation document database. The record can contain the name of the ledger. The system can search for the latest version (of the reservation) by the unique reservation ID 904. In some embodiments, the system may not find the correct data record. When this happens, the system can generate and return an error 918. If the data record is found, the system can check the organization's access policy and check the access policy definition 906 to see what data the organization authority can belong to. If the organization does not have an access policy assigned to its role, the system may return an error 918, and the process ends 920. If the access principles and definitions are properly identified, the system can collect the encrypted reservation data and the encrypted data encryption key from the ledger of the reservation 908. The booked ledger can be located by its ledger name. The system can perform a check related 910 step, in which the encrypted reservation data and the encrypted data encryption key can be checked to see if they are the same in the distributed ledger. If not, an error 918 response can be returned and the procedure ends. If the data is indeed related in different distributed ledgers, the program can log in to the key storage area 912, and the key storage area uses the private key of the sender organization to decrypt the data encryption key. If the key storage area cannot decrypt the data, an error 918 response may be generated, and the process ends. The system can then decrypt the data and key 914 and publish the decrypted information 916 to the user. The process can then proceed to end block 920.

在圖10中展示 預訂樣本清單1000。在此處,可基於各種不同搜索準則而將由一托運人使用預訂API創建之每一預訂列出且分類。預訂樣本清單1000可表示預訂記錄資料庫,該等預訂記錄可經加密且儲存於一資料庫中,如本文中所闡述。 A sample reservation list 1000 is shown in FIG. Here, each booking created by a shipper using the booking API can be listed and classified based on various search criteria. The reservation sample list 1000 may represent a reservation record database, and the reservation records may be encrypted and stored in a database, as described herein.

此處可在表I中看到資料庫之 實例。 資料庫名稱 對資料庫中之資料之一闡述 ID儲存庫 一使用者清單、使用者登入認證及使用者參數 存取原則儲存庫 全域成員清單、存取原則文件清單、角色清單清單及動態存取原則清單 公開金鑰儲存庫 使用者之公開金鑰之一清單 金鑰儲存區 使用者之私密金鑰之一清單 運輸文件資料庫 一運輸文件清單,例如預訂請求 全域使用者清單 所有使用者及每一成員之角色之一清單可呈現在各種運輸文件中 角色清單原則 定義具有存取權之使用者及角色之清單。 Here you can see a database of examples in Table I below. Database name Explain one of the data in the database ID repository A user list, user login credentials and user parameters Access policy repository Global member list, access policy document list, role list and dynamic access policy list Public key repository One of the user's public keys Key store A list of the user's private keys Transport Document Database A list of shipping documents, such as a reservation request Global user list A list of all users and one of the roles of each member can be presented in various transportation documents Role list principle Define a list of users and roles with access rights.

圖11圖解說明已經放置於系統中之一擷取預訂程序1100。該程序在開始方塊1102處開始且可繼續進行以對針對預訂之所提交請求是否含有一唯一預訂ID及發送者之組織ID進行一屬性驗證1104。在某些實施例中,系統可使用預訂號、版本及預訂提供者之組織ID。系統可評估請求是否可具有所需要之屬性(屬性驗證1104)。若請求不具有所需要屬性,則可產生一錯誤回應1116且程序結束1118。若請求具有所需要屬性,則程序可自運輸文件資料庫獲得預訂資訊且將經加密預訂資訊解密1106。在某些實施例中,資料庫可以一區塊鏈格式經加密且儲存於一分散式分類帳或一超級分類帳中。系統可檢查以確保恰當地擷取所要預訂且將所要預訂解密1108。若否,則系統可產生一錯誤回應1116。若擷取且解密預訂,則系統可現在進行一運輸角色檢查1110,且可針對每一運輸方判定其組織之組織ID是否可與發送者之組織ID相同。若是,則系統可收集運輸方之運輸角色。Figure 11 illustrates a retrieval reservation program 1100 that has been placed in one of the systems. The process starts at the start block 1102 and can continue to perform an attribute verification 1104 on whether the submitted request for the reservation contains a unique reservation ID and the sender's organization ID. In some embodiments, the system can use the subscription number, version, and the organization ID of the subscription provider. The system can evaluate whether the request can have the required attributes (attribute verification 1104). If the request does not have the required attributes, an error response 1116 can be generated and the procedure ends 1118. If the request has the required attributes, the program can obtain the reservation information from the transportation document database and decrypt 1106 the encrypted reservation information. In some embodiments, the database can be encrypted in a blockchain format and stored in a distributed ledger or a super ledger. The system can check to ensure that the desired reservation is properly retrieved and decrypted 1108. If not, the system can generate an error response 1116. If the reservation is retrieved and decrypted, the system can now perform a transportation role check 1110, and can determine whether the organization ID of its organization can be the same as the organization ID of the sender for each transportation party. If so, the system can collect the transport role of the transporter.

系統可執行一運輸角色檢查1110以驗證收集至少一個運輸角色,然後對於該等所收集運輸角色,系統可獲得可被允許由彼等角色讀取之屬性。在某些實施例中,系統進行檢查以查看每一運輸方角色,且基於運輸角色檢查1110而識別當事方可被允許查看之屬性。在某些實施例中,在一過濾屬性1112檢查中移除當事方可不被允許查看之屬性。在成功1114時,可傳回一成功回應碼。The system can perform a transportation role check 1110 to verify that at least one transportation role is collected, and then for the collected transportation roles, the system can obtain attributes that can be read by those roles. In some embodiments, the system checks to see each transporter role, and based on the transport role check 1110, identifies the attributes that the parties can be allowed to view. In some embodiments, attributes that the party may not be allowed to view are removed in a filter attribute 1112 check. When 1114 is successful, a success response code can be returned.

可仍未解決之任何錯誤可使程序在結束1116步驟處終止。Any errors that remain unresolved can cause the program to terminate at the end 1116 step.

現在在圖12中展示一預訂預留之創建。一旦自一使用者或組織接收到預訂有效負載請求,進行預訂之程序便開始(開始方塊1202)。系統可首先檢查以查看所提交請求是否含有一參考預訂號及使用者之組織ID 1204 (檢查屬性驗證)。若使用者之組織ID及/或預訂號不在所提交請求中,則系統可報告一錯誤1234且程序可結束1236。若存在組織ID及預訂號,則系統可藉由定位子金鑰找到預訂之一角色清單1206。定位子金鑰可由參考預訂號及使用者之組織ID構建。若未找到角色清單,則系統可報告一錯誤1234且程序可結束1236。若存在角色清單,則系統可檢查是否可定義預訂之存取原則1208。若未定義存取原則,則系統可傳回一錯誤1234且程序可結束1236。若定義存取原則,則系統可針對每一運輸方檢查運輸方之組織ID是否可與發送者之組織ID相同。若一或多個組織ID可係相同的,則系統可收集運輸方之運輸角色1210。The creation of a reservation reservation is now shown in Figure 12. Once the reservation payload request is received from a user or organization, the reservation process begins (start block 1202). The system can first check to see if the submitted request contains a reference booking number and the user's organization ID 1204 (check attribute verification). If the user's organization ID and/or reservation number are not in the submitted request, the system can report an error 1234 and the process can end 1236. If there is an organization ID and a reservation number, the system can find a role list 1206 of the reservation by locating the child key. The locator key can be constructed by referring to the reservation number and the user's organization ID. If the role list is not found, the system can report an error 1234 and the procedure can end 1236. If there is a role list, the system can check whether the reserved access policy can be defined 1208. If the access policy is not defined, the system can return an error 1234 and the program can end 1236. If the access principle is defined, the system can check whether the organization ID of the carrier can be the same as the organization ID of the sender for each carrier. If one or more organization IDs can be the same, the system can collect the transportation role 1210 of the transportation party.

系統然後可進行檢查以查看是否可收集至少一個運輸角色。若未收集角色,則可傳回一錯誤1234且程序可結束1236。若可識別至少一個角色,則系統可檢查所收集運輸角色是否具有存取權以創建預訂資料之所有所提交屬性1212。若角色不具有存取權,則可傳回一錯誤1234且程序可結束1236。若存取權係正確的,則系統可產生預訂之一唯一預訂ID 1214。一旦創建預訂ID,系統便可針對每一資料屬性產生個別資料加密金鑰1216。該等金鑰可係對稱金鑰。在產生加密金鑰之後,系統可以其資料加密金鑰將每一資料屬性加密1218。在某些實施例中,針對經加密之每一資料屬性可存在一個資料加密金鑰(一1:1關係)。系統然後可擷取每一運輸方之運輸角色資訊,且亦可擷取每一運輸角色之存取控制原則1220。若一運輸方具有一存取控制原則,則系統可自公開金鑰儲存庫擷取公開金鑰1222。系統可針對指派給角色之與當事方相關聯之特定組織ID擷取恰當金鑰。對於每一運輸方,針對可被讀取之資料屬性,系統以運輸方之公開金鑰將對應資料加密金鑰一個接一個地加密1224。系統然後可將經加密資料及經加密資料加密金鑰分佈至恰當組織1226。系統可驗證成功地將資料及金鑰分佈至相關運輸方之所有分類帳1228。在某些實施例中,分類帳可傳回指示是否成功地分佈經加密資料及經加密資料金鑰之一回應。若系統無法驗證恰當分佈,則系統可產生一錯誤碼1234且程序可停止1236。若系統確實驗證經加密資料及經加密資料加密金鑰之分佈,則系統可將分類帳之名稱、唯一預訂ID及預訂版本號保存於運輸文件資料庫中1230。系統然後可產生一成功回應碼1232且程序可結束1236。The system can then check to see if at least one transportation role can be collected. If the role is not collected, an error 1234 can be returned and the process can end 1236. If at least one role can be identified, the system can check whether the collected transportation roles have access rights to create all the submitted attributes 1212 of the booking data. If the role does not have access rights, an error 1234 can be returned and the process can end 1236. If the access right is correct, the system can generate a unique reservation ID 1214 for one of the reservations. Once the reservation ID is created, the system can generate individual data encryption keys 1216 for each data attribute. These keys can be symmetric keys. After generating the encryption key, the system can encrypt 1218 each data attribute with its data encryption key. In some embodiments, there may be a data encryption key (a 1:1 relationship) for each data attribute that is encrypted. The system can then retrieve the transportation role information of each transportation party, and also retrieve the access control policy 1220 of each transportation role. If a transporter has an access control principle, the system can retrieve the public key 1222 from the public key repository. The system can retrieve the appropriate key for the specific organization ID associated with the party assigned to the role. For each transporter, for the data attributes that can be read, the system encrypts 1224 the corresponding data encryption keys one by one with the transporter's public key. The system can then distribute the encrypted data and the encrypted data encryption key to the appropriate organization 1226. The system can verify that the data and keys are successfully distributed to all ledgers 1228 of the relevant shipping party. In some embodiments, the ledger may return a response indicating whether the encrypted data and the encrypted data key were successfully distributed. If the system cannot verify the proper distribution, the system can generate an error code 1234 and the program can stop 1236. If the system does verify the encrypted data and the distribution of the encrypted data encryption key, the system can store the name of the ledger, the unique reservation ID, and the reservation version number in the transport document database 1230. The system can then generate a success response code 1232 and the process can end 1236.

在某些實施例中,可在圖13中看到系統1300之一運輸文件控制中樞1302。在某些實施例中,運輸文件控制中樞1302可具有一系列使用者節點(出於圖解說明目的且作為一實例而呈現,使用者節點1 1306、使用者節點2 1324及使用者節點N 1342)。每一使用者節點可連接至一對應區塊鏈邏輯(1至N)且擁有一區塊鏈節點(1至N)。區塊鏈邏輯1 1320及區塊鏈節點1 1322可係運輸文件控制中樞1302之一部分。運輸文件控制中樞1302亦可具有一脫鏈資料庫1304。In some embodiments, one of the systems 1300 transport document control hub 1302 can be seen in FIG. 13. In some embodiments, the transportation document control hub 1302 may have a series of user nodes (for illustration purposes and presented as an example, user node 1 1306, user node 2 1324, and user node N 1342) . Each user node can be connected to a corresponding blockchain logic (1 to N) and has a blockchain node (1 to N). Block chain logic 1 1320 and block chain node 1 1322 can be part of the transportation document control center 1302. The transportation document control center 1302 may also have an off-chain database 1304.

每一使用者節點可指派給一或多個使用者。舉例而言,一第一使用者節點1306a可指派給一承運人組織,且一第二使用者節點1306b可指派給另一承運人組織。每一使用者(諸如一船舶經營者、一碼頭經營者、一收貨人、一托運人等等)可將一使用者節點1306a至1306n指派給其。儘管在本發明圖中呈現三個節點,但應理解,此圖僅僅係說明性的,且不意欲以任何方式受限制。系統可具有之節點數目係不受限制的,如由「n」記號指定。每一節點中之每一區塊鏈邏輯亦可與一脫鏈資料庫1304通信。在某些實施例中,使用者節點1306a至1306n可存取區塊鏈邏輯1320a至1320n以將經加密資料及一經加密資料加密金鑰(DEK)寫入至一或多個區塊鏈節點1322a至1322n。密碼存取層1314a至1314n可透過一網路通信1318a至1318n與區塊鏈邏輯1320a至1320n通信。可將在密碼存取層1314a至1314n與區塊鏈邏輯1320a至1320n之間發送之任何資料加密。密碼存取層1314a至1314n可基於一存取原則而進行各種解密及加密功能。密碼存取層1314a至1314n可產生對稱資料加密金鑰(DEK),藉由DEK將資料加密,藉由運輸方之公開金鑰將DEK加密且存取一金鑰儲存區1312a至1312n以將DEK解密。API介面1316a至1316n、密碼存取層1314a至1314n及金鑰儲存區1312a至1312n可存在於在不具有權限之情況下可係不可存取之一隔離網路或使用者節點1306a至1306n中。用戶端應用程式1308a至1308n可連接至一API介面1316a至1316n以對一區塊鏈節點1322a至1322n進行寫入,或自區塊鏈節點1322a至1322n獲得資料。用戶端應用程式1308a至1308n可係一電腦、一伺服器或具有一處理器之任何計算裝置,其存取一記憶體裝置且存取一網路連接以與區塊鏈API 1316a至1316n通信。在某些實施例中,網路連接可係安全的。區塊鏈API 1316a至1316n可將一請求自用戶端應用程式1308a至1308n傳遞至密碼存取層1314a至1314n。用戶端應用程式1308a至1308n亦可具有一用戶端應用程式資料庫1310a至1310n。用戶端應用程式資料庫1310a至1310n中之資料可呈純文字形式。用戶端應用程式1308a至1308n可直接在用戶端應用程式資料庫1310a至1310n中進行搜索。使用者可透過其自身之網路連接1318a至1318n存取用戶端應用程式1308a至1308n及然後使用者節點1306a至1306n及然後區塊鏈邏輯1320a至1320n。Each user node can be assigned to one or more users. For example, a first user node 1306a can be assigned to a carrier organization, and a second user node 1306b can be assigned to another carrier organization. Each user (such as a ship operator, a terminal operator, a consignee, a shipper, etc.) can assign a user node 1306a to 1306n to it. Although three nodes are presented in the diagram of the present invention, it should be understood that this diagram is merely illustrative and is not intended to be limited in any way. The number of nodes that the system can have is unlimited, as specified by the "n" symbol. Each blockchain logic in each node can also communicate with an off-chain database 1304. In some embodiments, user nodes 1306a to 1306n can access the blockchain logic 1320a to 1320n to write encrypted data and an encrypted data encryption key (DEK) to one or more blockchain nodes 1322a To 1322n. The cryptographic access layers 1314a-1314n can communicate with the blockchain logic 1320a-1320n through a network communication 1318a-1318n. Any data sent between the password access layers 1314a-1314n and the blockchain logic 1320a-1320n can be encrypted. The cryptographic access layers 1314a to 1314n can perform various decryption and encryption functions based on an access principle. The cryptographic access layers 1314a to 1314n can generate symmetric data encryption keys (DEK), encrypt data by DEK, encrypt DEK by the public key of the transporter, and access a key storage area 1312a to 1312n to store the DEK Decrypt. API interfaces 1316a to 1316n, password access layers 1314a to 1314n, and key storage areas 1312a to 1312n may exist in an isolated network or user node 1306a to 1306n that may be inaccessible without permission. The client applications 1308a to 1308n can be connected to an API interface 1316a to 1316n to write to a blockchain node 1322a to 1322n, or obtain data from the blockchain node 1322a to 1322n. The client application programs 1308a to 1308n may be a computer, a server, or any computing device with a processor, which accesses a memory device and accesses a network connection to communicate with the blockchain API 1316a to 1316n. In some embodiments, the network connection can be secure. The blockchain APIs 1316a to 1316n can pass a request from the client applications 1308a to 1308n to the password access layers 1314a to 1314n. The client applications 1308a to 1308n may also have a client application database 1310a to 1310n. The data in the client application database 1310a to 1310n may be in plain text form. The client application programs 1308a to 1308n can be searched directly in the client application database 1310a to 1310n. Users can access client applications 1308a to 1308n and then user nodes 1306a to 1306n and then blockchain logic 1320a to 1320n through their own network connections 1318a to 1318n.

針對使用者節點1306所提供之闡述可以與針對使用者節點1324所提供之闡述類似或完全相同之一方式來操作。在某些實施例中,所闡述之區塊鏈節點組件可係分散式分類帳。在某些實施例中,區塊鏈節點組件可係超級分類帳。The explanation provided for the user node 1306 can be operated in a similar or identical manner to the explanation provided for the user node 1324. In some embodiments, the block chain node component described may be a distributed ledger. In some embodiments, the blockchain node component can be a super ledger.

在某些實施例中,一存取控制原則可用於判定運輸文件分佈,如圖14中所展示。在某些實施例中,各個當事方可將一運輸文件自一使用者節點提供至一運輸文件控制中樞。舉例而言,兩者皆具有用戶端節點之一實例性承運人及一實例性托運人可將一運輸文件傳達至一運輸文件控制中樞。每一使用者節點可具有或可存取一API介面、一密碼存取層及一金鑰儲存區。在所展示之實例中,承運人可將運輸文件角色清單發送至運輸文件控制中樞,而托運人可將運輸文件發送至運輸文件控制中樞。可將運輸文件角色清單及運輸文件加密。In some embodiments, an access control principle can be used to determine the distribution of transport documents, as shown in FIG. 14. In some embodiments, each party can provide a transportation document from a user node to a transportation document control center. For example, both have an instance carrier and an instance shipper that both have user-end nodes to transmit a transportation document to a transportation document control center. Each user node can have or can access an API interface, a password access layer, and a key storage area. In the example shown, the carrier can send the transport document role list to the transport document control center, and the shipper can send the transport document to the transport document control center. The transport document role list and transport documents can be encrypted.

運輸文件中樞可具有一存取控制原則(存取原則),該存取控制原則具有一靜態部分及/或一動態部分,如圖14中所展示。該靜態部分可包含一全域成員清單及一存取原則文件清單。該全域成員清單可用於判定一成員之一所指派角色。在某些實施例中,一成員可具有多個所指派角色。該存取原則亦可具有一存取原則文件清單。此等一般係指可在一貨物運輸中之角色之間使用之文件類型。某些實例包含但不限於;一提單、一碼頭裝載或卸載艙單、一預訂合同、一預先預訂合同等等。該存取原則可具有對應於每一運輸文件類型之一存取原則文件。存取原則文件與運輸文件類型之間的關係可係1:1,或其可係2+:1或其可係1:2+。此等各種關係及查找特徵一般可係靜態的。在某些實施例中,可更新及/或修正存取原則文件與運輸文件類型之間的關係。The transportation document hub may have an access control principle (access principle) that has a static part and/or a dynamic part, as shown in FIG. 14. The static part may include a list of global members and a list of access policy documents. The global member list can be used to determine the role assigned by one of the members. In some embodiments, a member may have multiple assigned roles. The access policy may also have a list of access policy documents. These generally refer to the types of documents that can be used between roles in a cargo transportation. Some examples include, but are not limited to; a bill of lading, a terminal loading or unloading manifest, a booking contract, a pre-booking contract, and so on. The access policy may have an access policy file corresponding to each transport file type. The relationship between the access policy document and the transport document type can be 1:1, or it can be 2+:1, or it can be 1:2+. These various relationships and search characteristics can generally be static. In some embodiments, the relationship between the access policy document and the transport document type can be updated and/or modified.

在某些實施例中,清單、資料結構、資料庫及原則中之每一者可具有一動態版本及一靜態版本。該靜態版本可係最後所保存版本,而每一所保存版本之封存可存在於區塊鏈中。一動態版本可作為使用者或系統更新而存在或者對待儲存於記憶體中或儲存於區塊鏈中之項目中之任一者做出改變。在某些實施例中,動態版本可僅存在於暫時記憶體中。在某些實施例中,可將動態版本寫入至持久記憶體或區塊鏈。In some embodiments, each of the list, data structure, database, and policy may have a dynamic version and a static version. The static version can be the last saved version, and the archive of each saved version can exist in the blockchain. A dynamic version can exist as a user or system update or change any of the items stored in the memory or stored in the blockchain. In some embodiments, the dynamic version may only exist in temporary memory. In some embodiments, the dynamic version can be written to persistent memory or the blockchain.

在某些實施例中,可存在存取原則之一動態部分。存取原則可具有動態角色清單之一清單。在某些實施例中,動態角色清單可具有可定位存取原則中之一對應角色清單的一定位子金鑰。在某些實施例中,一定位子金鑰可定位一角色清單或一運輸文件。該運輸文件可係或可並非存取原則之一部分。可使用動態運輸方自一或多個運輸文件構建角色清單。動態存取原則清單可給每一運輸文件提供與一特定存取原則之一相關。在某些實施例中,可產生動態操作中之角色清單且與運輸文件一起提交該等角色清單,可將角色清單指派給靜態存取原則文件之一動態版本(從而創建一動態及靜態存取原則文件),且可將動態存取原則指派給彼運輸文件。在某些實施例中,可存在動態存取原則,只要存在運輸文件即可,且動態存取原則控制運輸文件及與彼特定運輸編號相關之所有文件之分佈。In some embodiments, there may be a dynamic part of the access principle. The access policy may have a list of dynamic role lists. In some embodiments, the dynamic role list may have a locator key corresponding to one of the locatable access principles. In some embodiments, a locator key can locate a role list or a transport document. The transport document may or may not be part of the access policy. The dynamic carrier can be used to construct a list of roles from one or more shipping documents. The dynamic access policy list can provide each transport document with one related to a specific access policy. In some embodiments, a list of roles in dynamic operations can be generated and submitted together with the transport document. The list of roles can be assigned to a dynamic version of the static access policy document (to create a dynamic and static access Policy document), and the dynamic access policy can be assigned to that transportation document. In some embodiments, there may be a dynamic access principle, as long as there is a transportation document, and the dynamic access principle controls the distribution of the transportation document and all documents related to that specific transportation number.

在某些實施例中,一承運人將一預訂請求發送至運輸文件控制中樞。托運人實例可類似於承運人實例,但用於托運人之運輸文件之分佈之角色清單可係運輸文件控制中樞中之一現有角色清單。當承運人提交運輸文件及角色清單時,承運人可預先創建運輸文件控制中樞中之該現有角色清單。可基於角色清單而將請求發送至各個成員。文件控制中樞可將預訂請求(或其他文件)通知給每一使用者。舉例而言,可通知船舶經營者其船舶將運送指定貨櫃,可通知一碼頭經營者其將接收運送貨櫃之船舶,且可通知一收貨人在一所估計交貨日期時接取貨櫃。在某些實施例中,系統可記錄已通知各個使用者在預訂請求中之其各別責任且記錄彼通知。在某些實施例中,各個使用者可提供對預訂請求接收之一應答(手動地或自動地)。回應文件回到運輸文件控制中樞且經路由給承運人。角色清單可係動態存取原則之一部分,且動態存取原則可用於控制用於此交易之文件之分佈及共用直至完成交易為止。在某些實施例中,系統可僅僅驗證資料遞送且不需要來自接收當事方之應答。In some embodiments, a carrier sends a reservation request to the transportation document control center. The shipper instance may be similar to the carrier instance, but the list of roles used for the distribution of the shipper's transportation documents may be a list of existing roles in the transportation document control center. When the carrier submits the transportation document and the list of roles, the carrier can pre-create the existing role list in the transportation document control center. The request can be sent to each member based on the list of roles. The document control center can notify each user of the reservation request (or other documents). For example, a ship operator can be notified that its ship will deliver a designated container, a terminal operator can be notified that it will receive a ship carrying containers, and a consignee can be notified to pick up the container at an estimated delivery date. In some embodiments, the system may record that each user has been notified of their respective responsibilities in the reservation request and record the notification. In some embodiments, each user may provide a response (either manually or automatically) to the receipt of the reservation request. The response document is returned to the transportation document control center and routed to the carrier. The role list can be part of the dynamic access policy, and the dynamic access policy can be used to control the distribution and sharing of the documents used for this transaction until the transaction is completed. In some embodiments, the system may only verify data delivery and does not require a response from the receiving party.

在某些實施例中,存取原則可具有一全域成員(使用者)清單。該全域成員(使用者)清單可係系統之所有使用者及每一使用者可在各種運輸交易及文件中採用之角色之一清單。該等角色可對應於在共用運輸文件中使用之彼等角色(例如,托運人、承運人、船舶經營者、碼頭經營者等等)。存取原則亦可具有一存取原則文件清單,每一存取原則文件適用於一運輸文件類型(例如危險品(DG)憑證、提單、貨櫃入境事件、貨櫃出境事件等等)。存取原則亦可具有角色清單之一清單,每一角色清單與具有相同定位子金鑰(例如,承運人 + 預訂(BKG)號)之任一運輸文件有關。存取原則亦可具有一動態存取原則清單,每一動態存取原則與具有相同定位子金鑰及運輸文件類型之任一運輸文件有關。動態存取原則可定義哪一特定當事方可創建、更新、讀取及/或接收共用運輸文件及可以屬性位準進行創建、更新及/或讀取。此動態存取原則可自一給定定位子金鑰之一角色清單及/或一給定共用運輸文件類型之一存取原則文件導出。In some embodiments, the access policy may have a list of global members (users). The global member (user) list can be a list of all users of the system and one of the roles that each user can use in various transportation transactions and documents. These roles may correspond to their roles (for example, shipper, carrier, ship operator, terminal operator, etc.) used in shared transportation documents. The access policy may also have a list of access policy documents, and each access policy document is applicable to a transport document type (such as dangerous goods (DG) certificates, bills of lading, container entry events, container exit events, etc.). The access policy can also have a list of role lists, and each role list is related to any transport document with the same location subkey (for example, carrier + booking (BKG) number). The access policy may also have a list of dynamic access policies, and each dynamic access policy is related to any transport document with the same location subkey and transport document type. The dynamic access principle can define which specific party can create, update, read, and/or receive the shared transportation document and can create, update, and/or read the attribute level. The dynamic access policy can be derived from a role list of a given locator key and/or an access policy file of a given shared transport file type.

當一使用者登入至使用者節點以存取運輸文件控制中樞時,使用者可由其登入認證識別。使用者之用戶端應用程式可將一運輸文件角色清單發送至運輸文件控制中樞。運輸文件使用者節點可依據運輸文件角色清單識別角色清單類型。運輸文件用戶端可自運輸文件控制中樞獲得來自存取原則之以下資訊中之任何一或多者: -來自全域使用者清單(或全域成員清單)之使用者之角色。 -角色清單類型之存取原則文件 -用於每一共用運輸文件類型之一共用存取原則文件,及 -一動態存取原則清單,其中動態存取原則為一運輸文件所特有,動態存取原則定義每一角色對一運輸文件之存取權。 -連結至存取原則、使用者ID或使用者角色之任何其他資訊。When a user logs in to the user node to access the transportation document control center, the user can be identified by his login authentication. The user's client application can send a transport document role list to the transport document control center. The transport document user node can identify the role list type according to the transport document role list. The transport document client can obtain any one or more of the following information from the access policy from the transport document control center: -The role of the user from the global user list (or global member list). -Access policy document of role list type -One shared access policy document for each shared transport document type, and -A list of dynamic access policies, where the dynamic access policy is unique to a transport document, and the dynamic access policy defines the access rights of each role to a transport document. -Any other information linked to the access policy, user ID or user role.

運輸文件使用者節點可驗證是否可允許使用者之角色對照存取原則文件創建(更新)運輸文件角色清單。運輸文件使用者節點可依據運輸文件角色清單識別具有新指派之值之角色且進一步驗證使用者之角色是否可指派彼等角色。The transport document user node can verify whether the user's role can be allowed to create (update) a transport document role list against the access policy document. The transport document user node can identify the role with the newly assigned value according to the transport document role list and further verify whether the user's role can be assigned to their role.

可將經驗證運輸文件角色清單加密且提交給運輸文件控制中樞,且可將其添加至一特定定位子金鑰之存取原則。The verified transport document role list can be encrypted and submitted to the transport document control center, and it can be added to the access policy of a specific location subkey.

在某些實施例中,用戶端應用程式可將一運輸文件發送至運輸文件使用者節點。使用者節點可依據運輸文件識別文件類型及定位子金鑰。運輸文件使用者節點可自運輸文件控制中樞獲得來自存取原則之以下資訊:- -運輸文件之動態存取原則(在文件中樞處,在運輸文件使用者節點請求之後自給定定位子金鑰之角色清單及給定運輸文件類型之存取原則文件導出動態存取控制原則) -運輸文件類型之存取原則文件 -使用者可存取或對其有權限之任何其他資訊。In some embodiments, the client application can send a transportation document to the transportation document user node. The user node can identify the document type and locate the sub-key according to the transportation document. The transport document user node can obtain the following information from the access policy from the transport document control center:- -Dynamic access policy of transportation document (at the document center, after the request of the transportation document user node, the role list of the given location subkey and the access policy document of the given transportation document type are derived from the dynamic access control principle) -Access policy documents for transport document types -Any other information that the user can access or have authority to.

運輸文件使用者節點亦可依據動態存取原則識別使用者扮演之角色。使用者節點可驗證彼等角色可對照存取原則文件創建(更新)運輸文件。使用者節點可依據運輸文件識別具有新指派之值之資料屬性且進一步驗證彼等角色是否可創建(更新)彼等資料屬性。The transport document user node can also identify the role played by the user based on the dynamic access principle. The user nodes can verify that their roles can create (update) transportation documents against the access policy documents. User nodes can identify data attributes with newly assigned values according to the transportation document and further verify whether their roles can create (update) their data attributes.

在某些實施例中,可將經驗證運輸文件加密且提交給運輸文件控制中樞。In some embodiments, the verified shipping document may be encrypted and submitted to the shipping document control center.

舉例而言,一承運人可將一經加密角色清單及一經加密共用運輸文件提交給運輸文件控制中樞。承運人(或其他使用者)可首先發送角色清單,以將角色清單繫結至運輸文件之一預訂號或其他文件ID來識別。另一選擇係,運輸文件可隨著角色清單(或在角色清單之後)經發送,且運輸文件可藉助定位子金鑰與角色清單相關。可讀取角色清單,且角色清單可包含承運人將通知之角色之一清單。角色清單亦可具有發起者(發送者)之一數位簽章,從而允許角色清單與發起者相關。運輸文件可含有表示所擬議合同之條款之資料(數量、交貨、排程等等)。此等條款可個別地經加密為資料屬性。角色清單可使特定運輸方之名稱與其相關聯。For example, a carrier may submit an encrypted role list and an encrypted shared transportation document to the transportation document control center. The carrier (or other user) can first send the role list to bind the role list to one of the transportation documents' reservation number or other document ID for identification. Another option is that the transport file can be sent along with the role list (or after the role list), and the transport file can be related to the role list with the help of a locator key. The role list can be read, and the role list can include a list of one of the roles that the carrier will notify. The role list may also have a digital signature of the initiator (sender), thereby allowing the role list to be related to the initiator. The transport document may contain information (quantity, delivery, schedule, etc.) indicating the terms of the proposed contract. These terms can be individually encrypted as data attributes. The role list can be associated with the name of a specific shipping party.

可自運輸文件複製角色清單且將角色清單添加至唯一於運輸文件之一存取原則。存取原則可含有關於運輸文件中可涉及之每一運輸方之資訊。存取原則之角色清單可提供可接收最初在運輸文件中提供之資料之成員之識別碼。角色清單上之每一運輸方可自運輸文件獲得對於其特定角色(功能)適當之資料。You can copy the role list from the transport document and add the role list to one of the access policies unique to the transport document. The access policy may contain information about each shipping party that may be involved in the shipping document. The role list of the access policy can provide the identification codes of the members who can receive the information originally provided in the shipping document. Each transporter on the role list can obtain appropriate information for its specific role (function) from the transport document.

可藉由分開對稱金鑰將運輸文件之資料屬性一個接一個地加密。可藉助與可在運輸文件中具有一角色之每一運輸方對應之公開金鑰將對稱金鑰一個接一個地加密。每一運輸方之角色可由角色清單定義。然後可將資料屬性之對稱金鑰分割至需要或請求資料屬性之每一使用者(運輸方),且可使用當事方之公開金鑰將去往恰當運輸方之每一資料屬性之對稱金鑰加密。然後可將經加密資料屬性、經加密資料加密金鑰、經加密資料屬性之雜湊及文件發起者之數位簽章發送至運輸方。The data attributes of the transport document can be encrypted one by one by separating the symmetric key. The symmetric keys can be encrypted one by one with the help of the public key corresponding to each transport party that can have a role in the transport document. The role of each shipping party can be defined by the role list. Then the symmetric key of the data attribute can be divided to each user (transporter) who needs or request the data attribute, and the public key of the party can be used to transfer the symmetric key of each data attribute to the appropriate transporter Key encryption. The encrypted data attribute, the encrypted data encryption key, the hash of the encrypted data attribute, and the digital signature of the file originator can then be sent to the carrier.

在某些實施例中,運輸文件用戶端可將經加密共用運輸文件、經加密資料加密金鑰(DEK)、經加密資料屬性之雜湊及文件發起者之數位簽章角色清單發送至運輸文件控制中樞。運輸文件控制中樞可使用運輸文件之定位子金鑰來找到存取原則中之角色清單。基於角色清單,運輸文件控制中樞可查找接收方清單。在某些實施例中,運輸文件控制中樞可具有存取權以解密角色清單從而獲得接收方清單。在某些實施例中,使用者節點可提供角色清單中之運輸方之公開金鑰且運輸文件控制中樞可基於公開金鑰而查找接收方清單。在某些實施例中,使用者節點可將接收方清單之純文字與運輸文件一起提供至運輸文件控制中樞。接收方清單可係角色清單中之當事方(使用者)。運輸文件控制中樞然後可分佈經加密運輸文件資料屬性、經加密資料加密金鑰、經加密資料屬性之雜湊及文件發起者之數位簽章以根據接收方清單對對應區塊鏈節點進行寫入。運輸文件控制中樞可檢查文件、金鑰、雜湊及簽章是否成功地寫入至區塊鏈節點。若文件、金鑰、雜湊及簽章成功地寫入,則運輸文件控制中樞可將通知發起者交易係成功的之一事件發佈給發起者之訊息代理者中樞。運輸文件控制中樞亦可將具有經加密運輸文件、經加密資料加密金鑰及文件發起者之數位簽章之事件發佈至接收方清單。In some embodiments, the transport document client can send the encrypted shared transport document, the encrypted data encryption key (DEK), the hash of the encrypted data attributes, and the digital signature role list of the document originator to the transport document control Hub. The transportation document control center can use the locator key of the transportation document to find the role list in the access policy. Based on the role list, the transportation document control center can find the recipient list. In some embodiments, the transportation document control center may have access rights to decrypt the role list to obtain the recipient list. In some embodiments, the user node can provide the public key of the transporter in the role list and the transport document control center can look up the recipient list based on the public key. In some embodiments, the user node can provide the plain text of the recipient list together with the transportation document to the transportation document control center. The recipient list can be the parties (users) in the role list. The transportation document control center can then distribute the encrypted transportation document data attributes, the encrypted data encryption key, the hash of the encrypted data attributes, and the digital signature of the document initiator to write to the corresponding blockchain node according to the recipient list. The transportation document control center can check whether the documents, keys, hashes, and signatures are successfully written to the blockchain node. If the file, key, hash, and signature are successfully written, the transportation document control center can post an event that notifies the initiator that the transaction is successful to the initiator's message broker center. The transportation document control center can also publish events with the encrypted transportation document, the encrypted data encryption key and the digital signature of the document initiator to the recipient list.

存取原則含有關於特定運輸文件中可涉及之每一運輸方(使用者)之資訊。存取原則之角色清單可提供將接收最初在運輸文件中提供之資料之使用者之識別碼。在角色清單上之每一使用者可自運輸文件獲得對於其角色(功能)適當之資料。The access policy contains information about each shipping party (user) that can be involved in a specific shipping document. The role list of the access policy can provide the identification code of the user who will receive the data originally provided in the shipping document. Each user on the role list can obtain appropriate information for his role (function) from the transport document.

可藉助稱為資料加密金鑰(DEK)之運行時所產生對稱金鑰將運輸文件之資料屬性一個接一個地加密。可藉助與可在運輸文件中具有一角色且可具有對對應屬性之存取權之每一使用者對應之公開金鑰將DEK一個接一個地加密。每一使用者之角色可由角色清單定義。每一角色對每一屬性之存取權可由存取原則定義。然後可將經加密資料屬性、經加密DEK、經加密資料屬性之雜湊及文件發起者之數位簽章發送至適當成員。The data attributes of the transport document can be encrypted one by one with the help of a symmetric key generated at runtime called a data encryption key (DEK). The DEK can be encrypted one by one by means of a public key corresponding to each user who can have a role in the transport document and can have access to the corresponding attribute. The role of each user can be defined by the role list. The access rights of each role to each attribute can be defined by the access policy. The encrypted data attributes, the encrypted DEK, the hash of the encrypted data attributes, and the digital signature of the file originator can then be sent to the appropriate members.

在某些實施例中,一使用者可將一狀態更新提交給運輸文件控制中樞。該狀態更新提供資料,諸如接收且卸載運輸文件識別碼12345之貨櫃,且某人可必須接取其。運輸文件12345之碼頭狀態更新可未找到任何角色清單。因此除將狀態更新發送至運輸文件控制中樞以外,亦可在使用者節點中緩衝更新。另一當事方可隨後將角色清單發送至使用者節點,此角色清單可具有相同運輸文件ID (12345)。使用者節點可繼續處理碼頭狀態更新。 使用者節點可自運輸文件控制中樞獲得來自存取原則之以下資訊: -碼頭狀態更新之動態存取原則(動態存取控制原則可自給定定位子金鑰之角色清單及給定運輸狀態更新類型之存取原則文件導出) -運輸狀態更新類型之存取原則文件 使用者節點可依據動態存取原則識別使用者扮演之角色。使用者節點可驗證是否允許彼等角色對照存取原則文件創建運輸更新狀態。使用者節點亦可驗證彼等角色是否可創建運輸更新狀態之彼等資料屬性。 可將此經驗證運輸狀態更新加密且提交給運輸文件控制中樞。In some embodiments, a user can submit a status update to the transportation document control center. This status update provides information, such as receiving and unloading a container with the shipping document identification code 12345, and someone may have to pick it up. No role list can be found in the dock status update of transport document 12345. Therefore, in addition to sending the status update to the transportation document control center, the update can also be buffered in the user node. The other party can then send the role list to the user node, and this role list can have the same transport document ID (12345). The user node can continue to process terminal status updates. The user node can obtain the following information from the access policy from the transportation document control center: -Dynamic access policy for terminal status update (Dynamic access control policy can be derived from the role list of a given locator key and the access policy file for a given type of transportation status update) -Access policy document for the update type of transportation status The user node can identify the role played by the user based on the dynamic access principle. The user nodes can verify whether their roles are allowed to create a transportation update status against the access policy document. The user nodes can also verify whether their roles can create their data attributes of the transportation update status. This verified shipping status update can be encrypted and submitted to the shipping document control center.

在某些實施例中,使用者節點可基於使用者之存取原則而自運輸文件控制中樞接收各種文件:碼頭狀態之動態存取原則(動態存取控制原則可自給定定位子金鑰之角色清單及給定運輸狀態更新類型之存取原則文件導出),及運輸狀態更新類型之存取原則文件。運輸文件使用者節點亦可依據動態存取原則識別使用者扮演之角色。運輸文件使用者節點可驗證是否允許彼等角色對照存取原則文件創建運輸更新狀態。運輸文件使用者節點亦可驗證彼等角色是否可創建運輸更新狀態之彼等資料屬性。在驗證之後,可將此經驗證運輸狀態更新加密。可將經加密運輸狀態更新、經加密資料加密金鑰、經加密資料之雜湊及使用者之數位簽章與一接收方清單一起提交給運輸文件控制中樞。In some embodiments, the user node can receive various documents from the transportation document control center based on the user's access policy: the dynamic access policy of the terminal status (the dynamic access control principle can be assigned to the role of the subkey List and export the access policy file of the given transportation status update type), and the access policy file of the transportation status update type. The transport document user node can also identify the role played by the user based on the dynamic access principle. The transportation document user node can verify whether their roles are allowed to create a transportation update status against the access policy document. The transportation document user nodes can also verify whether their roles can create their data attributes of the transportation update status. After verification, the verified transport state can be updated and encrypted. The encrypted transportation status update, the encrypted data encryption key, the hash of the encrypted data, and the user's digital signature can be submitted to the transportation document control center together with a recipient list.

現在闡述操作方法之 實例。Now an example method of operation set forth.

在本發明之一運輸操作之一實例中,涉及以下當事方:In an example of a transportation operation of the present invention, the following parties are involved:

托運人:工廠AShipper: Factory A

收貨人: S-MartConsignee: S-Mart

承運人:XYZCarrier: XYZ

路線:中國至USARoute: China to USA

貨品:玩具Goods: Toys

貨櫃號:5Container Number: 5

在此實例中,運輸線路係XYZ,且運輸線路正在組織將5個玩具貨櫃自工廠A (位於中國)運送至USA之一港口。承運人產生用於運輸之一運輸文件。In this example, the transportation route is XYZ, and the transportation route is organizing the delivery of 5 toy containers from factory A (located in China) to a port in the USA. The carrier generates one of the transport documents for transportation.

表II 標頭欄位 資料屬性 托運人 工廠A 收貨人 S-Mart 最後碼頭經營者 長灘,CA 船舶經營者 SS貨運者 承運人 XYZ Table II Header field Data attribute Shipper Factory A Receiver S-Mart Last terminal operator Long Beach, CA Ship operator SS Freighter Carrier XYZ

承運人係組織將玩具自中國運輸至USA之當事方。承運人然後透過一安全傳輸以純文字形式將以上運輸訂單提供至使用者節點。使用者節點然後將資料屬性加密同時單獨留下標頭欄位。每一資料屬性經加密且具有一單獨資料加密金鑰。The carrier is the party that organizes the transportation of toys from China to the USA. The carrier then provides the above transportation order to the user node in plain text through a secure transmission. The user node then encrypts the data attributes while leaving a header field separately. Each data attribute is encrypted and has a separate data encryption key.

表III 標頭欄位 資料屬性 托運人 加密(「工廠A」,k1金鑰)* 收貨人 加密(「S-Mart」,k2金鑰)* 最後碼頭 加密(「長灘,CA」,k3金鑰)* 船舶經營者 加密(「SS貨運者」,k4金鑰)* 承運人 加密(「XYZ」,k5金鑰)* *在經加密欄位中提供之資料不表示實際加密資訊。文字字串僅係說明性的。「加密(「工廠A」,k1金鑰)」意味文字值「工廠A」由「k1金鑰」加密Table III Header field Data attribute Shipper Encryption ("Factory A", k1 key)* Receiver Encryption ("S-Mart", k2 key)* Last pier Encryption ("Long Beach, CA", k3 key)* Ship operator Encryption ("SS Shipper", k4 key)* Carrier Encryption ("XYZ", k5 key)* *The information provided in the encrypted field does not represent the actual encrypted information. The text string is only illustrative. "Encryption ("Factory A", k1 key)" means that the text value "Factory A" is encrypted by "k1 key"

可將經加密資料記錄於區塊鏈節點中,可根據與所指派角色與存取原則匹配的使用者之公開金鑰將每一資料加密金鑰(在此實例中為k1至k5)加密。在此實例中,托運人工廠A可具有對所有資料屬性之存取權。工廠A之公開金鑰然後可用於將所有金鑰(k1、k2、k3、k4及k5)加密。可單獨將所有運輸文件加密。亦可個別地(串行地或並行地)將金鑰加密。可以一批次格式將金鑰加密,只要可保護每一金鑰之個性(每一經加密金鑰可獨立地經解密,且用於在金鑰不能夠將任何其他運輸文件解密之情況下存取金鑰所對應之特定運輸文件)。The encrypted data can be recorded in the blockchain node, and each data encryption key (k1 to k5 in this example) can be encrypted according to the public key of the user matching the assigned role and the access policy. In this example, shipper factory A may have access to all data attributes. The public key of factory A can then be used to encrypt all keys (k1, k2, k3, k4, and k5). All transport files can be encrypted separately. It is also possible to encrypt the keys individually (serially or in parallel). The key can be encrypted in a batch format, as long as the individuality of each key can be protected (each encrypted key can be decrypted independently, and used for access when the key cannot decrypt any other transport documents The specific transport document corresponding to the key).

每一運輸角色讀取、創建或更新運輸文件之資料屬性之權利可取決於由系統定義之存取權。在此實例性情形中,可存在提供由系統確立之規則之一查找表,如下:The right of each transportation role to read, create or update the data attributes of the transportation document can depend on the access rights defined by the system. In this example situation, there may be a lookup table that provides one of the rules established by the system, as follows:

表IV 運輸角色 D1 D2 D3 D4 D5 托運人 R R R R R 收貨人 R          R 最後碼頭經營者    R R       船舶經營者    R    R    承運人 CRU CRU CRU CRU CRU Table IV Transport role D1 D2 D3 D4 D5 Shipper R R R R R Receiver R R Last terminal operator R R Ship operator R R Carrier CRU CRU CRU CRU CRU

表IV圖解說明不同運輸角色(例如托運人、收貨人、最後碼頭、船舶經營者、承運人等)之存取原則。D1至D5係由(k1至k5)加密之資料屬性。R係「讀取」,「U」係「更新」且「C」係「創建」。若收貨人具有對D1及D5之存取權(「讀取」、「更新」或「創建」),則將藉由收貨人之公開金鑰將k1及k5加密。Table IV illustrates the access principles for different transportation roles (such as shipper, consignee, final terminal, ship operator, carrier, etc.). D1 to D5 are data attributes encrypted by (k1 to k5). R is "read", "U" is "update" and "C" is "create". If the consignee has access to D1 and D5 ("read", "update" or "create"), k1 and k5 will be encrypted with the consignee's public key.

[PC1]托運人工廠A之公開金鑰可用於將所有金鑰(k1、k2、k3、k4及k5)加密。用於碼頭經營者(USA之港口之長灘碼頭)之公開金鑰可用於將k2及k3加密。用於船舶經營者(運輸之SS貨運者)之公開金鑰可用於將k2及k4加密,且最後,用於承運人XYZ之公開金鑰可用於將所有金鑰(k1、k2、k3、k4及k5)加密。船舶經營者不需要知曉關於托運人之任何資訊。關於托運人之資訊對船舶經營者可係不可見的且可用於船舶經營者之資料屬性金鑰集可不包含用於托運人之資料屬性之金鑰。[PC1] The public key of Shipper Factory A can be used to encrypt all keys (k1, k2, k3, k4 and k5). The public key used by the terminal operator (the Long Beach terminal in the port of USA) can be used to encrypt k2 and k3. The public key used for the ship operator (the SS freight forwarder of transportation) can be used to encrypt k2 and k4, and finally, the public key used for the carrier XYZ can be used to encrypt all keys (k1, k2, k3, k4) And k5) encryption. The ship operator does not need to know any information about the shipper. The information about the shipper may be invisible to the ship operator and can be used for the ship operator's data attribute key set may not include the key for the shipper’s data attribute.

一旦完成及/或儲存金鑰加密,便可通知個別使用者資料係可用的。使用其自身之私密金鑰之每一使用者可將其各別金鑰解密且存取系統以查看分散式分類帳中之資料,而其他使用者之資訊保持安全地加密。Once the key encryption is completed and/or stored, individual users can be notified that the data is available. Each user using his own private key can decrypt his or her own key and access the system to view the data in the distributed ledger, while other users' information remains securely encrypted.

在一更一般形式中,用於產生恰當金鑰以用於存取具有不同所有者之各種資料屬性之程序可涉及產生金鑰且使彼等金鑰與一使用者之所指派角色與存取原則匹配之一程序1500,如圖15中所展示。在開始方塊1502之後,程序可針對每一資料屬性產生一資料加密金鑰1504。在某些實施例中,該等金鑰可係對稱金鑰。可針對每一資料屬性形成加密金鑰。系統可擷取每一運輸方之運輸角色1506。如本文中所闡述,每一當事方可在預訂中具有一運輸角色。該角色可係系統中之任何所定義角色。可將額外角色添加至系統以每當需要時容納額外當事方(每一使用者可係單個運輸交易之一當事方,但一使用者並非必須係單個運輸交易之一當事方)。在某些實施例中,一單個使用者可具有一個運輸角色。在某些實施例中,一單個使用者可具有兩個或兩個以上運輸角色。在某些實施例中,一使用者可在不具有一正式運輸角色之情況下存取系統,如本文中所闡述。程序可擷取每一運輸角色之存取控制原則1508。存取控制原則可提供資訊以通知程序每一運輸方可存取什麼資料屬性。程序然後可提供用於運輸方之公開金鑰及存取控制原則1510。在此處,可存取控制原則之每一運輸方亦可具有儲存於一公開金鑰儲存庫中之一公開金鑰。程序使運輸方之角色與存取控制原則相關以查看運輸方可存取哪些資料屬性。程序然後可擷取運輸方之適當公開金鑰。程序然後可藉助運輸方之公開金鑰將對應資料加密金鑰加密1512。可以串行方式一個接一個地進行資料加密金鑰之加密。在某些實施例中,可並行地進行資料加密金鑰之加密。在又其他實施例中,可以一批次進行資料加密金鑰之加密。每一資料加密金鑰可經加密使得每一金鑰加密金鑰對應於一或多個資料加密金鑰,且金鑰加密金鑰與經加密資料金鑰之每一一對多關系對應於一單個資料屬性。其可被視為一個一對多或一對一關系(1:m及1:1)。一旦完成程序,程序便可結束1514。In a more general form, the process for generating appropriate keys for accessing various data attributes with different owners may involve generating keys and making them match the assigned roles and access of a user One program 1500 of principle matching is shown in FIG. 15. After the start block 1502, the program can generate a data encryption key 1504 for each data attribute. In some embodiments, the keys can be symmetric keys. An encryption key can be formed for each data attribute. The system can capture the transportation role 1506 of each transportation party. As explained in this article, each party can have a transportation role in the booking. The role can be any defined role in the system. Additional roles can be added to the system to accommodate additional parties whenever needed (each user can be a party to a single transportation transaction, but a user does not have to be a party to a single transportation transaction). In some embodiments, a single user may have a transportation role. In some embodiments, a single user may have two or more transportation roles. In some embodiments, a user can access the system without having a formal transportation role, as described in this article. The program can capture access control principles 1508 for each transport role. Access control policies can provide information to inform the process of what data attributes each transporter can access. The program can then provide public keys and access control principles 1510 for the transporter. Here, each transportation party with access control principle can also have a public key stored in a public key repository. The program correlates the role of the transporter with the access control policy to see which data attributes the transporter can access. The program can then retrieve the appropriate public key of the shipping party. The program can then encrypt 1512 the corresponding data encryption key with the public key of the transporter. The data encryption key can be encrypted one by one in a serial manner. In some embodiments, data encryption key encryption can be performed in parallel. In still other embodiments, the data encryption key can be encrypted in one batch. Each data encryption key can be encrypted so that each key encryption key corresponds to one or more data encryption keys, and each one-to-many relationship between the key encryption key and the encrypted data key corresponds to a Single profile attribute. It can be viewed as a one-to-many or one-to-one relationship (1:m and 1:1). Once the program is completed, the program can end 1514.

在某些實施例中,可將一當事方添加至角色清單或存取原則,但彼當事方可不具有在運輸中之一實際角色。在某些實施例中,一非運輸角色當事方可係一金融機構。在某些實施例中,該非運輸角色當事方可係一監管或政府機關。在某些實施例中,該非運輸角色當事方可係一保險公司、一保證人、一司法機關、一貿易監管者、一勞工組織或可針對本文中所闡述之系統之一文件、存取原則或其他庫之至少一個資料欄位存取或查核資料的任何其他實體。In some embodiments, a party may be added to the role list or access policy, but the other party may not have an actual role in the transportation. In some embodiments, a non-transportation party may be a financial institution. In some embodiments, the non-transportation party may be a regulatory or government agency. In some embodiments, the non-transport role party may be an insurance company, a guarantor, a judicial authority, a trade supervisor, a labor organization, or may be directed to one of the documents and access principles of the system described in this article. Or any other entity that accesses or checks data in at least one data field of other databases.

圖16提供用於基於角色與存取控制原則而將資料屬性加密之程序之另一實例。在此實例1600中,以一托運人、收貨人、最後碼頭、船舶經營者及一承運人之形式呈現五個角色。在某些實施例中,可存在每角色一個當事方。在某些實施例中,可存在具有一個以上角色之一個當事方。在又其他實施例中,兩個或兩個以上當事方可共用一單個角色。對於圖16中所繪示之實例,存在五個角色及每角色一個當事方。Figure 16 provides another example of a procedure for encrypting data attributes based on roles and access control principles. In this example 1600, five roles are presented in the form of a shipper, a consignee, a terminal, a ship operator, and a carrier. In some embodiments, there may be one party per role. In some embodiments, there may be one party with more than one role. In still other embodiments, two or more parties may share a single role. For the example shown in Figure 16, there are five roles and one party per role.

在某些實施例中,一資料與金鑰結構1602可含有如所展示之五個資料屬性(D1至D5)。可藉助一資料加密金鑰將每一資料屬性個別地加密1606 (k1至k5)。每一資料屬性亦可具有一標頭及資料屬性欄位。如樣本存取控制原則1604中所展示,每一角色(托運人、收貨人等)具有針對標頭所定義之存取控制及對應於每一資料屬性之一標頭(頂部列) (H1 → D1、H2 → D2、H3 → D3、H4 → D4及H5 → D5)。列(角色)與行(標頭)之間的交叉點為角色(匹配列之左邊行之當事方)提供存取原則。舉例而言,根據存取控制原則,托運人具有「R」存取。托運人可「讀取」對應於D1至D5之資料屬性。然而,托運人不可更新或修改資料,托運人亦不可創建任何資料。另一方面,根據圖16之樣本存取控制原則,承運人可具有創建(C)、讀取(R)及更新(U)權威。其他當事方(諸如收貨人)可僅讀取用於對應於D1及D5之H1及H5之資料。最後碼頭可僅讀取用於對應於D2及D3之H2及H3之資料。船舶經營者可僅讀取用於對應於D2及D4之H2及H4之資料。In some embodiments, a data and key structure 1602 may contain five data attributes (D1 to D5) as shown. Each data attribute can be individually encrypted 1606 (k1 to k5) with a data encryption key. Each data attribute can also have a header and data attribute field. As shown in the sample access control principle 1604, each role (shipper, consignee, etc.) has access control defined for the header and a header (top row) corresponding to each data attribute (H1 → D1, H2 → D2, H3 → D3, H4 → D4 and H5 → D5). The intersection between the column (role) and the row (header) provides access principles for the role (the party on the left row of the matching column). For example, according to the access control principle, the shipper has "R" access. The shipper can "read" the data attributes corresponding to D1 to D5. However, the shipper cannot update or modify the information, and the shipper cannot create any information. On the other hand, according to the sample access control principle in Fig. 16, the carrier can have the authority to create (C), read (R) and update (U). Other parties (such as the consignee) can only read the data for H1 and H5 corresponding to D1 and D5. Finally, the terminal can only read data for H2 and H3 corresponding to D2 and D3. The ship operator can only read the data for H2 and H4 corresponding to D2 and D4.

然後可藉由用於在存取控制原則中具有一角色匹配之每一當事方之公開金鑰將資料加密金鑰加密。在此實例中,托運人具有可用於將每一資料加密金鑰k1至k5個別地加密之一公開金鑰(Spub ),如資料加密金鑰之公開金鑰加密1608表中所展示。1604表中之托運人列意味托運人將進行存取以讀取資料屬性D1至D5,但將不能夠創建、刪除或更新彼等欄位。收貨人具有用於將對應於H1及H5 (其係收貨人根據收貨人之存取控制原則1604存取之兩個資料屬性)之資料加密金鑰(DEK)加密之一公開金鑰(Copub )。收貨人之公開金鑰用於將k1及k5加密。經加密k1及k5可稱為一DEK,且收貨人可具有用於D1及D5之DEK,吾等將其縮寫為k1及k5。收貨人可透過系統中之其使用者節點接收k1及k5。收貨人然後可使用k1及k5來存取對應於D1及D5之資料屬性。程序對於最後碼頭、船舶經營者及承運人可係相同的。具有一角色之每一當事方可透過系統中之其使用者節點存取其適當DEK,且然後可存取對應於DEK之資料屬性。The data encryption key can then be encrypted by the public key used for each party that has a role match in the access control policy. In this example, the shipper has a public key (S pub ) that can be used to individually encrypt each data encryption key k1 to k5, as shown in the public key encryption 1608 table of data encryption key. The shipper column in the 1604 table means that the shipper will access to read the data attributes D1 to D5, but will not be able to create, delete or update these fields. The consignee has a public key used to encrypt the data encryption key (DEK) corresponding to H1 and H5 (which are the two data attributes accessed by the consignee according to the consignee’s access control principle 1604) (Co pub ). The public key of the consignee is used to encrypt k1 and k5. The encrypted k1 and k5 can be called a DEK, and the consignee can have DEK for D1 and D5, which we abbreviate as k1 and k5. The consignee can receive k1 and k5 through its user node in the system. The consignee can then use k1 and k5 to access the data attributes corresponding to D1 and D5. The procedure can be the same for the final terminal, ship operator and carrier. Each party with a role can access its appropriate DEK through its user node in the system, and can then access the data attributes corresponding to the DEK.

圖17圖解說明包含具有一唯一ID 1706及一角色清單1710之一運輸文件之一實施例1700。存取原則1702可係基於角色的。其可具有兩個層級。一個層級可係用於運輸文件1706之每角色創建、更新、邏輯刪除及讀取之一文件物件層級。其亦可提供准許運輸文件1706之創建、更新及讀取屬性之一屬性層級。角色清單存取原則1704可係基於角色的。其亦可具有兩個層級。一個層級可係用於一角色清單1710之每角色創建、更新、邏輯刪除、讀取之一角色清單物件層級。其亦可具有准許角色清單1710之創建、更新及讀取之一角色屬性層級。在某些實施例中,可給一運輸文件1706指派一角色清單。角色清單1710加上運輸文件存取原則1702可提供係當事方之每一使用者對運輸文件之特權。在某些實施例中,每一運輸文件可具有其自身之角色清單及其自身之存取原則。每一使用者可具有在滾動清單上之一所定義角色及在存取原則中之一所定義存取。每一使用者之角色與每一使用者之存取之間的交叉點可定義彼使用者之特權。一角色清單可適用於諸多不同運輸文件。例如,一運輸角色清單可適用於一DG憑證、一提單、碼頭裝載或卸貨事件或任何其他形式之運輸文件1706。此等不同形式之運輸文件亦可稱為文件類型1714及事件類型1716。文件類型1714及事件類型1716可定義所支援類型之運輸文件1706之一群組。在某些實施例中,文件類型1714之運輸文件1706具有版本化。在某些實施例中,每當編輯或修改文件時,一文件之版本號可遞增地增加。其可用於支援相同原始運輸文件之多個版本。每一運輸文件1706可具有一唯一ID。亦可存在諸多種類之角色清單1710。運輸角色清單1718、貨櫃角色清單1720係可能類型之角色清單1710中之某些。運輸文件1706及角色清單1710可分別使用定位子金鑰1708及定位子金鑰1712。在某些實施例中,可不將定位子金鑰1708、定位子金鑰1712加密。定位子金鑰1708、定位子金鑰1712對運輸文件控制中樞可係可見的且可用於支援其(中樞)功能。定位子金鑰可允許一基於金鑰之查找(例如運輸號)識別相關角色清單1710及相關運輸文件1706。運輸文件1706藉由其類型可識別存取原則1702。FIG. 17 illustrates an embodiment 1700 that includes a transport document with a unique ID 1706 and a role list 1710. The access principle 1702 may be role-based. It can have two levels. A level can be used to create, update, logically delete, and read a file object level for each role of the transport file 1706. It can also provide an attribute level that permits the creation, update, and reading of the transport file 1706. The role list access principle 1704 may be role-based. It can also have two levels. One level can be used for each role creation, update, logical deletion, and reading of a role list object level in a role list 1710. It may also have a role attribute level of the allowed role list 1710 to create, update, and read. In some embodiments, a transport document 1706 can be assigned a role list. The role list 1710 plus the transportation document access policy 1702 can provide each user who is a party to the transportation document privileges. In some embodiments, each transport document may have its own role list and its own access policy. Each user can have a defined role in the scrolling list and access defined in one of the access policies. The intersection between the role of each user and the access of each user can define the privileges of that user. A list of roles can be applied to many different shipping documents. For example, a transport role list can be applied to a DG voucher, a bill of lading, a terminal loading or unloading event, or any other form of transport document 1706. These different forms of transportation documents can also be referred to as document type 1714 and event type 1716. The document type 1714 and the event type 1716 can define a group of supported types of transportation documents 1706. In some embodiments, the shipping document 1706 of the document type 1714 is versioned. In some embodiments, each time a file is edited or modified, the version number of a file may increase incrementally. It can be used to support multiple versions of the same original shipping document. Each shipping document 1706 can have a unique ID. There may also be many types of character lists 1710. The transport role list 1718 and the container role list 1720 are some of the possible types of role list 1710. The transportation file 1706 and the role list 1710 can use the location sub-key 1708 and the location sub-key 1712 respectively. In some embodiments, the positioning sub-key 1708 and the positioning sub-key 1712 may not be encrypted. The positioning sub-key 1708 and the positioning sub-key 1712 can be visible to the transportation document control center and can be used to support its (central) function. The locator key can allow a key-based lookup (such as a shipping number) to identify the related role list 1710 and related shipping documents 1706. The transport document 1706 can recognize the access principle 1702 by its type.

圖18圖解說明某些實例性角色清單及角色清單原則。在某些實施例中,一角色清單存取原則定位子金鑰1802可提供「角色清單類型」及「定位子金鑰欄位」之實例性標頭。「角色清單類型」下面係「運輸角色清單」且定位子金鑰欄位下方係承運人及預訂號。此圖解說明運輸角色清單之定位子金鑰欄位係承運人及預訂號。一角色清單存取原則實例1804可展示角色清單類型之類別,其中提供一運輸角色清單。角色經展示為:托運人、收貨人、承運人、船舶經營者及碼頭經營者。在此實例性表中,運輸角色清單指示承運人具有創建一角色清單之權威及系統特權。在此實例中,其他角色中無一角色可創建一角色清單。下一表展示一角色屬性層級實例1806。在此處,「角色清單類型」展示在第一行中之「運輸角色清單」及在第二行中之「角色屬性」。現在在角色屬性行中列出來自角色清單存取原則實例1804之個別角色。表之剩餘部分展示用以創建、讀取或更新(修改)一角色清單運輸文件之一角色屬性的「角色」對「角色屬性」存取特權。粗線框展示第二行及第三行,且指示托運人可讀取運輸角色清單之所有角色,然而托運人不可創建或更新運輸角色清單中之任何角色屬性。角色清單實例具有角色清單定位子金鑰1808及角色清單內容1810。角色清單定位子金鑰1808圖解說明一承運人XYZ及一預訂號123456。運輸角色清單可包含角色清單內容1810,角色清單內容1810可圖解說明各個使用者在其角色中之識別碼(僅出於圖解說明目的,此等識別碼係虛擬的)。Figure 18 illustrates some example role lists and role list principles. In some embodiments, a role list access policy locating sub-key 1802 can provide example headers of "role list type" and "locating sub-key field". Below the "Role List Type" is the "Transport Role List" and the carrier and booking number are below the locating subkey field. This illustration shows that the locator key field of the transport role list is the carrier and reservation number. A role list access principle instance 1804 can display the types of role list types, in which a transport role list is provided. The roles are shown as: shipper, consignee, carrier, ship operator and terminal operator. In this example table, the transport role list indicates that the carrier has the authority and system privileges to create a role list. In this example, none of the other roles can create a role list. The next table shows an example of a role attribute hierarchy 1806. Here, the "role list type" is displayed in the "transport role list" in the first row and the "role attribute" in the second row. Now list individual roles from the role list access policy instance 1804 in the role attribute row. The remaining part of the table shows the "role" to "role attribute" access privileges for creating, reading or updating (modifying) a role attribute of a role list transport file. The thick frame shows the second and third lines, and indicates that the shipper can read all the roles in the transportation role list, but the shipper cannot create or update any role attributes in the transportation role list. The role list example has the role list locating subkey 1808 and the role list content 1810. The role list locator subkey 1808 illustrates a carrier XYZ and a reservation number 123456. The transport role list may include the role list content 1810, and the role list content 1810 may illustrate the identification codes of each user in their roles (for illustration purposes only, these identification codes are virtual).

現在展示數個實例性運輸文件1900,文件可圖解說明商業相關標頭,但僅出於圖解說明目的而使用虛擬資料,如圖19中所展示。在某些實施例中,可存在一貨櫃出境事件1902之一運輸文件(來自一碼頭經營者)。實例性表展示事件ID (運輸文件之唯一識別符)、承運人及預訂號(承運人及預訂號可允許角色清單之定位)及關於碼頭處之聯運貨櫃之資訊。可將此資訊發送至運輸文件控制中樞且重新分佈至在角色清單上所識別之其他使用者,因此可將此特定出境事件同時通知給每一使用者。運輸文件存取原則可具有3個部分–「角色清單定位子」金鑰1904、「運輸文件存取原則」1906及「出境事件欄位層級之運輸文件存取原則」1910。角色清單定位子金鑰1904 (圖17之一實例,1708)指示:對於一出境事件,運輸角色清單可適用且承運人及預訂號可用於定位角色清單,承運人及預訂號可作為承運人XYZ及預訂號12345自出境實例1902經擷取。運輸文件層級原則實例1906指示:對於一出境事件,所展示之五個角色可讀取此運輸文件類型「出境事件」運輸文件,但僅碼頭經營者(此事件之發起者)角色可創建或更新運輸文件。在某些實施例中,諸如碼頭經營者之一角色亦可執行運輸文件之一邏輯刪除。Several example shipping documents 1900 are now shown. The documents may illustrate business-related headers, but only use virtual data for illustration purposes, as shown in FIG. 19. In some embodiments, there may be a transport document (from a terminal operator) of a container exit event 1902. The example table displays the event ID (the unique identifier of the transport document), the carrier and the reservation number (the positioning of the list of allowed roles for the carrier and the reservation number), and information about the intermodal container at the terminal. This information can be sent to the transportation document control center and redistributed to other users identified on the role list, so this specific exit event can be notified to each user at the same time. The transportation document access policy can have three parts-"role list locator" key 1904, "transport document access policy" 1906, and "departure event field-level transportation document access policy" 1910. Role list location subkey 1904 (an example in Figure 17, 1708) indicates: For an outbound event, the transport role list is applicable and the carrier and booking number can be used to locate the role list, and the carrier and booking number can be used as the carrier XYZ And the reservation number 12345 is extracted from the outbound instance 1902. Transport document hierarchy principle example 1906 indicates: for an outbound event, the five roles displayed can read the transport document type "Outbound Event" transport documents, but only the role of the terminal operator (the initiator of this event) can be created or updated Transport documents. In some embodiments, a role such as a terminal operator can also perform a logical deletion of transport files.

在某些實施例中,運輸文件架構實例1908可圖解說明左行中之一欄位名稱(「標頭欄位」)以及右邊之行中之資料屬性類型。樣本資料屬性可係任何長度,且所展示之字串長度僅僅係說明性的。如此實例1908中所圖解說明,事件ID係此運輸文件類型之唯一ID;且承運人及預訂號欄位係此運輸文件類型之角色清單定位子金鑰。運輸文件原則欄位層級實例1910提供對運輸文件類型(在此實例中為一出境事件)及一欄位行之一圖解說明,其展示來自架構實例1908及出境事件實例1902之各種標頭欄位。欄位層級實例1910之第3至第7(第三至第七)行中之欄位清單展示哪一角色針對每一欄位具有什麼權利。單個交易之所有角色可讀取資料,而承運人及碼頭經營者可更新(修改)資料。由於運輸文件出境事件係源自碼頭經營者之一資產,因此僅碼頭經營者可創建此種類之運輸文件。In some embodiments, the transport document architecture instance 1908 can illustrate the name of a field in the left row ("header field") and the data attribute type in the right row. The sample data attributes can be of any length, and the length of the displayed string is only illustrative. As illustrated in this example 1908, the event ID is the unique ID of this transportation document type; and the carrier and booking number fields are the role list positioning subkeys of this transportation document type. The transportation document principle field level example 1910 provides a graphical description of the transportation document type (in this example, an outbound event) and a column row, which displays various header fields from the architecture example 1908 and the outbound event example 1902 . The column list in the 3rd to 7th (third to seventh) rows of the column level instance 1910 shows which role has what rights for each column. All roles of a single transaction can read the data, and the carrier and terminal operator can update (modify) the data. Since the outbound event of transportation documents originates from one of the assets of the terminal operator, only the terminal operator can create this type of transportation document.

在某些實施例中,本文中所闡述之系統及方法可與危險品(DG)一起使用,如圖20中所見。危險品可需要一特殊運輸憑證,在本文中稱為一危險品憑證(DG Cert)。當所運輸之材料可係有危險的或具有可對運輸程序中所涉及之彼等造成危險之數量時出現運輸貨物中之危險品。危險品之實例可包含燃料、放射性材料、腐蝕性化學品及液體、爆炸品等等。在一實例之某些實施例2000中,展示一DG cert實例2002表之一運輸文件。標頭欄位表示左邊行且提供資訊類別。右邊行中之資料屬性展示針對每一類別之對應資料。角色清單定位子資訊可表示承運人及預訂號。亦可列出貨品闡述。角色清單定位子資訊可用於存取DG cert角色清單實例,該DG cert角色清單實例可由運輸文件存取原則角色清單定位子金鑰2004、文件層級存取原則2006及欄位層級存取原則2008構成。角色清單定位子金鑰2004指示:對於每一出境事件,可存在一運輸角色清單,「角色清單類型」以及一承運人及預訂號用作「定位子金鑰欄位」。文件層級存取原則2006圖解說明展示處於文件層級之運輸文件類型「DG Cert」之存取原則之一表。展示與危險品之運輸相關聯之實例性當事方以及其各別讀取(R)、創建(C)、更新(U)及刪除(D)權威。DG cert架構實例2010為目前實例提供DG憑證(運輸文件)之標頭及資料屬性類型。「DG Cert之運輸文件存取原則實例– 欄位層級(欄位可係指一文件中之資料輸入欄位)」2008提供運輸文件類型之相關資訊(DG Cert)、自DG cert實例2002及DG cert架構實例2010中得到之欄位,且展示每一當事方(使用者)之各別權利。In some embodiments, the systems and methods described herein can be used with dangerous goods (DG), as seen in Figure 20. Dangerous goods may require a special transport certificate, which is referred to herein as a dangerous goods certificate (DG Cert). Dangerous goods in the transported goods appear when the transported materials can be dangerous or have a quantity that can cause danger to them involved in the transport procedure. Examples of dangerous goods may include fuels, radioactive materials, corrosive chemicals and liquids, explosives, and so on. In some embodiments 2000, a DG cert instance 2002 is shown as a transport document. The header field represents the left row and provides information categories. The data attributes in the right row show the corresponding data for each category. The role list locator sub-information can indicate the carrier and reservation number. Can also list the product description. The role list location sub-information can be used to access the DG cert role list instance. The DG cert role list instance can be composed of the transport document access policy role list location subkey 2004, the document level access policy 2006 and the field level access policy 2008 . Role list locating sub-key 2004 instruction: For each outbound event, there can be a transport role list, "role list type" and a carrier and reservation number are used as "locating sub-key fields". Document Level Access Principle 2006 illustrates a table showing the access principles of the transport document type "DG Cert" at the document level. Show the instance parties associated with the transportation of dangerous goods and their respective read (R), create (C), update (U) and delete (D) authorities. The DG cert framework instance 2010 provides the header and data attribute type of the DG certificate (transportation document) for the current instance. "Example of DG Cert's Transportation Document Access Principle-Field Level (a field can refer to a data entry field in a document)" 2008 provides information about the type of transportation document (DG Cert), from the DG cert instance 2002 and DG The fields obtained in the cert framework instance 2010, and display the individual rights of each party (user).

在一實例中,可在圖21中看到對邏輯系統佈局2100之一圖解說明。在某些實施例中,可存在用於產生一運輸文件之一系統。該系統可具有一運輸文件控制中樞2102及一第一使用者節點2104。該運輸文件控制中樞可具有一電腦,該電腦包括一邏輯、一記憶體及一通信裝置。一文件控制中樞側訊息代理者2106可透過電腦邏輯操作。訊息代理者2106可發送及接收一或多個事件訊息2108、2110。可存在可儲存於記憶體上之一存取原則儲存庫2112。在記憶體上亦可存在一公開金鑰儲存庫2114及一ID儲存庫2116。記憶體可係一或多個實體裝置且其不需要實體地含納於電腦內。只要電腦可存取所闡述之各種資料庫,可在一實體意義上分佈實體記憶體。ID儲存庫2116可具有一或多個使用者、一或多個使用者登入認證及一或多個使用者參數之一清單。記憶體可係用於儲存經加密運輸文件之存取原則中之一或多者之一區塊鏈節點。第一使用者節點2104可具有一電腦,該電腦具有一邏輯、一記憶體及一通信裝置。類似於運輸文件控制中樞,用戶端(使用者)節點2104、2118可具有電腦之記憶體且可係可在電腦內部或外部之一個以上記憶體裝置,只要電腦可存取該(等)記憶體裝置。一金鑰儲存區2120、2122可係使用者節點之一部分,該金鑰儲存區可保存一登入ID秘密及使用者之一私密金鑰。該金鑰儲存區可係可由電腦存取的。使用者節點2104、2118亦可具有一API介面,該API介面具有用於與金鑰儲存區及一使用者訊息代理者2124、2126進行電子通信之一密碼存取層。使用者節點可具有供一使用者存取運輸文件控制中樞之一入口網站,其中API介面可在邏輯上執行,且與運輸文件控制中樞訊息代理者通信。In an example, an illustration of one of the logic system layout 2100 can be seen in FIG. 21. In some embodiments, there may be a system for generating a shipping document. The system may have a transportation document control hub 2102 and a first user node 2104. The transportation document control center may have a computer including a logic, a memory and a communication device. A document control central side message agent 2106 can be operated by computer logic. The message broker 2106 can send and receive one or more event messages 2108, 2110. There may be an access policy repository 2112 that can be stored on the memory. There may also be a public key repository 2114 and an ID repository 2116 on the memory. The memory can be one or more physical devices and it does not need to be physically contained in the computer. As long as the computer can access the various databases described, physical memory can be distributed in a physical sense. The ID repository 2116 may have one or more users, one or more user login credentials, and a list of one or more user parameters. The memory can be a blockchain node used to store one or more of the access principles of the encrypted transport document. The first user node 2104 may have a computer with a logic, a memory and a communication device. Similar to the transportation document control center, the client (user) nodes 2104, 2118 can have computer memory and can be more than one memory device that can be inside or outside the computer, as long as the computer can access the memory (etc.) Device. A key storage area 2120, 2122 can be a part of the user node, and the key storage area can store a login ID secret and a user's private key. The key storage area can be accessed by a computer. The user nodes 2104, 2118 may also have an API interface with a cryptographic access layer for electronic communication with the key storage area and a user message broker 2124, 2126. The user node may have an portal site for a user to access the transportation document control center, where the API interface can be executed logically and communicate with the transportation document control center message agent.

在某些實施例中,使用者節點與運輸文件控制中樞之間的通信可由訊息代理者處置。系統可使用每一節點與運輸文件控制中樞(中樞)之間的一安全網路通信。該等訊息代理者可為節點及中樞提供安全網路通信以將資訊傳遞至彼此。使用者節點之應用程式設計介面(API)可係為金鑰儲存區與訊息代理者之間的密碼交換提供一存取層之一電腦實施之程式。該存取層可實施於一電腦邏輯或處理器上。用戶端應用程式可係供一使用者存取API介面及訊息代理者之任何介面。用戶端應用程式可係專屬軟體或可係現成軟體。每一節點之訊息代理者可存取中樞中之區塊鏈邏輯,且經加密運輸文件可以一區塊鏈格式來儲存,其中一或多個經加密欄位指派給每一節點。每一記憶體元件可具有任一數目個區塊鏈資料庫,此乃因針對每一運輸文件類型可存在一個區塊鏈資料庫。In some embodiments, the communication between the user node and the transportation document control center can be handled by the message broker. The system can use a secure network communication between each node and the transportation document control center (central). These message brokers can provide secure network communications for nodes and hubs to transfer information to each other. The application programming interface (API) of the user node can be a computer-implemented program that provides an access layer for the password exchange between the key storage area and the message broker. The access layer can be implemented on a computer logic or processor. The client application can be any interface for a user to access the API interface and the message broker. The client application can be proprietary software or can be ready-made software. The message agent of each node can access the blockchain logic in the hub, and the encrypted transport file can be stored in a blockchain format, with one or more encrypted fields assigned to each node. Each memory element can have any number of blockchain databases, because there can be one blockchain database for each transport document type.

在某些實施例中,可在圖22中看到一角色清單提交之一樣本流程圖2200。在某些實施例中,當提交一角色清單時,角色清單可具有一初始檢查屬性驗證2202。在此步驟中,程序檢查定位子金鑰(例如預訂號及發送者之組織ID (SCAC碼))及角色清單(角色清單亦包含角色清單類型)是否可在請求中。若是,則程序可執行一角色檢查2206以查看發送者之組織ID是否可係角色清單中之當事方中之一者。若是,則程序檢查以查看是否定義角色清單存取原則2208。此步驟涉及檢查彼角色清單類型之角色清單存取原則。程序然後可檢查一存取權檢查2210以藉由ID儲存庫查找發送者之組織之角色且檢查發送者之角色是否具有存取權(角色清單層級及一角色清單中之一資料欄位,有時在本文中稱為一「角色清單欄位層級」)以創建一角色清單並創建該角色清單中之角色。若在任一點處程序未能產生一有用結果,則程序可結束且可傳回一錯誤回應碼2212且然後終止(結束2234)。若所有步驟係成功的,程序可針對角色清單中之所有角色產生加密金鑰2214。使用該等加密金鑰,程序可將角色清單加密2216。程序可藉由經加密角色清單產生一雜湊且存取金鑰儲存區以藉由發送者之私密金鑰簽署雜湊從而產生發送者之簽章2218。程序可針對角色清單上之每一當事方獲得公開金鑰2220,且根據每一當事方之存取控制原則使用當事方之公開金鑰將資料加密金鑰加密2222。程序可藉由使用經加密角色清單、經加密資料加密金鑰(與當事方之公開金鑰相關聯)、雜湊及發送者之簽章而將訊息打包。程序可藉助使用者之私密金鑰以數位方式簽署訊息以產生使用者之簽章。可將訊息發送至運輸文件控制中樞2223。程序然後可藉由找出當事方之區塊鏈節點且將經加密角色清單及經加密資料加密金鑰分佈至各別區塊鏈節點而分佈資料及加密金鑰2224。程序然後可藉由檢查是否成功地分佈經加密資料、經加密資料加密金鑰、雜湊及發送者之簽章而檢查分佈成功2226。程序然後可將具有成功碼2232之事件發佈至訊息代理者,或將具有一錯誤碼之事件發佈至訊息代理者2228。In some embodiments, a sample flowchart 2200 of a role list submission can be seen in FIG. 22. In some embodiments, when a role list is submitted, the role list may have an initial check attribute verification 2202. In this step, the program checks whether the location subkey (such as the reservation number and the sender's organization ID (SCAC code)) and the role list (the role list also includes the role list type) can be included in the request. If so, the program can perform a role check 2206 to see if the sender's organization ID can be one of the parties in the role list. If so, the program checks to see if the role list access policy 2208 is defined. This step involves checking the role list access policy of that role list type. The program can then check an access right check 2210 to find the role of the sender’s organization using the ID repository and check whether the sender’s role has access rights (the role list level and a data field in a role list, there is In this article, it is called a "role list field level") to create a role list and create the roles in the role list. If at any point the procedure fails to produce a useful result, the procedure can end and an error response code 2212 can be returned and then terminated (end 2234). If all the steps are successful, the process can generate encryption keys 2214 for all roles in the role list. Using these encryption keys, the program can encrypt 2216 the role list. The process can generate a hash by encrypting the role list and access the key storage area to sign the hash with the sender's private key to generate the sender's signature 2218. The program can obtain the public key 2220 for each party on the role list, and encrypt the data encryption key 2222 with the party's public key according to the access control principle of each party. The process can package the message by using the encrypted role list, the encrypted data encryption key (associated with the public key of the party), hash and the sender's signature. The program can use the user's private key to digitally sign the message to generate the user's signature. The message can be sent to the transportation document control center 2223. The process can then distribute the data and encryption key 2224 by finding the blockchain node of the party and distributing the encrypted role list and the encrypted data encryption key to each blockchain node. The program can then check for successful distribution by checking whether the encrypted data, encrypted data encryption key, hash, and sender's signature were successfully distributed 2226. The program can then publish events with a success code of 2232 to the message broker, or publish events with an error code to the message broker 2228.

在某些實施例中,用戶端應用程式可創建一角色清單且經由用戶端側訊息代理者及使用者節點與運輸文件控制中樞通信。使用者節點中之密碼存取層可自中樞獲得公開金鑰及存取控制原則。存取層然後可證實且加強存取控制原則,將一有效負載(角色清單)加密且將訊息放置至訊息代理者。訊息代理者(用戶端側)可與運輸文件控制中樞之訊息代理者通信,且運輸文件控制中樞側上之訊息代理者獲得去往程序之訊息以分佈經加密資料及經加密資料金鑰,且然後可發佈具有可去往用戶端側訊息代理者之一成功碼的事件2232。用戶端側可應答成功訊息及確認接收,且可創建一交易完成應答。In some embodiments, the client application can create a role list and communicate with the transportation document control center via the client-side message broker and user nodes. The password access layer in the user node can obtain the public key and access control principles from the hub. The access layer can then verify and enforce access control principles, encrypt a payload (role list) and place the message to the message broker. The message agent (on the client side) can communicate with the message agent of the transportation document control center, and the message agent on the transportation document control center side obtains the message to the program to distribute the encrypted data and the encrypted data key, and Then an event 2232 with a success code that can go to one of the message agents on the client side can be issued. The client side can respond to the success message and confirm receipt, and can create a transaction completion response.

在某些實施例中,可存在用於讀取一運輸文件之一程序2300,如圖23中所展示。該程序可在開始方塊處以一給定文件ID (例如DG Cert ID) (在某些實施例中,可給出一版本號)、運輸號、發送者之組織ID (例如SCAC (標準承運人字母碼))及一特定角色清單類型開始。其繼續進行以檢查屬性驗證2302。在此步驟中,程序可檢查定位子金鑰(運輸號、發送者之組織ID)、文件ID及角色清單類型是否有效。若如此,則程序使用角色清單之定位子金鑰及角色清單類型(未展示)自發送者之節點獲得經加密角色清單及經加密資料加密金鑰2304。若無法找到角色清單,則程序可傳回一錯誤回應碼2316且然後可進行至結束方塊2322。若可找到角色清單,則程序可檢查角色清單之相關性2310。程序可檢查以查看所有區塊鏈節點中之角色清單資料是否彼此匹配。若任一區塊鏈節點中之角色清單資料不與其他區塊鏈節點匹配,則程序可傳回一錯誤回應碼2316且然後可進行至結束方塊2322。若角色清單資料在所有區塊鏈節點中係相同的,則程序可存取金鑰儲存區2312以將資料加密金鑰解密2314。若無法將資料加密金鑰解密,則程序可傳回一錯誤回應碼2316且然後可進行至結束方塊2322。若可將資料加密金鑰解密,則程序可使用資料加密金鑰來將角色清單解密2318。程序然後可傳回一成功回應碼2320,或另一選擇係,若程序失敗,則程序可傳回一錯誤回應碼2316。程序然後可進行至結束方塊2322。In some embodiments, there may be a program 2300 for reading a transport file, as shown in FIG. 23. The program can start with a given document ID (such as DG Cert ID) (in some embodiments, a version number can be given), shipping number, sender’s organization ID (such as SCAC (Standard Carrier Letter) Code)) and a specific role list type begins. It continues to check the attribute verification 2302. In this step, the program can check whether the location subkey (transportation number, sender's organization ID), document ID, and role list type are valid. If so, the program uses the locator key of the role list and the role list type (not shown) to obtain the encrypted role list and the encrypted data encryption key 2304 from the sender's node. If the role list cannot be found, the process can return an error response code 2316 and can then proceed to the end block 2322. If the role list can be found, the program can check the relevance of the role list 2310. The program can check to see if the role list data in all blockchain nodes match each other. If the role list data in any blockchain node does not match with other blockchain nodes, the procedure may return an error response code 2316 and then proceed to the end block 2322. If the role list data is the same in all blockchain nodes, the program can access the key storage area 2312 to decrypt 2314 the data encryption key. If the data encryption key cannot be decrypted, the process can return an error response code 2316 and can then proceed to the end block 2322. If the data encryption key can be decrypted, the program can use the data encryption key to decrypt 2318 the role list. The program can then return a success response code 2320, or alternatively, if the program fails, the program can return an error response code 2316. The process can then proceed to end block 2322.

現在在圖24中展示 流程圖,該流程圖展示一運輸文件創建2400。在某些實施例中,程序可藉由檢查定位子金鑰(例如預訂號及發送者之組織ID)及運輸文件內容(例如DG cert)及運輸文件類型是否可在請求中來檢查屬性驗證2402。程序可檢查是否可存在來自存取原則儲存庫之一現有角色清單2404。此步驟可涉及檢查存取原則儲存庫有無適用角色清單類型,然後檢查彼角色清單類型之一現有角色清單。一運輸角色檢查2406 (或僅僅一角色檢查)可判定發送者之組織ID是否係角色清單上之當事方中之一者。程序可檢查以查看是否可在運輸文件層級及運輸文件欄位層級處定義存取原則2408。程序可進行一存取權檢查2410以查找發送者之組織在ID儲存庫中之角色,且可檢查發送者之角色是否具有正確存取權(運輸文件層級及欄位層級)以創建彼類型之一運輸文件(例如DG cert),且在其中創建資料。程序然後可產生遍及整個系統可係唯一之一唯一運輸文件ID 2412 (例如DG cert ID)。程序可針對運輸文件中之所有資料屬性產生資料加密金鑰2414。然後可使用資料加密金鑰在運輸文件(例如DG cert)中將資料屬性加密2416。程序可產生關於經加密資料屬性之一雜湊且存取金鑰儲存區以藉由發送者之私密金鑰簽署雜湊來產生發送者之簽章2418。然後,可針對在運輸文件中之角色中所識別之每一當事方獲得公開金鑰2420。可針對以運輸文件中之一角色識別的每一當事方,使用適當公開金鑰來將資料加密金鑰加密2422。程序可將具有經加密資料屬性、經加密資料加密金鑰、雜湊及發送者之簽章的訊息打包2424。程序可將訊息發送2426至運輸文件控制中樞。運輸文件控制中樞可藉由以下方式來分佈經加密資料、金鑰、雜湊及發送者之簽章:找出恰當當事方之區塊鏈節點;及將經加密運輸文件、經加密資料加密金鑰(DEK)、雜湊及發送者之簽章分佈至區塊鏈節點。程序可檢查以藉由使每一使用者節點以一成功通知做出回應來查看分佈是否係成功的2428。另一選擇係,程序可分佈訊息且將分佈記錄為成功的,除非自一或多個接收方接收一錯誤訊息。可將一成功事件通知發佈給發送者2432。角色清單接收方可接收具有經加密運輸文件、經加密DEK、雜湊及發送者之簽章之一發佈事件2430。事件至任一接收方之發佈可取決於接收方是否同意一特定運輸文件類型(例如「所創建DG cert」)之更新事件。接收方使用者節點可藉由以下方式來檢查完整性2436:計算來自經加密運輸文件之雜湊;及藉由使用發送者之公開金鑰解密發送者之簽章以獲得經解密雜湊。程序可比較經解密雜湊與來自經加密運輸文件之雜湊。接收方節點然後可存取金鑰儲存區,以藉由資料解密金鑰將經加密資料加密金鑰解密2438且將運輸文件解密2440。用戶端應用程式可以純文字形式接收運輸文件2442。程序然後可進行至結束方塊2448。Now a flow chart is shown in FIG. 24, which shows a shipping document creation 2400. In some embodiments, the program can check whether the locator subkey (such as the reservation number and the sender’s organization ID) and the content of the transport document (such as DG cert) and the type of the transport document can be checked in the request to verify the attribute 2402 . The program can check whether there can be an existing role list 2404 from one of the access policy repository. This step may involve checking whether the access policy repository has an applicable role list type, and then checking an existing role list of one of that role list type. A transport role check 2406 (or just a role check) can determine whether the sender’s organization ID is one of the parties on the role list. The program can check to see if the access policy 2408 can be defined at the transport document level and the transport document field level. The program can perform an access right check 2410 to find the role of the sender’s organization in the ID repository, and can check whether the sender’s role has the correct access rights (transport file level and field level) to create that type of A transport document (such as DG cert), and create information in it. The program can then generate a unique transport document ID 2412 (eg, DG cert ID) that can be unique throughout the system. The program can generate a data encryption key 2414 for all data attributes in the transport document. The data encryption key can then be used to encrypt 2416 the data attributes in the transport file (eg DG cert). The program can generate a hash about an attribute of the encrypted data and access the key storage area to generate the sender's signature 2418 by signing the hash with the sender's private key. Then, a public key 2420 can be obtained for each party identified in the role in the transport document. The data encryption key can be encrypted 2422 with an appropriate public key for each party identified by a role in the transport document. The program can package 2424 messages with encrypted data attributes, encrypted data encryption keys, hashes, and sender's signature. The program can send 2426 messages to the transportation document control center. The transportation document control center can distribute encrypted data, keys, hashes, and the sender’s signature in the following ways: find the blockchain node of the appropriate party; and encrypt the encrypted transportation document and encrypted data. The key (DEK), hash and sender's signature are distributed to the blockchain nodes. The program can check to see if the distribution is successful 2428 by making each user node respond with a success notification. Alternatively, the program can distribute the message and record the distribution as successful unless an error message is received from one or more recipients. A successful event notification can be posted to the sender 2432. The role list recipient can receive one of the publishing events 2430 with the encrypted transport file, the encrypted DEK, the hash, and the sender's signature. The release of the event to any recipient may depend on whether the recipient agrees to the update event of a specific transport document type (for example, "created DG cert"). The recipient user node can check the integrity 2436 by calculating the hash from the encrypted transport document; and decrypting the sender's signature by using the sender's public key to obtain the decrypted hash. The program can compare the decrypted hash with the hash from the encrypted transport document. The recipient node can then access the key storage area to decrypt 2438 the encrypted data encryption key and decrypt 2440 the transport document with the data decryption key. The client application can receive the shipping document 2442 in plain text. The process can then proceed to end block 2448.

現在在圖25中展示一運輸文件更新2500之 流程圖。程序可自開始方塊2502繼續,以藉由驗證運輸文件ID/定位子金鑰(例如預訂號及承運人之組織ID (SCAC碼))及經更新運輸文件(例如DG Cert)是否可在請求中來檢查屬性2504。程序可檢查一現有運輸文件2506。此可藉由搜索運輸文件ID及/或定位子金鑰及運輸文件類型而自區塊鏈分類帳判定。可進行一檢查以查看是否可找到現有角色清單2508。程序可藉由藉助一或多個定位子金鑰及/或一或多個角色清單類型來進行搜索而自存取原則儲存庫找到角色清單。可進行一角色檢查2510以判定發送者組織ID是否可係角色清單上之當事方中之一者。程序可檢查以查看是否定義存取原則2512。程序可存取原則藉由供應「運輸文件類型」(例如運輸文件類型=「DG Cert」)而自一部分或整個文件獲得運輸文件。可執行一存取權檢查2514以判定發送者之角色是否可具有存取權(欄位層級)以更新運輸文件中之資料值。程序可合併現有運輸文件屬性與所提交資料屬性之經加密資料(若可用) 2516。程序可使運輸文件之版本號增加一2518。程序可針對所提交運輸文件中之新資料屬性2522產生資料加密金鑰2520。舉例而言,若存在10個資料欄位,且3個資料欄位影響一使用者,則僅改變影響該使用者之三個資料欄位,因此僅3個資料欄位可需要新加密金鑰。剩餘7欄位可不具有新金鑰,且僅僅剩下已經存在之舊資訊。程序可藉由使用資料加密金鑰將運輸文件中之所提交資料屬性加密2524。程序可產生關於任何新加密之資料屬性(資料欄位)之一雜湊,且存取金鑰儲存區以藉由發送者之私密金鑰簽署雜湊來產生發送者之簽章2526。程序可獲得角色清單中之當事方的公開金鑰2528。程序可藉由使用每一當事方之公開金鑰,使用每一當事方(使用者)之存取控制原則來將經更新資料加密金鑰加密2530。程序可將具有經加密資料屬性、經加密資料加密金鑰、雜湊及發送者之簽章的訊息打包2532。程序可將訊息發送至運輸文件控制中樞2532。程序可藉由以下方式來分佈經加密資料及金鑰:找到當事方之區塊鏈分類帳;及將經加密運輸文件、經加密資料加密金鑰、雜湊及發送者之簽章金鑰分佈至恰當區塊鏈分類帳2534。可執行是否成功地分佈經加密運輸文件、經加密資料加密金鑰、雜湊及發送者之簽章之一檢查2536。可在一成功碼發送至發送者之訊息代理者的情況下,執行具有至發送者之成功碼之一發佈事件2550。若未進行保存至交易參考資料庫,則程序可替代地將具有要發送之一錯誤碼之一事件發佈至發送者之訊息代理者2554。程序可將具有一經加密運輸文件、經加密資料加密金鑰及發送者之簽章之一事件發佈至既定接收方2538。至接收方之發佈事件取決於組織是否同意運輸文件更新事件(例如「經更新DG Cert」)。事件有效負載可含有一經加密運輸文件、經加密DEK及發送者之簽章。接收方使用者節點可藉由以下方式來檢查完整性2540:計算來自經加密運輸文件之雜湊;及藉由使用發送者之公開金鑰將發送者之簽章解密以獲得經解密雜湊。程序可比較經解密雜湊與來自經加密運輸文件之雜湊。若完整性檢查2540失敗,則程序可將錯誤回應碼傳回至接收方2548。若完整性檢查成功,則接收方節點然後可存取金鑰儲存區以將資料加密金鑰解密2542,且藉由資料解密金鑰將運輸文件解密2544。用戶端應用程式可以純文字形式接收運輸文件2546。程序然後可進行至結束方塊2556 2500 now shows a flow chart of a transportation update file in Figure 25. The process can continue from start block 2502 by verifying whether the shipping document ID/location subkey (such as the booking number and the carrier’s organization ID (SCAC code)) and the updated shipping document (such as DG Cert) can be included in the request Come to check attribute 2504. The program can check an existing shipping document 2506. This can be determined from the blockchain ledger by searching for the shipping document ID and/or locating the sub-key and the shipping document type. A check can be made to see if the list of existing roles 2508 can be found. The process can find the role list from the access policy repository by searching with one or more locating subkeys and/or one or more role list types. A role check 2510 can be performed to determine whether the sender's organization ID can be one of the parties on the role list. The program can check to see if the access policy 2512 is defined. The principle of program accessibility is to obtain transportation documents from part or the entire document by supplying "transport document type" (for example, transportation document type="DG Cert"). An access right check 2514 can be performed to determine whether the role of the sender has access right (field level) to update the data value in the transportation document. The program can merge the encrypted data (if available) 2516 of the attributes of the existing transport document and the attributes of the submitted data. The program can increase the version number of the transport document by 2518. The program can generate a data encryption key 2520 for the new data attribute 2522 in the submitted transportation document. For example, if there are 10 data fields and 3 data fields affect a user, only the three data fields that affect the user are changed, so only 3 data fields may require a new encryption key . The remaining 7 fields do not have the new key, and only the existing old information is left. The program can encrypt 2524 the attributes of the submitted data in the transport document by using the data encryption key. The program can generate a hash about any newly encrypted data attribute (data field), and access the key storage area to generate the sender's signature 2526 by signing the hash with the sender's private key. The program can obtain the public key 2528 of the party in the role list. The program can encrypt 2530 the updated data encryption key by using the public key of each party and the access control principle of each party (user). The program can package 2532 messages with encrypted data attributes, encrypted data encryption keys, hashes, and sender's signature. The program can send messages to the transportation document control center 2532. The program can distribute the encrypted data and keys by the following methods: find the blockchain ledger of the party; and distribute the encrypted transport document, encrypted data encryption key, hash and sender's signature key To the appropriate blockchain ledger 2534. It can perform a check 2536 whether the encrypted transport file, encrypted data encryption key, hash, and sender's signature are successfully distributed. In the case where a success code is sent to the message agent of the sender, a publishing event 2550 with a success code to the sender can be executed. If it has not been saved to the transaction reference database, the program can alternatively post an event with an error code to be sent to the message broker 2554 of the sender. The program can publish an event with an encrypted transport file, encrypted data encryption key and sender's signature to the intended recipient 2538. The release event to the recipient depends on whether the organization agrees to the shipping document update event (for example, "Updated DG Cert"). The event payload may contain an encrypted transport file, an encrypted DEK, and the sender's signature. The recipient user node can check the integrity 2540 by calculating the hash from the encrypted transport document; and decrypting the sender's signature by using the sender's public key to obtain the decrypted hash. The program can compare the decrypted hash with the hash from the encrypted transport document. If the integrity check 2540 fails, the program can send an error response code back to the recipient 2548. If the integrity check is successful, the recipient node can then access the key storage area to decrypt 2542 the data encryption key, and decrypt the transport document 2544 with the data decryption key. The client application can receive the transportation document 2546 in plain text. The program can then proceed to end block 2556 .

現在在圖26中展示用於讀取一運輸文件之 實例性程序2600。程序在一開始方塊2602處開始且可繼續進行以檢查是否可在請求中供應一運輸文件版本號,且對照一交易參考資料庫檢查該運輸文件版本號2604。程序然後可進行一屬性驗證2606以檢查運輸文件ID及/或定位子金鑰(預訂號及發送者之組織ID (SCAC碼))及運輸文件類型是否在請求中。程序可藉由運輸文件ID自發送者之區塊鏈節點獲得經加密運輸文件及經加密資料加密金鑰2608。(在某些實施例中,可存在一相關性檢查(檢查相關性2610)以查看來自區塊鏈節點之經加密運輸文件及經加密資料加密金鑰在內容層級中是否係相同的。)Now shown in Figure 26 is an exemplary procedure for reading a transport documents 2600. The process starts at the start block 2602 and can continue to check whether a shipping document version number can be supplied in the request, and check the shipping document version number 2604 against a transaction reference database. The program can then perform an attribute verification 2606 to check whether the transportation document ID and/or location subkey (reservation number and sender's organization ID (SCAC code)) and the transportation document type are in the request. The program can obtain the encrypted transport document and the encrypted data encryption key 2608 from the sender's blockchain node by the transport document ID. (In some embodiments, there may be a correlation check (check correlation 2610) to see whether the encrypted transport file and the encrypted data encryption key from the blockchain node are the same in the content level.)

使用者節點可存取金鑰儲存區2612以使用發送者之組織之私密金鑰將資料加密金鑰(DEK)解密且取回資料加密金鑰(DEK) 2614。使用者節點可藉由資料加密金鑰將經加密運輸文件解密2618且可將一成功回應碼傳回2620至用戶端應用程式。若程序在任一點處失敗,則程序可將一錯誤2616碼傳回至用戶端應用程式。程序可結束2622。The user node can access the key storage area 2612 to decrypt the data encryption key (DEK) and retrieve the data encryption key (DEK) 2614 using the private key of the sender’s organization. The user node can decrypt 2618 the encrypted transport document with the data encryption key and can send a successful response code back 2620 to the client application. If the procedure fails at any point, the procedure can return an error 2616 code to the client application. The program can end 2622.

在某些實施例中,在存取現有角色清單及/或現有運輸文件時之步驟中之一或多者中,可由使用者節點或運輸文件中樞檢查現有角色清單及/或現有運輸文件之資料完整性。完整性檢查程序藉由依據經加密運輸文件(或角色清單)計算雜湊且比較其與現有運輸文件(或角色清單)中之現有雜湊而開始。發送者之簽章可對照其公開金鑰經驗證。若現有雜湊與所計算雜湊匹配且成功地驗證發送者之簽章驗證,則其係一有效簽章且維持文件之完整性。In some embodiments, in one or more of the steps when accessing the existing role list and/or the existing transportation document, the user node or the transportation document hub can check the existing role list and/or the existing transportation document data Completeness. The integrity check process starts by calculating the hash based on the encrypted shipping document (or role list) and comparing it with the existing hash in the existing shipping document (or role list). The sender’s signature can be verified against its public key. If the existing hash matches the calculated hash and the sender's signature verification is successfully verified, it is a valid signature and the integrity of the file is maintained.

一旦一使用者能夠存取預訂API,該使用者便可填充一預訂配置2700 (實例)。預訂配置2700可具有用於與貨物運輸有關之資料輸入之多個欄位。欄位可包含但不限於托運人、收貨人、船舶經營者、代運人、承運人及預訂方(其可係使用者)之識別碼。預訂配置2700亦可視需要具有路線資訊、貨櫃/貨品資訊及其他或雜項資訊。創建預訂之使用者可看到預訂配置中之所有資料屬性。預訂使用者可輸入至預訂配置2700中之額外資訊可包含對使用者可係機密的之資訊。當將預訂配置2700輸入至系統中時,可單獨地處理每一欄位。舉例而言,一旦創建記錄,預訂配置2700中之托運人便可觀看記錄,但托運人可僅看到與其相關之資訊(例如,運輸處置之實際價格)。在另一實例中,收貨人可看到與其相關之資訊(例如,傳回空聯運貨櫃之位置)。預訂版本號2702表示使用者正在觀看之版本。一般而言,使用者可看到最新版本。在某些情形中,一使用者可搜索比最近記錄舊之記錄。Once a user has access to the reservation API, the user can populate a reservation configuration 2700 (example). The reservation configuration 2700 may have multiple fields for data input related to cargo transportation. The field may include, but is not limited to, the identification code of the shipper, consignee, ship operator, forwarder, carrier and booking party (which may be the user). The reservation configuration 2700 can also have route information, container/goods information and other or miscellaneous information as needed. The user who created the reservation can see all the data attributes in the reservation configuration. The additional information that the reservation user may enter into the reservation configuration 2700 may include information that may be confidential to the user. When the reservation configuration 2700 is entered into the system, each field can be processed separately. For example, once a record is created, the shipper in the reservation configuration 2700 can view the record, but the shipper can only see the information related to it (for example, the actual price of the transportation disposal). In another example, the consignee can see information related to it (for example, the location of the air intermodal container returned). The subscription version number 2702 indicates the version that the user is viewing. Generally speaking, users can see the latest version. In some cases, a user can search for records older than the most recent record.

現在在圖28中展示如由一船舶經營者觀看之一局部預訂視圖2800之 樣本截圖。該截圖包含承運人之識別碼,但可隱藏預訂方、托運人、代運人及收貨人之識別碼。另外,可存在路線資訊中之資訊、貨櫃/貨品資訊之一部分或自船舶經營者之視圖保持隱藏之其他資訊欄位。以此方式,製成局部預訂視圖2800之使用者(預訂方)可填充與參與貨品之運輸之每一其他當事方相關之所有資訊。運輸文件可含有每個當事方使用或進行其交易之一部分所依賴、又使預訂方可不想要共用之任何資訊隱藏之資訊。預訂方可定義其想要其他人看到什麼欄位、彼等其他當事方係誰,或預訂方可使用一組標準化保護欄位。系統可基於每一使用者之角色之存取控制原則而決定一使用者可看到哪些欄位。Now as in Figure 28 shows a view of one of the local operator of the ship's 2800 book view a sample screenshot. The screenshot contains the identification code of the carrier, but it can hide the identification code of the booking party, shipper, forwarder and consignee. In addition, there may be information in the route information, part of the container/goods information, or other information fields that are kept hidden from the ship operator's view. In this way, the user (reserving party) making the partial booking view 2800 can fill in all the information related to each other party involved in the transportation of the goods. Transport documents may contain information that each party uses or relies on as part of its transaction, and which makes the booking party not want to share any information hidden. The reservation party can define what fields it wants others to see, who their other parties are, or the reservation party can use a set of standardized protection fields. The system can determine which fields a user can see based on the access control policy of each user's role.

在某些實施例中,存取角色原則中之可並非系統之使用者之一當事方仍可藉由具有來自存取角色原則中之一使用者之一權限而獲得對系統中之特定材料及資訊之存取。此一非使用者當事方可係一銀行或其他金融機構、一政府實體(諸如一港口檢驗員)或對運輸交易具有一附屬興趣之其他第三方(諸如一保險公司、海關代理、維修設備或任何其他當事方)。In some embodiments, a party in the access role policy that may not be a user of the system can still obtain access to specific materials in the system by having a permission from one of the users in the access role policy And information access. This non-user party may be a bank or other financial institution, a government entity (such as a port inspector), or other third party with a subsidiary interest in transportation transactions (such as an insurance company, customs agent, maintenance equipment Or any other party).

在某些實施例中,一使用者可請求一第三方存取系統內之特定資料。另一選擇係,使用者可請求在系統中具有向系統之一第三方非使用者驗證之特定資訊。使用者可向系統提出一驗證請求,且非使用者可獲得對特定資訊之存取以便驗證由使用者進行之陳述。程序可在具有或不具有來自系統之直接行動之情況下完成,且允許使用者與第三方非使用者之間的機密性。In some embodiments, a user can request a third party to access specific data in the system. Another option is that the user can request specific information in the system that is authenticated to a third-party non-user of the system. The user can submit a verification request to the system, and non-users can gain access to specific information to verify the statement made by the user. The process can be completed with or without direct actions from the system, and allows confidentiality between users and third-party non-users.

在圖29中可看到對系統、使用者及第三方非使用者之邏輯關係之 圖解說明。在某些實施例中,一所註冊使用者2902及一使用者節點2908可透過使用者節點2908向文件控制中樞2906提出請求。在某些實施例中,使用者可與一第三方2904通信,第三方2904可不具有對文件控制中樞2906之任何存取權,亦並非如本文中所闡述之系統之一使用者。例如,一訊息代理者可經組態以將一訊息發送至一第三方2904 (一第三方非使用者),其中該訊息包括來自運輸文件控制中樞之經加密資料。經加密資料可限定於一使用者2902 (或一對應使用者節點2908)能夠根據一存取控制原則及一使用者角色清單存取之資料。第三方2904可係對使用者2902之運輸活動感興趣之一組織或個體,但並非運輸協議之一當事方。第三方2904可係一銀行或其他借貸機構、一保險公司、一經紀人、一維修設備、一政府機關或政府行動者或可對運輸協議感興趣之任何其他當事方,且需要存取文件控制中樞2906或由如本文中所闡述之系統支援之受控制資料庫中之任一者上之某些資料或文件。It can be seen in FIG. 29 illustrates a relation of the system, users and non-users of third-party logic. In some embodiments, a registered user 2902 and a user node 2908 can make a request to the document control center 2906 through the user node 2908. In some embodiments, the user can communicate with a third party 2904, and the third party 2904 may not have any access rights to the file control hub 2906, nor is it a user of the system as described herein. For example, a message agent can be configured to send a message to a third party 2904 (a third party non-user), where the message includes encrypted data from the transportation document control center. The encrypted data can be limited to data that a user 2902 (or a corresponding user node 2908) can access according to an access control principle and a user role list. The third party 2904 may be an organization or individual interested in the transportation activities of the user 2902, but is not a party to the transportation agreement. The third party 2904 may be a bank or other lending institution, an insurance company, a broker, a maintenance equipment, a government agency or government actor, or any other party that may be interested in the transportation agreement, and requires access to documents Certain data or files on any of the control hub 2906 or the controlled database supported by the system as described herein.

具體而言,出於自第三方2904獲得某物之目的,使用者2902可將文件或資訊傳達至第三方2904當事方。來自第三方2904之此物可使使用者參與運輸協議,或與系統之其他使用者進行業務。實例可係為運輸協議提供資金、為協議之一態樣提供經濟擔保、商品或承運人之保險、檢驗資料以在到達一港口時驗證貨櫃內容等等。Specifically, for the purpose of obtaining something from the third party 2904, the user 2902 may communicate documents or information to the third party 2904 parties. This item from a third party 2904 allows users to participate in transportation agreements or conduct business with other users of the system. Examples may be the provision of funds for the transportation agreement, the provision of financial guarantees for one aspect of the agreement, the insurance of commodities or carriers, the inspection of data to verify the contents of the container upon arrival at a port, and so on.

為了獲得第三方2904之輔助,使用者2902可使用經加密且安全使用者與第三方通信2912協定將第三方2904可請求之所有文件提交給第三方2904。使用者與第三方通信2912可包含自使用者2902遞送至第三方2904之經加密資料及資料加密金鑰,因此第三方2904可恰當地觀看資料。在某些實施例中,第三方2904可希望驗證由使用者2902提供之資料之真實性。第三方2904可存取一第三方節點2910以與文件控制中樞2906通信,且請求自使用者2902接收之資料之驗證。第三方節點2910可與文件控制中樞2906中之一驗證功能進行通信。在某些實施例中,第三方2904可經由第三方節點2910將經加密資料發送至文件控制中樞2906,且請求經加密資料之驗證。在某些實施例中,第三方2904可發送經加密資料及經加密資料加密金鑰以用於解密。第三方2904可發送由使用者2902提供之任何額外材料以由文件控制中樞2906驗證。文件控制中樞2906可經由第三方節點2910將驗證所需要之資訊發送回至第三方2904。In order to obtain the assistance of the third party 2904, the user 2902 can submit all the documents that the third party 2904 can request to the third party 2904 using the encrypted and secure user-to-third party communication 2912 protocol. The user-to-third party communication 2912 may include the encrypted data and the data encryption key delivered from the user 2902 to the third party 2904, so the third party 2904 can view the data appropriately. In some embodiments, the third party 2904 may wish to verify the authenticity of the information provided by the user 2902. The third party 2904 can access a third party node 2910 to communicate with the document control hub 2906 and request verification of the data received from the user 2902. The third-party node 2910 can communicate with one of the verification functions in the file control hub 2906. In some embodiments, the third party 2904 may send the encrypted data to the file control center 2906 via the third party node 2910, and request verification of the encrypted data. In some embodiments, the third party 2904 may send the encrypted data and the encrypted data encryption key for decryption. The third party 2904 can send any additional materials provided by the user 2902 to be verified by the document control hub 2906. The document control hub 2906 can send the information required for verification back to the third party 2904 via the third party node 2910.

在某些實施例中,第三方2904可將經加密資料發送至第三方節點2910,第三方節點2910可產生經加密資料之一雜湊且可提供經加密資料之該雜湊並比較其與記錄於文件控制中樞2906中之運輸文件之雜湊。匹配雜湊可揭露資料係真實的,儘管文件控制中樞2906可不實際上將任何資料發放給第三方2904。在某些實施例中,可允許使用金鑰檢查進行驗證及經加密金鑰之雜湊或現在存在或未來導出之任何其他機制,彼可適合文件控制中樞2906及使用者2902系統之使用。當第三方2904可確認來自使用者之資料之真實性時,第三方2904可繼續進行其內部操作以向使用者2902提供使用者繼續其在運輸協議中之職責所需要之任何事物。In some embodiments, the third party 2904 can send the encrypted data to the third-party node 2910, and the third-party node 2910 can generate a hash of the encrypted data and can provide the hash of the encrypted data and compare it with that recorded in the file A jumble of shipping documents in the control center 2906. The matching hash may reveal that the information is true, although the document control center 2906 may not actually release any information to the third party 2904. In some embodiments, it may allow the use of key checking for verification and hashing of encrypted keys or any other mechanisms that exist or are derived in the future, which may be suitable for use by the document control center 2906 and the user 2902 system. When the third party 2904 can confirm the authenticity of the data from the user, the third party 2904 can continue its internal operations to provide the user 2902 with anything that the user needs to continue his duties in the transportation agreement.

在某些實施例中,可圖解說明系統側3012上之文件控制中樞3002 (DCH)、使用者3022及第三方3060之間的關係,如圖30中所展示。DCH 3002可具有一運輸文件資料庫3004a ,且可具有其他資料庫,諸如一存取原則儲存庫3004b 、一公開金鑰儲存庫3004c 、一ID儲存庫3004d 或用於系統之操作之任何其他資料庫3004n 。當使用者3022可需要一銀行貸款時,使用者3022可向DCH 3002請求特定資料及文件。可對照ID儲存庫及存取原則儲存庫或任何其他鑑認方法或要求鑑認使用者之請求。可在系統3012或DCH 3002中識別使用者。使用者可具有關於常駐於系統側上之「資料加密金鑰」之一或多個接收方庫加密3006a-n 。一旦鑑認使用者請求,DCH便可自一或多個資料庫提取所請求資料且將資訊提供給使用者3022。可藉助經加密資料加密金鑰將資訊捆綁至一系統產生之資料封裝3006中,然後將該資訊發送至使用者3022。In some embodiments, the relationship between the document control hub 3002 (DCH) on the system side 3012, the user 3022, and the third party 3060 can be illustrated, as shown in FIG. 30. The DCH 3002 can have a transport document database 3004 a , and can have other databases, such as an access policy repository 3004 b , a public key repository 3004 c , an ID repository 3004 d or for system operation 3004 n of any other database. When the user 3022 may need a bank loan, the user 3022 may request specific information and documents from the DCH 3002. It can be compared with ID repository and access policy repository or any other authentication method or request to authenticate the user. The user can be identified in the system 3012 or DCH 3002. The user can have one or more receiver library encryption 3006 an about the "data encryption key" resident on the system side. Once the user request is authenticated, the DCH can extract the requested data from one or more databases and provide the information to the user 3022. The information can be bundled into a data package 3006 generated by the system with the help of the encrypted data encryption key, and then the information can be sent to the user 3022.

資料封裝3006可含有經加密資料且與經加密資料加密金鑰3026一起發送資料封裝3006。使用者可經由一安全通信鏈路3020自DCH 3002或系統3012接收資料封裝3006。當資料封裝在使用者之控制區帶中時,可修改、打開或單獨留下使用者控制之資料封裝3024。在某些實施例中,資料封裝3024可含有更多或更少材料。在某些實施例中,可使用使用者之公開金鑰將資料加密金鑰3026加密。可將資料封裝3024及資料加密金鑰3026傳達至使用者3022。The data package 3006 may contain encrypted data and the data package 3006 can be sent together with the encrypted data encryption key 3026. The user can receive the data package 3006 from the DCH 3002 or the system 3012 via a secure communication link 3020. When the data is packaged in the user's control zone, the user-controlled data package 3024 can be modified, opened or left alone. In some embodiments, the data package 3024 may contain more or less materials. In some embodiments, the user's public key may be used to encrypt the data encryption key 3026. The data package 3024 and the data encryption key 3026 can be communicated to the user 3022.

在使用者3022側上,可使用使用者私密金鑰3028來將經加密資料加密金鑰3026解密。使用者可將資料封裝3024及經解密資料加密金鑰3026發送至第三方3060。使用者可經由一單獨安全通信鏈路3064將資料封裝3024發送至第三方3060。由於資料之經加密性質,在某些實施例中,使用者、DCH/系統或第三方可選擇使用不安全通信。On the user 3022 side, the user private key 3028 can be used to decrypt the encrypted data encryption key 3026. The user can send the data package 3024 and the decrypted data encryption key 3026 to a third party 3060. The user can send the data package 3024 to a third party 3060 via a separate secure communication link 3064. Due to the encrypted nature of the data, in some embodiments, the user, DCH/system, or third party may choose to use insecure communication.

一旦第三方3060具有在其控制中之經加密資料、第三方受控制資料封裝3062及來自使用者3022之經解密資料加密金鑰3026,第三方3060便可透過第三方節點(未展示)存取DCH 3002。DCH 3002然後可使用DCH託管之驗證功能3010,使用第三方資料封裝3062中之經加密資料驗證第三方請求之真實性。第三方3060然後可接收由使用者3022提供之資訊可係真實的之確認,此乃因雜湊及其他資料加密元素匹配系統3012及/或DCH 3002之雜湊及其他資料加密元素。Once the third party 3060 has the encrypted data under its control, the third party controlled data package 3062 and the decrypted data encryption key 3026 from the user 3022, the third party 3060 can access through a third party node (not shown) DCH 3002. The DCH 3002 can then use the verification function 3010 hosted by the DCH to verify the authenticity of the third-party request using the encrypted data in the third-party data package 3062. The third party 3060 can then receive confirmation that the information provided by the user 3022 is authentic, due to the hash and other data encryption element matching system 3012 and/or the hash and other data encryption elements of the DCH 3002.

在某些實施例中,一使用者可將任何量之資訊提供給一第三方,就像其亦進行了存取一樣。一般而言,一使用者可僅提供可與對資訊之第三方請求相干之彼資訊。舉例而言,一第三方銀行可請求金融資訊、所完成運輸協議之記錄及來自在使用者下游之當事方之支付。一保險第三方可請求運輸一特定種類之材料(諸如一危險品)之歷史,以及使用者之歷史關於與事故數目、先前保險索賠數目等等有關之請求可係如何。舉例而言,一政府機關可充當一第三方且請求與一運輸之最終目的地、一最終購買者可係誰或貨品是否將或已經過一特定國家之領土有關之資訊。請求類型可係無限制的。使用者然後可向系統發出資料請求。系統可將資料產生至資料封裝3006中。資料封裝3006可含有經加密資料、一雜湊、一時間戳記及發送者之一簽章。取決於發送者(使用者)請求,資料封裝3006可含有額外材料或較少材料。In some embodiments, a user can provide any amount of information to a third party as if it had also accessed it. Generally speaking, a user can only provide that information that is relevant to a third-party request for information. For example, a third-party bank may request financial information, records of completed transportation agreements, and payments from parties downstream from the user. An insurance third party may request the history of the transportation of a particular type of material (such as a dangerous goods), and the history of the user regarding the number of accidents, the number of previous insurance claims, etc. may be related to the request. For example, a government agency can act as a third party and request information about the final destination of a transportation, who the final purchaser can be, or whether the goods will or have passed through the territory of a particular country. The request type can be unlimited. The user can then issue a data request to the system. The system can generate data into the data package 3006. The data package 3006 may contain encrypted data, a hash, a time stamp, and a signature of the sender. Depending on the sender (user) request, the data package 3006 may contain additional materials or less materials.

在某些實施例中,可將資料封裝3006加密且發送至一使用者。在某些實施例中,使用者擁有之資料封裝3024可在所有方面完全相同於由系統組裝之資料封裝3006。然而,由於使用者現在在資料封裝3024之控制中,因此區別資料封裝3024與由系統3006產生之資料封裝。使用者3022可打開資料封裝3024且與一第三方3060共用其。使用者可全部地共用資料封裝(在不打開其之情況下)或可打開其,且將其重新加密並發送至第三方。舉例而言,使用者3022可經由一第一用戶端節點獲得資料封裝,且可將資料封裝發送或分佈至一第三方(一第三方非使用者)。當第三方接收資料封裝時,資料封裝3062現在在第三方之控制下。其仍可完全相同於最初由系統發送之資料封裝3006,或完全相同於使用者之資料封裝3024。第三方可力圖驗證資料封裝3062之內容。第三方可使用一第三方節點(或經由該第三方節點通信)以使用或存取DCH中之驗證功能3010。舉例而言,第三方可與DCH中之一驗證功能3010 (亦稱為一驗證功能)通信,以驗證資料封裝之一完整性。在某些實施例中,第三方節點可調用DCH中之驗證功能3010,DCH可視需要自運輸文件資料庫3004a或任何其他資料庫獲得經加密資料。驗證功能3010然後可將經加密資料發送至第三方節點,因此第三方可比較來自驗證功能3010之經加密資料與由使用者3022提供之資料封裝3062中之經加密資料。在某些實施例中,第三方可將資料封裝3062之雜湊發送至DCH託管之驗證功能3010,且若用於資料封裝3062之雜湊與用於資料封裝3006之雜湊相同,第三方可具有所提供資料係正確的且未自其源變更之證明。In some embodiments, the data package 3006 can be encrypted and sent to a user. In some embodiments, the data package 3024 owned by the user may be identical in all aspects to the data package 3006 assembled by the system. However, since the user is currently in control of the data package 3024, the data package 3024 is distinguished from the data package generated by the system 3006. The user 3022 can open the data package 3024 and share it with a third party 3060. The user can share the data package in its entirety (without opening it) or can open it, re-encrypt it and send it to a third party. For example, the user 3022 can obtain the data package through a first client node, and can send or distribute the data package to a third party (a third-party non-user). When the third party receives the data package, the data package 3062 is now under the control of the third party. It can still be exactly the same as the data package 3006 originally sent by the system, or exactly the same as the data package 3024 of the user. The third party can try to verify the contents of the data package 3062. A third party can use a third party node (or communicate via the third party node) to use or access the verification function 3010 in the DCH. For example, a third party can communicate with a verification function 3010 (also referred to as a verification function) in the DCH to verify the integrity of a data package. In some embodiments, the third-party node may call the verification function 3010 in the DCH, and the DCH may obtain the encrypted data from the transportation document database 3004a or any other database as needed. The verification function 3010 can then send the encrypted data to a third-party node, so the third party can compare the encrypted data from the verification function 3010 with the encrypted data in the data package 3062 provided by the user 3022. In some embodiments, a third party can send the hash of the data package 3062 to the verification function 3010 hosted by the DCH, and if the hash used for the data package 3062 is the same as the hash used for the data package 3006, the third party can have the provided Proof that the information is correct and has not been changed from its source.

現在在圖31至圖35中提供第三方功能之實例性實施例。在某些實施例中,一代運人可獲得或需要來自一銀行(一運輸交易之一非當事方)之資金支持。為使銀行借錢給代運人,銀行將實行其正常盡職調查以判定代運人是否係一可接受風險,及可能償還貸款給其之任何錢。對於此實例,代運人可將一貸款申請3102提交給一銀行或其他借貸機構,如圖31中所展示。銀行經歷其自身之銀行活動3120,而代運人經歷其自身之代運人活動3118。在申請一貸款之程序中,代運人將要將各種文件及資料提供給銀行。此可被視為應用程式證實3104步驟。銀行然後經歷其自身之合規性檢查3106以判定代運人是否係一值得信任當事方,及一良好財務風險。若如此,則銀行可批准且發放貸款3110給代運人,且提供支付3108。Exemplary embodiments of third-party functions are now provided in FIGS. 31 to 35. In some embodiments, the first-generation carrier can obtain or need financial support from a bank (a non-party to a transportation transaction). In order for the bank to lend money to the forwarder, the bank will perform its normal due diligence to determine whether the forwarder is an acceptable risk and may repay any money loaned to it. For this example, the forwarder may submit a loan application 3102 to a bank or other lending institution, as shown in FIG. 31. The bank experiences its own banking activities 3120, and the carrier experiences its own carrier activities 3118. In the process of applying for a loan, the forwarder will provide various documents and information to the bank. This can be regarded as the application verification step 3104. The bank then undergoes its own compliance check 3106 to determine whether the forwarder is a trusted party and a good financial risk. If so, the bank can approve and issue a loan 3110 to the forwarder and provide payment 3108.

代運人可經歷其活動且執行雇其進行之運輸事件3112,將運輸文件3114提供至感興趣之當事方,且然後為針對運輸事件簽訂合同之當事方開發票3116。然後,完成運輸事件,簽訂合同當事方可向代運人付費,且代運人可付還貸款。The forwarder may experience its activities and perform the transportation event 3112 that it hires to perform, provide the transportation document 3114 to the interested party, and then issue an invoice 3116 for the party signing the contract for the transportation event. Then, after the transportation event is completed, the party signing the contract can pay the forwarder, and the forwarder can repay the loan.

在其中代運人想要自一銀行設置一貸款帳戶之程序中,代運人可涉及輔助使用受信任儲存系統提供資料及文件化之驗證之系統。舉例而言,代運人3202可使用一安全通信3204系統與一銀行3206或其他金融機構通信以設置一帳戶3200,如圖32中所展示。代運人3202可經由安全通信3204將一貸款帳戶應用程式及其他支援文件發送至銀行。此等文件可包含關於過去運輸交易、安全記錄、支付歷史等等之歷史資料。可使用安全通信3204在代運人3202與銀行3206之間發送文件。安全通信可意味將訊息及附件加密。安全通信3204亦可涉及安全系統,如VPN、經編碼通信頻道等等。In the procedure in which the forwarder wants to set up a loan account from a bank, the forwarder may involve a system that assists in the use of trusted storage systems to provide data and document verification. For example, the forwarder 3202 can use a secure communication 3204 system to communicate with a bank 3206 or other financial institutions to set up an account 3200, as shown in FIG. 32. The forwarder 3202 can send a loan account application and other supporting documents to the bank via secure communication 3204. These files may contain historical information about past transportation transactions, security records, payment history, etc. The secure communication 3204 can be used to send documents between the forwarder 3202 and the bank 3206. Secure communication can mean encrypting messages and attachments. The secure communication 3204 may also involve security systems, such as VPN, coded communication channels, and so on.

在此實例中,銀行3206可經由相同安全通信3204對代運人3202做出回應。在某些實施例中,可將通信加密。安全通信3204可含有歷史文件及一貸款申請(載入帳戶申請)。可將文件及帳戶應用程式加密,如由鎖及金鑰所指示。在某些實施例中,加密機制在代運人與DCH之間可係不同的。其他當事方(諸如一承運人3208及一碼頭3212)亦可使用同一系統3210。在某些實施例中,承運人及碼頭可係運輸文件及運輸事件之源。由於運輸中可涉及代運人,因此代運人可獲得文件及事件且將該等文件及事件提供至銀行以用於貸款帳戶應用程式。In this example, the bank 3206 may respond to the forwarder 3202 via the same secure communication 3204. In some embodiments, the communication can be encrypted. The secure communication 3204 may contain historical files and a loan application (load account application). Documents and account applications can be encrypted, as indicated by the lock and key. In some embodiments, the encryption mechanism may be different between the carrier and the DCH. Other parties (such as a carrier 3208 and a terminal 3212) can also use the same system 3210. In some embodiments, the carrier and terminal may be the source of transportation documents and transportation events. Since a forwarder may be involved in the transportation, the forwarder can obtain documents and events and provide these documents and events to the bank for use in the loan account application.

可涉及系統3210之其他使用者以提供額外文件化。舉例而言,一承運人3208可驗證代運人3202實際上將要參與一運輸交易。承運人3208可提供關於將載運多少貨品及到達什麼目的地之此等細節。代運人3202可使用此資料來支援其需要多少錢來起始其貸款申請。Other users of the system 3210 can be involved to provide additional documentation. For example, a carrier 3208 can verify that the carrier 3202 will actually participate in a transportation transaction. Carrier 3208 can provide such details as to how many goods will be carried and what destination to reach. The forwarder 3202 can use this information to support how much money it needs to initiate its loan application.

銀行3206可請求文件之驗證且發送對系統3210之一查詢。該查詢可經加密且含有一雜湊。可識別該雜湊且比較該雜湊與用於產生該雜湊之原始資料。然後,若任何事物匹配,則系統3210可驗證由銀行3206發送之資料。The bank 3206 can request verification of the document and send an inquiry to the system 3210. The query can be encrypted and contain a hash. The hash can be identified and compared to the original data used to generate the hash. Then, if anything matches, the system 3210 can verify the information sent by the bank 3206.

在某些實施例中,在代運人已設置一貸款帳戶之後,代運人可將融資應用程式提交給銀行以借錢,銀行將實行其正常盡職調查以判定該應用程式是否係一可接受風險,及可能償還貸款給其之任何錢。對於此實例,代運人可將一貸款申請3304提交給一銀行或其他借貸機構,如圖33中所展示。代運人可收集來自承運人之預訂確認書文件及來自碼頭之運輸事件作為貸款申請3304之支援文件。運輸事件之完成、項目3300或貸款條件之實現可產生觸發貸款之付還之一事件。舉例而言,一碼頭3312中之一運輸或承運人車輛之到達以及運輸商品之後續卸載可觸發各種文件3314之發送。可將運輸事件報告給系統3310,然後系統可通知所有相關當事方。可將船舶已到達且已經卸載通知給承運人3308。可將貨品已到達目的地港口且事件已觸發在一固定時間週期內向銀行支付貸款通知給代運人3302。銀行亦可接收在已完成運輸時代運人3302貸款現在到期之驗證。系統3310可具有建構至其中之各種觸發及警報,因此在一運輸之每一階段,其可接收關於運輸程序之更新,且將警報發送至其所有有關當事方。In some embodiments, after the carrier has set up a loan account, the carrier can submit the financing application to the bank to borrow money, and the bank will perform its normal due diligence to determine whether the application is acceptable Risks, and any money that may be repaid to them. For this example, the forwarder can submit a loan application 3304 to a bank or other lending institution, as shown in FIG. 33. The forwarder can collect the booking confirmation documents from the carrier and the transportation events from the terminal as supporting documents for the loan application 3304. The completion of the transportation event, the fulfillment of Project 3300 or the loan conditions can generate an event that triggers the payment of the loan. For example, the arrival of one of the transport or carrier vehicles at a terminal 3312 and the subsequent unloading of transported goods can trigger the sending of various documents 3314. The transportation event can be reported to the system 3310, and the system can then notify all relevant parties. The carrier 3308 may be notified that the ship has arrived and has been unloaded. The forwarder 3302 can be notified that the goods have arrived at the destination port and the event has been triggered to pay the loan to the bank within a fixed period of time. Banks can also receive verification that the transporter 3302 loan is now due in the transport era. The system 3310 can have various triggers and alarms built into it. Therefore, at each stage of a transportation, it can receive updates on transportation procedures and send alarms to all its related parties.

現在在圖34中展示 樣本發票3400。Now a sample invoice 3400 is shown in Figure 34.

現在在圖35中展示 實例性支付3500。在此實例中,一代運人可自代運人可具有之諸多借貸機構選擇一或多個融資選項。交易可由系統處置,只要各個當事方能夠自系統接收資料且將資料傳輸至系統。 An example payment of 3500 is now shown in Figure 35. In this example, the forwarder can select one or more financing options from many lending institutions that the forwarder may have. The transaction can be handled by the system, as long as each party can receive data from the system and transmit the data to the system.

在某些實施例中,當一貨櫃裝載於一碼頭上時,碼頭經營者可發出通知承運人追蹤運輸里程碑之一碼頭事件通知。碼頭事件通知含有碼頭之位置、事件類型、日期、時間、承運人及貨櫃號等。然後,承運人找到此貨櫃之相關當事方且透過經加密分散式分類帳通知當事方。In some embodiments, when a container is loaded on a terminal, the terminal operator can issue a terminal event notification that informs the carrier to track the transportation milestone. The terminal event notification contains the terminal location, event type, date, time, carrier and container number, etc. Then, the carrier finds the relevant party of this container and informs the party through the encrypted distributed ledger.

一運輸文件之每一資料屬性之獨立加密之使用與加密欄位對加密金鑰之一對一關系組合會允許參與一共同企業之任一數目個業務(諸如聯運貨櫃或項目貨品之運輸)創建佈置一貨品預訂之所有態樣而不向參與預訂之任一其他當事方或在公眾面前大多數地洩露任何機密資訊的一單個運輸文件。The use of independent encryption for each data attribute of a transportation document and the one-to-one relationship between the encryption field and the encryption key allow the creation of any number of businesses involved in a common enterprise (such as intermodal container or project cargo transportation) A single transportation document that arranges all aspects of a goods reservation without revealing any confidential information to any other party participating in the reservation or most of the public.

在某些實施例中,當一貨櫃裝載於一碼頭上時,碼頭經營者可發出通知承運人追蹤運輸里程碑之一碼頭事件通知。該碼頭事件通知含有碼頭之位置、事件類型、日期、時間、承運人及貨櫃號等。然後,承運人找到此貨櫃之相關當事方且透過經加密分散式分類帳通知當事方。In some embodiments, when a container is loaded on a terminal, the terminal operator can issue a terminal event notification that informs the carrier to track the transportation milestone. The terminal event notification contains the terminal location, event type, date, time, carrier and container number, etc. Then, the carrier finds the relevant party of this container and informs the party through the encrypted distributed ledger.

在某些實施例中,一承運人可在裝載一運輸時將發票發出給一托運人及/或一收貨人。該托運人及/或收貨人然後可為發票付費。然後,承運人將一原始提單發出給托運人。收貨人可為貨物向托運人付費。然後,托運人可將原始提單傳遞給收貨人以獲得貨物。承運人可驗證收貨人是否為發票(若存在)付費,承運人驗證來自收貨人之原始提單及其他貨品放行程序。承運人可使用經加密分散式分類帳來將發票通知給托運人或收貨人且在托運人或收貨人已付款之後更新發票。In some embodiments, a carrier may issue an invoice to a shipper and/or a consignee when loading a shipment. The shipper and/or consignee can then pay for the invoice. Then, the carrier sends an original bill of lading to the shipper. The consignee can pay the shipper for the goods. The shipper can then pass the original bill of lading to the consignee to obtain the goods. The carrier can verify whether the consignee paid for the invoice (if any), and the carrier can verify the original bill of lading and other goods release procedures from the consignee. The carrier can use the encrypted distributed ledger to notify the shipper or consignee of the invoice and update the invoice after the shipper or consignee has paid.

現在提供非限制性態樣:Now provide non-restrictive aspects:

1. 一種保護在一分佈式使用者群組中共用之一運輸文件之資料私密性之方法,該方法包括:1. A method for protecting the privacy of the data of a transport document shared in a distributed user group, the method includes:

經由一通信網路自一使用者接收該運輸文件,該使用者具有一所指派角色,其中高運輸文件包括複數個資料屬性;Receiving the transportation document from a user via a communication network, the user has an assigned role, and the high transportation document includes a plurality of data attributes;

經由一第一加密邏輯將該複數個資料屬性加密成相似數目個經加密資料屬性,該第一加密邏輯產生對應於每一經加密資料屬性之一資料加密金鑰;Encrypting the plurality of data attributes into a similar number of encrypted data attributes through a first encryption logic, and the first encryption logic generates a data encryption key corresponding to each encrypted data attribute;

經由一程式化邏輯將該複數個經加密資料屬性組織至一分散式資料分類帳中,該分散式資料分類帳含有來自一使用者之至少一個經加密運輸文件;Organizing the plurality of encrypted data attributes into a distributed data ledger through a programmed logic, the distributed data ledger containing at least one encrypted transport document from a user;

經由一第二加密邏輯將對應於該複數個資料屬性之該等加密金鑰加密,該第二加密邏輯使用基於使用者之所指派角色而為該分散式資料分類帳之一或多個使用者提供權限的一查找表;Encrypt the encryption keys corresponding to the plurality of data attributes through a second encryption logic, the second encryption logic uses the assigned role based on the user for one or more users of the distributed data ledger Provide a lookup table of permissions;

and

經由該通信網路將該分散式資料分類帳分佈至該分佈式使用者群組;Distribute the distributed data ledger to the distributed user group via the communication network;

其中每一使用者存取一節點,該節點提供對該分散式資料分類帳之存取;且Each user accesses a node that provides access to the distributed data ledger; and

其中每一使用者可僅將與其所指派角色有關之資料解密。Each user can decrypt only the data related to the assigned role.

2. 如態樣1之方法,其中使用一存取原則來判定用於寫入該經加密資料之複數個區塊鏈節點。2. The method as in aspect 1, in which an access principle is used to determine a plurality of blockchain nodes for writing the encrypted data.

3. 如態樣2之方法,其中該使用者所指派角色與一成員存取控制原則相關聯。3. The method as in aspect 2, wherein the role assigned by the user is associated with a member access control policy.

4. 如態樣1之方法,其中該所指派角色進一步包括運輸方之間的一關係。4. The method as in aspect 1, wherein the assigned role further includes a relationship between transport parties.

5. 如態樣1之方法,其中該分散式資料分類帳含有來自一或多個使用者之複數個經加密運輸文件。5. The method of aspect 1, wherein the distributed data ledger contains a plurality of encrypted transport documents from one or more users.

6. 如態樣1之方法,其中由一使用者供應之該運輸文件包含該使用者之所指派角色。6. The method as in aspect 1, wherein the transportation document provided by a user contains the assigned role of the user.

7. 如態樣1之方法,其中該第一或第二加密邏輯利用一不對稱密碼演算法。7. The method as in aspect 1, wherein the first or second encryption logic uses an asymmetric cryptographic algorithm.

8. 如態樣1之方法,其中該通信網路進一步包括一安全網際網路存取。8. The method as in aspect 1, wherein the communication network further includes a secure Internet access.

9. 一種用於向一運輸交易中之當事方提供關於交易進度之實時更新資訊之通信系統,該系統包括:9. A communication system for providing real-time updated information on the progress of the transaction to a party in a transportation transaction, the system including:

入口網站,其用以經由一安全網際網路存取來存取該系統; An portal website for accessing the system via a secure Internet access;

資料庫,該資料庫儲存運輸交易(預訂)之系統組態資訊、公開金鑰及參考資訊; 1. A database, which stores system configuration information, public keys and reference information of transportation transactions (reservations);

分散式分類帳,該分散式分類帳具有用於一使用者之一節點,該分散式分類帳含有與相關於該運輸交易之該使用者有關之資料;及 A distributed ledger with a node for a user, the distributed ledger containing data related to the user related to the transportation transaction; and

程式,該程式協調欄位級別加密程序且將經加密結果分佈至該分散式分類帳; A program that coordinates the field-level encryption process and distributes the encrypted results to the distributed ledger;

其中該使用者係該運輸交易之一當事方;且Where the user is a party to the transportation transaction; and

其中該入口網站、該資料庫及該分散式分類帳可透過一雲端計算環境存取。The portal, the database, and the distributed ledger can be accessed through a cloud computing environment.

10. 如態樣9之通信系統,其中該入口網站係一用戶端應用程式。10. Such as the communication system of aspect 9, where the portal is a client application.

11. 如態樣9之通信系統,其中該分散式分類帳係一超級分類帳。11. Such as the communication system of aspect 9, wherein the distributed ledger is a super ledger.

現在參考圖36,繪示與不同用戶端終端機安全地共用來自多個源之資料之一方法3600之一流程圖。可使用本文中連同圖1至圖35或圖37所闡述之組件中之任一者實施或執行方法3600。在簡要概述中,方法3600可包含建立交易之一電子文件(3605)。方法3600可包含識別加密金鑰(3610)。方法3600可包含分佈加密金鑰(3615)。方法3600可包含提供存取(3620)。Referring now to FIG. 36, there is shown a flowchart of a method 3600 for securely sharing data from multiple sources with different client terminals. The method 3600 can be implemented or executed using any of the components described herein in conjunction with FIGS. 1 to 35 or 37. In a brief overview, method 3600 may include establishing an electronic file of the transaction (3605). The method 3600 may include identifying the encryption key (3610). Method 3600 may include distributing encryption keys (3615). Method 3600 may include providing access (3620).

進一步詳細地,方法3600可包含建立交易之一電子文件(3605)。一伺服器(例如,一運輸文件控制中樞)可識別、創建或建立該電子文件(有時在本文中稱為一運輸文件)。該電子文件可定義、含有或包含透過多個用戶端終端機(或實體)進行之一單個交易之資訊。該單個交易可涉及一實體商品(例如,從一個點遞送到另一點),且可包含與該實體商品有關之一系列子交易。該實體商品之每一子交易可由至少一個服務提供者(例如,代理、中介機構)處置。該服務提供者可操作交易中所涉及之用戶端終端機中之至少一者或與交易中所涉及之用戶端終端機中之至少一者相關聯。服務提供者中之一者可係起始電子文件之建立之服務提供者,其中剩餘服務提供者在該建立之後存取及/或促成該電子文件(例如,更新該電子文件,或將資訊添加至該電子文件)。In further detail, the method 3600 may include creating an electronic file of the transaction (3605). A server (for example, a transportation document control center) can identify, create, or create the electronic document (sometimes referred to herein as a transportation document). The electronic document may define, contain, or contain information about a single transaction conducted through multiple client terminals (or entities). The single transaction may involve a physical commodity (for example, delivery from one point to another), and may include a series of sub-transactions related to the physical commodity. Each sub-transaction of the physical commodity can be handled by at least one service provider (for example, an agency, an intermediary agency). The service provider may operate at least one of the client terminals involved in the transaction or be associated with at least one of the client terminals involved in the transaction. One of the service providers may be the service provider that initiated the creation of the electronic document, wherein the remaining service providers access and/or facilitate the electronic document after the creation (for example, update the electronic document, or add information To the electronic file).

該電子文件可包含一組資料欄位。該電子文件之每一資料欄位可與涉及該實體商品之單個交易之子交易中之一者有關或映射至涉及該實體商品之單個交易之子交易中之一者。在該電子文件中,可給每一資料欄位指派一屬性或一值。該等資料欄位中之至少一者之該屬性可與單個交易中所涉及之用戶端終端機(例如,系統1300之使用者節點)中之一者相關聯(例如,由該等用戶端終端機中之一者提供/促成及/或更新)。該等資料欄位中之至少一者之該屬性可來自由起始或創建該電子文件之一第一實體或第一服務提供者操作之用戶端終端機及/或由該用戶端終端機更新。該等資料欄位可包含闡述交易之參數,諸如貨櫃大小、事件日期、著陸港口、貨品說明、毛重、船舶名稱及貸款帳戶以及其他。在某些實施例中,該電子文件可維持於一資料庫(例如,文件控制中樞3002)上。該資料庫可經維持或屬一運輸文件控制中樞以用於在該等用戶端終端機當中協調通信。維持於該資料庫上之該電子文件之每一資料欄位可對應於該資料庫上之一資料庫項目。The electronic file may contain a set of data fields. Each data field of the electronic file may be related to or mapped to one of the child transactions of a single transaction involving the physical commodity. In the electronic document, an attribute or a value can be assigned to each data field. The attribute of at least one of the data fields may be associated with one of the client terminals (for example, the user node of the system 1300) involved in a single transaction (for example, by the client terminals). Provided/facilitated and/or updated by one of the machines). The attribute of at least one of the data fields may come from and/or be updated by the client terminal operated by the first entity or the first service provider that initiated or created the electronic file . These data fields can contain parameters describing the transaction, such as container size, event date, landing port, product description, gross weight, ship name, loan account, and others. In some embodiments, the electronic file can be maintained on a database (for example, the file control center 3002). The database can be maintained or belong to a transportation document control hub for coordinating communications among the user terminals. Each data field of the electronic document maintained in the database can correspond to a database item in the database.

在某些實施例中,在建立該電子文件中,該伺服器可接收設定、指派或以其他方式更新該電子文件中之一資料欄位之一屬性的一請求。該請求可繼由該第一實體進行之初始建立之後來自與促成該電子文件之該服務提供者相關聯之該等用戶端終端機中之一者。與該請求相關聯之該服務提供者可關於該第一實體或者促成該電子文件之該等資料欄位或為該電子文件之該等資料欄位提供屬性之其他服務提供者中之任一者缺乏任何(或具有有限的)瞭解或互動。以此方式,可使用來自各種實體之資訊以一特定方式填充該電子文件之該等資料欄位。可在單個交易(例如,之子交易或部分)中引入或涉及某些或所有服務提供者,此按一特定方式(例如,視需要或者接近於產生一服務提供者在交易中之作用之時間或在該時間處)而非預定的(例如,在建立電子文件時)。交易之每一部分或子交易可由複數個可用服務提供者中之一者填充或服務,此可隨著交易發展及/或在產生需要/作用/子交易時經動態地匹配、填充及/或選擇。除作用/服務及/或一服務提供者直接與之介接以執行該服務提供者在交易中之作用/服務的(若干)服務提供者以外,該服務提供者可不具有對交易之瞭解(或具有對交易之有限瞭解)。請求可識別待更新之電子文件中之資料欄位及待設定至資料欄位之新屬性。伺服器可根據針對用戶端終端機之一角色之一存取控制原則判定用戶端終端機是否有權限修改資料欄位。該存取控制原則可規定交易中所涉及之用戶端終端機(或對應角色)有權限存取或修改哪些資料欄位。為了判定是否存在權限,用戶端終端機可識別用戶端終端機在交易中之一角色。該角色可依據交易中所涉及之子交易系列之一角色清單來識別。In some embodiments, in creating the electronic document, the server may receive a request to set, assign, or otherwise update an attribute of a data field in the electronic document. The request may follow the initial establishment by the first entity from one of the client terminals associated with the service provider that facilitated the electronic file. The service provider associated with the request may be related to the first entity or any of the data fields that contributed to the electronic document or other service providers that provide attributes for the data fields of the electronic document Lack of any (or limited) understanding or interaction. In this way, information from various entities can be used to fill the data fields of the electronic document in a specific way. Some or all service providers may be introduced or involved in a single transaction (e.g., sub-transaction or part), in a specific way (e.g., as needed or close to the time or At that time) rather than scheduled (for example, when creating an electronic file). Each part or sub-transaction of the transaction can be filled or served by one of a plurality of available service providers, which can be dynamically matched, filled and/or selected as the transaction develops and/or needs/functions/sub-transactions are generated . Except for the role/service and/or (several) service providers that a service provider directly interfaces with to perform the role/service of the service provider in the transaction, the service provider may not have an understanding of the transaction (or Have limited understanding of transactions). The request can identify the data field in the electronic document to be updated and the new attribute to be set to the data field. The server can determine whether the client terminal has the authority to modify the data field according to one of the access control principles for a role of the client terminal. The access control principle can stipulate which data fields the client terminal (or corresponding role) involved in the transaction has the authority to access or modify. In order to determine whether there is authority, the client terminal can recognize a role of the client terminal in the transaction. The role can be identified based on the role list of one of the sub-transaction series involved in the transaction.

當未針對用戶端終端機識別角色(或經授權/有效角色)時,伺服器可判定用戶端終端機缺乏修改資料欄位之權限,且可維持資料欄位中之屬性。否則,當識別角色時,伺服器可識別角色之存取控制原則。伺服器可基於針對用戶端終端機所識別之角色之存取控制原則而判定用戶端終端機是否具有權限。當存取控制原則規定用戶端終端機(或角色)缺乏權限時,伺服器可判定用戶端終端機缺乏權限。伺服器亦可阻止提交請求之用戶端終端機更新電子文件中之資料欄位之屬性。相反地,當存取控制原則規定用戶端終端機(或角色)具有權限時,伺服器可判定用戶端終端機具有存取權限。伺服器可准許用戶端終端機更新電子文件中之資料欄位之屬性。在某些實施例中,伺服器可依據請求識別屬性且將屬性指派給資料欄位。When the role (or authorized/valid role) is not identified for the client terminal, the server can determine that the client terminal lacks the authority to modify the data field, and can maintain the attributes in the data field. Otherwise, when identifying the role, the server can identify the role's access control policy. The server can determine whether the client terminal has authority based on the access control principle for the role recognized by the client terminal. When the access control principle stipulates that the client terminal (or role) lacks authority, the server can determine that the client terminal lacks authority. The server can also prevent the client terminal that submitted the request from updating the attributes of the data field in the electronic document. Conversely, when the access control principle stipulates that the client terminal (or role) has authority, the server can determine that the client terminal has access authority. The server may allow the client terminal to update the attributes of the data field in the electronic document. In some embodiments, the server can identify the attribute according to the request and assign the attribute to the data field.

方法3600可包含識別加密金鑰(3610)。每一加密金鑰可用於將該電子文件中之一對應資料欄位加密。每一加密金鑰亦可與將屬性提供至電子文件中之對應資料欄位之用戶端終端機中之一者相關聯。該等加密金鑰可由伺服器或對應用戶端終端機產生。加密金鑰可根據不對稱密碼學(諸如公開金鑰密碼學、Diffie-Hellman金鑰交換、橢圓曲線函數及一RSA密碼系統以及其他)來產生。在某些實施例中,所識別之加密金鑰可包含用於對應用戶端終端機之一組私密加密金鑰及一組公開加密金鑰。每一私密加密金鑰可對應於資料欄位中之一者且可與將屬性提供至資料欄位之用戶端終端機中之一者相關聯。每一公開加密金鑰可對應於資料欄位中之一者且可與將屬性提供至資料欄位之用戶端終端機中之一者相關聯。在某些實施例中,伺服器可自單個交易中所涉及之用戶端終端機擷取、收集或聚合加密金鑰(例如,公開加密金鑰)。由伺服器聚合之每一加密金鑰可由將屬性提供至電子文件中之資料欄位之用戶端終端機中之一者產生。在某些實施例中,可針對使用來自用戶端終端機中之一者之屬性更新之一資料欄位而識別一新加密金鑰。The method 3600 may include identifying the encryption key (3610). Each encryption key can be used to encrypt one of the corresponding data fields in the electronic document. Each encryption key can also be associated with one of the client terminals that provides the attribute to the corresponding data field in the electronic document. These encryption keys can be generated by the server or the corresponding client terminal. The encryption key can be generated according to asymmetric cryptography (such as public key cryptography, Diffie-Hellman key exchange, elliptic curve function, and an RSA cryptosystem, among others). In some embodiments, the identified encryption key may include a set of private encryption keys and a set of public encryption keys for the corresponding client terminal. Each private encryption key can correspond to one of the data fields and can be associated with one of the client terminals that provide attributes to the data fields. Each public encryption key can correspond to one of the data fields and can be associated with one of the client terminals that provide attributes to the data fields. In some embodiments, the server can retrieve, collect, or aggregate the encryption key (for example, public encryption key) from the client terminal involved in a single transaction. Each encryption key aggregated by the server can be generated by one of the client terminals that provide attributes to the data field in the electronic document. In some embodiments, a new encryption key can be identified for updating a data field with attributes from one of the client terminals.

方法3600可包含分佈加密金鑰(3615)。伺服器可根據存取控制原則針對電子文件跨越單個交易中所涉及之用戶端終端機提供、遞送、分佈加密金鑰。存取控制原則可針對用戶端終端機(或對應角色)規定對電子文件中之每一資料欄位之存取權限(例如,解密、打開、寫入或編輯)。存取控制原則可基於個別用戶端終端機之一角色而規定存取權限。對於電子文件中之資料欄位中之每一者,存取控制原則可指示至少兩個用戶端終端機(或對應角色)存取資料欄位。Method 3600 may include distributing encryption keys (3615). The server can provide, deliver, and distribute encryption keys for electronic documents across client terminals involved in a single transaction according to the access control principle. The access control principle can specify the access authority (for example, decrypt, open, write, or edit) to each data field in the electronic file for the client terminal (or corresponding role). Access control principles can specify access permissions based on a role of individual client terminals. For each of the data fields in the electronic document, the access control principle can instruct at least two client terminals (or corresponding roles) to access the data fields.

在分佈中,伺服器可將一對應私密加密金鑰提供至單個交易中所涉及之用戶端終端機中之每一者。該私密加密金鑰可用於將由對應用戶端終端機提供之資料欄位加密或解密。在某些實施例中,伺服器可基於各別角色根據存取控制原則來識別單個交易中所涉及之兩個或兩個以上用戶端終端機。舉例而言,與一第一用戶端終端機相關聯之一第一角色及與一第二用戶端終端機相關聯之一第二角色可由存取控制原則規定為具有對電子文件中之資料欄位中之一者之存取。伺服器可使用第二用戶端終端機之另一加密金鑰(例如,公開加密金鑰)將第一用戶端終端機之一加密金鑰(例如,私密加密金鑰)加密。在加密時,伺服器可將第一用戶端終端機之加密金鑰提供至第二用戶端終端機。In the distribution, the server can provide a corresponding private encryption key to each of the client terminals involved in a single transaction. The private encryption key can be used to encrypt or decrypt the data field provided by the corresponding client terminal. In some embodiments, the server can identify two or more client terminals involved in a single transaction based on their respective roles according to the access control principle. For example, a first role associated with a first client terminal and a second role associated with a second client terminal can be specified by the access control principle as having access to data fields in electronic documents Access to one of the bits. The server can use another encryption key (for example, a public encryption key) of the second client terminal to encrypt one of the encryption keys (for example, a private encryption key) of the first client terminal. During encryption, the server can provide the encryption key of the first client terminal to the second client terminal.

另外,伺服器可根據存取控制原則將一公開加密金鑰提供至用戶端終端機中之一或多者。舉例而言,存取控制原則可針對資料欄位中之一者規定:兩個用戶端終端機有權限存取資料欄位中之屬性。在此實例中,伺服器可將公開加密金鑰提供至兩個用戶端終端機。以此方式,電子文件中之資料欄位中之每一者可由用戶端終端機中之一或多者使用提供至用戶端終端機之私密加密金鑰或公開加密金鑰來存取。In addition, the server can provide a public encryption key to one or more of the client terminals according to the access control principle. For example, the access control principle can be specified for one of the data fields: two client terminals have the authority to access the attributes in the data field. In this example, the server can provide the public encryption key to two client terminals. In this way, each of the data fields in the electronic document can be accessed by one or more of the client terminals using the private encryption key or the public encryption key provided to the client terminal.

在某些實施例中,伺服器可判定加密金鑰跨越用戶端終端機之一分佈是否係成功的。伺服器可基於該判定而將一訊息(例如,一事件通知)傳輸、發送或提供至用戶端終端機中之一或多者。當判定為分佈係成功的時,伺服器可將一成功碼發佈或提供至用戶端終端機(諸如發送更新電子文件中之資料欄位中之一者之請求之用戶端終端機)中之一或多者。相反地,當判定為分佈係不成功的時,伺服器可將一錯誤碼發佈或提供至用戶端終端機中之一或多者。In some embodiments, the server can determine whether the distribution of the encryption key across one of the client terminals is successful. The server may transmit, send or provide a message (for example, an event notification) to one or more of the client terminals based on the determination. When it is determined that the distribution is successful, the server can issue or provide a success code to one of the client terminals (such as the client terminal that sends a request to update one of the data fields in the electronic file) Or more. Conversely, when it is determined that the distribution is unsuccessful, the server may issue or provide an error code to one or more of the client terminals.

在某些實施例中,伺服器可識別自電子文件中之資料欄位中之一者中之一對應屬性導出之一雜湊值。可使用一雜湊函數(諸如一循環冗餘檢查、一總和檢查碼、一密碼雜湊函數及一訊息鑑認碼以及其他)產生該雜湊值。可由將屬性提供至電子文件中之資料欄位之用戶端終端機產生該雜湊值。該雜湊值可係用以確保指派給電子文件中之資料欄位之屬性之資料完整性。伺服器亦可根據存取控制原則跨越用戶端終端機分佈雜湊值。In some embodiments, the server can identify a hash value derived from a corresponding attribute in one of the data fields in the electronic document. A hash function (such as a cyclic redundancy check, a checksum code, a cryptographic hash function, and a message authentication code, among others) can be used to generate the hash value. The hash value can be generated by the client terminal that provides the attribute to the data field in the electronic file. The hash value can be used to ensure the data integrity of the attribute assigned to the data field in the electronic document. The server can also distribute hash values across client terminals based on access control principles.

在某些實施例中,伺服器可針對單個交易中所涉及之用戶端終端機中之每一用戶端終端機接收或識別一簽章。可藉由將對應於用戶端終端機之加密金鑰施加至自由用戶端終端機提供之資料欄位之屬性導出之雜湊值而產生該簽章。可由伺服器或提供屬性之用戶端終端機產生該簽章。該簽章可係用以確保電子文件中之資料欄位中之屬性之資料完整性。In some embodiments, the server may receive or recognize a signature for each of the client terminals involved in a single transaction. The signature can be generated by applying the encryption key corresponding to the client terminal to the hash value derived from the attribute of the data field provided by the client terminal. The signature can be generated by a server or a client terminal that provides attributes. The signature can be used to ensure the integrity of the attribute data in the data field in the electronic document.

方法3600可包含提供存取(3620)。伺服器可使用根據存取控制原則分佈之加密金鑰將對電子文件中之資料欄位中之一或多者之存取提供至每一用戶端終端機。在某些實施例中,伺服器可輸入、提供、產生及/或維持資料欄位或電子文件之屬性。在某些實施例中,伺服器可接收使用來自用戶端終端機中之一者之一識別符(例如,一運輸文件識別符或預訂號、承運人組織)存取電子文件之一或多個資料欄位之一請求。伺服器可判定由識別符引用之電子文件是否存在於資料庫上。當判定不存在電子文件時,伺服器可傳回一錯誤訊息。相反地,當判定存在電子文件時,伺服器可繼續驗證用戶端終端機是否存取資料欄位。每一用戶端終端機可能夠使用提供至用戶端終端機之一對應加密金鑰存取用戶端終端機將屬性提供至之資料欄位。另外,每一用戶端終端機可能夠使用提供至用戶端終端機之一對應加密金鑰存取資料欄位,如由存取控制原則所規定。Method 3600 may include providing access (3620). The server can use the encryption key distributed according to the access control principle to provide access to one or more of the data fields in the electronic document to each client terminal. In some embodiments, the server can input, provide, generate, and/or maintain the attributes of data fields or electronic documents. In some embodiments, the server may receive access to one or more of the electronic files using an identifier from one of the client terminals (for example, a transport document identifier or reservation number, carrier organization) One of the data fields is requested. The server can determine whether the electronic file referenced by the identifier exists in the database. When it is determined that there is no electronic document, the server may return an error message. Conversely, when it is determined that there is an electronic file, the server can continue to verify whether the client terminal accesses the data field. Each client terminal may be able to use one of the corresponding encryption keys provided to the client terminal to access the data field to which the client terminal provides attributes. In addition, each client terminal may be able to use one of the corresponding encryption keys provided to the client terminal to access the data field, as specified by the access control principle.

在某些實施例中,伺服器可向基於角色根據存取控制原則而識別之兩個或兩個以上用戶端終端機提供對電子文件中之資料欄位中之一者之存取。可已向所識別用戶端中之每一者提供電子文件中之資料欄位之雜湊值及簽章。可自資料欄位中之屬性導出雜湊值且可使用提供屬性之用戶端終端機之雜湊值及加密金鑰(例如,該公開加密金鑰)產生簽章。經由雜湊值及簽章,其他用戶端終端機可獲得加密金鑰以存取資料欄位中之屬性。其他用戶端終端機可依據經加密屬性計算雜湊值,且使用雜湊值將簽章解密以獲得經解密雜湊值。用戶端終端機然後可比較經解密雜湊值與雜湊值以判定完整性。當雜湊值匹配時,用戶端終端機可判定屬性具有資料完整性。否則,當雜湊值不匹配時,用戶端終端機可判定屬性缺乏資料完整性。In some embodiments, the server may provide access to one of the data fields in the electronic document to two or more client terminals identified based on roles according to the access control principle. The hash value and signature of the data field in the electronic file may have been provided to each of the identified clients. The hash value can be derived from the attribute in the data field and the hash value of the client terminal that provides the attribute and the encryption key (for example, the public encryption key) can be used to generate the signature. Through the hash value and signature, other client terminals can obtain the encryption key to access the attributes in the data field. Other client terminals can calculate the hash value based on the encrypted attribute, and use the hash value to decrypt the signature to obtain the decrypted hash value. The client terminal can then compare the decrypted hash value with the hash value to determine completeness. When the hash value matches, the client terminal can determine that the attribute has data integrity. Otherwise, when the hash value does not match, the client terminal can determine that the attribute lacks data integrity.

現在參考圖37,電腦3700可包含一或多個處理器3705、揮發性記憶體3710 (例如,隨機存取記憶體(RAM))、非揮發性記憶體3720 (例如,一或多個硬碟機(HDD)或其他磁性或光學儲存媒體、一或多個固態磁碟機(SSD) (諸如一快閃磁碟機或其他固態儲存媒體)、一或多個混合磁性與固態磁碟機及/或一或多個虛擬儲存容量(諸如一雲端儲存裝置)或此等實體儲存容量與虛擬儲存容量或其陣列之一組合)、使用者介面(UI) 3725、一或多個通信介面3715及通信匯流排3730。使用者介面3725可包含圖形使用者介面(GUI) 3750 (例如,一觸控螢幕、一顯示器等)及一或多個輸入/輸出(I/O)裝置3755 (例如,一滑鼠、一鍵盤、一麥克風、一或多個揚聲器、一或多個相機、一或多個生物掃描機、一或多個環境感測器、一或多個加速度計等)。非揮發性記憶體3720儲存作業系統3735、一或多個應用程式3740及資料3745,使得(舉例而言)作業系統3735及/或應用程式3740之電腦指令由在揮發性記憶體3710以外之處理器3705執行。在某些實施例中,揮發性記憶體3710可包含一或多個類型之RAM及/或可提供比一主記憶體快之一回應時間的一快取記憶體。可使用GUI 3750之一輸入裝置輸入資料或自I/O裝置3755接收資料。電腦3700之各種元件可經由經展示為通信匯流排3730之一或多個通信匯流排通信。Referring now to FIG. 37, the computer 3700 may include one or more processors 3705, volatile memory 3710 (e.g., random access memory (RAM)), and non-volatile memory 3720 (e.g., one or more hard disks). Hard drive (HDD) or other magnetic or optical storage media, one or more solid state drive (SSD) (such as a flash drive or other solid storage media), one or more hybrid magnetic and solid state drives, and / Or one or more virtual storage capacity (such as a cloud storage device) or a combination of these physical storage capacity and virtual storage capacity or one of its arrays), user interface (UI) 3725, one or more communication interfaces 3715, and Communication bus 3730. The user interface 3725 may include a graphical user interface (GUI) 3750 (for example, a touch screen, a display, etc.) and one or more input/output (I/O) devices 3755 (for example, a mouse, a keyboard) , A microphone, one or more speakers, one or more cameras, one or more biological scanners, one or more environmental sensors, one or more accelerometers, etc.). The non-volatile memory 3720 stores the operating system 3735, one or more application programs 3740 and data 3745, so that (for example) the computer commands of the operating system 3735 and/or application programs 3740 are processed outside the volatile memory 3710器3705 executes. In some embodiments, the volatile memory 3710 may include one or more types of RAM and/or a cache memory that can provide a response time faster than a main memory. You can use one of the GUI 3750 input devices to input data or receive data from the I/O device 3755. The various components of the computer 3700 can communicate via one or more of the communication buses 3730 shown as communication buses.

如圖37中所展示之電腦3700經展示(僅僅作為一實例)為用戶端、伺服器、中介結構及其他網路化裝置,且可由任何計算或處理環境且藉助可具有能夠如本文中所闡述而操作之適合硬體及/或軟體之任何類型之機器或機器集來實施。處理器3705可由一或多個可程式化處理器實施以執行一或多個可執行指令,諸如一電腦程式,以執行系統之功能。如本文中所使用,術語「處理器」闡述執行一功能、一操作或一操作序列之電路系統。該功能、操作或操作序列可硬編碼至該電路系統中或藉助於保存於一記憶體裝置中且由該電路系統執行之指令經軟編碼。一「處理器」可使用數位值及/或使用類比信號執行該功能、操作或操作序列。在某些實施例中,該「處理器」可體現於一或多個特殊應用積體電路(ASIC)、微處理器、數位信號處理器(DSP)、圖形處理單元(GPU)、微控制器、場可程式化閘陣列(FPGA)、可程式化邏輯陣列(PLA)、多核心處理器或具有相關聯記憶體之一般用途電腦中。該「處理器」可係類比、數位或混合信號。在某些實施例中,該「處理器」可係一或多個實體處理器或一或多個「虛擬」(例如,遠端地定位或「雲端」)處理器。包含多個處理器核心之一處理器及/或多個處理器可提供用於一個以上資料件上之若干指令之並行同時執行或用於一個以上資料件上之一個指令之並行同時執行的功能性。The computer 3700 shown in FIG. 37 is shown (just as an example) as a client, server, intermediary structure, and other networked devices, and can be used in any computing or processing environment and can be as described herein The operation is suitable for any type of machine or machine set of hardware and/or software. The processor 3705 may be implemented by one or more programmable processors to execute one or more executable instructions, such as a computer program, to perform system functions. As used herein, the term "processor" describes a circuit system that performs a function, an operation, or a sequence of operations. The function, operation or sequence of operations can be hard-coded into the circuit system or soft-coded by means of instructions stored in a memory device and executed by the circuit system. A "processor" can use digital values and/or use analog signals to perform the function, operation, or sequence of operations. In some embodiments, the "processor" may be embodied in one or more application-specific integrated circuits (ASIC), microprocessors, digital signal processors (DSP), graphics processing units (GPU), microcontrollers , Field programmable gate array (FPGA), programmable logic array (PLA), multi-core processor or general purpose computer with associated memory. The "processor" can be analog, digital or mixed signal. In some embodiments, the "processor" may be one or more physical processors or one or more "virtual" (eg, remotely located or "cloud") processors. A processor containing multiple processor cores and/or multiple processors can provide the function of parallel simultaneous execution of several instructions on more than one data piece or parallel simultaneous execution of one instruction on more than one data piece Sex.

通信介面3715可包含一或多個介面以使得電腦3700能夠透過各種有線及/或無線或蜂巢式連接存取一電腦網路,諸如一區域網(LAN)、一廣域網(WAN)、一個人區域網(PAN)或網際網路。The communication interface 3715 may include one or more interfaces to enable the computer 3700 to access a computer network through various wired and/or wireless or cellular connections, such as a local area network (LAN), a wide area network (WAN), and a personal area network (PAN) or the Internet.

本說明書中所闡述之標的物及操作之實施例可實施於數位電子電路中或電腦軟體、韌體或硬體(包含本說明書中所揭示之結構及其結構等效物)中或者其等各項中之一或多者之組合中。亦可將本說明書中所闡述之標的物之實施例實施為一或多個電腦程式,亦即,編碼於一或多個電腦儲存媒體上以供資料處理設備(諸如一處理電路)執行或用以控制資料處理設備之操作之一或多個電腦程式指令模組。一控制器或處理電路(諸如CPU)可包括經組態以執行本文中所闡述之功能之任何數位及/或類比電路組件,諸如一微處理器、微控制器、特殊應用積體電路、可程式化邏輯等。另一選擇係或另外,程式指令可編碼於一人工產生之傳播信號(例如,一機器產生之電、光學或電磁信號)上,該人工產生之傳播信號經產生以編碼用於傳輸至適合接收器設備以供一資料處理設備執行之資訊。The subject matter and operation embodiments described in this specification can be implemented in digital electronic circuits or computer software, firmware, or hardware (including the structures disclosed in this specification and their structural equivalents), or various One or more of the items in the combination. The embodiments of the subject matter described in this specification can also be implemented as one or more computer programs, that is, encoded on one or more computer storage media for data processing equipment (such as a processing circuit) to execute or use One or more computer program instruction modules to control the operation of data processing equipment. A controller or processing circuit (such as a CPU) can include any digital and/or analog circuit components configured to perform the functions described herein, such as a microprocessor, microcontroller, special application integrated circuit, Stylized logic, etc. Alternatively or additionally, the program instructions can be encoded on an artificially generated propagation signal (for example, an electrical, optical or electromagnetic signal generated by a machine), which is generated and encoded for transmission to a suitable receiver Information for a data processing device to execute.

電腦儲存媒體可係以下各項或包含於以下各項中:一電腦可讀儲存裝置、一電腦可讀儲存基板、一隨機或串列存取記憶體陣列或裝置或者其等各項中之一或多者之一組合。此外,雖然一電腦儲存媒體並非一傳播信號,但一電腦儲存媒體可係編碼於一人工產生之傳播信號中之電腦程式指令之一源或目的地。該電腦儲存媒體亦可係一或多個單獨組件或媒體(例如,多個CD、磁碟或其他儲存裝置),或包含於一或多個單獨組件或媒體中。因此,該電腦儲存媒體既係有形的又係非暫時性的。 A computer storage medium can be or be included in the following: a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or any of them One or more combinations. In addition, although a computer storage medium is not a propagated signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium may also be one or more separate components or media (for example, multiple CDs, disks, or other storage devices), or be included in one or more separate components or media. Therefore, the computer storage medium is both tangible and non-transitory.

本說明書中所闡述之操作可實施為由一資料處理設備對儲存於一或多個電腦可讀儲存裝置上或自其他源接收之資料執行之操作。術語「資料處理設備」或「計算裝置」囊括用於處理資料之所有種類之設備、裝置及機器,藉由實例方式包含一可程式化處理器、一電腦、一系統單芯片或者前述各項中之多者或組合。該設備可包含特殊用途邏輯電路系統,例如,一FPGA (場可程式化閘陣列)或一ASIC (特殊應用積體電路)。除硬體以外,該設備亦可包含為所討論之電腦程式創建一執行環境的程式碼,例如,構成處理器韌體、一協定堆棧、一資料庫管理系統、一作業系統、一跨平台運行時環境、一虛擬機器或其等各項中之一或多者之一組合的程式碼。該設備及執行環境可實現各種不同計算模型基礎設施,諸如web服務、分佈式計算及網格計算基礎設施。The operations described in this specification can be implemented as operations performed by a data processing device on data stored on one or more computer-readable storage devices or received from other sources. The term "data processing equipment" or "computing device" encompasses all types of equipment, devices, and machines used to process data. By way of example, it includes a programmable processor, a computer, a system-on-chip, or any of the foregoing Many or a combination. The device can include special-purpose logic circuit systems, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the device can also contain code that creates an execution environment for the computer program in question, for example, constituting processor firmware, a protocol stack, a database management system, an operating system, and a cross-platform operation Time environment, a virtual machine, or a combination of one or more of them. The equipment and execution environment can implement various computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.

可以包含編譯語言或解譯語言、宣告式或程序性語言之任何形式之程式設計語言來撰寫一電腦程式(亦稱為一程式、軟體、軟體應用程式、描述性語言或程式碼),且可將該電腦程式部署成任何形式,包含部署為一獨立程式或部署為一模組、組件、子常式、物件或適合在一計算環境中使用之其他單元。一電腦程式可但不需要對應於一檔案系統中之一檔案。一程式可儲存於保存其他程式或資料(例如,儲存於一標記語言文件中之一或多個描述性語言)之一檔案之一部分中、儲存於專用於所討論之程式之一單個檔案中或儲存於多個經協調檔案(例如,儲存一或多個模組、子程式或程式碼之若干部分之文檔)中。一電腦程式可經部署以在一個電腦上或在多個電腦(其位於一個位點處或跨越多個位點分佈且藉由一通信網路互連)上執行。A computer program (also called a program, software, software application program, descriptive language or program code) can be written in any form of programming language including compiled language or interpretation language, declarative or procedural language, and can Deploy the computer program in any form, including deployment as an independent program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may but does not need to correspond to a file in a file system. A program can be stored in a part of a file that stores other programs or data (for example, stored in one or more descriptive languages in a markup language document), in a single file dedicated to the program in question, or Stored in multiple coordinated files (for example, a document storing one or more modules, subprograms, or parts of code). A computer program can be deployed to be executed on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.

本說明書中所闡述之程序及邏輯流程可由執行一或多個電腦程式之一或多個可程式化處理器執行以藉由對輸入資料進行操作並產生輸出來執行動作。該等程序及邏輯流程亦可由特殊用途邏輯電路系統(例如,一FPGA(場可程式化閘陣列)或一ASIC(特殊應用積體電路))來執行,且亦可將設備實施為該專用邏輯電路系統。The procedures and logic flows described in this specification can be executed by one or more programmable processors that execute one or more computer programs to perform actions by operating on input data and generating output. These programs and logic flows can also be executed by a special-purpose logic circuit system (for example, an FPGA (Field Programmable Gate Array) or an ASIC (Special Application Integrated Circuit)), and the device can also be implemented as the dedicated logic electrical system.

舉例而言,適於執行一電腦程式之處理器藉由實例方式包含一般用途微處理器及特殊用途微處理器兩者,以及任一種類之數位電腦之任何一或多個處理器。一般而言,一處理器將自一唯讀記憶體或一隨機存取記憶體或兩者接收指令及資料。一電腦之基本元件係用於根據指令執行動作之一處理器及用於儲存指令及資料之一或多個記憶體裝置。一般而言,一電腦亦將包含用於儲存資料之一或多個大容量儲存裝置(例如,磁碟、磁光碟或光碟)或以操作方式耦合以自該一或多個大容量儲存裝置接收資料或向其傳送資料或既接收又傳送資料。然而,一電腦不必具有此類裝置。此外,一電腦可嵌入於另一裝置中,例如,一行動電話、一個人數位助理(PDA)、一行動音訊或視訊播放器、一遊戲控制台、一全球定位系統(GPS)接收器或一可攜式儲存裝置(例如,一通用串列匯流排(USB)快閃磁碟機) (僅舉幾個例子)。適合於儲存電腦程式指令及資料之裝置包含所有形式之非揮發性記憶體、媒體及記憶體裝置,以實例方式包含:半導體記憶體裝置(例如,EPROM、EEPROM及快閃記憶體裝置);磁碟(例如,內部硬碟或可抽換磁碟);磁光碟;以及CDROM及DVD-ROM碟。該處理器及該記憶體可由特殊用途邏輯電路系統補充或併入於特殊用途邏輯電路系統中。For example, processors suitable for executing a computer program include, by way of example, both general-purpose microprocessors and special-purpose microprocessors, and any one or more processors of any type of digital computer. Generally speaking, a processor will receive commands and data from a read-only memory or a random access memory or both. The basic element of a computer is a processor used to perform actions according to instructions and one or more memory devices used to store instructions and data. Generally speaking, a computer will also include one or more mass storage devices (for example, magnetic disks, magneto-optical discs or optical discs) for storing data or be operatively coupled to receive from the one or more mass storage devices Data or send data to it or both receive and send data. However, a computer need not have such a device. In addition, a computer can be embedded in another device, such as a mobile phone, a personal assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a computer Portable storage device (for example, a universal serial bus (USB) flash drive) (just to name a few). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including by way of example: semiconductor memory devices (for example, EPROM, EEPROM, and flash memory devices); magnetic Disk (for example, internal hard disk or removable disk); magneto-optical disk; and CDROM and DVD-ROM disk. The processor and the memory can be supplemented by a special-purpose logic circuit system or incorporated into the special-purpose logic circuit system.

為提供與一使用者之互動,本說明書中所闡述之標的物之實施例可實施於一電腦上,該電腦具有:一顯示裝置,例如,一CRT (陰極射線管)或LCD (液晶顯示器)監視器、OLED (有機發光二極體)監視器或用於向使用者顯示資訊之其他形式之顯示器;及一鍵盤;及/或一指向裝置,例如,一滑鼠或一軌跡球,使用者可藉由該指向裝置將輸入提供至該電腦。亦可使用其他種類之裝置來提供與一使用者之互動;舉例而言,提供給該使用者之回饋可係任何形式之感觀回饋,例如,視覺回饋、聽覺回饋或觸覺回饋;且來自該使用者之輸入可以任何形式來接收,包含聲音、語音或觸覺輸入。另外,一電腦可藉由向由該使用者使用之一裝置發送文件及自該裝置接收文件而與一使用者交互;舉例而言,藉由回應於自一使用者之用戶端裝置上之一web瀏覽器接收之請求而向該web瀏覽器發送網頁。In order to provide interaction with a user, the embodiments of the subject matter described in this specification can be implemented on a computer with: a display device, for example, a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display) Monitor, OLED (Organic Light Emitting Diode) monitor or other form of display used to display information to the user; and a keyboard; and/or a pointing device, such as a mouse or a trackball, the user The pointing device can provide input to the computer. Other types of devices can also be used to provide interaction with a user; for example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and User input can be received in any form, including voice, voice or tactile input. In addition, a computer can interact with a user by sending documents to a device used by the user and receiving documents from the device; for example, by responding to one of the user’s client devices The web browser receives the request and sends a web page to the web browser.

雖然此說明書含有諸多特定實施例細節,但此等細節不應解釋為對任何實施例或可主張之內容之範疇之限制,而是應解釋為特定實施例特有之特徵之說明。在單獨實施例之內容脈絡中於本說明書中闡述之特定特徵亦可以組合方式實施於一單個實施例中。相反地,在一單個實施例之內容脈絡中闡述之各種特徵亦可單獨地或以任何適合子組合形式實施於多個實施例中。此外,儘管上文可將特徵闡述為以特定組合形式起作用且甚至最初係如此主張的,但在某些情形中,可自一所主張組合去除來自該組合之一或多個特徵,且所主張組合可針對一子組合或一子組合之變化形式。Although this specification contains many specific embodiment details, these details should not be construed as limitations on the scope of any embodiment or content that can be claimed, but should be construed as descriptions of specific features of specific embodiments. The specific features described in this specification in the context of individual embodiments can also be implemented in a single embodiment in combination. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination. In addition, although features may be described above as functioning in a particular combination and even initially claimed as such, in some cases, one or more features from a claimed combination may be removed from that combination, and so The claimed combination can be for a sub-combination or a variation of a sub-combination.

類似地,雖然在該等圖式中以一特定次序繪示操作,但不應將此理解為需要以所展示之特定次序或以順序次序執行此等操作或執行所有所圖解說明之操作以達成合意結果。在特定情形中,多任務及並行處理可係有利的。此外,不應將在上文所闡述之實施例中之各種系統組件之分離理解為在所有實施例中需要此分離,且應理解,一般可將所闡述程式組件及系統一起整合於一單個軟體產品中或封裝至多個軟體產品中。Similarly, although the operations are depicted in a specific order in the drawings, it should not be understood that it is necessary to perform these operations in the specific order shown or in a sequential order or perform all the operations illustrated to achieve Desirable results. In certain situations, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described can generally be integrated into a single software In the product or packaged in multiple software products.

對「或」之提及可解釋為包含性的,使得使用「或」所闡述之任何術語可指示一單個、一個以上及所有所闡述術語中之任一者。References to "or" can be construed as inclusive, so that any term set forth using "or" can indicate any of a single, more than one, and all of the terms set forth.

因此,已闡述標的物之特定實施例。在所附申請專利範圍之範疇內存在其他實施例。在某些情形中,申請專利範圍中所陳述之動作可以一不同次序執行且仍達成合意結果。另外,附圖中所繪示之程序未必需要所展示之特定次序或順序次序來實現合意結果。在特定實施例中,多任務及並行處理可係有利的。Therefore, specific embodiments of the subject matter have been described. There are other embodiments within the scope of the attached patent application. In some cases, the actions stated in the scope of the patent application can be performed in a different order and still achieve a satisfactory result. In addition, the procedures shown in the drawings do not necessarily require the specific order or sequence shown in order to achieve desired results. In certain embodiments, multitasking and parallel processing may be advantageous.

已闡述方法及系統之特定實施例,現在熟習此項技術者將明瞭,可使用併入有概念之其他實施例。應理解,上文所闡述之系統可提供彼等組件中之任何者或每一者之多者,且此等組件可設置於一單獨機械上或在某些實施例中設置於一分佈式系統中之多個機器上。上文所闡述之系統及方法可使用程式化及/或工程設計技術實施為一方法、設備或製件以產生軟體、韌體、硬體或其任何組合。另外,上文所闡述之系統及方法可經提供為體現於一或多個製件上或中之一或多個電腦可讀程式。如本文中所使用之術語「製件」意欲囊括可自以下各項存取且嵌入於以下各項中之程式碼或邏輯:一或多個電腦可讀裝置、韌體、可程式化邏輯、記憶體裝置(例如,EEPROM、ROM、PROM、RAM、SRAM等)、硬體(例如,積體電路晶片、場可程式化閘陣列(FPGA)、特殊應用積體電路(ASIC)等)、電子裝置、一電腦可讀非揮發性儲存單元(例如,CD-ROM、軟碟、硬碟機等)。可自一檔案伺服器存取製件,該檔案伺服器經由一網路傳輸線、無線傳輸媒體、透過空間傳播之信號、無線電波、紅外線信號等提供對電腦可讀程式之存取。製件可係一快閃記憶體卡或一磁帶。製件包含硬體邏輯以及嵌入於一電腦可讀媒體中之由一處理器執行之軟體或可程式化碼。一般而言,電腦可讀程式可以任何程式化語言(諸如LISP、PERL、C、C++、C#、PROLOG)或以任何位元組碼語言(諸如JAVA)來實施。軟體程式可作為物件程式碼儲存於一或多個製件上或中。Specific embodiments of the method and system have been described, and those familiar with the art will now understand that other embodiments incorporating concepts can be used. It should be understood that the system described above can provide any or more of each of these components, and these components can be provided on a separate machine or in some embodiments in a distributed system On multiple machines. The system and method described above can be implemented as a method, device, or article using programming and/or engineering design techniques to generate software, firmware, hardware, or any combination thereof. In addition, the systems and methods described above can be provided as embodied on one or more parts or one or more computer-readable programs. The term "article" as used herein is intended to include code or logic that can be accessed from and embedded in: one or more computer-readable devices, firmware, programmable logic, Memory devices (for example, EEPROM, ROM, PROM, RAM, SRAM, etc.), hardware (for example, integrated circuit chip, field programmable gate array (FPGA), special application integrated circuit (ASIC), etc.), electronics Device, a computer-readable non-volatile storage unit (for example, CD-ROM, floppy disk, hard disk drive, etc.). The product can be accessed from a file server that provides access to computer-readable programs via a network transmission line, wireless transmission media, signals transmitted through space, radio waves, infrared signals, etc. The product can be a flash memory card or a tape. The artifacts include hardware logic and software or programmable codes embedded in a computer-readable medium and executed by a processor. Generally speaking, a computer readable program can be implemented in any programming language (such as LISP, PERL, C, C++, C#, PROLOG) or in any byte code language (such as JAVA). Software programs can be stored on or in one or more objects as object code.

102:托運人 104:代運人 106:承運人 108:碼頭 110:海關 112:港務局 114:收貨人 116:金融機構 200:運輸路線 202:托運人 204:港務局 206:船舶經營者 208:最終收貨人 300:金鑰保存庫程序 302:開始 304:步驟 306:步驟 308:步驟 310:步驟 312:結束 400:金鑰位置 402:公開金鑰 404:私密金鑰 406:經加密資料加密金鑰 408:經解密資料加密金鑰/資料加密金鑰 410:安全網路連接 412:安全網路連接 500:鑑認程序 502:用戶端應用程式/使用者之用戶端應用程式 504:安全網路連接 506:授權權杖產生器/權杖產生器 508:預訂應用程式設計介面 600:應用程式設計介面 602:用戶端應用程式 604:應用程式設計介面管理工具 606:區塊鏈應用程式設計介面 608:驗證請求 610:權杖 612:預訂請求有效負載/有效負載 614:將組織識別碼及有效負載請求發送至區塊鏈應用程式設計介面 616:用戶鑑認 618:提供權杖鑑認 700:應用程式設計介面管理程序 702:開始方塊 706:步驟 708:步驟 710:步驟 712:步驟 714:步驟 716:結束 718:步驟 800:運輸文件資料分佈 802:開始方塊 804:步驟 806:步驟 808:步驟 810:步驟 812:結束方塊 900:運輸文件創建模型/獲得預訂程序 902:開始 904:步驟 906:步驟 908:步驟 910:步驟 912:步驟 914:步驟 916:步驟 918:步驟 920:結束 1000:樣本預訂訂單 1100:擷取運輸文件/擷取預訂程序 1102:開始方塊 1104:屬性驗證 1106:自運輸文件資料庫獲得預訂資訊且將經加密預訂資訊解密 1108:確保恰當地擷取所要預訂且將所要預訂解密 1110:運輸角色檢查 1112:過濾屬性 1114:成功 1116:錯誤回應 1118:結束 1200:創建運輸文件 1202:開始方塊 1204:檢查屬性驗證 1206:藉由定位子金鑰找到預訂之一角色清單 1208:檢查是否可定義預訂之存取原則 1210:收集運輸方之運輸角色 1212:檢查所收集運輸角色是否具有存取權以創建預訂資料之所有所提交屬性 1214:產生預訂之一唯一預訂識別碼 1216:針對每一資料屬性產生個別資料加密金鑰 1218:將每一資料屬性加密 1220:擷取每一運輸角色之存取控制原則 1222:自公開金鑰儲存庫擷取公開金鑰 1224:以運輸方之公開金鑰將對應資料加密金鑰一個接一個地加密 1226:將經加密資料及經加密資料加密金鑰分佈至恰當組織 1228:驗證成功地將資料及金鑰分佈至相關運輸方之所有分類帳 1230:將分類帳之名稱、唯一預訂ID及預訂版本號保存於運輸文件資料庫中 1232:產生一成功回應碼 1234:傳回一錯誤 1236:結束 1300:系統 1302:運輸文件控制中樞 1304:脫鏈資料庫 1306a:第一使用者節點/使用者節點 1306b:使用者節點 1306n:使用者節點 1308a-1308n:用戶端應用程式 1310a-1310n:用戶端應用程式資料庫 1312a-1312n:金鑰儲存區 1314a-1314n:密碼存取層 1316a-1316n:應用程式設計介面/區塊鏈應用程式設計介面 1318a-1318n:網路通信/網路連接 1320a-1320n:區塊鏈邏輯 1322a-1322n:區塊鏈節點 1400:存取原則 1500:程序 1502:開始方塊 1504:步驟 1506:步驟 1508:步驟 1510:步驟 1512:步驟 1514:結束 1600:角色與存取控制原則 1602:資料與金鑰結構 1604:樣本存取控制原則/收貨人之存取控制原則 1606:藉助一資料加密金鑰將每一資料屬性個別地加密 1608:資料加密金鑰之公開金鑰加密 1700:組件關係實例/實施例 1702:存取原則/運輸文件存取原則 1704:角色清單存取原則 1706:唯一識別碼/運輸文件 1708:定位子金鑰 1710:角色清單 1712:定位子金鑰 1714:文件類型 1716:事件類型 1718:運輸角色清單 1720:貨櫃角色清單 1800:角色清單與存取控制原則 1802:角色清單存取原則定位子金鑰 1804:角色清單存取原則實例 1806:角色屬性層級實例 1808:角色清單定位子金鑰 1810:角色清單內容 1900:運輸文件/運輸文件與存取控制原則 1902:貨櫃出境事件/出境實例/出境事件實例 1904:角色清單定位子金鑰 1906:運輸文件存取原則/運輸文件層級原則實例 1908:運輸文件架構實例/實例/架構實例 1910:出境事件欄位層級之運輸文件存取原則/運輸文件原則欄位層級實例/欄位層級實例 2000:實例性運輸文件原則 2002:危險品憑證實例 2004:角色清單定位子金鑰 2006:文件層級存取原則 2008:欄位層級存取原則/欄位層級 2010:危險品憑證架構實例 2100:邏輯系統佈局/系統佈局 2102:運輸文件控制中樞 2104:第一使用者節點/用戶端節點/使用者節點 2106:文件控制中樞側訊息代理者/訊息代理者 2108:事件訊息 2110:事件訊息 2112:存取原則 2114:公開金鑰儲存庫 2116:識別碼儲存庫 2118:用戶端節點/使用者節點 2124:使用者訊息代理者 2126:使用者訊息代理者 2200:樣本流程圖/角色清單提交詳細流程 2202:初始檢查屬性驗證 2206:角色檢查 2208:定義角色清單存取原則 2210:存取權檢查 2212:傳回一錯誤回應碼 2214:產生加密金鑰 2216:將角色清單加密 2218:藉由發送者之私密金鑰簽署雜湊從而產生發送者之簽章 2220:獲得公開金鑰 2222:將資料加密金鑰加密 2223:將訊息發送至運輸文件控制中樞 2224:分佈資料及加密金鑰 2226:檢查分佈成功 2228:將具有一錯誤碼之事件發佈至訊息代理者 2232:發佈具有可去往用戶端側訊息代理者之一成功碼的事件 2234:結束 2300:角色清單讀取詳細流程/用於讀取一運輸文件之一程序 2302:檢查屬性驗證 2304:獲得經加密角色清單及經加密資料加密金鑰 2310:檢查角色清單之相關性 2312:存取金鑰儲存區 2314:將資料加密金鑰解密 2316:傳回一錯誤回應碼 2318:將角色清單解密 2320:傳回一成功回應碼 2322:結束方塊 2402:檢查屬性驗證 2404:檢查是否可存在來自存取原則儲存庫之一現有角色清單 2406:運輸角色檢查 2408:查看是否可在運輸文件層級及運輸文件欄位層級處定義存取原則 2410:存取權檢查 2412:產生遍及整個系統可係唯一之一唯一運輸文件識別碼 2414:產生資料加密金鑰 2416:將資料屬性加密 2418:產生關於經加密資料屬性之一雜湊且存取金鑰儲存區以藉由發送者之私密金鑰簽署雜湊從而產生發送者之簽章 2420:獲得公開金鑰 2422:將資料加密金鑰加密 2424:將具有經加密資料屬性、經加密資料加密金鑰、雜湊及發送者之簽章之訊息打包 2426:將訊息發送至運輸文件控制中樞 2428:藉由使每一使用者節點以一成功通知做出回應而查看分佈是否係成功的 2430:接收具有經加密運輸文件、經加密DEK、雜湊及發送者之簽章之一發佈事件 2432:將一成功事件通知發佈給發送者 2436:檢查完整性 2438:將經加密資料加密金鑰解密 2440:將運輸文件解密 2442:用戶端應用程式可以純文字形式接收運輸文件 2448:結束方塊 2502:開始方塊 2504:檢查屬性 2506:檢查一現有運輸文件 2508:找到現有角色清單 2510:角色檢查 2512:是否定義存取原則 2514:存取權檢查 2516:合併現有運輸文件屬性與所提交資料屬性之經加密資料(若可用) 2518:使運輸文件之版本號增加一 2520:產生資料加密金鑰 2522:所提交運輸文件中之新資料屬性 2524:將運輸文件中之所提交資料屬性加密 2526:產生關於任何新加密之資料屬性(資料欄位)之一雜湊且存取金鑰儲存區以藉由發送者之私密金鑰簽署雜湊來產生發送者之簽章 2528:獲得角色清單中之當事方之公開金鑰 2530:將經更新資料加密金鑰加密 2532:將具有經加密資料屬性、經加密資料加密金鑰、雜湊及發送者之簽章之訊息打包 2534:將經加密運輸文件、經加密資料加密金鑰、雜湊及發送者之簽章金鑰分佈至恰當區塊鏈分類帳 2536:執行是否成功地分佈經加密運輸文件、經加密資料加密金鑰、雜湊及發送者之簽章之一檢查 2538:將具有一經加密運輸文件、經加密資料加密金鑰及發送者之簽章之一事件發佈至既定接收方 2540:檢查完整性 2542:將資料加密金鑰解密 2544:將運輸文件解密 2546:以純文字形式接收運輸文件 2548:將錯誤回應碼傳回至接收方 2550:在一成功碼發送至發送者之訊息代理者之情況下執行具有至發送者之成功碼之一發佈事件 2554:將具有要發送之一錯誤碼之一事件發佈至發送者之訊息代理者 2556:結束方塊 2600:用於讀取一運輸文件之實例性程序 2602:開始方塊 2604:對照一交易參考資料庫檢查該運輸文件版本號 2606:屬性驗證 2608:獲得經加密運輸文件及經加密資料加密金鑰 2610:檢查相關性 2612:存取金鑰儲存區 2614:取回資料加密金鑰 2616:錯誤 2618:將經加密運輸文件解密 2620:將一成功回應碼傳回至用戶端應用程式 2622:結束 2700:預訂配置 2702:預訂版本號 2800:局部預訂視圖 2900:可能活動 2902:所註冊使用者/使用者 2904:第三方 2906:文件控制中樞 2908:使用者節點 2910:第三方節點 3002:文件控制中樞 3004a:運輸文件資料庫 3004b:存取原則儲存庫 3004c:公開金鑰儲存庫 3004d:身份儲存庫 3004n:資料庫 3006a:接收方庫加密 3006b:接收方庫加密 3006n:接收方庫加密 3010:文件控制中樞託管之驗證功能/驗證功能 3020:安全通信鏈路 3022:使用者 3024:使用者控制之資料封裝/資料封裝 3026:資料加密金鑰/經加密資料加密金鑰/經解密資料加密金鑰 3028:使用者私密金鑰 3060:第三方 3062:第三方受控制資料封裝/第三方資料封裝/資料封裝 3064:單獨安全通信鏈路 3102:貸款申請 3104:應用程式證實 3106:合規性檢查 3108:支付 3110:批准且發放貸款 3112:運輸事件 3114:運輸文件 3116:開發票 3118:代運人經歷其自身之代運人活動 3120:銀行經歷其自身之銀行活動 3200:帳戶 3202:代運人 3204:安全通信 3206:銀行 3208:承運人 3210:系統 3212:碼頭 3300:項目 3302:代運人 3304:貸款申請 3308:承運人 3310:系統 3312:碼頭 3314:文件 3400:樣本發票 3500:實例性支付 3600:方法 3605:步驟 3610:步驟 3615:步驟 3620:步驟 3700:電腦 3705:處理器 3710:揮發性記憶體 3715:通信介面 3720:非揮發性記憶體 3725:使用者介面 3730:通信匯流排 3735:作業系統 3740:應用程式 3745:資料 3750:圖形使用者介面 3755:輸入/輸出裝置102: Shipper 104: Forwarder 106: Carrier 108: Terminal 110: Customs 112: Port Authority 114: Consignee 116: Financial Institution 200: Transport Route 202: Shipper 204: Port Authority 206: Ship Operator 208 : Final consignee 300: Key repository program 302: Start 304: Step 306: Step 308: Step 310: Step 312: End 400: Key location 402: Public key 404: Private key 406: Encrypted data Encryption Key 408: Decrypted Data Encryption Key/Data Encryption Key 410: Secure Network Connection 412: Secure Network Connection 500: Authentication Procedure 502: Client Application/User's Client Application 504: Security Network connection 506: Authorization token generator/Token generator 508: Reservation application programming interface 600: Application programming interface 602: Client application 604: Application programming interface management tool 606: Blockchain application programming Interface 608: Verification Request 610: Token 612: Reservation Request Payload/Payload 614: Send Organization ID and Payload Request to Blockchain Application Programming Interface 616: User Authentication 618: Provide Token Authentication 700 : Application Programming Interface Management Program 702: Start block 706: Step 708: Step 710: Step 712: Step 714: Step 716: End 718: Step 800: Distribution of transportation document data 802: Start block 804: Step 806: Step 808: Step 810: Step 812: End Block 900: Transport File Creation Model/Get Reservation Procedure 902: Start 904: Step 906: Step 908: Step 910: Step 912: Step 914: Step 916: Step 918: Step 920: End 1000: Sample reservation order 1100: Retrieve transportation documents / Retrieve reservation procedures 1102: Start block 1104: Attribute verification 1106: Obtain reservation information from the transportation document database and decrypt the encrypted reservation information 1108: Ensure that the reservations to be retrieved are appropriately Decryption of the desired reservation 1110: Transportation role check 1112: Filter attribute 1114: Success 1116: Error response 1118: End 1200: Create transportation file 1202: Start block 1204: Check attribute verification 1206: Find a role list of the reservation by locating the subkey 1208: Check whether the reservation access policy can be defined 1210: Collect the transportation role of the carrier 1212: Check whether the collected transportation role has access to create all the submitted attributes of the reservation data 1214: Generate a unique reservation identifier for the reservation 1216: Generate individual data encryption keys for each data attribute 1218: Encrypt each data attribute 1220: Retrieve the access control policy of each transport role 1222: Retrieve the public key from the public key repository 1224: Use The public key of the shipping party will correspond to The data encryption key encrypts one by one 1226: Distribute the encrypted data and the encrypted data encryption key to the appropriate organization 1228: Verify that the data and key are successfully distributed to all the ledgers of the relevant carrier 1230: Distribute the ledger The name, unique booking ID and booking version number are stored in the transportation document database 1232: a successful response code 1234 is generated: an error is returned 1236: end 1300: system 1302: transportation document control center 1304: off-chain database 1306a: First user node/user node 1306b: user node 1306n: user node 1308a-1308n: client application 1310a-1310n: client application database 1312a-1312n: key storage area 1314a-1314n: password Access layer 1316a-1316n: application programming interface/blockchain application programming interface 1318a-1318n: network communication/network connection 1320a-1320n: blockchain logic 1322a-1322n: blockchain node 1400: access Principle 1500: Procedure 1502: Start Block 1504: Step 1506: Step 1508: Step 1510: Step 1512: Step 1514: End 1600: Role and Access Control Principle 1602: Data and Key Structure 1604: Sample Access Control Principle/Receive Cargo person’s access control principle 1606: Encrypt each data attribute individually with a data encryption key 1608: Public key encryption of the data encryption key 1700: Component relationship example/embodiment 1702: Access principle/transport document Access Principle 1704: Role List Access Principle 1706: Unique Identifier/Transportation Document 1708: Location Subkey 1710: Role List 1712: Location Subkey 1714: File Type 1716: Event Type 1718: Transport Role List 1720: Container Role List 1800: Role List and Access Control Principle 1802: Role List Access Policy Location Subkey 1804: Role List Access Policy Example 1806: Role Attribute Level Example 1808: Role List Location Subkey 1810: Role List Content 1900 : Transportation document/Transport document and access control principle 1902: Container exit event/Exit instance/Exit event example 1904: Role list location subkey 1906: Transportation document access principle/Transport document hierarchy principle Example 1908: Transportation document structure example /Example/Architecture example 1910: Transport document access principle at the field level of outbound events/Transport document principle field level example/Field level example 2000: Example transportation document principle 2002: Dangerous goods certificate example 2004: Role list locator Key 2006: Document Level Access Principle 2008: Column Level Access Principle/Field Level 2010: Dangerous Goods Certificate Architecture Example 2100: Logical System Layout/System Layout 2102: Transportation document control center 2104: first user node/client node/user node 2106: document control center side message agent/message agent 2108: event message 2110: event message 2112: access policy 2114: public key Repository 2116: Identification Code Repository 2118: Client Node/User Node 2124: User Message Broker 2126: User Message Broker 2200: Sample Flowchart/Role List Submission Detailed Process 2202: Initial Check Attribute Verification 2206: Role check 2208: Define role list access policy 2210: Access right check 2212: Return an error response code 2214: Generate encryption key 2216: Encrypt the role list 2218: Generate by signing the hash with the sender's private key Sender’s signature 2220: Obtain the public key 2222: Encrypt the data encryption key 2223: Send the message to the transportation document control center 2224: Distribute the data and encryption key 2226: Check the distribution successfully 2228: Will have an error code Post event to the message agent 2232: Post an event with a success code that can go to the message agent on the client side 2234: End 2300: Read the detailed process of the role list / A procedure for reading a transport document 2302: Check Property verification 2304: Obtain the encrypted role list and the encrypted data encryption key 2310: Check the relevance of the role list 2312: Access the key storage area 2314: Decrypt the data encryption key 2316: Return an error response code 2318: Decrypt the role list 2320: Return a successful response code 2322: End box 2402: Check attribute verification 2404: Check if there is an existing role list from the access policy repository 2406: Transport role check 2408: Check if it can be transported Document level and transport document field level define access principles 2410: Access right check 2412: Generate unique transportation document identification code that can be unique throughout the system 2414: Generate data encryption key 2416: Encrypt data attributes 2418: Generate a hash about one of the attributes of the encrypted data and access the key storage area to sign the hash with the sender's private key to generate the sender's signature 2420: Obtain the public key 2422: Encrypt the data encryption key 2424: Package a message with encrypted data attributes, encrypted data encryption key, hash, and sender's signature 2426: send the message to the transportation document control center 2428: make each user node make a successful notification Responding to check whether the distribution is successful 2430: Receive one of the encrypted transport files, encrypted DEK, hash, and sender's signature. Event 2432: Post a successful event notification to the sender 2436: Check integrity 2438: Decrypt the encrypted data encryption key 2440: Decrypt the transportation document 2442: The client application can receive the transportation in plain text File 2448: End block 2502: Start block 2504: Check attributes 2506: Check an existing transport document 2508: Find existing role list 2510: Role check 2512: Whether to define access policy 2514: Access right check 2516: Merge existing transport document attributes Encrypted data with the attributes of the submitted data (if available) 2518: Increase the version number of the transport document by one 2520: Generate a data encryption key 2522: New data attributes in the submitted transport document 2524: Add the submitted transport document Data attribute encryption 2526: Generate a hash about any newly encrypted data attribute (data field) and access the key storage area to generate the sender's signature by signing the hash with the sender's private key 2528: Get the role The public key of the parties in the list 2530: Encrypt the updated data encryption key 2532: Pack the message with the attributes of the encrypted data, the encrypted data encryption key, the hash, and the sender’s signature 2534: Put the message The encrypted transport document, the encrypted data encryption key, the hash and the sender's signature key are distributed to the appropriate blockchain ledger 2536: Whether the execution successfully distributes the encrypted transport document, the encrypted data encryption key, hash and send One of the signature checks of the user 2538: An event with an encrypted transport document, an encrypted data encryption key and the sender’s signature is released to the intended recipient 2540: Integrity check 2542: The data encryption key is decrypted 2544 : Decrypt the transportation document 2546: Receive the transportation document in plain text 2548: Return the error response code to the recipient 2550: Execute the success code with the sender's success code when a success code is sent to the sender's message agent a publishing events 2554: the error code has to send one message to one of the events published by the sender of the agency 2556: end box 2600: an exemplary program for reading a transport documents 2602: start box 2604: a comparison The transaction reference database checks the version number of the transport document 2606: Attribute verification 2608: Obtain the encrypted transport document and the encrypted data encryption key 2610: Check the correlation 2612: Access the key storage area 2614: Retrieve the data encryption key 2616 : Error 2618: Decrypt the encrypted transport document 2620: Return a successful response code to the client application 2622: End 2700: Reservation configuration 2702: Reservation version number 2800: Partial reservation view 2900: Possible activity 2902: Registered use User/User 2904: Third Party 2906: Document Control Hub 2908: User Node 2910: Third Party Node 3002: Document Control Hub 3004a: Transportation Document Database 3004b: Access Policy Repository 3004c: Public Key Repository 3004d: Identity Repository 3004n: Database 3006a: Recipient Library Encryption 3006b: Recipient Library Encryption 3006n: Recipient Library Encryption 3010 : Authentication function/authentication function hosted by the document control center 3020: Secure communication link 3022: User 3024: User-controlled data package/Data package 3026: Data encryption key/Encrypted data encryption key/Decrypted data encryption Key 3028: User Private Key 3060: Third Party 3062: Third Party Controlled Data Package/Third Party Data Package/Data Package 3064: Separate Secure Communication Link 3102: Loan Application 3104: App Verification 3106: Compliance Inspection 3108: Payment 3110: Approved and issued loan 3112: Transport incident 3114: Transport document 3116: Invoicing 3118: Forwarder experiences its own forwarder activities 3120: Bank experiences its own banking activities 3200: Account 3202: On behalf of Carrier 3204: Secure Communication 3206: Bank 3208: Carrier 3210: System 3212: Terminal 3300: Project 3302: Forwarder 3304: Loan Application 3308: Carrier 3310: System 3312: Terminal 3314: Document 3400: Sample Invoice 3500: Example payment 3600: Method 3605: Step 3610: Step 3615: Step 3620: Step 3700: Computer 3705: Processor 3710: Volatile memory 3715: Communication interface 3720: Non-volatile memory 3725: User interface 3730: Communication Bus 3735: Operating System 3740: Application 3745: Data 3750: Graphical User Interface 3755: Input/Output Device

為容易地識別對任何特定元件或動作之論述,一元件符號中之一或若干最高有效數位係指其中首次引入彼元件之圖編號。In order to easily identify the discussion of any particular element or action, one or more of the most significant digits in an element symbol refers to the figure number in which the element is first introduced.

圖1圖解說明一通信系統。Figure 1 illustrates a communication system.

圖2圖解說明根據一實施例之一實例性運輸路線200。Figure 2 illustrates an example transportation route 200 according to one embodiment.

圖3圖解說明根據一實施例之一金鑰保存庫程序300。FIG. 3 illustrates a key repository program 300 according to an embodiment.

圖4圖解說明根據一實施例之一不對稱金鑰位置400。Figure 4 illustrates an asymmetric key position 400 according to an embodiment.

圖5圖解說明根據一實施例之一鑑認程序500。Figure 5 illustrates an authentication process 500 according to an embodiment.

圖6圖解說明根據一實施例之一API介面600。FIG. 6 illustrates an API interface 600 according to an embodiment.

圖7圖解說明根據一實施例之一API管理程序700。Figure 7 illustrates an API management program 700 according to an embodiment.

圖8圖解說明根據一實施例之一運輸文件資料分佈800。Figure 8 illustrates a shipping document distribution 800 according to one embodiment.

圖9圖解說明根據一實施例之一運輸文件創建模型900。Figure 9 illustrates a shipping document creation model 900 according to one embodiment.

圖10圖解說明根據一實施例之一樣本預訂清單1000。Figure 10 illustrates a sample booking list 1000 according to an embodiment.

圖11圖解說明根據一實施例之一擷取運輸文件1100。FIG. 11 illustrates the retrieval of a transport document 1100 according to one embodiment.

圖12圖解說明根據一實施例之一創建運輸文件1200。Figure 12 illustrates the creation of a shipping file 1200 according to one of the embodiments.

圖13圖解說明根據一項實施例之一實例性系統1300。Figure 13 illustrates an example system 1300 according to one embodiment.

圖14圖解說明根據一項實施例之一實例性存取原則1400。Figure 14 illustrates an example access principle 1400 according to an embodiment.

圖15根據一項實施例圖解說明產生金鑰且使彼等金鑰和一使用者之所指派角色與存取原則1500匹配。FIG. 15 illustrates generating keys and matching the assigned roles of their keys and a user with the access policy 1500 according to an embodiment.

圖16圖解說明根據一項實施例之用於基於角色與存取控制原則1600而將資料屬性加密之一程序。FIG. 16 illustrates a process for encrypting data attributes based on role and access control principles 1600 according to an embodiment.

圖17圖解說明根據一項實施例之一組件關係實例1700。Figure 17 illustrates a component relationship example 1700 according to an embodiment.

圖18圖解說明根據一項實施例之一實例性角色清單與存取控制原則1800。FIG. 18 illustrates an example role list and access control principle 1800 according to an embodiment.

圖19圖解說明根據一項實施例之一實例性運輸文件與存取控制原則1900。Figure 19 illustrates an example transport document and access control principle 1900 according to one embodiment.

圖20圖解說明根據一項實施例之一實例性運輸文件原則2000。Figure 20 illustrates an example transport document principle 2000 according to one embodiment.

圖21圖解說明根據一項實施例之一系統佈局(邏輯) 2100。Figure 21 illustrates a system layout (logic) 2100 according to one embodiment.

圖22圖解說明根據一項實施例之一角色清單提交詳細流程2200。FIG. 22 illustrates a detailed process 2200 for submitting a role list according to an embodiment.

圖23圖解說明根據一項實施例之一角色清單讀取詳細流程2300。FIG. 23 illustrates a detailed flow 2300 of reading a role list according to an embodiment.

圖24圖解說明根據一項實施例之一運輸文件創建2400。Figure 24 illustrates a shipping document creation 2400 according to one embodiment.

圖25圖解說明根據一項實施例之一運輸文件更新2500。Figure 25 illustrates a shipping file update 2500 according to one embodiment.

圖26圖解說明根據一項實施例之一運輸文件讀取2600。Figure 26 illustrates a transport document reading 2600 according to one embodiment.

圖27圖解說明根據一實施例之一預訂配置2700。Figure 27 illustrates a subscription configuration 2700 according to an embodiment.

圖28圖解說明根據一實施例之一局部預訂視圖2800。Figure 28 illustrates a partial subscription view 2800 according to an embodiment.

圖29圖解說明根據一實施例之關於一第三方非使用者之一可能活動2900。Figure 29 illustrates a possible activity 2900 regarding a third party non-user according to an embodiment.

圖30圖解說明根據一實施例之一使用者將資訊自系統提供至一第三方。Figure 30 illustrates that a user provides information from the system to a third party according to an embodiment.

圖31圖解說明根據一實施例之一可能貸款申請程序。Figure 31 illustrates a possible loan application procedure according to an embodiment.

圖32圖解說明根據一實施例之用以支援建立一貸款帳戶之文件化交換。Figure 32 illustrates a documented exchange to support the creation of a loan account according to an embodiment.

圖33圖解說明根據一實施例之用以支援申請融資之文件化交換。Figure 33 illustrates a documented exchange to support financing applications according to an embodiment.

圖34圖解說明根據一實施例之一實例性發票。Figure 34 illustrates an example invoice according to an embodiment.

圖35圖解說明根據一實施例之一實例性支付選項。Figure 35 illustrates an example payment option according to an embodiment.

圖36係根據一實施例之與不同用戶端終端機安全地共用來自多個源之資料之一方法之一流程圖。FIG. 36 is a flowchart of a method for safely sharing data from multiple sources with different client terminals according to an embodiment.

圖37係一計算裝置之實施例之一方塊圖。Figure 37 is a block diagram of an embodiment of a computing device.

102:托運人 102: Shipper

104:代運人 104: Carrier

106:承運人 106: Carrier

108:碼頭 108: Pier

110:海關 110: Customs

112:港務局 112: Port Authority

114:收貨人 114: consignee

116:金融機構 116: financial institutions

Claims (47)

一種用於產生一運輸文件之系統,該系統包括:一運輸文件控制中樞,該運輸文件控制中樞包括: 一電腦,其包括一第一邏輯、一第一記憶體,及一第一通信裝置; 一訊息代理者,該訊息代理者能夠發送及接收一事件訊息; 一存取原則儲存庫,該存取原則儲存庫被儲存於該第一記憶體上: 一公開金鑰儲存庫,其被儲存於該第一記憶體上; 一ID儲存庫,該ID儲存庫包括一或多個使用者、一或多個使用者登入認證及一或多個使用者參數之一清單; 一運輸文件資料庫;及 一區塊鏈資料庫,用於儲存以下各項中之一或多者:該存取原則儲存庫、該公開金鑰儲存庫、該ID儲存庫,及該運輸文件資料庫; 一第一使用者節點,其包括: 一使用者電腦,該使用者電腦包括一第二邏輯、一第二記憶體,及一第二通信裝置; 一金鑰儲存區,該金鑰儲存區包括一使用者之一登入ID秘密及一私密金鑰,該金鑰儲存區可由該第二邏輯存取; 一API介面,其包括用於與該金鑰儲存區進行電子通信之一密碼存取層,及一使用者訊息代理者;及 一入口網站,其供該使用者存取該運輸文件控制中樞; 其中該API介面係在該第二邏輯上執行,且與該運輸文件控制中樞訊息代理者通信。A system for generating a transportation document, the system comprising: a transportation document control center, the transportation document control center including: A computer including a first logic, a first memory, and a first communication device; A message agent, the message agent can send and receive an event message; An access policy repository, the access policy repository is stored on the first memory: A public key repository, which is stored on the first memory; An ID repository, the ID repository including one or more users, one or more user login credentials, and a list of one or more user parameters; 1. Transport document database; and A blockchain database for storing one or more of the following: the access policy repository, the public key repository, the ID repository, and the transportation document database; A first user node, which includes: A user computer including a second logic, a second memory, and a second communication device; A key storage area, the key storage area includes a user login ID secret and a private key, the key storage area can be accessed by the second logic; An API interface, which includes a cryptographic access layer for electronic communication with the key storage area, and a user message broker; and A portal for the user to access the transportation document control center; The API interface is executed on the second logic and communicates with the information agent of the transportation document control center. 如請求項1之系統,其中該存取原則儲存庫進一步包括: 用於每一角色清單類型之一角色清單原則; 用於每一共用運輸文件類型之一共用運輸文件原則; 一全域使用者清單;及 一動態存取原則清單,其中每一動態存取原則係一組共用運輸文件特定的,該動態存取原則定義每一使用者之存取權。Such as the system of claim 1, wherein the access policy repository further includes: One role list principle for each role list type; The principle of one common transportation document for each common transportation document type; A list of global users; and A list of dynamic access policies, where each dynamic access policy is specific to a set of shared transportation documents, and the dynamic access policy defines the access rights of each user. 如請求項1之系統,其中該區塊鏈資料庫係儲存於一分散式分類帳上。Such as the system of claim 1, in which the blockchain database is stored on a distributed ledger. 如請求項1之系統,其中該區塊鏈資料庫係儲存於一超級分類帳上。Such as the system of claim 1, wherein the blockchain database is stored in a super ledger. 如請求項1之系統,其中該入口網站係以下各項中之一或多者:一網路入口網站、一使用者應用程式,及一伺服器應用程式。Such as the system of claim 1, where the portal is one or more of the following: a web portal, a user application, and a server application. 如請求項1之系統,其中該系統進一步包括複數個使用者節點。Such as the system of claim 1, wherein the system further includes a plurality of user nodes. 如請求項1之系統,進一步包括一第三方節點,其中該第三方節點係與該運輸文件控制中樞中之一驗證功能進行通信。For example, the system of claim 1 further includes a third-party node, wherein the third-party node communicates with a verification function of the transportation document control center. 一種供在產生一共用運輸文件交易時使用之使用者節點,該使用者節點包括: 一電腦,該電腦包括用於執行程式指令之一邏輯、一記憶體裝置、一使用者介面,及用於存取一運輸文件控制中樞之一通信裝置; 一訊息代理者,該訊息代理者能夠發送及接收一事件訊息; 一應用程式設計介面(API),其進一步包括一密碼存取層,該API協調該共用運輸文件交易與該運輸文件控制中樞之對應性;及 一區塊鏈資料庫,其係儲存於該記憶體裝置上,該區塊鏈資料庫包括與該共用運輸文件交易中之一使用者角色有關之資訊。A user node used when generating a shared transportation document transaction, the user node includes: A computer including a logic for executing program instructions, a memory device, a user interface, and a communication device for accessing a transportation document control center; A message agent, the message agent can send and receive an event message; An application programming interface (API), which further includes a password access layer, the API coordinates the correspondence between the shared transportation document transaction and the transportation document control center; and A block chain database is stored on the memory device, and the block chain database includes information related to a user role in the shared transportation document transaction. 如請求項8之使用者節點,其中該記憶體裝置維持一分散式分類帳。Such as the user node of request 8, where the memory device maintains a distributed ledger. 如請求項8之使用者節點,其中該記憶體裝置維持一超級分類帳。Such as the user node of request 8, where the memory device maintains a super ledger. 如請求項8之使用者節點,其中該訊息代理者經組態以將一訊息發送至一第三方非使用者,其中該訊息包括來自該運輸文件控制中樞之經加密資料,該經加密資料係限定於該使用者節點之一使用者能夠根據一存取控制原則及一使用者角色清單來存取的資料。Such as the user node of request 8, where the message broker is configured to send a message to a third-party non-user, where the message includes encrypted data from the transportation document control center, and the encrypted data is Limited to the data that a user of the user node can access according to an access control policy and a user role list. 一種用於在一共用運輸文件之分佈中協調一第一使用者節點與一第二使用者節點之間之通信的運輸文件控制中樞,該共用運輸文件包括複數個資料屬性及一數位簽章,該運輸文件控制中樞包括: 一電腦,該電腦包括用於執行程式指令之一邏輯、一記憶體裝置,及用於存取該第一使用者節點之一通信裝置; 一通信路由控制器,該通信路由控制器包括一路由邏輯以將自該第一使用者節點接收之一共用運輸文件路由至該第二使用者節點,其中該第二使用者節點係根據由該第一使用者節點提供之一接收方清單而選自一可接受使用者節點清單; 一分散式分類帳,其係儲存於該記憶體上,其中該分散式分類帳包括用於儲存一經加密共用運輸文件、一經加密資料加密金鑰、該經加密共用運輸文件之一雜湊及該數位簽章之一區塊鏈資料庫。A transportation document control center for coordinating the communication between a first user node and a second user node in the distribution of a shared transportation document, the shared transportation document including a plurality of data attributes and a digital signature, The transportation document control center includes: A computer including a logic for executing program instructions, a memory device, and a communication device for accessing the first user node; A communication routing controller, the communication routing controller includes a routing logic to route a shared transport document received from the first user node to the second user node, wherein the second user node is based on the The first user node provides a list of recipients selected from a list of acceptable user nodes; A distributed ledger, which is stored on the memory, wherein the distributed ledger includes an encrypted shared transport document, an encrypted data encryption key, a hash of the encrypted shared transport document, and the digital One of the signatures is a blockchain database. 如請求項12之運輸文件控制中樞,其中該分散式分類帳維持一超級分類帳。For example, the transportation document control center of claim 12, wherein the distributed ledger maintains a super ledger. 如請求項12之運輸文件控制中樞,其中該電腦進一步包括一第二記憶體裝置,該第二記憶體裝置儲存脫鏈資料。For example, the transportation document control center of claim 12, wherein the computer further includes a second memory device, and the second memory device stores off-link data. 一種產生用於一貨物運輸之一共用運輸文件之方法,該方法包括: 經由一第一用戶端節點產生一共用運輸文件,該共用運輸文件係由一應用程式設計介面(API)加密; 經由一通信裝置,將該經加密共用運輸文件提交給一運輸文件控制中樞; 經由一存取控制邏輯來識別一或多個使用者,每一使用者根據一存取控制原則具有至少一個所指派角色;及 經由該運輸文件控制中樞,將該經加密共用運輸文件轉發給該一或多個使用者,其中該一或多個使用者能夠基於如該存取控制原則中所提供之該一或多個使用者之所指派角色來履行該經加密運輸文件之一角色。A method for generating a common transportation document for a cargo transportation, the method includes: A shared transportation document is generated through a first client node, and the shared transportation document is encrypted by an application programming interface (API); Submit the encrypted shared transportation document to a transportation document control center via a communication device; Identify one or more users through an access control logic, and each user has at least one assigned role according to an access control principle; and Through the transportation document control center, forward the encrypted shared transportation document to the one or more users, wherein the one or more users can use the one or more users as provided in the access control principle The assigned role of the person to perform one of the roles of the encrypted transport file. 如請求項15之方法,其中該共用運輸文件進一步包括一角色清單。Such as the method of claim 15, wherein the shared transportation document further includes a role list. 如請求項16之方法,其中該角色清單進一步包括一運輸角色清單。Such as the method of claim 16, wherein the role list further includes a transportation role list. 如請求項15之方法,進一步包括: 經由該第一用戶端節點獲得一資料封裝。Such as the method of claim 15, further including: Obtain a data package through the first client node. 如請求項18之方法,其中將該資料封裝分佈至一第三方非使用者。Such as the method of claim 18, wherein the data is packaged and distributed to a third-party non-user. 如請求項19之方法,其中該第三方非使用者與該運輸文件控制中樞中之一驗證功能通信以驗證該資料封裝之一完整性。Such as the method of claim 19, wherein the third-party non-user communicates with a verification function of the transportation document control center to verify the integrity of a data package. 一種用於識別對一共用運輸文件之使用者存取權之方法,該方法包括; 經由一通信裝置接收一共用運輸文件,該共用運輸文件具有一發起者使用者、一角色清單,及一識別碼; 經由一處理器來識別該共用運輸文件之該發起者使用者; 經由一處理器來判定該所識別發起者使用者之角色,該角色係由一全域使用者清單確立; 經由一處理器,對照全域成員清單來驗證該共用運輸文件之該角色清單; 經由一處理器,將該共用運輸文件之至少一個資料屬性加密;及 經由一通信裝置,將該經加密資料屬性分佈至該角色清單上之至少一個經驗證使用者。A method for identifying a user's access right to a shared transportation document, the method comprising; Receiving a shared transport document via a communication device, the shared transport document having an initiator user, a role list, and an identification code; Identifying the originator user of the shared transport document via a processor; Determine the role of the identified initiator user via a processor, and the role is established by a global user list; Through a processor, verify the role list of the shared transportation document against the global member list; Encrypt at least one data attribute of the shared transport document through a processor; and Distribute the encrypted data attribute to at least one authenticated user on the role list via a communication device. 一種在多個使用者當中安全地儲存共用資料之方法,該方法包括: 將一電子文件中之複數個資料欄位加密,其中每一資料欄位與每一其他資料欄位係分開地加密; 針對每一經加密資料欄位,將該加密金鑰加密以針對每一資料欄位產生一經加密加密金鑰; 將該等經加密加密金鑰及該經加密資料分佈至複數個資料儲存裝置; 其中每一使用者可藉由針對指派給該使用者之該經加密資料欄位將該經加密加密金鑰解密來存取該經加密資料。A method for safely storing shared data among multiple users. The method includes: Encrypt a plurality of data fields in an electronic document, where each data field is encrypted separately from each other data field; For each encrypted data field, encrypt the encryption key to generate an encrypted encryption key for each data field; Distribute the encrypted encryption keys and the encrypted data to a plurality of data storage devices; Each user can access the encrypted data by decrypting the encrypted encryption key for the encrypted data field assigned to the user. 如請求項22之方法,其中該方法進一步包括: 基於一角色原則清單、一使用者清單及一運輸文件控制清單來識別對一資料欄位之一使用者存取。Such as the method of claim 22, wherein the method further includes: A user access to a data field is identified based on a role policy list, a user list, and a transportation document control list. 一種與不同用戶端終端機安全地共用來自多個源之資料之方法,其包括: 由具有一或多個處理器之至少一個伺服器建立用於定義一單個交易之一電子文件,該電子文件具有複數個資料欄位,該複數個資料欄位中之每一者將係與複數個用戶端終端機中之一者相關聯; 由該至少一個伺服器識別用以將被包含於該電子文件中之該對應複數個資料欄位加密的複數個加密金鑰; 由該至少一個伺服器根據一存取控制原則來跨越該複數個用戶端終端機分佈該複數個加密金鑰,該存取控制原則基於該複數個用戶端終端機中之一對應用戶端終端機在該單個交易中之一角色來規定該對應用戶端終端機對該複數個資料欄位中之每一者的存取權限;及 由該至少一個伺服器,經由根據該存取控制原則分佈之該複數個加密金鑰,向該複數個用戶端終端機中之每一者提供對該電子文件中之該複數個資料欄位中之至少一者的存取。A method for safely sharing data from multiple sources with different client terminals, which includes: Created by at least one server with one or more processors to define an electronic document for a single transaction, the electronic document has a plurality of data fields, and each of the plurality of data fields will be the same as the plural Is associated with one of the client terminals; A plurality of encryption keys used to encrypt the corresponding plurality of data fields contained in the electronic document identified by the at least one server; The at least one server distributes the plurality of encryption keys across the plurality of client terminals according to an access control principle, and the access control principle is based on one of the plurality of client terminals corresponding to the client terminal A role in the single transaction defines the access authority of the corresponding client terminal to each of the plurality of data fields; and The at least one server provides the plurality of data fields in the electronic document to each of the plurality of client terminals via the plurality of encryption keys distributed according to the access control principle Access to at least one of them. 如請求項24之方法,其中建立該電子文件進一步包括: 自該複數個用戶端終端機中之一第一用戶端終端機接收更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性之一請求; 根據該存取控制原則,基於該第一用戶端終端機在該單個交易中之一角色來判定該第一用戶端終端機具有修改該第一資料欄位的權限;及 回應於判定該第一用戶端終端機具有該權限而准許該用戶端終端機更新該電子文件中之該第一資料欄位之該屬性。Such as the method of claim 24, wherein the establishment of the electronic file further includes: Receiving a request to update one of the attributes of one of the first data fields in the electronic document from one of the first user terminals in the plurality of user terminals; According to the access control principle, it is determined that the first client terminal has the authority to modify the first data field based on a role of the first client terminal in the single transaction; and In response to determining that the first client terminal has the authority, the client terminal is permitted to update the attribute of the first data field in the electronic document. 如請求項24之方法,進一步包括: 由該至少一個伺服器回應於自該複數個用戶端終端機中之一第一用戶端終端機接收到更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性之一請求而自該單個交易中之一角色清單識別該第一用戶端終端機之一角色; 由該至少一個伺服器,根據該存取控制原則,基於該第一用戶端終端機之該所識別角色來判定該第一用戶端終端機缺乏修改該第一資料欄位之權限;及 由該至少一個伺服器回應於判定該第一用戶端終端機缺乏該權限而阻止由該第一用戶端終端機更新該電子文件中之該資料欄位之該屬性。Such as the method of claim 24, further including: The at least one server responds to the update of one of the first data fields in the plurality of data fields in the electronic document in response to the first client terminal receiving from one of the plurality of client terminals A request for one attribute and one role of the first client terminal are identified from a role list in the single transaction; The at least one server determines that the first client terminal lacks the authority to modify the first data field based on the recognized role of the first client terminal according to the access control principle; and The at least one server responds to determining that the first client terminal lacks the authority and prevents the first client terminal from updating the attribute of the data field in the electronic document. 如請求項24之方法,其中識別該複數個加密金鑰進一步包括針對該對應複數個用戶端終端機識別複數個私密加密金鑰及複數個公開加密金鑰;且 其中分佈該複數個加密金鑰進一步包括: 將該複數個私密加密金鑰中之一私密加密金鑰提供至該複數個用戶端終端機中之一對應用戶端終端機;及 根據該存取控制原則,將該複數個公開加密金鑰中之一公開加密金鑰提供至該複數個用戶端終端機中之至少一者,該電子文件中之該複數個資料欄位中之至少一者可由該複數個用戶端終端機中之至少兩者使用該私密加密金鑰及該公開加密金鑰中之至少一者來存取。For example, the method of claim 24, wherein identifying the plurality of encryption keys further includes identifying a plurality of private encryption keys and a plurality of public encryption keys for the corresponding plurality of client terminals; and The distribution of the plurality of encryption keys further includes: Providing one of the plurality of private encryption keys to a corresponding one of the plurality of client terminals; and According to the access control principle, one of the plurality of public encryption keys is provided to at least one of the plurality of client terminals, and one of the plurality of data fields in the electronic document At least one can be accessed by at least two of the plurality of client terminals using at least one of the private encryption key and the public encryption key. 如請求項24之方法,進一步包括: 由該至少一個伺服器根據該存取控制原則,基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機;及 由該至少一個伺服器回應於識別該第一用戶端終端機及該第二用戶端終端機而使用該第二用戶端終端機之一公開加密金鑰將該第一用戶端終端機之一第一加密金鑰加密; 其中分佈該複數個加密金鑰進一步包括將藉助該第二用戶端終端機之該公開加密金鑰加密之該第一用戶端終端機的該第一加密金鑰提供至該第二用戶端終端機。Such as the method of claim 24, further including: According to the access control principle, the at least one server recognizes the plurality of client terminals based on a first role of a first client terminal and a second role of a second client terminal The first client terminal and the second client terminal; and In response to identifying the first client terminal and the second client terminal, the at least one server uses one of the public encryption keys of the second client terminal to make the first client terminal a first An encryption key encryption; Wherein distributing the plurality of encryption keys further includes providing the first encryption key of the first user terminal encrypted with the public encryption key of the second user terminal to the second user terminal . 如請求項24之方法,進一步包括: 由該至少一個伺服器識別自該電子文件之該複數個資料欄位中之對應複數個屬性導出之複數個雜湊值,該複數個雜湊值中之每一雜湊值用以確保該複數個屬性中之一者的資料完整性;及 由該至少一個伺服器針對該複數個用戶端終端機中之一第一用戶端終端機,使用該複數個雜湊值中之一第一雜湊值及該複數個加密金鑰中之一第一加密金鑰產生一第一簽章,該第一雜湊值係自該複數個屬性中之一第一屬性導出,其中該第一加密金鑰係針對該複數個資料欄位中對應於該第一屬性之一第一資料欄位,該第一簽章用以確保該第一屬性及該第一資料欄位之資料完整性。Such as the method of claim 24, further including: The at least one server identifies the plurality of hash values derived from the corresponding plurality of attributes in the plurality of data fields of the electronic file, and each of the plurality of hash values is used to ensure that the plurality of attributes are Data integrity of one of them; and The at least one server uses one of the plurality of hash values and one of the plurality of encryption keys for the first encryption for one of the plurality of client terminals. The key generates a first signature, the first hash value is derived from one of the first attributes of the plurality of attributes, and the first encryption key is for the plurality of data fields corresponding to the first attribute A first data field. The first signature is used to ensure the data integrity of the first attribute and the first data field. 如請求項24之方法,進一步包括: 由該至少一個伺服器根據該存取控制原則,基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機; 其中提供存取進一步包括經由自該資料欄位之一屬性導出之一雜湊值及該第一用戶端終端機之一簽章,向該第二用戶端終端機提供對該第一用戶端終端機之該複數個資料欄位中之一資料欄位的存取,該第二用戶端終端機用以使用該雜湊值及該簽章來獲得該第一用戶端終端機之該複數個加密金鑰中之一加密金鑰。Such as the method of claim 24, further including: According to the access control principle, the at least one server recognizes the plurality of client terminals based on a first role of a first client terminal and a second role of a second client terminal A first client terminal and the second client terminal; Wherein providing access further includes a hash value derived from an attribute of the data field and a signature of the first client terminal, providing the second client terminal to the first client terminal Access to one of the plurality of data fields, the second client terminal is used to use the hash value and the signature to obtain the plurality of encryption keys of the first client terminal One of the encryption keys. 如請求項24之方法,進一步包括: 由該至少一個伺服器判定該複數個加密金鑰跨越該複數個用戶端終端機之一分佈是否成功;及 由該至少一個伺服器基於該複數個加密金鑰之該分佈是否成功之一判定來將一事件通知提供至該複數個用戶端終端機中之至少一者。Such as the method of claim 24, further including: The at least one server determines whether the distribution of the plurality of encryption keys across one of the plurality of client terminals is successful; and The at least one server provides an event notification to at least one of the plurality of client terminals based on a determination of whether the distribution of the plurality of encryption keys is successful. 如請求項24之方法,其中識別該複數個加密金鑰進一步包括自該複數個用戶端終端機中之每一用戶端終端機聚合該複數個加密金鑰之一對應加密金鑰,該對應加密金鑰係由該用戶端終端機產生以將該複數個資料欄位中之一資料欄位加密。For example, the method of claim 24, wherein identifying the plurality of encryption keys further includes aggregating one of the plurality of encryption keys from each of the plurality of client terminals to correspond to the encryption key, and the corresponding encryption The key is generated by the client terminal to encrypt one of the data fields. 如請求項24之方法,其中建立該電子文件進一步包括在一運輸文件控制中樞之一資料庫上建立該電子文件以在該複數個用戶端終端機當中協調通信,該電子文件之該複數個資料欄位對應於該資料庫上之對應複數個資料庫項目。For example, the method of claim 24, wherein creating the electronic document further includes creating the electronic document on a database of a transportation document control center to coordinate communication among the plurality of client terminals, the plurality of data of the electronic document The fields correspond to the corresponding plural database items on the database. 如請求項24之方法,其中該單個交易涉及一實體商品且包含該實體商品之一系列子交易,該複數個資料欄位中之每一者係映射至該等子交易中之一者。Such as the method of claim 24, wherein the single transaction involves a physical commodity and includes a series of sub-transactions of the physical commodity, and each of the plurality of data fields is mapped to one of the sub-transactions. 如請求項24之方法,其中由至少一個服務提供者處置該實體商品之該等子交易中之每一者。Such as the method of claim 24, wherein at least one service provider handles each of the sub-transactions of the physical commodity. 一種用於與不同用戶端終端機安全地共用來自多個源之資料之系統,其包括: 至少一個伺服器,其具有經組態以進行以下操作之一或多個處理器: 建立用於定義一單個交易之一電子文件,該電子文件具有複數個資料欄位,該複數個資料欄位中之每一者將係與複數個用戶端終端機中之一者相關聯; 識別用以將包含於該電子文件中之該對應複數個資料欄位加密之複數個加密金鑰; 根據一存取控制原則,跨越該複數個用戶端終端機分佈該複數個加密金鑰,該存取控制原則基於該複數個用戶端終端機中之一對應用戶端終端機在該單個交易中之一角色而規定該對應用戶端終端機對該複數個資料欄位中之每一者之存取權限;及 經由根據該存取控制原則分佈之該複數個加密金鑰,向該複數個用戶端終端機中之每一者提供對該電子文件中之該複數個資料欄位中之至少一者之存取。A system for safely sharing data from multiple sources with different client terminals, which includes: At least one server with a processor configured to perform one or more of the following operations: Create an electronic document used to define a single transaction, the electronic document has a plurality of data fields, each of the plurality of data fields will be associated with one of a plurality of client terminals; Identify a plurality of encryption keys used to encrypt the corresponding plurality of data fields contained in the electronic document; According to an access control principle, the plurality of encryption keys are distributed across the plurality of client terminals. The access control principle is based on one of the plurality of client terminals corresponding to the client terminal in the single transaction. A role that defines the corresponding client terminal's access authority to each of the plurality of data fields; and Provide each of the plurality of client terminals with access to at least one of the plurality of data fields in the electronic file through the plurality of encryption keys distributed according to the access control principle . 如請求項36之系統,其中該至少一個伺服器進一步經組態以: 自該複數個用戶端終端機中之一第一用戶端終端機接收更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性之一請求; 根據該存取控制原則,基於該第一用戶端終端機在該單個交易中之一角色來判定該第一用戶端終端機具有修改該第一資料欄位之權限;且 回應於判定該第一用戶端終端機具有該權限而准許該用戶端終端機更新該電子文件中之該第一資料欄位之該屬性。Such as the system of claim 36, wherein the at least one server is further configured to: Receiving a request to update one of the attributes of one of the first data fields in the electronic document from one of the first user terminals in the plurality of user terminals; According to the access control principle, it is determined that the first client terminal has the authority to modify the first data field based on a role of the first client terminal in the single transaction; and In response to determining that the first client terminal has the authority, the client terminal is permitted to update the attribute of the first data field in the electronic document. 如請求項36之系統,其中該至少一個伺服器進一步經組態以: 回應於自該複數個用戶端終端機中之一第一用戶端終端機接收到更新該電子文件中之該複數個該等資料欄位中之一第一資料欄位之一屬性之一請求而自該單個交易中之一角色清單識別該第一用戶端終端機之一角色; 根據該存取控制原則,基於該第一用戶端終端機之該所識別角色來判定該第一用戶端終端機缺乏修改該第一資料欄位之權限;且 回應於判定該第一用戶端終端機缺乏該權限而阻止由該第一用戶端終端機更新該電子文件中之該資料欄位之該屬性。Such as the system of claim 36, wherein the at least one server is further configured to: In response to a request from one of the plurality of client terminals to the first client terminal to update one of the attributes of one of the first data fields in the electronic document, and Identify a role of the first client terminal from a list of roles in the single transaction; According to the access control principle, it is determined that the first client terminal lacks the authority to modify the first data field based on the recognized role of the first client terminal; and In response to determining that the first client terminal lacks the authority, the first client terminal is prevented from updating the attribute of the data field in the electronic document. 如請求項36之系統,其中該至少一個伺服器進一步經組態以: 針對該對應複數個用戶端終端機,識別複數個私密加密金鑰及複數個公開加密金鑰; 將該複數個私密加密金鑰中之一私密加密金鑰提供至該複數個用戶端終端機中之一對應用戶端終端機;且 根據該存取控制原則,將該複數個公開加密金鑰中之一公開加密金鑰提供至該複數個用戶端終端機中之至少一者,該電子文件中之該複數個資料欄位中之至少一者可由該複數個用戶端終端機中之至少兩者使用該等私密加密金鑰及該等公開加密金鑰中之至少一者來存取。Such as the system of claim 36, wherein the at least one server is further configured to: For the corresponding plurality of client terminals, identify a plurality of private encryption keys and a plurality of public encryption keys; Providing one of the plurality of private encryption keys to a corresponding one of the plurality of client terminals; and According to the access control principle, one of the plurality of public encryption keys is provided to at least one of the plurality of client terminals, and one of the plurality of data fields in the electronic document At least one can be accessed by at least two of the plurality of client terminals using at least one of the private encryption keys and the public encryption keys. 如請求項36之系統,其中該至少一個伺服器進一步經組態以: 根據該存取控制原則,基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機;且 回應於識別該第一用戶端終端機及該第二用戶端終端機而使用該第二用戶端終端機之一公開加密金鑰將該第一用戶端終端機之一第一加密金鑰加密; 將藉助該第二用戶端終端機之該公開加密金鑰加密之該第一用戶端終端機之該第一加密金鑰提供至該第二用戶端終端機。Such as the system of claim 36, wherein the at least one server is further configured to: According to the access control principle, the first client terminal is identified from the plurality of client terminals based on a first role of a first client terminal and a second role of a second client terminal And the second client terminal; and In response to identifying the first client terminal and the second client terminal, encrypting the first encryption key of one of the first client terminals using one of the public encryption keys of the second client terminal; The first encryption key of the first client terminal encrypted with the public encryption key of the second client terminal is provided to the second client terminal. 如請求項36之系統,其中該至少一個伺服器進一步經組態以: 識別自該電子文件之該複數個資料欄位中之對應複數個屬性導出之複數個雜湊值,該複數個雜湊值中之每一雜湊值用以確保該複數個屬性中之一者的資料完整性;且 針對該複數個用戶端終端機中之一第一用戶端終端機,使用該複數個雜湊值中之一第一雜湊值及該複數個加密金鑰中之一第一加密金鑰來產生一第一簽章,該第一雜湊值係自該複數個屬性中之一第一屬性導出,其中該第一加密金鑰係針對該複數個資料欄位中對應於該第一屬性之一第一資料欄位,該第一簽章用以確保該第一屬性及該第一資料欄位之資料完整性。Such as the system of claim 36, wherein the at least one server is further configured to: Identify the multiple hash values derived from the corresponding multiple attributes in the multiple data fields of the electronic document, and each of the multiple hash values is used to ensure that the data of one of the multiple attributes is complete Sex; and For a first client terminal of the plurality of client terminals, a first hash value of the plurality of hash values and a first encryption key of the plurality of encryption keys are used to generate a first encryption key. A signature, the first hash value is derived from one of the first attributes of the plurality of attributes, wherein the first encryption key is for the first data corresponding to the first attribute in the plurality of data fields Field, the first signature is used to ensure the data integrity of the first attribute and the first data field. 如請求項36之系統,其中該至少一個伺服器進一步經組態以: 根據該存取控制原則,基於一第一用戶端終端機之一第一角色及一第二用戶端終端機之一第二角色而自該複數個用戶端終端機識別該第一用戶端終端機及該第二用戶端終端機; 經由自該資料欄位之一屬性導出之一雜湊值及該第一用戶端終端機之一簽章,向該第二用戶端終端機提供對該第一用戶端終端機之該複數個資料欄位中之一資料欄位之存取,該第二用戶端終端機用以使用該雜湊值及該簽章獲得該第一用戶端終端機之該複數個加密金鑰中之一加密金鑰。Such as the system of claim 36, wherein the at least one server is further configured to: According to the access control principle, the first client terminal is identified from the plurality of client terminals based on a first role of a first client terminal and a second role of a second client terminal And the second client terminal; Provide the plurality of data fields of the first client terminal to the second client terminal through a hash value derived from an attribute of the data field and a signature of the first client terminal For accessing one of the data fields in the bit, the second client terminal is used to use the hash value and the signature to obtain one of the encryption keys of the first client terminal. 如請求項36之系統,其中該至少一個伺服器進一步經組態以 判定該複數個加密金鑰跨越該複數個用戶端終端機之一分佈是否成功;且 基於該複數個加密金鑰之該分佈是否成功之一判定而將一事件通知提供至該複數個用戶端終端機中之至少一者。Such as the system of claim 36, wherein the at least one server is further configured to Determine whether the plurality of encryption keys are successfully distributed across one of the plurality of client terminals; and Based on a determination of whether the distribution of the plurality of encryption keys is successful, an event notification is provided to at least one of the plurality of client terminals. 如請求項36之系統,其中該至少一個伺服器進一步經組態以自該複數個用戶端終端機中之每一用戶端終端機聚合該複數個加密金鑰之一對應加密金鑰,該對應加密金鑰係由該用戶端終端機產生以將該複數個資料欄位中之一資料欄位加密。For example, the system of claim 36, wherein the at least one server is further configured to aggregate one of the plurality of encryption keys from each of the plurality of client terminals corresponding to the encryption key, and the corresponding The encryption key is generated by the client terminal to encrypt one of the data fields. 如請求項36之系統,其中該至少一個伺服器進一步經組態以在一運輸文件控制中樞之一資料庫上建立該電子文件以在該複數個用戶端終端機當中協調通信,該電子文件之該複數個資料欄位對應於該資料庫上之對應複數個資料庫項目。For example, the system of claim 36, wherein the at least one server is further configured to create the electronic document on a database of a transportation document control center to coordinate communication among the plurality of client terminals, and the electronic document The plurality of data fields correspond to the corresponding plurality of database items on the database. 如請求項36之系統,其中該單個交易涉及一實體商品且包含該實體商品之一系列子交易,該複數個資料欄位中之每一者係映射至該等子交易中之一者。For example, the system of claim 36, wherein the single transaction involves a physical commodity and includes a series of sub-transactions of the physical commodity, and each of the plurality of data fields is mapped to one of the sub-transactions. 如請求項36之系統,其中該實體商品之該等子交易中之每一者係由至少一個服務提供者處置。Such as the system of claim 36, wherein each of the sub-transactions of the physical commodity is handled by at least one service provider.
TW109106120A 2019-02-25 2020-02-25 Zero trust communication system for freight shipping organizations, and methods of use TWI753367B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962919097P 2019-02-25 2019-02-25
US62/919,097 2019-02-25
US201916501399A 2019-04-06 2019-04-06
US16/501,399 2019-04-06

Publications (2)

Publication Number Publication Date
TW202040568A true TW202040568A (en) 2020-11-01
TWI753367B TWI753367B (en) 2022-01-21

Family

ID=72238598

Family Applications (2)

Application Number Title Priority Date Filing Date
TW110149442A TWI829061B (en) 2019-02-25 2020-02-25 Zero trust communication system for freight shipping organizations, and methods of use
TW109106120A TWI753367B (en) 2019-02-25 2020-02-25 Zero trust communication system for freight shipping organizations, and methods of use

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW110149442A TWI829061B (en) 2019-02-25 2020-02-25 Zero trust communication system for freight shipping organizations, and methods of use

Country Status (5)

Country Link
EP (1) EP3931723A4 (en)
CN (1) CN114008611A (en)
SG (1) SG11202109273QA (en)
TW (2) TWI829061B (en)
WO (1) WO2020176475A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI825997B (en) * 2022-09-16 2023-12-11 瑞昱半導體股份有限公司 Programmable secure management device and control method for performing key forwarding between secure devices

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131316B (en) * 2020-11-20 2021-02-12 腾讯科技(深圳)有限公司 Data processing method and device applied to block chain system
CN112291071B (en) * 2020-12-24 2021-04-06 飞天诚信科技股份有限公司 Password management method and system suitable for zero trust network

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100501754C (en) * 1995-02-13 2009-06-17 英特特拉斯特技术公司 Systems and methods for secure transaction management and electronic rights protection
US20020059144A1 (en) * 2000-04-28 2002-05-16 Meffert Gregory J. Secured content delivery system and method
US20040103147A1 (en) * 2001-11-13 2004-05-27 Flesher Kevin E. System for enabling collaboration and protecting sensitive data
US7908474B2 (en) * 2006-09-22 2011-03-15 International Business Machines Corporation Method for improved key management for ATMs and other remote devices
US20090043690A1 (en) * 2007-08-06 2009-02-12 Maclellan Paul System and method for validating indirect financing transactions
US8626618B2 (en) * 2007-11-14 2014-01-07 Panjiva, Inc. Using non-public shipper records to facilitate rating an entity based on public records of supply transactions
US8689352B2 (en) * 2008-12-18 2014-04-01 Sap Ag Distributed access control for document centric collaborations
TW201040857A (en) * 2009-05-13 2010-11-16 Alibaba Group Holding Ltd Real-time settlement method of proceeds fund of logistics company and its system
US8601276B2 (en) * 2011-07-27 2013-12-03 Hewlett-Packard Development Company, L.P. Managing access to a secure content-part of a PPCD following introduction of the PPCD into a workflow
CN104376445B (en) * 2013-10-22 2017-11-03 惠龙易通国际物流股份有限公司 Transportation system is dispensed based on event driven transaction on exchange cargo consolidation
EP3380984A4 (en) * 2015-11-24 2019-07-31 Ben-Ari, Adi A system and method for blockchain smart contract data privacy
US10445698B2 (en) * 2016-06-30 2019-10-15 Clause, Inc. System and method for forming, storing, managing, and executing contracts
GB201611948D0 (en) * 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
JP7076819B2 (en) * 2016-09-15 2022-05-30 ナッツ・ホールディングス、エルエルシー Move and store encrypted user data
US20180130034A1 (en) * 2016-11-07 2018-05-10 LedgerDomain, LLC Extended blockchains for event tracking and management
US20180276777A1 (en) * 2017-03-23 2018-09-27 Tina Brillinger Intelligence based method and platform for aggregating, storing and accessing food safety courses, content and records
US11238543B2 (en) * 2017-05-06 2022-02-01 Adp, Llc Payroll based blockchain identity
US11900306B2 (en) * 2017-07-05 2024-02-13 United Parcel Service Of America, Inc. Verifiable parcel distributed ledger shipping and tracking system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI825997B (en) * 2022-09-16 2023-12-11 瑞昱半導體股份有限公司 Programmable secure management device and control method for performing key forwarding between secure devices

Also Published As

Publication number Publication date
EP3931723A1 (en) 2022-01-05
TWI829061B (en) 2024-01-11
CN114008611A (en) 2022-02-01
SG11202109273QA (en) 2021-09-29
TW202215362A (en) 2022-04-16
EP3931723A4 (en) 2022-11-09
TWI753367B (en) 2022-01-21
WO2020176475A1 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
US11868998B2 (en) System and method for tracking of provenance and flows of goods, services, and payments in responsible supply chains
US11693979B2 (en) Dynamic permission assignment and enforcement for transport process
US11328347B2 (en) Rental asset processing for blockchain
US11205178B2 (en) Converting processes into multiple blockchain smart contracts
CN101415001B (en) Composite application using security annotations
US20190394179A1 (en) Unlinking ownership of successive asset transfers on a blockchain
TWI829061B (en) Zero trust communication system for freight shipping organizations, and methods of use
WO2019010067A1 (en) Blockchain proof of custody, proof against tampering, proof of chain of custody
WO2020228576A1 (en) Information processing method and device
US11863659B2 (en) Shipping platform
WO2022017413A1 (en) Sustainable tokens for supply chain with privacy preserving protocol
Kumar et al. Blockchain technology: an insight into architecture, use cases, and its application with industrial IoT and big data
US11361088B2 (en) Zero trust communication system for freight shipping organizations, and methods of use
Jabbar et al. Permeability, interoperability, and velocity: Entangled dimensions of infrastructural grind at the intersection of blockchain and shipping
JP2008506209A (en) Systems and methods for risk assessment and management in various systems and subsystems
JP2008506209A6 (en) Systems and methods for risk assessment and management in various systems and subsystems
US20210117919A1 (en) Last-mile deliver coordination
US11763011B2 (en) Zero trust communication system for freight shipping organizations, and methods of use
Gupta et al. A blockchain‐enabled solution to improve intra‐inter organizational innovation processes in software small medium enterprises
Jain Improving the process of container shipping using blockchain
Karunamurthy et al. Blockchain management in supply chain management-A comprehensive review
Imeri Using the blockchain technology for trust improvement of processes in Logistics and Transportation
Karkeraa Unlocking Blockchain on Azure
Aghili The Auditor’s Guide to Blockchain Technology: Architecture, Use Cases, Security and Assurance
US20230401525A1 (en) Systems and methods for invoice adjustment in supply chains