TWI688914B - 分散式交易處理與認證系統 - Google Patents

分散式交易處理與認證系統 Download PDF

Info

Publication number
TWI688914B
TWI688914B TW106123058A TW106123058A TWI688914B TW I688914 B TWI688914 B TW I688914B TW 106123058 A TW106123058 A TW 106123058A TW 106123058 A TW106123058 A TW 106123058A TW I688914 B TWI688914 B TW I688914B
Authority
TW
Taiwan
Prior art keywords
hash
server
transaction
data
tereon
Prior art date
Application number
TW106123058A
Other languages
English (en)
Other versions
TW201812674A (zh
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 TW201812674A publication Critical patent/TW201812674A/zh
Application granted granted Critical
Publication of TWI688914B publication Critical patent/TWI688914B/zh

Links

Images

Classifications

    • 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
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

一種記錄一資料交易之方法係包括在一和一第一實體相關的裝置之處決定第一種子資料、產生一在該第一實體與一第二實體之間的第一交易的一記錄、藉由組合至少該第一種子資料以及該第一資料交易的該記錄以決定第二種子資料、藉由雜湊該第二種子資料以產生一第一雜湊,該第一雜湊係包括涉及該第一實體的資料交易的一歷史、以及對照該第一資料交易的該記錄以將該第一雜湊儲存在一記憶體中。

Description

分散式交易處理與認證系統
本揭露內容係有關於在規模上於單一實施中,安全且接近即時地執行所有類型的交易之系統及方法。
交易處理係牽涉到廣範圍的分散式電腦為主的系統、以及多個實行特別是相關於付款的交易的交易者,但是亦有關於在其它的金融資產及設備中的交易、實體存取的控制、對於資料的邏輯存取、管理及監視構成物聯網(IoT)的裝置…等等。
現今當產生交易處理系統時,工程師必須做出困難的取捨。這些取捨係包含在速度與彈性、處理量與一致性、安全性與效能、一致性與可擴充性…等等之間做選擇。不變的是,此種取捨係導致影響到整體系統的折衷妥協。付款處理系統係顯現這些取捨的影響。它們可能會需要一秒鐘處理介於600到幾萬筆之間的交易,但是它們只能夠藉由部分處理該些交易並且儲存細節,以用於在該系統的工作負荷中的一間歇期間的進一步處理來完成該處理。此經常會導致有關核對遺失的記錄、重複交易、曝露到其中帳戶已經在一交易的時間到處理該交易的時間之間變成透支的信用問題…等等的問題。然而,該些問題並不限於付款。
ACID(原子性、一致性、隔離性、以及持久性)是一種用於資料庫的一致性模型,其係陳述每一個資料庫交易都必須成功讓整個交易被回滾(原子性)、不會讓該資料庫處於不一致的狀態(一致性)、不會彼此干擾(隔離性);以及必須持久,即使當該伺服器重新啟動時也是如此(持久性)。
此模型一般被認為是不與例如是現有的銀行支付網路及其它'大數據'交易的系統之大型的系統的可利用性及效能要求相容的。這些系統反而是依賴BASE一致性(基本業務可用性、柔性狀態、以及最終一致性)。此模型係認為該資料庫最終達到一鼓的狀態是足夠的。銀行系統係以此模式運作,這是為何它們經常需要暫停任何的交易處理,並且執行核對檢查以達到一致的狀態。必須在大量交易處理中做出取捨的此概念係被銘記在該CAP定理中,在其基本的形式中係陳述對於一分散式電腦系統而言,同時提供(C)一致性、(A)可用性、以及(P)分區容忍性容限的所有三個是不可能的。目前最佳的實施解決方案係包含過多的限制及取捨,來滿足新興及現有的需求。
如何核對藉由物聯網所產生的資料的議題正開始受到更多的注意,其係為工程師相信當建構該些網路及交易處理系統時其所必須做出的取捨的影響所造成的一議題。該些影響中之一已經是在一起構成物聯網的裝置與伺服器之間的通訊缺少安全性。另一影響是無法保證藉由一裝置所收集的資料實際上係有關於藉由該裝置所偵測到的一特定的事件。
雲端為基礎的資訊儲存系統亦呈現這些取捨的影響,此經常導致大量的伺服器及系統只能夠保證最終的一致性。
因此,有需要提供ACID一致性給在已知的系統中只能夠受 益於BASE一致性的大型的系統。
根據一特點,其係提供有一種記錄一資料交易之方法,該方法係包括,在一和一第一實體相關的裝置之處決定第一種子資料、產生一在該第一實體與一第二實體之間的第一資料交易的一記錄、藉由組合至少該第一種子資料以及該第一資料交易的該記錄以決定第二種子資料、藉由雜湊該第二種子資料以產生一第一雜湊,該第一雜湊係包括涉及該第一實體的資料交易的一歷史、以及對照該第一資料交易的該記錄以將該第一雜湊儲存在一記憶體中。根據另一特點,其係提供有和一第一實體相關的裝置,該裝置係被配置以執行該方法。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該方法。
根據另一特點,其係提供有一許可(licence)裝置,該許可裝置係被配置以從一和一第一實體相關的裝置接收一第一雜湊,該第一雜湊係包括涉及該第一實體的資料交易的一歷史、結合該第一雜湊以及一許可雜湊以提供一許可輸入、藉由雜湊該許可輸入以產生一第二許可雜湊、以及將該第二許可雜湊儲存在一記憶體中。
根據另一特點,其係提供有一目錄裝置,該目錄裝置係被配置以從一和一第一實體相關的裝置接收一第一雜湊,該第一雜湊係包括涉及該第一實體的資料交易的一歷史、結合該第一雜湊以及一目錄雜湊以提供一目錄輸入、藉由雜湊該許可輸入以產生一第二目錄雜湊,以及將該第二目錄雜湊儲存在一記憶體中。
根據另一特點,其係提供有一種從一裝置存取一第一服務之方法,該方法係包括提供該裝置的一識別符(identifier)至一請求伺服器、根據該識別符來授權該裝置以請求對於該第一服務的存取、從該第一服務所位在之處的一第一主機伺服器致能該裝置以存取該第一服務,該存取係經由該請求伺服器。根據另一特點,其係提供有一種被配置以執行該方法之裝置。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該方法。
根據另一特點,其係提供有一種遷移資料之方法,該方法係包括提供一請求以從一第一資料儲存切換第一資料至一第二資料儲存、根據一內含在該請求中的識別符以從一目錄伺服器決定該第一資料儲存的一識別符、從該第一資料儲存遷移該第一資料至該第二資料儲存。根據另一特點,其係提供有一種被配置以執行該方法之裝置。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該方法。
根據另一特點,其係提供有一種通訊之方法,該方法係包括從一第一實體傳送一第一通訊至一第二實體,該第一通訊係包括兩個或多個資料欄位,每一個欄位係包括一個別的標籤、並且從該第一實體傳送一第二通訊至該第二實體,該第二通訊係包括該兩個或多個資料欄位,其中在該第二通訊中的該些欄位的順序係不同於在該第一通訊中的該些欄位的順序。根據另一特點,其係提供有一種被配置以執行該方法之裝置。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該方法。
根據另一特點,其係提供有一種經由非結構性輔助服務數據"USSD"來通訊之方法,該方法係包括開啟在一第一裝置與一第二裝置之間的一USSD對話、在該第一裝置產生用於在該對話中的一通訊的一加密文字、在該第一裝置編碼該加密文字、從該第一裝置發送該經編碼的加密文字至該第二裝置以用於在該第二裝置的解密。根據另一特點,其係提供有一種被配置以執行該方法之裝置。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該方法。
根據另一特點,其係提供有一種在一和一第一實體相關的第一裝置與一和一第二實體相關的第二裝置之間通訊之方法,該方法係包括在該第一裝置利用一第一共用的秘密以產生在該第一裝置與該第二裝置之間的一第一PAKE對話、從該第二裝置接收一註冊密鑰以及一第二共用的秘密、雜湊該第一共用的秘密、該註冊密鑰以及該第二共用的秘密以提供一用於產生一第二PAKE對話的第三共用的秘密。根據另一特點,其係提供有一種被配置以執行該方法之裝置。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該方法。
根據另一特點,其係提供有一種存取一服務之方法,該方法係包括提供一憑證(credential)以及一用於該憑證的背景(context)、根據該憑證以及該背景以認證對於該服務的存取。根據另一特點,其係提供有一種被配置以執行該方法之裝置。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該 方法。
根據另一特點,其係提供有一種在一電腦系統中的模組之間通訊之方法,該方法係包括從一第一模組傳送一共用的記憶體通道至一代理、從該代理傳送該共用的記憶體通道至一第二模組,其中該代理係包括一交遞(hand-off)模組,其係被配置以藉由旁路(bypassing)該電腦系統的核心來在該第一模組與該第二模組之間發送資料、從該第一模組發送資料至該第二模組。根據另一特點,其係提供有一種被配置以執行該方法之計算裝置。根據另一特點,其係提供有一種包括碼部分之電腦可讀取的媒體,當該些碼部分被執行時,其係使得一計算裝置執行該方法。
該第一種子資料可包括一開始的雜湊。該開始的雜湊可以是雜湊一涉及該第一實體的先前的資料交易的一記錄的結果。該開始的雜湊可包括一隨機雜湊。該隨機雜湊可包括來自該裝置的一簽章(signature)、該隨機雜湊之前被產生的日期及/或時間中的至少一個。
提供第二種子資料可以進一步包括組合一第一零知識證明(zero-knowledge proof)以及一第二零知識證明與該第一種子資料以及該第一資料交易的該記錄,其中該第一零知識證明可以包括該開始的雜湊可包含涉及該第一實體的該先前的資料交易的真實雜湊之證明,並且該第二零知識證明可以包括一第二雜湊可包含一涉及該第二實體的先前的資料交易的真實雜湊之證明。提供第二種子資料可以進一步包括組合一第三零知識證明與該第一種子資料、該第一資料交易的該記錄、該第一零知識證明以及該第二零知識證明。該第三零知識證明可以從隨機資料來加以產生。該第三零知識證明可以是該第一零知識證明或是該第二零知識證明的一重複。 該第三零知識證明可以利用該第一資料交易的一對應於該第二零知識證明的第二記錄來加以建構。
該第一資料交易可包括至少兩個階段,並且提供第二種子資料可包括組合該第一零知識證明與該第一資料交易的該第一階段的一記錄,並且組合該第二零知識證明與該第一資料交易的該第二階段的一記錄。提供第二種子資料可包括從該第一資料交易的該第二階段的該記錄來建構一第三零知識證明、以及組合該第二零知識證明以及該第三零知識證明與該第一資料交易的該第二階段的該記錄。該第一資料交易可包括至少三個階段,並且提供第二種子資料可以進一步包括組合該第一零知識證明與該第一資料交易的該第三階段的一記錄、以及組合該第二零知識證明與該第一資料交易的該第三階段的該記錄。
該第一資料交易可包括至少三個階段,並且提供第二種子資料可以進一步包括組合該第一零知識證明與該第一資料交易的該第三階段的一記錄、以及組合該第二零知識證明與隨機資料。該第一資料交易可包括至少三個階段,並且提供第二種子資料可以進一步包括組合該第一零知識證明與該第一資料交易的該第三階段的一記錄、以及組合該第二零知識證明與該第一資料交易的一第四階段的一記錄,其中該第一資料交易的該第四階段可以是該第一資料交易的該第三階段的一重複。
該第一資料交易可包括至少三個階段,並且提供第二種子資料可以進一步包括組合一第三零知識證明與該第一資料交易的該第三階段的一記錄。
該第一零知識證明可以藉由和該第一實體相關的該裝置來 加以建構,並且該第二零知識證明可以藉由一和該第二實體相關的裝置來加以建構。
建構該第一零知識證明以及該第二零知識證明可包括利用一密鑰交換演算法。該密鑰交換演算法可包括一PAKE演算法。
該方法可以進一步包括傳送該第一雜湊至一和該第二實體相關的裝置、從一和該第二實體相關的裝置接收一第二雜湊,其中該第二雜湊可包括一涉及該第二實體的先前的資料交易的一雜湊、以及產生一在該第一方與該第二方之間的第二資料交易的一記錄、藉由組合該第二資料交易的該記錄與該第一雜湊以及該第二雜湊來決定第三種子資料、藉由雜湊該第三種子資料來產生一第三雜湊,該第三雜湊係包括涉及該第一實體的資料交易的一歷史以及涉及該第二實體的資料交易的一歷史、以及對照該第二資料交易的該記錄以將該第三雜湊儲存在該記憶體中。
提供第三種子資料可以進一步包括組合一第三零知識證明以及一第四零知識證明與該第二資料交易的該記錄、該第一雜湊以及該第二雜湊,其中該第三零知識證明可以包括該第一雜湊可包含該第一資料交易的一真實雜湊的證明,並且該第四零知識證明可以包括該第二雜湊可包含涉及該第二實體的該先前的資料交易的該真實雜湊的證明。涉及該第二實體的該先前的資料交易可以是該第一資料交易。
該方法可以進一步包括關聯該些雜湊的每一個與該第一實體及/或該第二實體的一識別符。該方法可以進一步包括重新計算該第一雜湊、以及比較該產生的第一雜湊與該重新計算出的第二雜湊以決定一匹配。該方法可以進一步包括若該比較可能是不成功的,則取消進一步的資 料交易。該方法可以進一步包括在一系統裝置產生一對應於該第一資料交易的系統雜湊。
提供第二種子資料可以進一步包括組合該系統雜湊與該第一種子資料以及該第一資料交易的該記錄。該系統雜湊可以是在該系統裝置上雜湊一先前的資料交易的一記錄的結果。
提供第二種子資料可以進一步包括從一許可裝置接收一許可雜湊、以及組合該許可雜湊與該第一種子資料以及該第一資料交易的該記錄以提供該第二種子資料。
該方法可以進一步包括在該許可裝置接收該第一雜湊、組合該第一雜湊與該許可雜湊以提供一許可輸入、藉由雜湊該許可輸入以產生一第二許可雜湊。
提供第二種子資料可以進一步包括從一目錄裝置接收一目錄雜湊、以及組合該目錄雜湊與該第一種子資料以及該第一資料交易的該記錄以提供該第二種子資料。
該方法可以進一步包括在該目錄伺服器接收該第一雜湊、組合該第一雜湊與該目錄雜湊以提供一目錄輸入、藉由雜湊該目錄輸入來產生一第二目錄雜湊。
提供第二種子資料可以進一步包括從一用於該第一資料交易的加密密鑰產生一密鑰雜湊、以及組合該密鑰雜湊與該第一種子資料以及該第一資料交易的該記錄以提供該第二種子資料。該加密密鑰可包括一公開密鑰或是一私有密鑰。
一旦該第一資料交易可以是完成的,組合該第一種子資料與 該第一資料交易的該記錄可加以執行。該記憶體可以是位在一遠端的裝置上。該方法可以進一步包括在該遠端的裝置比較該第一雜湊與從其它裝置接收到的對應的雜湊。該方法可以進一步包括通知該裝置可以連接到的其它裝置以期待接收該第一雜湊。
該方法可以進一步包括將一鏈的雜湊儲存在該記憶體中。該方法可以進一步包括傳送該鏈的雜湊至一第二記憶體,該第二記憶體係位在一被配置以限制對於已經被傳送的該些雜湊鏈的存取之裝置上。該方法可以進一步包括藉由在該雜湊鏈中重新產生一對象雜湊來修改或是刪除在該雜湊鏈中的一雜湊、確認該記錄尚未被修改、記錄該重新產生的雜湊、修改或是刪除該記錄、藉由雜湊該對象雜湊以及該被修改/被刪除的記錄的一組合來產生一用於該記錄的新的雜湊、以及記錄該新的雜湊。該方法可以進一步包括利用該新的雜湊來產生一系統雜湊。
該裝置可包括一伺服器。該裝置可包括一使用者裝置。該裝置可包括一個人電腦、一智慧型手機、一智慧型平板電腦、或是一致能物聯網"IoT"的裝置中的至少一個。該使用者裝置可被配置以將該第一雜湊儲存在該裝置上的一記憶體中。該使用者裝置可被配置以只有在其可以從一對應的伺服器離線時,將該第一雜湊儲存在該裝置上的一記憶體中。該裝置可以進一步被配置以傳送該第一雜湊至一和該第二實體相關的裝置。該裝置可以進一步被配置以傳送該第一資料交易的該記錄的一經簽章的加密的複製至和該第二實體相關的該裝置,其中該簽章可包括一針對於該記錄的目的地伺服器的一指示。該裝置可被配置以利用一特定的離線的公開密鑰來簽章該記錄。該裝置可被配置以利用一屬於該裝置的密鑰來簽章該記 錄。只有該目的地伺服器可以是能夠解密該第一資料交易的該記錄的該加密的複製。該裝置可被配置以在該裝置重新獲得和其對應的伺服器的連線時,傳送其離線的資料交易的該些加密的記錄以及該些相關的雜湊至其對應的伺服器。該裝置可以進一步被配置以傳送其所保存的涉及其它實體的資料交易的記錄的複製至其對應的伺服器,以用於發送至對應於該些其它實體的伺服器。該發送可包括通知該些記錄適用的所有的伺服器以預期接收該些記錄。該裝置可被配置以產生一唯一的內部的交易號碼,以識別其在該第一資料交易中的部分。
該授權可包括根據該識別符來確認該使用者裝置可被授權以存取該第一服務。該確認可包括根據該識別符來確認該使用者符合至少一標準。一第一標準可被儲存在該第一主機伺服器或是該請求伺服器,並且一第二標準可以是位在一不同的伺服器。該授權可包括驗證在該請求伺服器與該第一主機伺服器之間的一通訊上的一簽章。
該授權可以在該請求伺服器之處加以執行。該授權可包括在該請求伺服器判斷該裝置是否先前被授權以存取該第一服務。
該授權可以在一目錄伺服器之處加以執行。該授權可包括該請求伺服器從該目錄伺服器請求對於該裝置的授權。該致能可包括該目錄伺服器傳送一用於該第一主機伺服器的識別符至該請求伺服器。授權該識別符的資料可以只被儲存在該目錄伺服器上。
該方法可以進一步包括請求對於一第二服務的存取、根據該識別符來授權該裝置以存取該第二服務、經由該請求伺服器來致能該裝置對於該第二服務的存取。該第二服務可以是位在該第一主機伺服器。該第 二服務可以是位在一第二主機伺服器。
授權該裝置以存取該第一服務可以在一第一目錄伺服器之處加以執行,並且授權該使用者裝置以存取該第二服務可以在一第二目錄伺服器之處加以執行。
該方法可以進一步包括請求對於一第三服務的存取、根據該識別符來授權該裝置以存取該第三服務、致能該裝置對於該第三服務的存取。
該第二服務可以是位在該第一主機伺服器、該第二主機伺服器或是一第三主機伺服器。授權該裝置以存取該第三服務可以在一第三目錄伺服器之處加以執行。
提供一識別符可包括該裝置經由一加密的通道來和該請求伺服器通訊。該方法可以進一步包括快取(caching)在每一個別的伺服器接收到的資料。每一個主機伺服器可以提供超過一服務。
該裝置可包括一個人電腦、一智慧型手機、一智慧型平板電腦、或是一致能物聯網"IoT"的裝置中的至少一個。
該遷移可包括,在該目錄伺服器指定一開始時間戳記(timestamp)給在該第二資料儲存的該資料、以及指定一結束時間戳記給在該第一資料儲存的該資料。
該方法可以進一步包括指示一嘗試以在該結束時間戳記之後經由該第一資料儲存來存取該資料的請求伺服器,以經由該目錄伺服器來在該第二資料儲存查找該使用者。在該第一資料儲存的該資料可包括一第一帳戶註冊與一第一帳戶提供者,並且在該第二資料儲存的該資料可包 括一第二帳戶註冊與一新的帳戶提供者。該遷移可包括從該目前的帳戶提供者傳送有關該第一帳戶註冊的資訊至該新的帳戶提供者。該資訊可包括註冊、餘額、組態設定及/或付款指令中的至少一個。該遷移可包括確認一認證碼,其係指出該第一註冊應該從該目前的帳戶提供者被切換至該新的帳戶提供者。該第一帳戶註冊可包括一第一使用者憑證,並且該第二帳戶註冊可包括一第二使用者憑證。該第一使用者憑證可被註冊在一第一伺服器,並且該第二使用者憑證可被註冊在一第二伺服器。該方法可以進一步包括藉由該第一帳戶提供者接收一針對於一利用該第一使用者憑證的使用者的通訊、將該通訊指定路由至利用該第二使用者憑證的該第二帳戶提供者。該方法可以進一步包括撤銷由利用該第一憑證的該第一註冊提供者所做成的至利用該第二使用者憑證的該第二註冊提供者的一資料交易。該方法可以進一步包括判斷在該資料交易的時間使用該第一使用者憑證的該使用者。一傳送該通訊的伺服器可以需要被許可以存取該第二使用者憑證。該第一使用者憑證以及該第二使用者憑證可以是相同的。
該裝置可包括一個人電腦、一智慧型手機、一智慧型平板電腦、或是一致能物聯網"IoT"的裝置中的至少一個。
該方法可以進一步包括將一隨機欄位加到該第二通訊。每一個欄位可包括兩個或多個字元,該方法進一步包括在至少一欄位中混合大小寫的字元。
該方法可以進一步包括在處理該第二通訊之前,藉由該第二實體解密及排序在該第二通訊中的該些欄位。該方法可以進一步包括藉由該第二實體拋棄其無法處理的欄位。該第一實體以及該第二實體中的至少 一個可包括一伺服器。該第一實體以及該第二實體中的至少一個可包括一個人電腦、一智慧型手機、一智慧型平板電腦、或是一致能物聯網"IoT"的裝置。該裝置可包括一個人電腦、一智慧型手機、一智慧型平板電腦、或是一致能物聯網"IoT"的裝置中的至少一個。
該編碼可包括編碼該加密文字為一7位元或是8位元的字元串。該方法可以進一步包括,若該加密文字的長度係長於在該USSD對話中所容許的空間,則切割該加密文字成為兩個或多個部分,並且個別地發送該兩個或多個部分。該解密可以進一步包括在該第二裝置之處重組該些部分成為該完整的加密文字。
該方法可以進一步包括認證該第一及第二裝置。該認證可包括利用一在兩個通訊的電腦應用程式之間提供隱私性及資料完整性的演算法。該認證可包括利用傳輸層安全性"TLS"。利用TLS可以進一步包括產生一第一對話密鑰。
該方法可以進一步包括利用該第一對話密鑰來加密一PAKE協定的協商以產生一第二對話密鑰、以及利用該第二對話密鑰來加密在該第一方與該第二方之間的該對話中的進一步的通訊。
該方法可以進一步包括認證該第一實體以及該第二實體。該認證可包括利用一在兩個通訊的電腦應用程式之間提供隱私性及資料完整性的演算法。該認證可包括利用TLS。該方法可以進一步包括利用一第四共用的秘密來產生在該第一裝置與一第三裝置之間的一第二PAKE對話。該第四共用的秘密可包括一藉由該第三裝置針對於該第一裝置所產生的認證碼。
該第一共用的秘密可包括一藉由該第二裝置針對於該第一裝置所產生的認證碼。該認證碼可以和一用於該第一裝置的識別符一起被傳送至該第一裝置。該識別符可包括該第一裝置的一電話號碼或是序號。該第一共用的秘密可包括一和該第一實體相關的銀行卡的一個人帳戶號碼"PAN"。該第一共用的秘密可包括一和該第一實體相關的銀行卡的一編碼的序號。
該裝置可包括一個人電腦、一智慧型手機、一智慧型平板電腦、或是一致能物聯網"IoT"的裝置中的至少一個。
對於該服務的存取的該認證可包括根據該憑證及/或該背景來認證對於服務的部分的存取。該憑證可包括和一裝置以及該裝置的一主要的使用者相關的一第一憑證。該憑證可以進一步包括和一裝置以及該裝置的一次要的使用者相關的一第二憑證。根據該憑證的對於該服務的存取的該認證可包括分別根據該第一憑證以及該第二憑證來針對於該主要的使用者以及該次要的使用者認證對於不同的服務的存取。該裝置可包括一銀行卡,並且該些不同的服務是針對於該主要的使用者以及該次要的使用者的不同的花費限制。該憑證可以根據該背景來加以選擇。該服務可包括複數個根據該背景所選的服務。一管理者或是使用者可以能夠修改、擴充、或是取消該背景或是憑證。該憑證可包括一密碼、PIN、及/或其它直接的認證憑證中的至少一個。該背景可包括一提供該憑證的裝置、一在該裝置上的應用程式、該裝置可以連接到的一網路、該裝置的地理位置、及/或正被存取的該服務中的至少一個。
該裝置可包括一個人電腦、一智慧型手機、一智慧型平板電 腦、或是一致能物聯網"IoT"的裝置中的至少一個。
該方法可以進一步包括分批複數個請求成為一在該第一模組的一緩衝記憶體中的批次的訊息、排隊該批次的訊息以被傳送至該第二模組、設定至少一授權一系統功能的系統旗標、在該第二模組檢查該至少一系統旗標、以及在該第二模組處理該批次的訊息。
該方法可以進一步包括在該第一模組與該第二模組之間建立至少一共用的記憶體通道。該方法可以進一步包括該第二模組經由該至少一共用的記憶體通道來回應於該第一模組。該至少一共用的記憶體通道可以接收與集合該批次的訊息,並且交付該記憶體的所有權至該第二模組。該至少一共用的記憶體通道可以經由該電腦系統的一網路堆疊來接收批次的訊息。該至少一共用的記憶體通道可包括一HTTP閘道。該HTTP閘道可被使用作為一網路服務。
通訊可以使用一種密碼認證密鑰交換協定。該方法可以進一步包括在該電腦系統的一網路堆疊中利用零複製的網路連結。該方法可以進一步包括在該電腦系統的一網路堆疊中利用使用者模式的網路連結。
該方法可以進一步包括串列化資料,使得來自該第一模組的該資料傳送的構件係被組合為單一資料串流,並且接著在該第二模組被分開成為該些構件。該串列化可以在每一個模組的邊緣之處加以抽象化。
每一個模組的一緩衝記憶體可以具有一可組態設定的緩衝臨界值。該第一模組以及該第二模組可以是位在相同的計算裝置上。該第一模組以及該第二模組可以是位在不同的計算裝置上。
從該第一模組傳送至該第二模組的該資料可以載有一版本 ID。該方法可以進一步包括驗證該版本ID可以是目前用於從該第一模組傳送至該第二模組的該資料的。該方法可以進一步包括若該資料的任一個被更新,則重新驗證該版本ID為目前的。若該版本ID未被驗證,則該資料傳送可以失效。
該第一模組以及該第二模組中的至少一個可包括至少一資料服務模組,其中在該電腦系統內的每一個資料活動都可以經由該至少一資料服務模組來加以執行。該至少一資料服務模組可被配置以和一資料儲存通訊,該資料儲存可藉由一核心資料庫儲存來加以實施。該至少一資料服務模組可以是該電腦系統的唯一具有直接的存取至該資料儲存的構件。該核心資料庫儲存可包括至少一分散式資料庫。該至少一分散式資料庫可以具有個別的讀取及寫入存取通道。該資料儲存可以提供一介面到至少一異質的資料庫。該資料儲存可以提供複數個介面類型。該複數個介面類型可包括在該核心資料資料庫儲存之上的一結構化查詢語言"SQL"介面、一單元格及表格行的介面、一文件介面、以及一圖形介面層中的至少一個。所有對於該資料儲存層的寫入都可以藉由單一共用的模組加以管理,該單一共用的模組係控制一或多個資料交易的全部或部分。
該方法可以進一步包括操作該共用的模組的至少一冗餘備份。所有的資料改變都可以用一串列快速的序列流過該單一共用的模組。該單一共用的模組可以使用一種熱備份冗餘模型,其係將自身呈現為一資料交易者叢集,其中該資料交易者叢集可以是在一階層中的一組模組,並且每一個模組可被配置以在一主控模組失效時控制資料交易。該方法可以進一步包括根據藉由領域所配置的規則而橫跨模組或是資料儲存來劃分資 料。該方法可以進一步包括雜湊一資料交易的一記錄或是一母資料交易的一記錄的目標的資料。該雜湊可以具有等於資料劃分的數量的基數(cardinality)。該方法可以進一步包括藉由列舉的地理的區域、姓氏及/或貨幣中的至少一個來雜湊目標的資料。
該方法可以進一步包括經由該至少一資料服務模組來執行橫跨多個資料劃分的至少一資料傳送。該方法可以進一步包括藉由多個模組而經由該至少一資料服務模組來完成至少一資料傳送。該方法可以進一步包括在該資料儲存中的多個資料儲存節點上持續在該至少一資料服務模組上的至少一資料傳送。
該電腦系統可包括複數個資料服務模組,並且每一個資料服務模組係管理一記憶體內的/程序中的資料庫引擎,其係包含針對於該實例的所有的該熱資料的快取的表示。該電腦系統可包括複數個資料服務模組,並且每一個資料服務模組可包括複數個異質的或是同質的資料庫引擎。
該方法可以進一步包括利用一多版本並發控制"MVCC"版本的系統以管理對於該資料儲存的存取的並發,使得所有的資料讀取是一致的,並且精確地反映對應的資料寫入。該方法可以進一步包括利用悲觀的一致性(pessimistic consistency)以管理對於該資料儲存的存取的並發,使得一資料記錄必須在任何後續的資料交易可以存取該資料記錄之前,被寫入至該資料儲存並且被確認為已經被寫入。
該電腦系統可以進一步包括一應用層,並且其中該應用層在該至少一資料服務模組確認其已經寫入該記錄並且完成該資料傳送之前,並無法進行一資料交易。
第1至第26方面之所有選配的特點都準用地有關於所有其它方面。例如,所述實施例的變化係被設想到,所有所揭露的實施例的特點都可以用任何方式來加以組合。
102‧‧‧Tereon伺服器
104‧‧‧智慧型裝置應用服務架構(SDASF)
106‧‧‧規則引擎
108‧‧‧模組
200‧‧‧Tereon系統架構
202‧‧‧Tereon服務
202a、202b、202c、202d、202e‧‧‧伺服器
204‧‧‧通訊層
206‧‧‧DNS
208‧‧‧特殊的程序
210‧‧‧Tereon許可伺服器
212‧‧‧協定(HTTP閘道實例)
214‧‧‧資料服務層(Tereon資料服務實例)
216‧‧‧目錄服務
218‧‧‧使用者(裝置)
220‧‧‧資料儲存層
222‧‧‧資料交易者叢集(主控交易者實例)
224‧‧‧核心資料庫儲存(分散式資料庫)
226‧‧‧讀取及寫入存取通道
302、304、306、308、310、312、314、316、318、320、322、324‧‧‧步驟
350‧‧‧模組
360‧‧‧模組
370‧‧‧代理
402‧‧‧步驟
402a‧‧‧伺服器
404‧‧‧步驟
404a‧‧‧網路堆疊
406‧‧‧步驟
406a‧‧‧HTTP閘道
408‧‧‧步驟
408a‧‧‧號誌交遞模組
410‧‧‧步驟
410a‧‧‧微服務
412、414、416、418、420、422‧‧‧步驟
450‧‧‧來源模組
460‧‧‧目的地模組
470‧‧‧代理
502、504、506、508‧‧‧帳戶
510、512、514、516、520、522、524、526、528、530、534‧‧‧步驟
602、602a、604、604a‧‧‧帳戶
605‧‧‧第二系統
606‧‧‧系統帳戶
606a‧‧‧帳戶
608‧‧‧步驟
608a‧‧‧系統帳戶
610、612、612a、614、616‧‧‧步驟
702、704、706‧‧‧系統伺服器
708‧‧‧許可伺服器
710、712、714、716、718、720‧‧‧步驟
802、804、806、808‧‧‧裝置
810‧‧‧伺服器
812、814、816、818、822、826、828、830、832‧‧‧步驟
902、904、906、908、910‧‧‧步驟
1002、1004、1006‧‧‧步驟
1102、1104、1106、1108、1110、1112‧‧‧步驟
1202、1204、1206、1208、1210、1212、1214、1216、1218、1220‧‧‧步驟
1502、1504、1506、1508、1510、1512、1514、1516、1518、1520、1522、1524‧‧‧步驟
1802‧‧‧構件
1804‧‧‧構件
1902、1904‧‧‧決策構件
2002‧‧‧構件
2100‧‧‧計算裝置
2102‧‧‧處理裝置
2104‧‧‧主要記憶體
2106‧‧‧靜態記憶體
2108‧‧‧網路介面裝置
2110‧‧‧視訊顯示器單元
2112‧‧‧字母與數字的輸入裝置
2114‧‧‧游標控制裝置
2116‧‧‧音訊裝置
2118‧‧‧資料儲存裝置
2122‧‧‧指令
2128‧‧‧機器可讀取的儲存媒體
2130‧‧‧匯流排
本揭露內容的實施例現在將會僅藉由舉例,參考所附的圖式來加以描述,其中相同的元件符號係被用來描繪相似的部件。在圖式中:圖1是描繪在Tereon背後的模組化的概念;圖2係描繪該Tereon系統架構的一個例子;圖2a係描繪Tereon是如何抽象化其服務及裝置成為功能領域及背景、裝置、構件、以及協定;圖3係描繪在TLS連線上透過一中間的代理所起始的通訊;圖4係描繪共用的記憶體以及通往代理記憶體的訊息的使用;圖4a係描繪一共用的記憶體以及號誌(semaphore)交遞模組;圖5係描繪一牽涉到四個帳戶的雜湊鏈;圖6係描繪一牽涉到在相同的系統上的兩個帳戶的雜湊鏈;圖6a係描繪一牽涉到在相同的系統上的三個帳戶的雜湊鏈,其中該些交易階段係交錯的;圖7係描繪許可雜湊的樹枝狀(dendritic)本質;圖8係描繪一牽涉到四個變為離線的一段時間的裝置的雜湊鏈;圖9係描繪一針對於兩個伺服器所實施的反向的查找功能;圖10係描繪在Tereon伺服器之間的通訊的建立;圖11係描繪其中一使用者已經遷移至另一伺服器的通訊; 圖12係描繪該目錄服務是如何可以導引一請求伺服器至兩個不同的伺服器;圖13係描繪其中一伺服器需要從三個伺服器獲得憑證以便於建構一多面的憑證的情形;圖14係描繪一使用者和一銀行的關係;圖15係描繪轉帳一帳戶所進行的過程;圖16係描繪改變一註冊的行動電話號碼所進行的過程;圖17係描繪一先前註冊的行動電話號碼以利用到兩種貨幣的維護;圖17a係描繪一先前註冊的行動電話號碼以利用到兩種貨幣的維護,其中每一種貨幣是在一個別的伺服器上;圖18係描繪一工作流程;圖19係描繪一替代的工作流程;圖20係描繪一替代的工作流程;以及圖21係描繪一範例的計算系統。
概觀
本揭露內容係有關於一種新穎的處理交易之方法,其確實並無考量如上所述的目前的取捨的必要性、或是受限於該些目前的取捨。此揭露內容係提供一種以一大於現有系統所可能有的速率數個數量級的速率來即時地認證及處理交易,並且即時地結算或處理及完成那些交易之方法。
該即時的結算將不只是適用於金融交易。其將會適用於任何需要、或是將會受益於立即的認證、授權、處理、以及完成中的部分或全 部的交易。這些可能範圍是從存取控制,一直到記錄驗證、記錄及文件交換、命令及控制指令…等等。
此方法係包括七個主要領域:
˙一種用於將極大規模的符合ACID的交易寫入到任意的資料庫產品之方法。
˙一種雜湊鏈的實施方式,其係在單一即時的對話的界限內之完全的數學證明以及極大規模下,橫跨多個機密總帳(ledger)來傳遞記錄的認證。
˙一目錄服務,其係支援一網狀網路的交易服務提供者,而不是實施一種產生主要的可擴充性挑戰的"軸輻式"架構。
˙一可擴充的架構,其係容許一商人或是使用者裝置能夠在空中並且逐一交易地更新所使用的應用程式(或是app),以處理交易。
˙一資料服務層,其係作用為在app之間的一轉換矩陣,其係支援各種不同的交易類型以及一共同的資料庫結構。
˙一種用於集合及提供一組特別的(ad hoc)憑證之方法,其係致能一服務或是裝置能夠存取一組服務或功能。
˙一種用於在包含NFC(近場通訊)及USSD(非結構性輔助服務數據)的任意協定中產生安全即時的通訊之方法。
在處理方法之中獨特的是,本揭露內容的系統係提供一種方法以隨著交易數量的增加而在零增加的成本下,達成即時的交易處理及完成。
詳細的說明
Tereon是一種電子交易處理及認證引擎。其可被實施為一種 行動及電子付款處理系統。其亦可被利用在其它的實施方式中,例如是作為一IoT通訊系統的部分。
Tereon係提供交易功能給任何IP(網際網路協定)致能的裝置、以及任何可以和此種IP致能的裝置互動的裝置。全部所需的是每一個裝置係具有一唯一的ID。Tereon的使用例的範圍是從IoT裝置,到醫療記錄存取及管理,乃至於利用像是和一行動電話、一付款終端、或是一ATM(自動櫃員機)一樣普通之物的付款。在一最初的範例實施方式中,Tereon係支援行動電話、卡、銷售點的終端、以及任何唯一的參考ID。Tereon係提供使得消費者及商人能夠進行付款、接收付款、轉帳資金、接收資金、進行退款、接收退款、存款資金、提領資金、檢視帳戶資料、以及檢視過去的交易的迷你對帳單所必要的功能。Tereon係支援跨貨幣以及跨境的交易。因此,一消費者可能擁有一種貨幣的一帳戶,但例如是以另一種貨幣來進行一轉帳付款。
在Tereon的最初的實施方式中,一終端使用者是否能夠實行一特定的交易係依據其在該時點利用的應用程式而定。商人或是商人終端可以開始某些交易,而一消費者裝置可以開始其它的交易。
在Tereon被利用來處理付款的情形中,該些交易可被區分成為以下的模式:進行及接收付款、行動消費者至行動商人、行動消費者至線上的商人入口、行動消費者至其中該消費者並不在的行動商人、在該帳戶入口內之消費者帳戶至商人帳戶、NFC-Tereon卡的消費者至行動商人、NFC或其它卡的消費者至卡的商人、轉帳及接收資金、在該帳戶入口內之消費者帳戶至消費者帳戶、行動消費者至行動消費者的點對點、行動 消費者至卡的消費者的點對點、卡的消費者至行動消費者的點對點、卡的消費者至卡的消費者的點對點、行動消費者至非使用者的點對點、卡的消費者至非使用者的點對點、非使用者至非使用者的點對點、非使用者至行動消費者的點對點、以及非使用者至卡的消費者的點對點。非使用者可以是指先前未註冊該付款服務的某人,例如是一匯款的一沒有銀行帳戶的接收者。
系統架構
一Tereon伺服器係在內部包括兩個主要構件,Tereon規則引擎以及智慧型裝置應用服務架構(SDASF)。
該SDASF係容許Tereon能夠管理任意數量的不同的裝置及介面。其係藉由容許Tereon能夠利用及連結一系列的抽象層以定義那些裝置及介面如何運作並且因此互聯至Tereon,而能夠如此管理之。
例如,所有的銀行卡都將會使用一基本的卡抽象層。該磁條抽象層將會適用於具有一磁條的卡、該NFC層將會適用於具有一NFC晶片的卡、以及一微處理器層將會適用於具有一晶片接點的卡。若一卡係使用所有三種,則Tereon將會利用該主要卡抽象層以及該三個介面層來定義該卡。該NFC層本身將不會只適用於卡。其亦將會適用於任何能夠支援NFC的裝置,其係包含行動電話。該SDASF係利用這些抽象層以產生用於該些裝置或介面的每一個的模組。
在外部,每一個服務以及每一個連線至一裝置或網路是一模組。因此,例如該點對點付款服務、存款服務、以及迷你對帳單的服務全都是模組。至卡製造商、銀行、服務提供者、終端、ATM…等等的介面也 全都是模組。Tereon的架構可以支援任意數量的模組。
模組化視圖
圖1是描繪在Tereon背後的模組化概念。實質上,Tereon是一集合的模組,其大多數的本身係包括模組。該些模組係藉由它們運作於其內的背景及功能領域、並且藉由決定它們需要執行的功能的商業邏輯所界定。這些功能可以是任意類型的電子交易,例如是管理IoT裝置的操作以及在IoT裝置之間的通訊、管理及交易電子或數位付款、依需求地管理及建構識別或授權憑證、或是管理及運作任何其它形式的電子交易或裝置。
Tereon伺服器
構成如同在圖1中所示的Tereon伺服器102的模組可以在兩個層級上加以檢視:該SDASF 104以及該規則引擎106。該規則引擎106本身係界定該些模組108(其中的某些係被描繪在圖1中;這些係包含定義該些服務、該些協定(未繪出)、該些智慧型裝置、該些終端…等等的模組)的每一個的功能領域及背景,並且這些模組108於是定義該SDASF 104的結構。該SDASF 104以及其所支援的所產生的服務及介面於是定義可供Tereon利用的系統協定。這些協定於是定義Tereon可以支援的規則及服務,例如是智慧型裝置、終端…等等,其本身係定義Tereon所提供的功能領域及背景。此循環或是疊代的方式係被用來確保該些模組的定義以及它們所支援的功能或需求係和彼此一致的。此係容許該些模組能夠在原本位置被更新、升級、以及置換,而不限制到該系統的操作。
該些區塊及模組係利用抽象的應用程式介面(API)來彼此介接,其本身係定義Tereon所提供的功能領域及背景。在所有可能之處,它 們係利用訂製的號誌交遞模組來和彼此通訊,其之一個例子係被描繪在圖4a中並且將會在稍後加以解說,其亦可以利用共用的記憶體。以此種方式,該些區塊及模組的內部的操作及功能可以被更新或是更換,而不損及該系統整體的操作。
架構的基礎結構構件
該些基礎結構構件也是模組化的。在該SDASF的情形中,此構件本身係包括模組。
多個介面
每一個介面係被建構為一個別的模組,其係連接至該核心伺服器。因此,Tereon的模組化結構係使得其能夠支援多個介面,包含後勤辦公室及核心系統、卡、票據交換所、商人、行動電話、服務、服務提供者、儲存、終端、SMS(簡訊)閘道、HLR(歸屬位置暫存器)閘道…等等。
該些資料庫介面係支援該所儲存的資料之結構化查詢語言(SQL)的輸入以及圖形分析。該些介面亦支援對於在該些資料庫內之個別的欄位的存取控制。不同的使用者角色以及授權的層級可以存取界定的資料集以及欄位。該存取係藉由各種安全性手段來加以控制。該存取、認證、以及授權可以經由一範圍的產業標準的方式來加以實現,其係包含ACL(存取控制清單)、LDAP(輕型目錄存取協定)、以及客製角色為基礎的存取,例如是單元格及列的安全性、以及限制於個別的角色的存取介面。
電子商務入口
Tereon可以經由一API來支援電子商務入口,因而該入口的一操作者可以產生一用於該入口的外掛。
規則引擎
該規則引擎106係容許新的服務能夠藉由將針對於一交易的各種抽象的構件編織在一起來加以建構、或是支援一新的裝置。該些規則係定義用於所啟用的服務的商業邏輯,並且該服務提供者可以修改這些服務給個別的使用者。
該些規則可以用UML(統一模型化語言)或是用一種類似於淺顯的英語的碼來加以定義。該引擎將會語法分析該些規則,並且從該些抽象的構件產生該些服務。
該些構件的抽象的本質係容許新的服務或是裝置模組能夠快速地加以產生。此係使得Tereon能夠隨著需求的發生,來支援新的服務或裝置。
Tereon的內部的介面是與協定無關的,使得外部的協定模組可以互換,而不影響到功能。例如,為了介接到一銀行核心系統,一客製資料交換協定可以被使用於一組織的一部分,並且一ISO 20022協定模組可以被使用於另一部分。
該SDASF 104係使得Tereon能夠支援多個智慧型裝置及協定。該SDASF 104的構想是抽象化該些實體成為裝置類型及協定。該SDASF 104係定義多個協定,其中每一個裝置係呼叫其針對於一特定的服務或功能所需的無論哪個協定。
該SDASF 104可以藉由將新的模組加到現有的設備來加以擴大,而不影響到該設備的操作。其係使得所有的服務都能夠在一後勤辦公室伺服器之處,利用無論哪個較佳的方法來加以定義。一旦被安裝在該 些商人終端之後,該些Tereon終端應用程式係和該SDASF通訊以提供該些服務給消費者。
圖2係展示該Tereon系統架構200。其中該圖及敘述係經由一特定的解決方案來指出一特定的構件,於是,此單純係因為這些是在一實施例中所選擇的構件或語言。訂製的系統可被建構來取代這些構件、或是使用其中那些將會證明是更有效率的其它語言及系統。
Tereon伺服器
該Tereon服務202是一邏輯建構,其係被認定為一整體的人工產物。實際上,其可以存在為一組隔離的微服務,每一個微服務都可以在功能及範疇上有所不同。
通訊層
該通訊層204係在TLS(傳輸層安全協議)連線上透過一中間的代理而被起始。此亦被展示在圖3中。TLS是一密碼的協定,其係在一電腦網路(通常是一TCP/IP(傳輸控制協定/網際網路協定)網路)上提供通訊安全性。每一個構件係具有一ACL(存取控制表列),其係指定哪些使用者或系統的程序可以存取或是連線至一系統、物件、或是服務。此係確保只有該中間者可以建立一進入的原始的連線,此係提高本質安全性並且降低該威脅輪廓。在此例子中,該代理係使用此項技術中已知的一HTTP閘道平台,其係具有特殊的Tereon客製化。
私有DNS網路
DNS 206係被使用作為用於該目錄服務216的基礎。該目錄服務216是高度冗餘的,並且橫跨地理位置複製的。然而,如同在以下展 示的,其結構及功能係遠超過現有的DNS服務所可以提供者。
抽象
圖2a係描繪Tereon是如何抽象化其服務及裝置成為功能領域及背景,例如是消費者或消費者活動及規則、商人活動及規則、銀行活動及規則、傳輸活動及規則、裝置功能及規則…等等。圖1是描繪Tereon是如何藉由抽象化該系統的構件及服務成為功能區塊或模組來實行這些抽象。
Tereon模組係由這些抽象來加以建構的。每一個裝置、每一個介面、以及每一個交易類型係被抽象化成為其領域及背景。這些抽象是可重複使用的,並且在有意義或是被容許的情形中可以介接至其它抽象。例如,簽帳卡、信用卡、記帳卡、以及會員卡模組分別將會使用一些共同的抽象。該付款及資金轉帳模組也將會是如此。
協定
Tereon支援的協定204及212的每一個係本身被實施為一模組。Tereon係使得這些模組可供需要它們的那些服務或構件利用的。
老舊的系統係在它們必須增加硬體之前,吃力地處理數量為數百或是數千筆同時的交易。銀行並非更新其系統,而是已經依賴週期性的結算系統,其係需要核對帳戶、以及涵蓋最高到結算點的信貸風險的高成本。Tereon確實並無該信貸風險以及因此的針對於此種原因的需求。其係提出高度負擔得起的系統,該些系統現在係被請求以處理每秒數十萬筆的交易。Tereon係被設計以彈性地建構、支援每伺服器每秒數百萬筆交易,並且在高檔的商用硬體上運作,而不是依賴昂貴的硬體。Tereon亦以一種 接近線性的方式來支援水平及垂直的縮放,而不損及該ACID的保證或是其即時的效能。
許可子系統
該Tereon許可伺服器210係容許該系統的構件能夠確保在單一被配置的實例之內(其中單一實例的微服務係在單一機器上的程序間的通訊中從事之,而不論為何該機器例如是否為一實體機器、一邏輯機器、一虛擬的機器、一容器、或是任何其它用於包含可執行的碼之普遍使用的機構、以及橫跨任意數量或類型的機器)、以及橫跨配置的實例(例如,和彼此通訊的個別的消費者平台),它們都和合法授權的許可的對等系統通訊。該許可平台係經由此項技術中已知的一憑證授權中心結構來加以實施。
當構件被安裝至該系統時,它們係在一安全的經認證的連線上,以指定的可組態設定的間隔(例如,在一週的前置時間下的每個月)來通訊其安裝細節(組織、構件類型及細節、許可密鑰…等等)以及一憑證簽章的請求至該許可伺服器。
該憑證伺服器係比較那些細節與其被授權的構件目錄,並且在一相符時,其係給予起始一安裝請求的該裝置一新的憑證,其係利用在一內部的憑證授權中心階層中的一隔離的安全簽章的密鑰加以簽章的(大致是經由一硬體安全性模組),其係一段指定的時間期間(例如,一個月)可用的。在該連線的系統中的所有時脈都被同步化。
該呼叫者接著可以在起始和其它模組通訊時,利用該憑證作為一客戶憑證,並且在作用為連線的接收者時,利用該憑證作為一伺服器憑證。從未接收到該私有密鑰的許可伺服器並不保有將會容許任何其它方 模仿此憑證的細節,即使洩漏的話也是如此。若為較佳的話,該呼叫者可以從一許可伺服器請求兩個憑證,一客戶憑證以及一伺服器憑證。
每一個構件都可以驗證該伺服器及客戶憑證已經藉由受信任的經授權的憑證授權中心的一代理人而被簽章的,並且可以在高度信心下通訊,它們並不遭受到中間人的攻擊或監視,並且對方就是其所聲稱者。每一個憑證係被許可使用碼元資料,其係限制每一個模組是如何可以呈現其本身;譬如,作為針對於一特定的組織的一查找伺服器。該組織係被確保所有的參與方都是操作的經授權的合法有效的實例。
大多數的憑證在已經被許可一段固定的期間後,只是單純地過期並且從未更新。然而,在一憑證係受損、或是一許可被終止或暫停的少見的實例中,一廢止表列係被使用,並且視需要而非同步地被散布至代理服務。一現行的憑證目錄係總是被維持著,其係可用於週期性的稽核。
除了該雙向的驗證益處(該客戶是它們所聲稱者,並且在每一個連線中的伺服器是其所報告者)之外,此實施方式係容許構件能夠安全地相互通訊,而無每一個連線的建立都需要和遠端的許可伺服器通訊,其係安全地通訊而無潛在地降低該平台的整體可靠度。
場點(site)至場點的通訊
場點至場點的通訊係透過一執行該客製的零複製以及選配的使用者模式的功能之經鑑定的暴露的HTTP閘道實例212來促進之。除了場點至場點的連線之外,此係行動裝置、終端、以及其它外部方和實例通訊所透過的平台。此係容納有產業標準的入侵偵測、速率限制及DDOS(分散式阻斷服務)攻擊的保護、硬體加密卸載…等等。其在功能上是該邏輯實 例代理機構的放大版,並且支援所有相同的功能,其係包含客戶/伺服器憑證及驗證,同時亦對於外部方利用一外部認可的憑證管理中心。
Tereon資料服務
該Tereon系統的關鍵特點中之一是相較於先前的系統,其係能夠處理顯著更多的交易(就處理量而論)。這是由於一種實施一可以處理資料及交易的高度同時、快速而且可擴充的處理網路之獨特的設計、以及一極其有效率的資料服務層及演算法、以及最小化該處理負擔的訂製的模組的緣故。
所敘述的效能特徵主要目標是在於擴大,在一件給定的計算硬體上做更多的事,因此在執行成本及功率消耗上導致顯著的降低。然而,該設計並不受限於單一系統;該Tereon系統係能夠垂直及水平地擴展到一相當大的程度,其中每一個服務都能夠同時在大量的裝置上執行。
為了在單一系統或伺服器上達成高度的效能,該系統較佳的是藉由避免不必要的串列化、避免不必要的串流處理、避免不必要的記憶體複製、避免不必要的從使用者至核心模式的轉換、避免在程序之間不必要的背景切換、以及避免隨機或不必要的I/O,來最小化其處理負擔。當一系統正確地如此做的時候,在該系統上達成極高程度的交易的效能變成是可能的。
在一傳統的模型中,伺服器A將會接收一請求。其接著將會建構及串列化一詢問至伺服器B,並且立即傳送該詢問至伺服器B。伺服器B接著將會解密(若必要的話)、去串列化、以及解譯該詢問。其接著將會產生一響應、串列化、以及若必要的話,加密該響應,並且接著發送該響 應而回到伺服器A、或是至另一伺服器。該核心及程序背景切換(context switch)係每一訊息發生幾十次,該單一訊息係以各種形式被鑄型數次,並且記憶體被複製在一些工作緩衝器之間。這些核心及程序背景切換係在每一被處理的訊息上施予一巨大的處理負擔。
通訊架構
Tereon係藉由將該系統處理資料及通訊所藉由的傳統的方式更改結構,以達成其處理量。在可能之處,Tereon都旁路該作業系統核心以避免由該核心所施予的處理負擔,並且避免經常出現於標準的資料管理模型的安全性問題。
在該系統之內的每一個資料活動都經由一資料服務實例214來加以執行。此係一擴展的服務導向的資料服務層,其係該系統的唯一具有直接的資料平台存取的構件。因此,在該系統上的所有資料活動都必須經過其。
該資料服務層214係經由個別專用的讀取及寫入存取通道226,來和一資料儲存層220通訊。該資料儲存層220係被實施在一核心資料庫儲存224上,其本身係包括至少一分散式資料庫。這些資料庫並不需要提供ACID的保證;此係藉由該資料儲存層所管理的。
所有對於該資料儲存層220的寫入都是藉由單一共用的交易者所管理的,所有的資料改變都透過該共用的交易者以一串列快速的序列來流動,以保存因果關係(causality)。該交易者設計係使用一種熱備份冗餘模型,其係將自身呈現為資料交易者叢集222。若一交易者因為任何原因而失效或停頓,則其它交易者中之一將會立即接手。
儘管該資料平台係支援所有資料領域的劃分,但是該支援並未顯示在圖中。若在任何情形中單一資料儲存層(藉由未受限制的資料節點所支援)被發現是禁止的、或是若有規定的原因來如此做的話,則資料可以透過強制或是宣告的手段來加以劃分,以利用不同的交易者來儲存到不同的資料叢集。譬如,一場點可以具有四個資料平台,其係藉由地理或管轄權的標準來劃分消費者、或是對於以1-5開頭的帳戶係前往其中一個,6-0開頭的則前往另一個。此係有處理的分支,但是此係被該平台所支援。
圖3是展示在該通訊層204上的通訊,其係將通訊指定路由往返於該資料服務層214。當一模組350需要和另一模組360通訊時,其首先係起始和一代理370的一連線,在步驟302將其客戶憑證傳遞來認證,並且接著在步驟304檢查該代理憑證在逐步建立上是否有效且受信任的。該模組350係在步驟306將該訊息傳遞至該代理370。該代理370係在步驟308和該目標模組360建立一關聯的連線;其首先係在308之處認證本身,並且在步驟310驗證該模組的憑證是有效且受信任的。該代理370係接著在步驟312傳遞該起始者(模組350)的經確認的細節,此係在其在步驟314接收該模組的響應之前。該代理370在係步驟316傳回該目標(模組360)的細節以及其響應。此係經由該代理370來在模組350與模組360之間建立一通訊通道,其中兩個模組都被認證並且彼此識別至一高度的信心,並且在必要的情形中,所有的通訊及資料都被加密。該代理370係在步驟318中繼來自模組350的訊息,而在步驟320至該目標模組360,並且在步驟322中繼該目標模組的響應,而在步驟324至模組350。
這些連線係根據該呼叫者的憑證以及該接收者的憑證的細 節來使用保持連線以及對話共用(例如,該模組350可以"關閉"經由該代理370至該目標模組360的連線,並且在不實際建立一新的端至端的連線下重新開啟它。該連線永遠不會共用於任何其它電路)。該通訊代理370可以是一HTTP閘道、或是某種其它適當的模組或構件。
此種架構傳統上係以在記憶體的重度使用下的一相當大的效能成本來達成。為了該模組350和目標模組360通訊,傳統上其將會需要串列化酬載、加密該酬載、串流其至該代理370,其中該代理370將會解密該酬載、去串列化、以及解譯該內容,而在將其傳遞至該目標模組360之前,先重新串列化該酬載、以及加密其以用於該目標模組360。該目標模組360接著將會解密該內容、去串列化、以及解譯該內容。
Tereon係利用數種技術以降低平均及最大的延遲、降低記憶體載入、以及改善在商用硬體上的單一平台的效能。此係達成整體的過程中的效能,同時維持微服務的所有的安全性、維護、以及配置益處。其係如此做而不損及此種系統必須提供的高度安全性及控制。
如同在圖3中所展示的,Tereon可以在該通訊層上使用一種批次的信息模型。每一個被傳遞的訊息,例如是在步驟306從模組350被傳遞至該代理370的訊息可以是一批次的訊息。然而,Tereon可以遠比此做的更多。
除了批次的信息之外,圖4是展示兩個伺服器的模組是如何可以經由一代理模組(該訂製的交遞模組)來和彼此通訊,以協商一在其之間共用的記憶體通道。步驟402至412係類似於在圖3中的步驟302至312,其中增加的是若必要的話,該服務的屬性係被檢查以確認它們匹配該客戶 請求,其亦可以發生在步驟302至312中。
該模組450至該模組460的實例可以使用TLS、或是傳統的TLS HTTPS,最佳的是也具有用於該呼叫者交易的HTTP閘道的使用者模式以及零複製。
若該來源模組450以及該目的地模組460是本地的,則在從步驟402至412經由該代理470建立該連線之後,該呼叫者以及接收者可以選配地請求經由共用的記憶體來和彼此直接的連線,因而其係在此具有此選配的請求,此方法係從在圖3中所展示的方法分歧。若該呼叫者以及接收者係請求和彼此直接的連線,則在協商之後,則一共用的通道係在步驟414從模組460被傳輸至該代理470,並且在步驟416從該代理被傳輸至模組450,並且該兩個模組係從該點開始使用一直接至直接的程序機構,其同樣使用號誌以及共用的記憶體。此係在步驟418、420、422等等中藉由在模組450與模組460之間的訊息來加以描繪。
在該Tereon模型中,伺服器450係以對於該工作最佳地分批複數個請求在本地記憶體緩衝器中,將用於伺服器460的訊息排入佇列,並且跳動一號誌。伺服器460係檢查該些旗標、處理該直接共用的記憶體、並且響應於共用的記憶體中。該連線係根據該呼叫者的憑證以及該接收者的憑證、以及用於通訊的共用的記憶體及號誌的細節,來使用保持連線及共用的記憶體。
藉由利用以上的方法,該通訊可以避開串列化及串流(假定其係內含在一機器之內)的負擔,而至一安全的ACL控制的單一呼叫者的目的地。其並不需要加密;該連線已經在設定時被驗證、認證、並且授權, 並且無法被篡奪,而且在適當情況中,程序可以共用適當的大規模的專屬記憶體結構。
在可能的情況,該代理470以及該些Tereon碼模組(450及460)係支援零複製的網路連結以及使用者模式的網路連結(當利用必需的TCP/IP儲存庫加以編譯時,一HTTP代理可以提供一種避免用於網路封包的核心背景切換的顯著的成本的解決方案)。此係經由該代理470以及該些Tereon碼模組可以使用的網路驅動程式特定的碼來促進之。此係最小化用於小封包請求及響應的記憶體的使用;這些係包括大量的Tereon操作,其中大多數的操作都可以裝在單一TCP封包中。
圖4a係描繪該Tereon系統是如何實施一組訂製的號誌交遞模組408a,其亦可以利用共用的記憶體,該共用的記憶體係被有效率地利用來在該Tereon系統的任何兩個構件(例如,HTTP閘道406a以及在Tereon之內提供該功能的微服務410a)之間交換資料。在圖4a中,該資料服務層214係藉由微服務410a來加以體現。然而,該些微服務可能代表任意種類的服務模組。
該網路堆疊404a(其包含一回送(loopback)虛擬裝置)係接收與集合來自一連線的伺服器402a的請求,並且其不是接著將該請求複製到使用者模式的目標記憶體中,其單純是將該記憶體的所有權允許給該接收者(在此例中是該HTTP閘道406a)。此主要在一其中開始發生記憶體頻寬飽和之非常重的負載下(例如,每秒數百萬個請求)是有利的。
一客製的Tereon上游的HTTP閘道模組406a係容許本地的實例(相關於該HTTP閘道實例,其中在每一個容器上或是在每一個實體、 邏輯、或是虛擬的機器上大致有一HTTP閘道實例)能夠有該選項來使用共用的記憶體,並且訊息係從該閘道傳遞至代理記憶體而至該模組,並且對於該上游連線反之亦然。並非是該HTTP閘道406a串列化一請求而且經由傳統的機構來傳遞其,當被配置以用於一共用的記憶體的上游提供者時,該HTTP閘道406a係使用共用的記憶體,該共用的記憶體係傳遞至該接收者。
在此例中,該共用的記憶體可以是已經利用另一HTTP閘道、HTTP閘道實例、或是其它元件作為一代理來加以設置。利用一HTTP閘道可以是特別有效率的。
每一個資料交換模組並非是利用該作業系統核心所提供的通訊掛鉤(communication hook),而是每一個資料交換模組都旁路該核心;此係藉由避免該核心負擔而增加該系統的處理量,並且解決可能發生在資料被傳遞往返於由該核心所提供的服務之不安全的領域。在Tereon之內,一模組係被使用,例如以從一系統構件直接至該資料服務層214、以及從該資料服務層214至一系統構件的有效率地交換資料。
此架構帶來的優點的另一個例子是該HTTP閘道406a的改善的效率,其係藉由利用該交遞模組408a來加以達成,該交遞模組408a係容許該HTTP閘道406a能夠移交所有進入的資料至微服務410a(例如,該資料服務層214或是其它構件)、以及來自該些微服務410a或是該資料服務層214的所有向外的資料至該HTTP閘道406a。並非是利用本身係有效率的該預設的HTTP閘道的資料以及信息交遞,該號誌交遞模組(其亦可以使用共用的記憶體)係容許該資料能夠旁路該核心而直接交給該資料層214,並且 從該資料層214至該HTTP閘道406a。此不僅是增加該系統的處理量;其係具有一增加的優點在於此係保護在使用HTTP閘道的系統中的常見的易受攻擊的領域中之一。
提供該共用的記憶體通道的模組、或是和該共用的記憶體通道通訊的模組都可以分批及串列化、或是去串列化及分開該些請求。執行該工作的模組將會歸結是該模組的功能、以及該模組在其正常的操作中所帶來的處理負擔。例如,在一情形中,一本身正接收大量的訊息(其可以是、或者可以不是請求)的模組可以傳遞其訊息至一共用的記憶體模組,該共用的記憶體模組本身將會分批及串列化那些用於該接收者模組的訊息,因為分批及串列化的負擔可能會妨礙該模組原本有效率地而且在負載下處理訊息。在另一情形中,一模組可以在經由一共用的記憶體通道傳遞該批次至該接收者之前,先分批及串列化其訊息至一特定的接收者。
在又一情形中,一傳遞訊息至一接收者模組的模組可以依賴提供該共用的記憶體通道的模組以分批及串列化該訊息,但是接收該批次的訊息的模組本身可以去串列化及分開該些訊息。哪一個模組實行分批及串列化、或是去串列化及分開的工作的問題是歸結於哪一種選擇會提供該些模組所執行的功能最佳的效能位準。分批及串列化的順序本身將會依據該訊息類型以及該些通訊模組所提供的功能而定。
Tereon係使用一HTTP閘道406a以假裝為一網路服務,並且因此避免潛在的有關網路操作者阻擋非標準的服務之問題。當然,若必要的話,Tereon可以假裝為任何其它服務,並且因此可以輕鬆地與眾所周知的網路安全性配置一起工作。
依照此設計,該系統係在整個架構繼續開展此模組化的方法,其中該系統係使用被設計以利用可利用的資源之模組,並且在可能的情況避免核心的負擔。一額外的例子是該網路連結的系統,其中Tereon係在可能的情況利用在該網路堆疊404a中支援使用者模式的網路連結或是零複製的網路連結之模組。此係避免利用用於網路連結的核心之沉重的負擔。該模組化設計亦容許Tereon能夠在多種類型的系統上運作,其中類似的訂製的模組係提供類似的功能,並且可以針對於每一個作業系統或是硬體組態設定來加以客製的。
以在圖3及圖4中所描繪的方式利用一中間者係容許不論是機器內或是機器外的所有的通訊都有一集中的控制點。其係為用於速率及安全性控制、監視及稽核、以及用於特殊的規則或改變方向之單一的控制點。此係在部署系統上容許有彈性,即使當那些系統是在操作的時候也是如此,而不引發停機時間或是顯著的風險。其亦輕易地使得負載平衡及冗餘變得容易,而無任何的知曉客戶端或是複雜度。
若圖3的模組350想要與該目標模組360對話,一中間者的使用係容許該目標模組360能夠橫跨"n"個機器負載平衡的,並且能夠橫跨任意數量或類型的機器來加以移動,而不重新組態設定所有可能的客戶,而是單純地重新組態設定該中間者。
該系統係使用一PAKE(密碼認證的密鑰交換)協定,該協定係被產生以提供兩個通訊方相互認證其密鑰交換的能力。此在其它眾所周知的公開密鑰交換協定(例如是Diffie-Hellman密鑰交換協定)之下是不可能的,此係使得那些協定易受中間人的攻擊的傷害。該PAKE協定若正確地 使用,則其係對於中間人的攻擊免疫的。
在Tereon和外部的系統(例如,一外部的裝置或伺服器)通訊的情形中,其係增加一額外的層至該通訊系統。許多密鑰交換的協定在理論上是易受中間人的攻擊影響的。一旦一連線被建立,利用該些憑證以及經簽章的訊息來確認該通訊是介於兩個已知的實體之間後,該系統係使用該PAKE協定來建立一第二安全的對話密鑰,因而使得該通訊是不受一中間人的攻擊影響的。因此,該些通訊將會使用該TLS對話密鑰以及接著的PAKE協定的對話密鑰,來加密所有的通訊。
在通訊是利用具有一不可破壞的身分字串的裝置時,若必要的話,TLS可被省卻,並且該PAKE協定係替代地使用作為該主要的對話密鑰協定。此例如可能會發生在該些裝置是構成物聯網的一組構件的小的硬體感測器的情形中。
通訊方法
該Tereon資料服務214係根據一種具有圖形功能的鍵-值儲存,其係提供n+1或是更大的冗餘以及選配的多場點的複製,並且其係經由一協調的交易者(一實行、管理、或是控制一或多個交易的全部或部分的裝置或模組)來提供完全的ACID保證。該資料服務214係被封入在一資料領域的服務中,除了共用記憶體的功能以外,其係額外提供零複製的功能以及未受限制的讀取縮放、記憶體內的快取、以及極為高度的寫入效能。此係繼續存在於一具有大的記憶體快取之可變尺寸的資料叢集中。在高度獨特的情況中,該資料服務可被避開,以用於直接使用該鍵-值儲存。
該資料服務214係提供高效能的傳統的SQL類型的功能以 及圖形處理兩者,以支援例如是資金流量分析的功能。和該非常高效能的模組通訊架構(其係提供該平台的效率及效能)結合的資料服務214係提供一種極為有效率的設計,其在商用伺服器硬體上(利用接合的10Gbps網路連結)的測試中已經超過每秒2.8百萬筆交易。
藉由實施以下的架構的優先事項,該系統可以顯著地降低處理在該系統內以及在系統之間發送的訊息所必要的核心及程序背景切換的數量:
a)零複製的網路連結係可利用來最小化從網路邊緣至服務的傳輸成本。
b)使用者模式的網路連結係可利用來最小化從網路邊緣至服務的傳輸成本。
c)在串列化係必要的情形中(主要是當跨越機器或伺服器的邊界時),相對於一例如是簡單物件存取協定(SOAP)的高負擔的串列化,高效率的串列化係被使用,例如是協定緩衝器或Avro。此係在每一個伺服器的邊緣之處加以抽象化,使得一給定的伺服器可以輕易地在該網際網路上與在另一大陸上的一對等伺服器談話,儘管是在一較低的效能及效率位準下。
d)伺服器係具有一可組態設定的緩衝臨界值,其中它們將會嘗試分批請求以最小化程序背景切換,並且對於任何給定的伺服器最大化快取一致性。舉例而言,若伺服器A在一段20ms期間之內有10,000個請求到達,並且該平台目標是一20ms緩衝器窗口,則其需要伺服器B對於那些10,000個請求的協助,於是其將會收集該10,000個請求成為單一請求,並且接著佇列該非同步的訊息給伺服器B、使得該號誌發出旗號。伺服器B接著可以快速地處理該10,000個請求,提供單一響應給伺服器A。此係可以根據最 佳化效率相對於最大的響應時間來組態設定的。
實際上,降低核心及程序的背景切換的數量已經在該平台的效能位準上產生巨大的改善。由於批次的訊息被傳遞,該Tereon模型並非是每一訊息引發一數量的核心及程序的背景切換,而是該Tereon模型係每一區塊的訊息引發該數量的核心及程序的背景切換。測試係指出藉由利用此模型,在該傳統的模型與該Tereon模型之間的效能差異是1:1000,而且對於許多工作負荷而言是更大的。
然而,該些模組以及其益處並未被限於單一系統。甚至其中伺服器A以及伺服器B例如是存在於個別的機器上,該Tereon系統仍然將會利用有效率的串列化及分批。不論此是否接著和選配的零複製或是使用者模式的網路連結結合,該Tereon模型都顯著地改善網路及處理效能。
測試已經展示這些設計元素已經證明本地的伺服器至伺服器的每秒來回數千萬筆訊息請求及響應(在批次、共用的記憶體模式中)、並且在一高速的網路線(例如,接合的10Gbps)上的每秒幾百萬筆的操作。
由於這些交易的全部都可以即時地處理並且立即核對,因此有許多的優點-特別是用於銀行、IoT、醫療、ID管理、運輸、以及其它需要正確的資料處理的環境。明確地說,此種系統目前並未即時地核對交易。反而,該些交易係在一段時間期間之後,有時是以批次地加以核對。這是為何例如金融交易通常是以批次來加以處理,其中分開的核對程序是在數小時之後執行的。藉由利用該Tereon系統,銀行以一種先前是不可能的方式來即時地核對所有的金融交易是可能的。於是,避免銀行具有核對帳戶以涵蓋尚未被核對、或是無法被正確地核對(因為就定義而言,所有的交易 在它們被處理時才會已經被核對)的金融交易的必要性變成是可能的。
交易及資料劃分
在該Tereon系統中的所有原子的活動是交易-它們係以整體來算成功、或是以整體來算失敗的,即如同為任何支援用於交易的ACID保證之系統的一基本的要求。此段落係簡短地解說此是如何加以達成的,並且展示Tereon已經採用到交易及資料劃分的方法的細節,以便於減輕劃分在達成用於交易的ACID保證上的影響。
如同以上已經提及的,在該Tereon平台之內的每一個資料活動係經由一Tereon資料服務實例214來加以執行,其本身可以操作為一組微服務410a。此係一擴展的服務導向的系統,其係該系統的唯一具有直接的資料平台存取的構件,並且因此所有的資料活動都必須通過其。這些資料服務係被擴展,使得在該系統之內的平行的交易可以經由不同的資料服務實例來加以達成,其係利用實例快取的資料MVCC(多版本並發控制)以總是具有一致的讀取資料。
資料活動係經由原子的訊息而發生到一資料服務實例,其中該訊息係包含該資料工作的全體;例如,一工作可能牽涉到讀取數個相關的記錄及屬性、或是根據相依的資料或工作的一組合來更新或插入資料。該資料服務實例係將該工作執行為橫跨所有支援的交易的資料儲存的一兩階段從事的交易。
該Tereon模型係經由以下的技術來保證資料一致性:
a)任意組的讀取資料都載有一版本ID。
所有的寫入(更新以及相依的插入)係驗證此版本ID是對於所有相關的 資料而言為目前的,以作為一樂觀交易。此係表示若一來源是讀取三個記錄以獲得各種的帳戶屬性(例如,許可、餘額、以及貨幣資料),則此資料的叢集係具有一個一致的版本ID。若那些值的任一個係接著被更新、或是相依的資料被寫入(例如,一金融轉帳),則該版本ID係再次被確認是否為目前的,並且若其不同時-例如該貨幣假設被改變、或是匯率被修改時-該寫入以整體來看是完全地失敗。若適當的話,該下游的服務係重新讀取,並且評估該資料是否以任何實質性的方式改變該交易。若否的話,則該交易係重新被提交。同樣地,若該交易失敗,則其係被重複直到再試的嘗試之可組態設定的次數超過為止,並且一種硬失敗係發出。在正常的情況中,一種硬失敗將會是極為不可能的。
在大多數真實世界的情節中,一失敗的樂觀交易絕對不會發生,即使是橫跨龐大的交易量以及帳戶多樣性也是如此。並且在一發生的罕見情形中,則資料係永不受損的,並且只有最小的處理負擔。假定被使用的平台是一永久的歷史資料庫,此MVCC/樂觀模型也是完全保護被刪除的記錄(在例外的情況中可能會需要規定之外的刪除)。
b)針對於一給定的資料劃分寫入至該平台(其係為一與該資料服務的水平的縮放分開的概念)。
許多資料服務實例可以寫入一資料劃分,並且從一資料劃分讀取,並且單一資料服務實例可以全部儲存至多個資料劃分,並且從多個資料劃分讀取。所有的讀取及寫入都透過單一主控交易者實例222以及依必要性的一或多個冗餘操作備份來發生。然而,只有單一實例是永遠有效的。此係保證該交易及因果的有效性係在所有的情況下都被維持(例如,在一網路分 流期間、或是在短暫的通訊延遲期間並沒有扭曲)。此交易者係確認所有的樂觀交易是否為有效的,並且在該些資料服務實例中利用在背景上對於該實例為重要的被更新及目前的資訊,來連續地更新該些快取管理者。
c)選配的資料劃分
被限制到單一交易者可能會潛在地限制非常大的Tereon實例的可擴充性(瞭解到單一組織可能會按照區域…等等來管理多個Tereon實例)。資料劃分是一Tereon資料服務叢集可以按照領域,根據被組態設定的Tereon規則來橫跨交易者222或是資料儲存224劃分資料的概念。該Tereon平台目前是支援以下的劃分規則,以作為一異質的多構件的雜湊策略:
i)雜湊一給定的元件或是任意上位的元件的目標的資料(例如,根據母記錄的細節雜湊)。該高效能的雜湊係具有等於劃分的數量之基數。
該系統目前並不提供再平衡,因而在目前的實施方式中,雜湊必須是在前面,儘管再平衡將會在一未來的實施方式中被提供(儘管劃分目前仍然可以被增加,其係利用一包含藉由原始日期及時間的雜湊之多部分的規則)。
ii)一給定的元件或是任意上位的元件的目標的資料的資料組態設定的雜湊,例如是藉由列舉的地理區域、藉由姓氏A-K或L-Z…等等、藉由貨幣…等等。
該資料目標的雜湊係支援字母與數字的、統一碼(Unicode)、以及其它字元碼的範圍、整數範圍、浮點範圍、以及列舉的集合。
iii)以上的組合。
例如,在一實施方式中,該兩個字母A及B可以是指兩個個別的資料集,其係共同橫跨一整體的地理區域,其中該些數字1及2係參照該區域 的兩個部分。譬如,單一劃分規則可以支援在該些頂層的劃分1AB及2AB之間經由一資料規則(例如,一地理區域)的劃分,並且接著是在該A及B子劃分之間經由一帳戶號碼雜湊的進一步劃分。
d)經由單一資料服務實例所達成的單一工作可以跨多個資料劃分、藉由多個交易者來加以完成,並且繼續存在於大量的資料儲存節點上。
此係呈現出明顯的資料完整性的複雜度。然而,該資料的完整性係被保證,因為該交易的所有的構件都被侷限在單一兩階段的提交封包(wrapper)中。該交易的全體對照所有持續的節點及參與者,其係整體地完成或是失敗,因而提供全部相同版本的保證。
此架構的設計的匯流之最終結果是該系統完全在交易上是安全的、高度冗餘的、以及垂直與水平地高度可擴充的。儘管寫入交易(其在大多數的情節中係涵蓋該活動的一個小的百分比)可能會受限於每一劃分單一交易者的交易的必要性,但是規則為基礎的劃分的增加,尤其是上位的資料元件的增加,其係在甚至考量分枝的實例之前,提供巨大的彈性來擴張該系統到一概念上不受限制的程度。
該Tereon資料儲存的實施方式
該Tereon基礎結構係能夠處理每秒超過1,000,000筆ACID保證的交易。此係藉由在一或多個分散式資料庫224的頂端上抽象化或是以其它方式實施一資料儲存層220來加以達成,其係對於該儲存階層(此可以是在任意的深度位準,從一經由該Tereon資料服務的抽象,直到直接的資料庫使用到該儲存階層)利用一高效能的鍵/值分散式資料庫、以及個別的讀取及寫入存取通道226。Tereon的資料儲存的使用及組態設定是獨特的。
該資料服務層係經由其訂製的資料交換模組來和該資料儲存層通訊。該些資料庫本身完全不需要提供任何的ACID保證-其係藉由該資料儲存層220來加以處理。它們也不需要提供圖形功能,因為那些圖形功能係顯著地拖慢該些寫入程序。該資料儲存層220係提供介面至該些異質的資料層,並且提供該系統的不同的部分所需要的介面功能。因此,該寫入功能係提供一快速的單元格及表格行結構,同時該讀取介面係提供一圖形介面以使得其能夠在微秒內橫越該分散式資料儲存。
該資料儲存層係在該核心資料儲存資料庫224之上提供該SQL介面以及該圖形介面層,並且提供一些重要的架構的優點,其係使得Tereon為獨特的。每一個客戶實例(該些Tereon資料服務實例214)係管理一記憶體內/程序中的資料庫引擎,其係包含針對於該實例的所有的熱資料的快取的表示。實際上,該實例係管理該資料庫引擎以及所有目前的交易的資料的快取的表示、每一個目前的交易的狀態、以及所有其它有關於在該實例正操作於其之內的一或多個機器的RAM或是其它的快速記憶體的其部分內的該實例的目前的狀態的資訊。
此係容許該Tereon資料服務能夠使得在一非常高的速率(每一實例每秒數百萬筆離散的查詢,其中該熱的相關的資料係被本地快取)的大多數的讀取導向的工作變得容易,其係超出假如串列化並且進行外部或機器外的請求至外部的資料庫系統原本會被達成的效能位準幾個量級。當資料並未在該程序內的快取中時,其係從該鍵值儲存來加以擷取。
一MVCC版本的系統係被用來管理並發,並且該資料層的一屬性是資料從不被刪除(除了為了符合規定的強迫的刪除之外)-該系統 係在該資料系統的壽命期間保持每一個記錄改變的整個歷史。此係使得例如是"as of"查詢、以及稽核任何的平台改變變成是不重要的操作。
該資料層的寫入實施方式係使用單一共用的交易者,而所有的資料改變都必須流經該共用的交易者,以一串列快速的序列來加以處理。此係確保交易是有效的、一致的,並且最小化改變並發的負擔,該負擔在大多數的資料庫平台上都是一繁重的重擔。該交易者設計係使用一種熱備份冗餘模型。當該交易者程序改變時,其係通知所有有效的詢問引擎(其在此例中是存在於該Tereon資料服務中),並且它們係適當的更新其記憶體內的快取。
該設計係提供用於讀取、寫入、以及搜尋的微秒的延遲,而不論該資料儲存的尺寸為何。其亦提供一模組化結構,此係容許構件能夠在不影響其操作下加以升級與置換。此資料儲存係從基礎的實施方式來加以抽象化,並且可被該Tereon資料服務中的其它儲存所取代。
若該資料儲存層係被設定以運作於悲觀的ACID保證226,亦即置入一額外的步驟以在移往下一個交易之前先確認其已經寫入一記錄,則此係增加一短的延遲,但是提供ACID一致性以及資料完整性的一絕對的保證。
此設計的優點是其係提供ACID保證,因為在該資料層確認其已經寫入該記錄並且完成該交易之前,該應用層並無法進行。
譬如,此係表示在銀行、付款、以及其它必須保存因果關係的交易類型中,由最終的一致性所引起的問題係被除去。藉由以ACID保證來設計,任何對於核對帳戶以彌補當銀行系統發現不相符的程序時的任何 短缺之需要亦被除去。該即時的處理係表示核對程序在最終的一致性系統上引發的時間延遲亦被除去。
此平台的設計係在商用硬體上提供非常高度的冗餘及可靠度、以及非凡的可擴充性(垂直及水平地)。有關該交易者系統的可能的限制之理論的考量確實導致將一劃分平台內建於該資料服務中以克服那些限制,但是在絕大多數的情節之下,都將永遠不會有必要來使用該平台。
查找/目錄服務
該Tereon系統係具有一目錄服務216,其係為該些憑證以及在該系統中識別一使用者或是一裝置218註冊到哪一個伺服器、或是哪一個伺服器係提供一特定的功能、資源、設施、交易類型、或是其它類型的服務的資訊之一目錄。該目錄服務係使得多種認證一使用者218的方法能夠發生,因為其係儲存有關於該特定的使用者的一些不同類型的憑證。例如,一使用者218可以利用其行動電話號碼、電子郵件位址、地理位置、PAN(主要的帳戶號碼)…等等來加以認證,並且快取該資料使得每次都認證是沒有必要的。
該目錄服務216係提供一抽象層,其係分開該使用者的認證ID與該些基礎的服務、伺服器、以及實際的使用者帳戶。此係提供在一使用者218或商人可以使用來利用一服務的憑證與Tereon執行該服務本身所需要的資訊之間的抽象。例如,在一付款服務中,該目錄服務216將會單純地連結一認證ID(例如,一行動電話號碼)以及可能的一貨幣碼與一伺服器位址。絕對沒有方法來判斷該使用者218是否具有一銀行帳戶、或是該使用者218所存款的哪一個銀行。
該系統架構係使得Tereon能夠提供數個新穎的服務或特點,其完全是超出現有系統的範疇。
該Tereon系統架構是有用的,因為其係容許有可擴充及冗餘的系統。銀行核心系統係傾向提供專用於個別的通道的模組,例如是卡管理、電子商務、行動支付。此係支援穀倉(silos),並且增加其IT系統的複雜度。該複雜度是為何銀行無法定期地更新其服務及系統的原因之一。
Tereon係被設計以利用一模組化架構來支援所有的裝置以及所有的使用案例,此係使得其為高度可組態設定以及可自訂的。此的核心是以上論述的SDASF 104與該商業規則引擎106、以及一高度的抽象化。就是此和該可擴充的架構一起來致能Tereon的彈性。
Tereon係使得一操作者能夠使用標準的運營商等級的系統以提供及支援許多的交易類型。Tereon將會支援任意的交易,不論該交易是否需要認證。
特殊的程序
特殊的程序208係理想地充分利用該資料服務的功能。然而,可能有其中一獨特的要求並未合理化改變或延伸該核心資料服務的實例,使得該資料儲存庫係在該特殊的程序之內被利用,以直接從該資料加以取得。此例如可以包含圖形功能的程序,例如是AML(反洗錢)、CRM(消費者關係管理)、或是ERP(企業資源計畫)的功能。
多個服務
由於每一個服務都是一模組,Tereon的模組化結構係使得其能夠支援多種類型的服務及裝置。例如,在付款中,此結構係使得Tereon 能夠支援複數個付款類型及裝置,其係包含銀行、簽帳卡、信用服務、儲蓄互助社、借記服務、雇員方案、電子錢包、顧客忠誠度方案、會員方案、小額貸款、預付款、學生服務、售票、SMS通知、HLR查詢…等等。
多個端點的裝置
Tereon的模組化結構係使得其能夠支援幾乎任何其可以(不論直接或間接)通訊的端點裝置,該端點裝置係包含磁條卡、智慧卡、功能型電話、智慧型手機、平板電腦、卡終端、銷售點終端、ATM、PC、顯示器螢幕、電子存取控制、電子商務入口、腕帶及其它可穿戴裝置…等等。
多個資料庫
該模組化架構係具有另一益處在於該系統並不限於一資料庫。反而,數個資料庫可加以連接,每一個資料庫係具有該討論中的資料庫特有的一模組,並且因而對於特定的目的係使用特定的資料庫、或是使用橫跨多個異質的資料庫的資料記錄的一組合。
一許可子系統210的實施方式是新穎在於除了其提供的授權及認證的益處之外,其憑證授權中心的為了許可目的之使用。並非是每一個模組信賴彼此的主張、利用一共用的資料庫之簡單的認證、或是在每一連線建立上無窮盡地委託給一個別的許可伺服器(其係具有所需要的效能及可靠度負擔),該些是用於此種分散式模組為基礎的系統之最普遍的實施模式。在Tereon中,該許可子系統係確保在模組之間的連線是本質上安全的,並且在最小的效能及可靠度負擔下具有有關該些參與者之受信任的經驗證的元資料。
該實施方式亦限制在一許可伺服器危害的實例中之潛在的 易遭攻擊性的範圍:在一傳統的配置中,此種危害將會應該進行所有構件的一焦土政策的重建。在該Tereon模型中有一時間為基礎的曝露,其將會要求一個新的中間的簽章的憑證(若其並未被一硬體安全性模組保護的話)。所有現有的憑證(在危害前被許可的)將會被豁免,並且可以在正常的排程加以更新。新的憑證將會是在新的授權中心之下被許可,並且任何其它惡意的憑證因為是在危害之後的,所以將會被拒絕。此曝露窗口控制係有益於最糟情況的情節。由該許可伺服器所保持的資料(除了理想上被保持於一硬體安全性模組上的該簽章的憑證私有密鑰之外)是完全沒有特權的資訊。
Tereon的設計亦導致組合一端點的裝置(例如是一行動電話或一IoT裝置)與一小型化的Tereon伺服器的選項,該小型化的Tereon伺服器將會和其它Tereon伺服器通訊,以作為此種伺服器的一網路的部分。它們仍然將會和一Tereon許可伺服器210以及可能的一或多個操作者運行的Tereon伺服器通訊,以對照資料以及協調活動。然而,在一端點的裝置以及一Tereon伺服器之間的區別可以是一抽象的區別,其中任何區別只是依據該些裝置及伺服器被置放到的使用案例而定。
雜湊鏈
有關區塊鏈(blockchain)的其中之一大缺點是區塊鏈係儲存所有先前的交易的一稽核(亦即,在區塊鏈中判斷交易歷史是可能的,其於是被利用於認證目的)。此係表示該區塊鏈的方法並非無限可擴充的,因為區塊鏈的尺寸最終會變成過大而無法在一現實的時間範圍內管理,同時每一個區塊的尺寸係限制該區塊鏈可以暫存的每秒最大量的交易。
一第二缺點是該交易的歷史是可供可以存取該區塊鏈的任何人利用的,並且因而提供那些人確定一交易的每一方是誰的能力。在其中隱私性及/或機密性是最重要的要求的任何有意義的活動中利用區塊鏈,此係呈現出重要的隱私性及法規上的挑戰。
另一缺點是該區塊鏈只能夠雜湊一交易的結果或是最後的記錄,因而無法驗證該交易本身的實際的程序或是步驟。
在此揭露的雜湊鏈係藉由利用一種特定的雜湊方法來尋求克服這些問題,以便於將在交易的每一方之間的記錄保持為私有的,而仍然提供一包含Tereon的所有使用者的分散式認證網路,而不論它們是否運作在開放或私有網路上。
此係藉由一分散式鏈的雜湊的連續的建構來加以達成,其係橫跨公眾及私有網路即時地操作,而不透露基礎通訊的內容給任何第三方。此係直接與一其中每一方都必須看見及接受每一通訊的內容,不論它們是否為該通訊的一方之分散式雜湊或是總帳的標準的模型形成對比。
當該雜湊鏈使用包含一零知識證明的一協定時,則其可以認證一交易的步驟的每一個、以及藉由那些步驟所產生的資訊或結果。
該實施方式可以導致一通訊的每一方產生相同的中間的雜湊、或是它們可以對於相同的通訊產生獨特的中間的雜湊。該結構亦容許每一方能夠在現有的演算法被棄用時遷移至新的雜湊演算法,而不影響該雜湊鏈的完整性。此係直接與更新或升級用於現有有效的解決方案(例如是該區塊鏈)的演算法的困難度形成對比。
Tereon係對於一交易的每一邊(帳戶)產生一雜湊稽核鏈,其 中:˙Tereon係產生和一記錄相關的一雜湊,並且對照該記錄來儲存該雜湊。一旦產生該記錄的動作完成後,Tereon將會產生該雜湊,因為其係使用產生該記錄的步驟、以及由那些步驟所引起的資訊或結果;˙Tereon係使用用於先前的記錄的雜湊,以作為用於目前的記錄的資料的部分;以及˙在任何記錄鏈中的第一雜湊都將會是一利用伺服器的簽章、Tereon產生該雜湊的日期及時間、以及若必要時的一隨機數的隨機的雜湊。
若該記錄是具有一牽涉到兩方或多方的動作,而且每一方應該有該動作的其一邊的一記錄,則針對於在一動作中的每一方,Tereon將會:
˙將該記錄的每一方的雜湊和其它的一或多方共用;
˙使用該雜湊以形成該接收者方的記錄的部分,Tereon將會針對於該接收者方的記錄產生記錄雜湊;
˙產生包含來自該其它的一或多方的雜湊的記錄的一中間的雜湊。
˙與該其它的一或多方共用該中間的雜湊,因而每一方係因此具有一封入在該動作中的另一方的部分的雜湊(若每一方是使用正確的協定,則沒有必要共用其中間的雜湊,因為這些中間的雜湊將會是完全相同的);
˙在該動作的記錄中包含該中間的雜湊;
˙產生一最後的雜湊,其將會對照該動作來儲存,並且使用作為下一個記錄的部分;以及
˙對照讓渡人的ID或是Tereon號碼來關聯該些被轉移的雜湊、或是所 產生的中間的雜湊的每一個與利用該零知識證明的協定。
如同將會在以下加以解說的,Tereon可以提供ACID保證及即時的對話交易、以及此所需的處理速度。再者,區塊鏈的盛行已經意味著在此領域內的開發尚未被考量。
一旦一交易已經完成後,該區塊鏈只能夠雜湊該交易的一記錄。並沒有保證被傳遞至該區塊鏈的記錄實際上是該交易本身的真正的記錄。該區塊鏈係在此方式上受到限制,因為其基礎的雜湊結構係被設計用於資料的靜態收集,而非動態即時的交易,而且其係依賴其操作者的大多數都是誠實動作的。該區塊鏈本身另呈現一進一步的限制在於其只能夠提供最終的一致性;並非是藉由交易的依時間前後排列的順序所判斷的ACID一致性,而是藉由那些交易被納入到區塊中的順序、以及在兩個或多個區塊包含多少有些同時發現的稍微不同的交易集時,藉由共識模型來管理在該區塊鏈中的分叉。
圖5是描繪一雜湊鏈的樹枝狀本質,其係牽涉到四個帳戶502、504、506及508。該些帳戶可以是在相同的伺服器上、或者它們可以是在分開的伺服器上。每一個系統可以支援一或多個伺服器,並且每一個伺服器可以支援一或多個帳戶。該些帳戶所在之處是無關的。圖5亦描繪五個發生在成對的帳戶之間的交易。有兩個交易發生在帳戶502及504之間,兩個交易發生在帳戶502及506之間,並且一交易係發生在帳戶506及508之間。在該圖中,每一方塊是一個步驟,其係有關於在該行的頂端的帳戶。每一個步驟係牽涉到一看不見的動作或交易,例如是一在該帳戶內的搜尋、或是一在該帳戶與另一看不見的帳戶或一系統之間的交易。那些交 易或動作是什麼係無關的。重要的是它們牽涉到一Tereon系統記錄在其稽核中的某些事。
在步驟510,該Tereon系統係執行h(502),亦即用於此帳戶的先前的雜湊。如上所論述,該第一雜湊是一利用該伺服器的簽章、Tereon產生該雜湊的日期及時間、以及若必要時的一隨機數之隨機的雜湊。Tereon係將此雜湊加到該用於發生在步驟510的交易或動作的記錄,並且接著使用此作為計算h(512)(用於此交易的雜湊)的種子。在此階段的記錄係包含h(502)以及h(512)。
在步驟512,該系統係和保持該帳戶504的伺服器交換該雜湊h(510)。其係將該雜湊h(504)(用於帳戶504的此交易的雜湊)加到該記錄,產生一中間的雜湊h(512i),將此加到其記錄,並且接著為了來自帳戶504的中間的雜湊h(514i)(如以下所解說的產生在步驟514)而交換此。其接著係將此雜湊加到其記錄,並且產生該雜湊h(512)。
此雜湊h(512)現在係包含驗證針對於帳戶502到達步驟512、以及針對於帳戶504到達步驟514的中間的階段的該鏈的雜湊的資訊。該記錄係包含h(510)、h(512i)、h(514i)、h(504)、以及h(512)。
在步驟514,該系統係和保持該帳戶502的伺服器交換該雜湊h(504)。其係將來自帳戶502的雜湊h(510)加到該記錄,產生一中間的雜湊h(514i),將此加到其記錄,並且接著交換此與來自帳戶502的中間的雜湊h(512i)。其接著係將此雜湊加到其記錄,並且產生該雜湊h(514)。
此鏈現在係包含驗證在帳戶502中到達步驟512以及針對於帳戶504到達步驟514的該鏈的雜湊的資訊。
此程序係針對於在帳戶502、504、506及508之間的進一步的交易來加以實行,以便於用和在以上所展示的確切相同的方式來對於每一個交易產生雜湊。例如,在步驟534,該系統係執行h(528),亦即在步驟528針對於帳戶502所產生的先前的雜湊,將此加到用於導致一稽核記錄的(看不見的)交易或動作的記錄,並且產生h(534),亦即用於此交易的雜湊。此鏈現在係包含驗證在帳戶502中到達步驟534、針對於帳戶504到達步驟526、針對於帳戶506到達步驟530、以及針對於帳戶508到達在步驟530被用來產生h(530)的來自帳戶508的中間的雜湊的該鏈的雜湊的資訊。該記錄係包含h(534)以及h(528)。Tereon係在步驟528從一包含h(530i)的記錄產生該雜湊h(528),該h(530i)本身則是在步驟530從h(524)產生的。該雜湊h(524)係包含驗證帳戶508到達在步驟524被用來產生h(524)的來自帳戶508的中間的雜湊的資訊。
核對
若一詐騙者已經改變先前的交易的記錄,則為了確保一交易無法發生,首先核對可以在最後'N'個交易上加以執行。因此,例如在Tereon實行藉由步驟522所表示的交易之前,其首先可以針對於步驟516重新計算該些雜湊,並且或許針對於步驟512等等、到達針對於帳戶502的前面'N'個交易重新計算該些雜湊。該稽核追蹤將會有充分的資訊來重新計算針對於該些交易的最後的雜湊值。同樣地,保持該帳戶504的系統可以針對於步驟526、步驟520…等等來重新計算該些雜湊。對於該步驟522的交易而言,Tereon並不需要針對於帳戶506重新計算任何的雜湊。
在一雜湊鏈中,若所記錄的雜湊的任一個並不相符該些重新 計算出的雜湊,則此係表示一記錄已經在無授權下被改變,並且該操作者可以立即調查該問題、或是阻擋進一步的交易。
系統雜湊鏈
一系統雜湊亦可以被加到每一個記錄。此將會是該記錄的一雜湊,其中該種子將會是在該系統上的先前的動作的雜湊,而不論該動作是否有關於正被雜湊的該記錄所屬的帳戶。若該系統雜湊係被加入,則在每一個帳戶之內的一雜湊鏈、以及整體來看的該系統的一雜湊鏈係被提供。
圖6是描繪牽涉到在相同的系統上的兩個帳戶602及604的一雜湊鏈的樹枝狀本質,記錄所有的系統事件的該系統的'系統帳戶'是606。該系統係對於產生一記錄的每一個動作產生一記錄的一個新的雜湊,而不論該記錄存在於何處。這些是系統雜湊h(606)、h(608)、h(612)等等。
管理的功能亦產生記錄,該系統係指定該些記錄至該些管理的帳戶,而不論那些功能是否牽涉到人為輸入、或者它們是否為自動化的功能。
在步驟608,Tereon係產生在帳戶602中的觸發該系統的稽核記錄中的一輸入的一看不見的動作或交易的記錄的一雜湊(用於帳戶602的記錄係包含該雜湊h(602),亦即針對於該帳戶的先前的記錄雜湊),並且為了該新的系統雜湊h(608)而使用h(606)。該系統接著對照用於該交易的記錄來記錄此雜湊,並且在步驟610針對於帳戶602來計算該雜湊h(610)。
若該系統的計算效能容許,則其可以針對於該些系統雜湊利用一較強的變化,其係鏡射帳戶雜湊的操作。
在步驟610,Tereon係與該系統帳戶606交換該雜湊h(602) 以及該雜湊h(606)。其係將來自該系統帳戶606的雜湊h(606)加到其記錄,並且產生一中間的雜湊h(610i)。其係在其已經完成在帳戶602中的觸發該系統的稽核記錄中的一輸入的該看不見的動作或交易之後產生此,並且將該雜湊加到其記錄。Tereon接著係交換此中間的雜湊與該中間的系統雜湊h(608i)。其接著係將此及h(608)加到其記錄,並且產生一新的帳戶雜湊h(610)。
在步驟612,Tereon係與帳戶602及604交換在步驟608產生的雜湊h(608)。其係將在步驟610產生的h(610)及h(604)加到其記錄,並且產生一中間的雜湊h(612i)。其係和帳戶602及604交換此與其中間的帳戶系統雜湊h(614si)及h(616si),並且中間的雜湊h(614i)係對應於帳戶602,而h(616i)係對應於帳戶604。其接著係產生一新的系統雜湊h(612)。該系統接著記錄此雜湊。
在步驟614,Tereon係與該系統帳戶606交換在步驟610產生的雜湊h(610)。其係將在步驟608產生的來自該系統帳戶606的雜湊h(608)加到其記錄,產生一中間的帳戶系統雜湊h(614si)。其係在其已經和帳戶604完成該交易(以及交換該些中間的交易雜湊h(614i)及h(616i))之後產生此雜湊,將其加到其記錄,並且接著交換此與該中間的系統雜湊h(612i)。其接著係將此以及h(608)加到其記錄,並且產生該帳戶雜湊h(614)。
在步驟616,Tereon係與該系統帳戶606交換該雜湊h(604)。其係將來自該系統帳戶的雜湊h(608)加到其記錄,產生一中間的帳戶系統雜湊h(616si)。其係在其已經和帳戶602完成該交易(以及交換該些中間的交易雜湊h(614i)及h(616i))之後產生此,將該雜湊加到其記錄,並且接著係交換 此與該中間的系統雜湊h(612i)。其接著係將此以及h(608)加到其記錄,並且產生該帳戶雜湊h(616)。
在步驟612,一選項是讓該系統傳送該中間的系統雜湊h(614si)至帳戶604,並且傳送該中間的系統雜湊h(616si)至帳戶602。此將會是表示針對於那些帳戶的最後的記錄雜湊h(614)及h(616)將會包含該三個中間的系統雜湊h(614si)、h(614si)及h(612i)的記錄,並且因此提供一層額外的確定性。
該系統雜湊鏈現在係包含每一個別的交易的兩邊、以及整體來看的該些交易的雜湊,因此其係非常強化該雜湊鏈。
若Tereon係管理在一不同的系統上的帳戶之間的一交易,則該程序係如同在那些系統的每一個上的步驟608及610。
許可伺服器的雜湊
在以上的該些雜湊係有關於那些產生在個別的Tereon系統上以及在系統之間的雜湊。由於這些系統係和彼此互動,因此它們最終將會加入該雜湊樹,該雜湊樹係包含將會驗證在所有那些系統上的交易的資訊。然而,此將只會以這些系統和彼此互動的速率成長。該系統甚至可以前進一步並且建構另一層,其將會確保每一個伺服器都將會立即加入該全域的雜湊樹。此係將該雜湊鏈與該區塊鏈完全地區隔開。
在一區塊鏈操作者係設置一私有區塊鏈的情形中,則該區塊鏈係與所有其它的區塊鏈隔離地操作。其在整體處理速度上所獲得的,反而損失在其原本所提供的任何安全性上,因為使用者無法依賴大網路的區塊鏈來驗證一交易。該區塊鏈對於安全性的主張中之一是攻擊者將會需要 入侵一些區塊鏈網路的節點以危害其安全性(入侵介於25-33%左右之間的節點可能是足以危害該區塊鏈)。按照定義,單一私有區塊鏈係降低該數量至1。
在該雜湊鏈之下,即使一私有Tereon伺服器或網路都可以受益於藉由該公開Tereon伺服器及網路所產生的雜湊鏈。操作一私有Tereon伺服器或網路並不表示操作者必須在該Tereon系統的認證強度上做妥協,因為該系統仍然會是全域的雜湊鏈的一構件。單純是其交易(除了那些有關於該許可伺服器的交易以外)將會保持完全是該系統私有的。
為了達成此,每一個伺服器都必須和該許可伺服器互動,而不論其是否與其它Tereon伺服器互動。若一Tereon伺服器係操作在一閉迴路的系統中,並且接著只有若該迴路係包括超過一伺服器,則其將只會和在該迴路之內的其它Tereon伺服器互動。
藉由加上一許可伺服器雜湊,每一個伺服器在一旦其係與該許可伺服器互動(其每天都必須如此做)之後,都將會加入該全域的伺服器雜湊鏈。該些許可伺服器雜湊係實質藉由在一Tereon伺服器與該許可伺服器之間的一個兩方的交易所產生的。除了實際狀況是針對於每一個伺服器的系統雜湊現在亦將會包含從該些許可伺服器雜湊導出的資訊,並且反之亦然以外,該許可伺服器交易並不影響任何在Tereon伺服器之間的基礎的資料交易。
圖7是描繪該些許可雜湊的樹枝狀本質。在此簡單例中,系統伺服器702是一閉迴路系統,而系統伺服器704及706將會與其互連。所有三個系統伺服器都必須週期性地和該許可伺服器708互動。
在其與該許可伺服器708的最早的訊問上,每一個伺服器係從其公開密鑰、該伺服器最早變成被授權的日期及時間、以及一隨機的資料集來產生其第一雜湊。
在步驟710,Tereon係使用其雜湊h(708),以產生一中間的許可雜湊h(710i),將此加到其記錄,並且交換其與來自伺服器702的中間的系統雜湊h(712i)。其接著係將此雜湊加到其記錄,並且接著產生該許可雜湊h(710),其係將該許可雜湊h(710)加到其記錄。
在步驟712,Tereon係使用其雜湊h(702),以產生一中間的系統雜湊h(712i),將此加到其記錄,並且交換其與來自該許可伺服器708的中間的許可雜湊h(710i)。其接著係將此雜湊加到其記錄,並且產生該系統雜湊h(712),其係將該系統雜湊h(712)加到其記錄。
在步驟714,Tereon係使用在步驟710產生的其雜湊h(710),以產生一中間的許可雜湊h(714i),將此加到其記錄,並且交換其與來自伺服器704的中間的系統雜湊h(716i)。其接著係將此雜湊加到其記錄,並且產生該許可雜湊h(714),其係將該許可雜湊h(714)加到其記錄。
在步驟716,Tereon係使用其雜湊h(704),以產生一中間的系統雜湊h(716i),將此加到其記錄,並且交換其與來自該許可伺服器708的中間的許可雜湊h(714i)。其接著係將此雜湊加到其記錄,並且產生該系統雜湊h(716),其係將該系統雜湊h(716)加到其記錄。
在步驟718,Tereon係產生一中間的許可雜湊h(718i),將此加到其記錄,並且交換其與來自伺服器706的中間的系統雜湊h(720i)。其接著係將此雜湊加到其記錄,並且產生該許可雜湊h(718),其係將該許可雜湊 h(718)加到其記錄。
在步驟720,Tereon係使用其雜湊h(706),以產生一中間的系統雜湊h(720i),將此加到其記錄,並且交換其與來自該許可伺服器708的中間的許可雜湊h(718i)。其接著係將此雜湊加到其記錄,並且產生該系統雜湊h(720),其係將該系統雜湊h(720)加到其記錄。
這三個許可伺服器至Tereon伺服器的交易已經產生以下的結果:
˙在步驟712產生的雜湊h(712)係包含驗證以下的狀態的資訊:˙該許可伺服器708到達該中間的雜湊h(710i)的雜湊鏈;以及˙伺服器702到達該雜湊h(712)的雜湊鏈。
˙在步驟716產生的雜湊h(716)係包含驗證以下的狀態的資訊:˙該許可伺服器708到達該中間的雜湊h(714i)的雜湊鏈;˙伺服器702到達該中間的雜湊h(k702i i)的雜湊鏈;以及˙伺服器704到達該雜湊h(716)的雜湊鏈。
˙在步驟720產生的雜湊h(720)係包含驗證以下的狀態的資訊:˙該許可伺服器708到達該中間的雜湊h(718i)的雜湊鏈;˙伺服器702到達該中間的雜湊h(k702i i)的雜湊鏈;˙伺服器704到達該中間的雜湊h(716i)的雜湊鏈;以及˙伺服器706到達該雜湊h(720)的雜湊鏈。
˙在步驟718產生的雜湊h(718)係包含驗證以下的狀態的資訊:˙該許可伺服器708到達該雜湊h(718)的雜湊鏈;˙伺服器702到達該中間的雜湊h(k702i i)的雜湊鏈; ˙伺服器704到達該雜湊h(k704 i)的雜湊鏈;以及˙伺服器706到達該雜湊h(720)的雜湊鏈。
因此,該些許可及系統雜湊係包含使得它們能夠驗證在該網路中的每一個伺服器上的交易的資訊,而不論那些伺服器是否互連的、或是否運作為一閉迴路。
Tereon可以實施一類似於該查找目錄服務的層,其將會以一種類似於藉由該許可服務所產生的雜湊鏈的方式運作。
離線的交易
利用此方法,離線的交易現在可以具有和線上的交易相同的有效性,因為在裝置與其伺服器之間具有持續不斷的通訊鏈路的必要性係被除去。因此,例如是感測器、可攜式付款終端…等等的裝置可以在本身之間通訊,並且接著以預設的間隔來和其伺服器連線以下載及上傳資料。該系統將會在連線以及未連線的環境之間不間斷地運作。
該雜湊鏈係容許該些裝置能夠在它們無法和其個別的伺服器通訊時驗證及稽核在本身之間的交易,其係使用商業規則來決定它們是否可以從事離線的交易。該些裝置在它們再度連線至其伺服器時,將會只是和那些伺服器核對那些稽核及交易記錄。
圖8是描繪一雜湊鏈的一個例子,其係牽涉到暫時變成為與其個別的Tereon伺服器離線的四個裝置。這些裝置中的三個802、804及806是可見的(第四個裝置808係在步驟828與該鏈互動的)。
為了支援在裝置之間的離線的交易,該些裝置本身將會產生它們所參與的每一個交易的一雜湊。當該裝置回到線上並且和其伺服器通 訊時,該裝置將會傳送針對於該交易的雜湊至其伺服器。
在其中起始一交易的裝置是離線的情形中,其將會針對於其交易產生一雜湊,並且儲存該雜湊。其亦將會傳送該雜湊至其相對方的裝置(與其正在交易的裝置),並且該相對方裝置將會傳送其雜湊至該第一裝置。此係用和上述的雜湊鏈相同的方式來加以達成。該些裝置可以在它們本身之間經由任何雙向的通道(例如,藍芽、NFC、本地的Wi-Fi…等等)來通訊。它們甚至可以對於每一個交易階段公開條碼在其螢幕上,以供其他人讀取。每一個裝置亦將會傳送其交易記錄的一經簽章的加密的複製至該另一裝置,其中該簽章亦將會包含針對於該記錄的目的地伺服器。只有該目的地伺服器才會能夠解密該記錄。
一旦一裝置重新獲得和其Tereon伺服器的通訊,該裝置將會傳送其離線的交易以及其相關的雜湊的加密的記錄至該伺服器。其亦將會傳送其所保持的其它交易(例如,來自其相對方的記錄)的複製給該伺服器,並且該伺服器接著將會發送那些記錄以及其相關的雜湊至那些相對方的裝置所註冊的伺服器。每一個裝置將會產生其本身的獨特的內部交易號碼(例如是藉由一單調計數器所產生的一交易號碼),該交易號碼將會識別其在一交易中的部分。若該交易是在線上的,則該裝置所連線的伺服器亦將會產生一獨特的交易號碼,而該裝置以及伺服器都將會使用該交易號碼。
裝置可以結合其唯一的內部的交易號碼與時間及日期戳記、有關該些裝置時脈歪斜的資訊、以及其它資訊,以保存每一個交易的因果關係。當其個別的伺服器接收該交易資訊時,它們將會能夠重建該交易的順序,並且因而保存對於所有裝置的線上及離線的交易之因果關係。
回到圖8,在步驟812,該裝置802係雜湊包含雜湊h(802)的交易的記錄、先前的記錄雜湊、以及來自伺服器810的雜湊h(810)以產生h(812)。其接著係將此雜湊傳遞至伺服器810,在其中該雜湊係形成在步驟814被用來計算h(814)的記錄的部分。該裝置802在此時點是在線上的,此表示其係連線至其Tereon伺服器810。在步驟814,Tereon係使用h(810),亦即針對於伺服器810的先前的雜湊,將此以及h(812)加到該記錄,並且接著計算h(814)。該記錄係包含h(810)、h(812)、以及h(814)。
如上所述,若該操作者已經配置Tereon以包含該系統雜湊,則其將會在其計算該雜湊h(814)之前,先將此加到該記錄。該記錄於是將會包含h(812)、h(810)、該中間的系統雜湊(若相關的話)、以及h(814)。
在步驟816,該裝置802現在是離線的,因為其無法連線至該伺服器810。其係與裝置804交易,該裝置804亦與其個別的Tereon伺服器離線的。裝置802及804係依照在以上概述的雜湊程序,以從裝置802產生一中間的雜湊h(816)、從裝置804產生一中間的雜湊h(818)、從裝置802產生該雜湊h(816)、以及在步驟818從裝置804產生該雜湊h(818)。裝置802及804現在係利用其離線的公開密鑰來簽章其雜湊,並且和針對於該交易的記錄的一加密的複製一起傳遞此至該其它裝置。這是裝置802從其失去與伺服器810的聯繫後的第一個離線的交易、以及裝置804從其失去與其伺服器的聯繫後的第一個離線的交易。該管理者可以配置該系統,使得該應用程式將會傳輸高達其最近的n個交易至每一個與其離線交易的唯一的裝置。
此程序係針對於在該鏈中介於裝置802與裝置804之間以及 介於裝置804與裝置806之間的進一步的交易來加以重複。在這些交易中,裝置802及804並不需要交換其針對於先前的交易的雜湊及記錄,因為它們分別已經擁有一複製。
裝置802將會繼續以此方式運作,直到其在步驟830與其伺服器810重新建立聯繫為止。裝置802現在係上傳其離線的交易以及其相關的雜湊之加密的記錄的全部,在此例子中是分別在步驟816、822及826所產生的h(816)、h(822)、以及h(826)。其亦上傳其針對於裝置804、806及808所保持的加密的交易記錄及雜湊。該伺服器係儲存這些,並且將其分別上傳至對應於裝置804、806及808的伺服器。伺服器810係將此上載註冊為一交易,並且在步驟832產生該雜湊h(832)。裝置802係清除來自裝置804、806及808的雜湊的其記錄、以及該些個別的交易記錄,並且在步驟830產生該雜湊h(830)。
裝置802係保持針對於在裝置806及808之間的交易的雜湊以及加密的記錄,此係導致在步驟820的雜湊h(820)以及h(808)。在此例子中,h(808)係被用來參照裝置808在此針對於該交易所產生的雜湊,因為有多少個離線的交易已經發生是未知的。
該伺服器810將會核對其從裝置802接收的離線的記錄、以及其從裝置804、806及808、以及任何其它包含那些交易的伺服器接收的那些記錄。伺服器810將會知道其將會從哪些伺服器接收記錄,因為這些伺服器將會對應於其針對牽涉到裝置802的交易的記錄所傳送到的伺服器。裝置802將不會預期從裝置808接收記錄,因為裝置802並未與裝置808交易。若裝置804或806與附接至其它伺服器的離線的裝置交易,則伺 服器810可以從那些其它伺服器接收額外的記錄。
該伺服器810將會使用在該些交易記錄上的時間及日期戳記以及該些簽章以排序及編號那些交易,並且將它們標記為離線的交易。
該離線的模式係提出數種變化。第一種是在無中間的離線的雜湊下做成的,並且單純地使用每一個裝置的先前的交易的雜湊。儘管其失去一層確定性,但此亦仍將會良好地作用。第二種是只針對於離線的交易產生裝置雜湊。此係稍微簡化線上的交易,但是同樣失去一層確定性。第三種變化並不是利用一特定的離線的公開密鑰來簽章用於離線的交易的記錄,而是單純地利用該裝置的密鑰來簽章每一個記錄。該伺服器以及該裝置都將會知道哪些交易是線上的以及哪些是離線的,因為這些將會被記錄在該帳戶的稽核追蹤中。然而,藉由針對於該裝置執行一個別的密鑰以及交易號碼的系列,顯示離線的交易相對於線上的交易變成是不重要的。
一第四種變化是對於每一個伺服器而言,當其從其連線的裝置接收離線的交易的記錄時,通知那些記錄所施加至的所有伺服器,以預期來自那些伺服器的記錄。例如,在圖8所示的離線的圖中,假設裝置804係在稍後連線至其伺服器,並且裝置806係與另一裝置(未顯示)交易。一旦裝置804係和其伺服器連線後,該伺服器將會傳送有關於裝置802的記錄至伺服器810。裝置804並未與任何其它裝置離線的交易,因而未保持針對於任何其它裝置的離線的記錄。在另一方面,伺服器810係傳送其針對於裝置804的記錄至對應於裝置804的伺服器,並且通知該伺服器其可以預期從裝置806接收相同的記錄的複製(裝置802係在該交易期間,在步驟826及828傳遞這些至裝置806)。同樣地,一旦裝置806係連線至其伺服器,該伺 服器將會傳送其針對於裝置802的記錄至伺服器810、針對於裝置804的記錄至對應於裝置804的伺服器、針對於裝置808的記錄至對應於裝置808的伺服器、以及針對於該其它裝置的記錄至其個別的伺服器。其亦將會通知對應於裝置802的伺服器(伺服器810)以及裝置804的伺服器,以預期來自對應於該其它裝置的伺服器的記錄。
利用一雜湊鏈並不會在Tereon上施加不斷增加的負擔。一動作很少會牽涉到超過兩方,並且在其確實牽涉到超過兩方的情形中,則該動作通常將會是一種一至多個的轉帳,其本身將會單純地是一對一的轉帳的一集合。一種多對一的轉帳亦通常將會是一系列的一對一的轉帳,其單純是兩方的動作的一集合。
修改記錄
若一使用者修改一記錄,則Tereon將不會覆寫原始的記錄。而是,Tereon將會單純地產生一包含該被修改的記錄之新的記錄,並且此將會是Tereon所參照的版本,直到該記錄再次被修改的此種時點為止;該修改是一動作。這是所有的金融及交易記錄將會發生者,其中一交易(例如一付款)的結果係有效地修改先前的交易的結果;其亦將會發生在其中一操作者使用Tereon的一子集合以管理其它的記錄類型,例如是電子郵件、醫療記錄…等等的情形中。藉由如此做之下,Tereon將會保存一記錄的每一個版本的一複製。
可能有情況是其中一法院或是法律的一般的操作需要一操作者來完全地抹去一記錄、或是修改原始的記錄。在這些情況中,Tereon將會刪除或是修改原始的記錄的內容、以及可能的相關的記錄的內容。 Tereon可以在不使得後續的雜湊無效之下達成此。
若Tereon必須刪除或是修改一歷史記錄,則其將會:
˙重新產生該記錄的雜湊以確認在Tereon刪除或是修改該記錄之前,該記錄未曾被修改或是改變,並且記錄該重新產生的雜湊
˙在該原始的記錄中的一新的欄位中記錄該記錄被刪除或是修改的內容、以及該刪除或是修改的原因
˙刪除或是修改在該記錄中的相關的欄位,並且增加該刪除或是修改的日期及時間
˙針對於該記錄產生一新的雜湊;以及
˙記錄該新的雜湊。
藉由按照此程序,Tereon將不需要以任何方式來修改該雜湊鏈。所有針對於有效的記錄的先前從被刪除或是修改的記錄的原始的雜湊所產生的雜湊都將會保持有效的。該系統雜湊將會包含該被刪除或是修改的記錄的新的雜湊,因為該刪除或是修改是一動作。以此種方式,欺騙性的活動可以輕易地藉由找出任何所記錄的雜湊並不相符該些重新計算出的雜湊而被辨識出。
具有零知識證明的雜湊鏈
該雜湊鏈係提供一添加層,其係致能一交易的兩邊能夠證明給對方它們已經雜湊該些雜湊相關的記錄。此係藉由在該雜湊鏈之內包含一密鑰交換演算法來加以完成,此係容許一方能夠證明給一第二方(檢驗者)該記錄的雜湊是該記錄的真實雜湊。
任何容許兩方能夠協商一共同的密鑰的演算法都可被利用 於此,因而沒有必要使用一零知識證明。然而,利用零知識證明的PAKE(密碼認證的密鑰交換)演算法是在此使用最有效率的。在中間的階段利用正確的PAKE協定以及零知識證明係除去交換雜湊的必要性,因為每一方都將會產生相同的中間的雜湊。
在一種容許兩邊能夠利用該零知識證明來產生相同的雜湊的演算法(例如是一PAKE演算法)之下,每一方都可以更進一步。藉由利用一可包含及使用構成該交易的資訊以產生'證明'的零知識證明,每一方都可以產生一相同的中間的雜湊。此係除去與彼此交換其中間的雜湊的必要性。其亦表示產生該記錄的步驟、以及由那些步驟所引起的資訊或結果係變成該雜湊鏈程序的構件。若牽涉到超過兩方,則Tereon可以使用一協定以及零知識證明的一種群組的變化來使得該每一方都能夠產生一共同的雜湊。
致能每一方以產生相同的雜湊的PAKE演算法在它們可以產生該中間的雜湊之前,通常將會在每一方之間進行兩次或是三次的資訊傳遞。若一交易只需要兩個階段來完成(例如,一請求以及一接受/驗證),則每一方將只會產生一中間的雜湊。若一交易需要三個階段,並且該演算法係以兩次傳遞來產生一雜湊,則每一方將會交換四個資訊集,其係重複該第三階段兩次,並且產生兩個雜湊,該第一雜湊是在該交易中的前兩個步驟之後,接著該第二雜湊是在該第三步驟的重複之後。
此種零知識證明的一個例子是該Schnorr NIZK證明。如同在用於該Schnorr NIZK證明的規格文件中所示,此零知識證明可以單純地藉由對於被傳送作為該證明的部分的資訊、以及被用來產生該雜湊(其係該證 明的部分)的資訊加上額外的資訊來加以延伸。
另一種例如是調適在該SPEKE(簡單密碼指數密鑰交換)協定中產生該共同的密鑰的方法之方法亦可被利用,並且在給定以上的內容下,達成此的方式是不重要的。
延伸密鑰交換協定以使得每一方能夠根據該交易資料來產生一共同的密鑰也是一不重要的運用。同樣地,這些單純是為了簡潔之目的,而未在此加以描繪。
為了產生該共同的雜湊,每一方單純是產生該共同的密鑰的一雜湊。該雜湊將會包含可以驗證該交易資訊的資訊,因為該資訊是在產生該共同的密鑰以及因此該雜湊的程序中被使用。
以兩個階段的交易
一描繪此是如何作動的例子將會再次參照到圖5,圖5係描繪一雜湊鏈的牽涉到四個帳戶502、504、506及508的樹枝狀本質。該些帳戶可以是在相同的系統上、或者它們可以是在分開的系統上。該些帳戶所在之處係無關的。在步驟512及514的此交易係採用兩個階段。
兩次傳遞的FAKE
在步驟512的第一傳遞中,帳戶502係執行h(510),亦即在步驟510針對於此帳戶產生的先前的雜湊,將此加到交易的資訊的第一階段,建構該第一零知識證明,並且傳遞此至帳戶504。該零知識證明係伴隨著構成該交易的資訊的第一階段以及該雜湊h(510)的資訊。
在該第二傳遞中,帳戶504係執行h(504),亦即針對於該帳戶的先前的雜湊,將此加到交易的資訊的第二階段,建構該第二零知識證 明,並且傳遞此至帳戶502。該第二零知識證明係伴隨著構成該交易的資訊的第二階段以及該雜湊h(504)的資訊。
帳戶502及504現在是獨立地建構該雜湊h(512i514i),其係為針對於兩個帳戶的中間的雜湊。帳戶502及504都將此雜湊加到其記錄。帳戶502係在步驟512產生該交易的其記錄的雜湊h(512),並且帳戶504係在步驟514產生該交易的其記錄的雜湊h(514)。
三次傳遞的RAKE
在此例子中,在步驟512及514的交易係採用兩個階段,其中一PAKE演算法係容許每一方能夠在三次傳遞之後建構一共同的雜湊。
該第一傳遞以及該第二傳遞係如上所述地加以執行。在一第三傳遞中,帳戶502係取得帳戶504在該第二傳遞中所傳送的資訊,利用該資訊來建構該第三零知識證明,並且傳送此至帳戶504。該第三零知識證明亦伴隨著構成該交易的資訊的第二階段以及該雜湊h(504)的資訊。
帳戶502及504現在是獨立地建構該雜湊h(512i514i)。帳戶502及504都將此雜湊加到其記錄。如同在該兩次傳遞的PAKE方法中,帳戶502係在步驟512產生該交易的其記錄的雜湊h(512),並且帳戶504係在步驟514產生該交易的其記錄的雜湊h(514)。
在兩種情形中,該鏈現在係包含驗證在帳戶502中到達步驟512、以及針對於帳戶504到達步驟514的該鏈的雜湊的資訊。帳戶502及504都保存該中間的雜湊h(512i514i)、以及針對於其記錄的其雜湊。然而,在此的中間的雜湊係些微不同於在先前並未使用零知識證明的例子中,在該些系統之間交換的中間的雜湊。在此的中間的雜湊是在帳戶502及504 之間的交易的雜湊,並且因此是帳戶502及504兩者共同的。該雜湊是該交易的雜湊,並且是被產生作為該交易的部分。其係與該交易同時期的。雜湊h(512)是帳戶502的該交易的其記錄的雜湊,其將會包含其私有的資訊,而帳戶504的雜湊h(514)是該交易的其記錄的其雜湊。因此,帳戶502及504可以證明在它們之間的交易中的實際的步驟、以及該交易的它們的記錄。
以三個階段的交易
利用圖5作為另一例子的是,假設在步驟528及530的交易係牽涉到三個個別的階段,而不是兩個階段。
兩次傳遞的PAKE
在該第一次傳遞中,帳戶502係執行h(522),亦即在步驟522針對於此帳戶產生的先前的雜湊,將此加到交易的資訊的第一階段,建構該第一零知識證明,並且傳遞此至帳戶506。該零知識證明係伴隨著構成該交易的資訊的第一階段以及該雜湊h(522)的資訊。
在該第二次傳遞中,帳戶506係執行h(524),亦即在步驟524針對於該帳戶產生的先前的雜湊,將此加到交易的資訊的第二階段,建構該第二零知識證明,並且傳遞此至帳戶502。該第二零知識證明係伴隨著構成該交易的資訊的第二階段以及該雜湊h(524)的資訊。
帳戶502及506現在可以獨立地建構該雜湊h(528i530i),因為該PAKE演算法係容許每一方能夠在兩次傳遞之後建構一共同的雜湊。然而,該交易仍然有一第三階段來執行。
在此例子中,該系統單純地利用該PAKE演算法來執行通過一第二組傳遞,其係開始於該交易的第三階段。此第二組的傳遞的第二次 傳遞可以單純地使用隨機資料。或者是,其可以重複上一個階段,此係類似於利用在一個兩階段的交易下的一種三次傳遞的PAKE。
在後者的情形中,一第三次傳遞(該新的PAKE演算法的第一次傳遞)係被執行,其中帳戶502係執行h(528i530i),其已經加以簽章的,將此加到交易的資訊的第三階段,利用該資訊來建構該第三零知識證明,並且傳送此至帳戶506。一第四次傳遞(新的PAKE演算法的第二次傳遞)係被執行,其中帳戶506係執行h(528i530i),其已經加以簽章的,將此加到帳戶502所傳送的交易的資訊的第三階段,利用該資訊來建構該第四零知識證明,並且傳送此至帳戶502。帳戶502及506現在可以獨立地建構該雜湊h(528i2530i2)。此係在此交易中產生的第二共同的雜湊,並且現在是在帳戶502及506之間的交易的雜湊,因為其係包含該交易的所有三個階段。帳戶502及506都將此雜湊加到其記錄。帳戶502係在步驟528產生該交易的其記錄的雜湊h(528),並且帳戶506係在步驟530產生該交易的其記錄的雜湊h(530)。
此程序係針對於在帳戶502、504、506及508之間的進一步的交易來加以實行,以便於用和在以上展示的完全相同的方式,針對於每一個交易產生雜湊。
三次傳遞的PAKE
該第一次傳遞以及該第二次傳遞係如上所述地加以執行。在該第三次傳遞中,帳戶502係利用構成該交易的資訊的第三階段的資訊來建構該第三零知識證明,並且傳送此至帳戶506。該零知識證明係伴隨著構成該交易的資訊的第三階段的資訊。
帳戶502及506現在係獨立地建構該雜湊h(528i530i)。帳戶502及506都將此雜湊加到其記錄。帳戶502係在步驟528產生該交易的其記錄的雜湊h(528),並且帳戶506係在步驟530產生該交易的其記錄的雜湊h(530)。
在以上有關於圖5的例子中,其中該系統係使用零知識證明以產生中間的雜湊或是交易雜湊,該雜湊h(530)係包含驗證帳戶502至h(528i)的所有雜湊、帳戶504至h(526i)的所有雜湊、帳戶508到達在帳戶506產生h(524)時所產生的該帳戶508的中間或交易的雜湊的所有雜湊、以及帳戶506至h(530)的所有雜湊的資訊。然而,儘管其驗證在其交易網路中的所有雜湊,但是帳戶506只保存針對於其已經和其它帳戶、系統、或是伺服器一起進入其中的交易之交易記錄。其並不知道有關針對於在帳戶502及504之間的交易之交易的記錄的內容,即使其雜湊係包含帳戶502或帳戶504可以使用來驗證針對於那些交易的雜湊的資訊。
重要的是兩方使用來獨立地產生相同的中間的雜湊的演算法係使用每一方交換以使得該交易生效的步驟。因此,產生該記錄的交易係變成該雜湊鏈程序的一構件,並且產生該雜湊鏈項目的程序係與使得該交易生效的程序相同的。另一種看待其的方式是該交易係產生該雜湊以作為該交易的部分,並且該雜湊以及其所附的資訊變成該交易的稽核。它們變成是一體而且相同的。在該區塊鏈之下,一交易的起始者係完成該交易,並且傳送其記錄至區塊鏈以用於之後的稽核,此係增加另一步驟至該程序,而不是被整合在該交易中。
由於該交易本身係變成該雜湊鏈所提供的稽核追蹤的一同 時期的構件,因此要具有一其細節並未被該稽核追蹤捕捉及驗證之交易變成是不可能的。大多數的稽核追蹤是'在該事件之後的',此在於該完成的交易記錄通常是在該交易完成之後才被傳遞至該稽核系統。在那些情況中,有一可能性是該稽核接收到的記錄並非與藉由該交易所產生的記錄相同的。因此,電腦記錄通常是被視為傳聞(hearsay)。整合一零知識證明以及正確的PAKE或類似的協定係表示該稽核追蹤係藉由該交易所產生,因而該交易以及其記錄變成是該稽核追蹤的部分。此係具有深遠的含意於即時的交易,因為它們現在是被稽核並且因此即時地加以報告。
利用零知識證明來建構該雜湊的程序可以應用到在該雜湊鏈中產生雜湊的情節的任一個。其可被利用於系統雜湊、許可伺服器雜湊、以及甚至是藉由圖8所表示的離線的雜湊。重要的是該雜湊係牽涉到在兩個或多個實體之間的一交易,而不論那些實體是否為參與方、裝置、或是系統。該程序也不排除利用標準的雜湊。因此,一種系統可能會針對於在帳戶之間的交易使用利用零知識證明產生的雜湊,而不論裝置是否在線上或是離線的,但是針對於系統雜湊以及許可雜湊使用該些標準的雜湊。一第二種系統可能會針對於所有的雜湊都使用零知識證明,而一第三種系統可能會只使用標準的雜湊。
在多個交易階段下的多次傳遞的PAKE
儘管在以上的例子是如何在需要兩次或三次傳遞的PAKE下使用牽涉到兩個或三個階段的交易以使得一交易的兩邊能夠產生一共同的密鑰,但是該系統並不受限於那些例子。現實是相同的方法將會適用於一種支援牽涉到複數個階段的交易以利用需要不同的複數次傳遞的PAKE 之系統。該系統單純地使用其所需要的不論多少次PAKE的作業,以涵蓋一交易的所有階段。其係重複最後的階段任意次數以產生所需的PAKE傳遞來產生最後的共同的密鑰,並且因而產生該交易雜湊。
利用零知識證明的系統雜湊鏈
回到圖6,一可以使用利用零知識證明所產生的雜湊以及傳統的雜湊之雜湊鏈係被展示。該圖係展示在相同的系統606上的兩個帳戶602及604、以及該些系統雜湊h(606)、h(608)、h(612)…等等。該系統係對於每一個產生一記錄的動作都產生一記錄的一新的雜湊,而不論該記錄係存在於何處。如同在以上所展示的,在該些帳戶之間的交易將會針對於該些帳戶的每一個,使用零知識證明以產生該中間或是交易的雜湊。該系統雜湊將會包括在該系統產生每一個記錄時的該系統的該記錄的雜湊。
假設在步驟614及616的在帳戶602及604之間的交易係牽涉到三個個別的階段,其中一PAKE演算法係容許每一方能夠在三次傳遞之後建構一共同的雜湊。
在該交易的第一步驟中,帳戶602係與該系統帳戶606交換該雜湊h(610)(此係其先前的記錄的雜湊)以及在步驟608產生的系統雜湊h(608)。其係將此系統雜湊以及其雜湊h(610)加到在步驟610產生的交易的資訊的第一階段,建構該第一零知識證明,並且傳遞此至帳戶604。該零知識證明係伴隨著構成該交易的資訊的第一階段的資訊、該雜湊h(610)、以及該雜湊h(608)。
在該交易的第二步驟中,帳戶604係與該系統帳戶交換該雜湊h(604)以及在步驟608產生的系統雜湊h(608)。其係將此系統雜湊以及其 雜湊h(604)(此係其先前的記錄的雜湊)加到交易的資訊的第一階段,建構該第二零知識證明,並且傳遞此至602。該零知識證明係伴隨著構成該交易的資訊的第二階段的資訊、該雜湊h(604)、以及該雜湊h(608)。
在該交易的第三步驟中,系統帳戶606係將h(610)以及h(604)加到其記錄,並且產生一中間的系統雜湊h(612i)。
在該第四步驟中,帳戶602係利用構成該交易的第三階段的資訊來建構該第三零知識證明,並且傳送此至帳戶604。該第三零知識證明係伴隨著構成該交易的資訊的第三階段的資訊。
在該第五步驟中,帳戶602及604係獨立地建構該雜湊h(614i616i)。帳戶602及604都將此雜湊加到其記錄。雜湊h(614i616i)是該交易的雜湊。
在該第六步驟中,帳戶602係與系統帳戶606交換h(614i616i)以及h(612i),將h(612i)加到其記錄,並且在步驟614產生該交易的其記錄的雜湊h(614)。帳戶604係與系統帳戶606交換h(614i616i)以及h(612i),將h(612i)加到其記錄,並且在步驟616產生該交易的其記錄的雜湊h(616),並且系統帳戶606係將h(614i616i)的兩個複製加到其記錄,並且在步驟612產生該新的系統雜湊h(612)。
帳戶602在步驟614的針對於該交易的記錄係包含該雜湊h(610)、該雜湊h(604)、該系統雜湊h(608)、該交易雜湊h(614i616i)、該中間的系統雜湊h(612i)、該交易的資訊的三個階段、該交易的其記錄、該帳戶ID、以及該雜湊h(614)。
帳戶604在步驟616的該交易的記錄係包含該雜湊h(610)、 該雜湊h(604)、該系統雜湊h(608)、該交易雜湊h(614i616i)、該中間的系統雜湊h(612i)、該交易的資訊的三個階段、該交易的其記錄、該帳戶ID、以及該雜湊h(616)。
(帳戶602的該交易的記錄將會是不同於帳戶604的該交易的記錄,因為其係分別在不同的狀態中開始及結束該交易,而且每一個帳戶是一具有不同的帳戶細節及ID的不同的帳戶。)
該系統雜湊h(612)係包含每一個別的交易的兩邊、以及該交易作為一整體的雜湊,因此其係大為強化該雜湊鏈。
若Tereon係管理在一不同的系統上的帳戶之間的一交易,則該程序係稍微不同的,因為每一個系統在此都將會與其管理的帳戶交換其系統雜湊及中間的系統雜湊。否則的話,以上相關於圖6所述的方法是相同的,除了並不是具有帳戶602及604以及系統606,該圖將會展示系統606與相關的帳戶602、以及一第二系統605與相關的帳戶604以外。在該交易將會發生在步驟614及616之下,將會產生的系統雜湊將會代表在步驟612的該系統交易、以及在對應於帳戶604的第二系統605上的等同的交易。實際上,在一種包含數個可以同時交易的帳戶之系統中,該系統將會針對於每一個產生一記錄的互動產生雜湊。
儘管圖6是展示循序的雜湊以及中間的雜湊,但實際上將會是不同的。圖6a係展示三個帳戶602a、604a及606a,其全部都和該系統帳戶608a一起與在外部的伺服器上的帳戶互動。該些交易的階段係交錯的,以描繪當交易在一系統上同時發生時所可能發生的事。為了簡化起見,這些全部都被展示在相同的伺服器上。
在以上的例子中,在步驟612a,帳戶602a將會與該系統608a交換其雜湊h(602a),以得到h(612a)。該系統608a現在將會產生以上的例子所展示成的中間的雜湊h(616ai)。此下標"i"係為了清楚起見而被使用來指出每一個交易將會牽涉到三個系統雜湊,亦即在該交易之前的原始的雜湊、一在一交易的一特定的階段期間的系統雜湊(該中間的雜湊)、以及在該交易的結束時的系統雜湊。該下標"i"係指出該中間的雜湊。在以上的推理之下,最終的系統雜湊將會是h(616a)。在多個同時或是交錯的交易下,此標示並不再使得正在發生的事變得清楚。反而,每一個系統雜湊不論是否在一交易期間或是在一交易之後被產生,其都是一系統雜湊,儘管是在先前的雜湊上的一增量。若三個交易係發生成使得帳戶602a開始,接著帳戶604a開始,帳戶606a開始,帳戶602a結束,並且帳戶606a是在帳戶604a結束之前結束,則雜湊的順序可能看起來像是以下的(假設沒有其它交易或動作在該伺服器上的這些或是任何其它的帳戶上發生),並且該圖因此是些微不同於先前的圖。
帳戶602a將會與該系統交換其雜湊h(610a)以獲得h(612a)。該系統現在係使用該雜湊h(610a)以產生下一個系統雜湊h(616a)(此原本將會被標示h(628ai),因為一旦針對於帳戶602a的交易係完成,雜湊h(628a)是針對於該交易之最後的系統雜湊)。
帳戶604a將會與該系統交換其雜湊h(614a)以獲得h(616a)。該系統現在係使用該雜湊h(614a)以產生下一個系統雜湊h(620a)。
帳戶606a將會與該系統交換其雜湊h(618a)以獲得h(620a)。該系統現在係使用該雜湊h(618a)以產生下一個系統雜湊h(624a)。
一旦帳戶602a已經產生其中間或是交易的雜湊之後,其將會交換該雜湊h(622a)與該系統雜湊h(624a)。該系統現在係使用該雜湊h(622a)以產生下一個系統雜湊h(628a)。
一旦帳戶606a已經產生其中間或是交易的雜湊之後,其將會交換該雜湊h(626a)與該系統雜湊h(628a)。該系統現在係使用該雜湊h(626a)以產生下一個系統雜湊h(632a)。
一旦帳戶604a已經產生其中間或是交易的雜湊之後,其將會交換該雜湊h(630a)與該系統雜湊h(632a)。該系統現在係使用該雜湊h(630a)以產生下一個系統雜湊h(636a)(未顯示)。
該雜湊鏈係致能一系統能夠處理一交易、稽核該交易、以及同時認證藉由交易所傳送或產生的資料。這些步驟現在變成是同時期的。並沒有需要假設一裝置誠實地報告一交易給一稽核系統。該交易係產生該稽核,並且該稽核產生該交易。
此係改變藉由一被程式化的裝置所實行的一交易的本質。任何被程式化的裝置(包含一IoT裝置)現在都可以驗證及依賴在其與任何其它裝置之間傳送的交易及資料,因為該交易以及其稽核及認證是同時期的。
並沒有必要假設一裝置將會傳送該交易的一正確的記錄至一稽核系統,因為該交易以及該稽核是被產生作為相同的程序的部分,並且此同時期的本質係改變該稽核追蹤的證據值的品質。每一個裝置都可以依賴藉由該其它裝置所發送的資訊,而不做出有關於該其它裝置的誠實的假設。所傳送及接收到的資料是被交易的資料、以及被認證及稽核的資料。
當和該查找服務結合時,在之前未曾互動的裝置現在也可以 彼此認證,決定分別執行的服務或功能,並且接著在彼此之間通訊,而且依賴該通訊以載有吾人的如同所程式化的工作,而不需要任何人為的介入來達成此。
該雜湊鏈係容許被程式化的裝置(包含IoT裝置)能夠線上以及離線的運作。若當離線時,該些裝置包含時間戳記、有關該裝置的時脈歪斜的資訊、該裝置的唯一的交易ID(其例如是藉由一內部的單調計數器所產生的)、以及在該交易的資訊中的其它同步資訊,則它們係使得其伺服器能夠在那些伺服器最後從該些裝置或是從第三方伺服器接收該離線的交易的記錄時重建正確的時間軸,其係保存每一個交易的因果關係。在其線上以及離線的模式中的雜湊鏈都容許該些伺服器能夠依賴該交易的記錄的內容。
當和保護裝置間的通訊之通訊安全性模型結合時,該些裝置以及該些伺服器可以用一種不受中間人的攻擊影響的方式來通訊。Tereon係致能IoT以及其它被程式化的裝置能夠安全地通訊,並且依賴在那些裝置之間所傳送的資料。
一個此種例子可以是IoT以及其它被程式化的裝置的一網路,該些裝置係運作為一組產業的感測器以及控制。該安全性模型係容許這些裝置能夠在它們本身之間安全地通訊,並且藉由利用該查找目錄服務,而致能那些裝置能夠在新的裝置被加到原始的集合時,和這些新的裝置互動。Tereon係除去重新組態設定該些裝置來使得它們能夠辨認新的裝置並且信任那些新的裝置的必要性。該雜湊鏈係使得該些裝置能夠信任在它們之間的通訊的內容及時序,並且容許操作者能夠依賴所產生及發送的 資料,而不需要任何關於所發送的資料的真實性之人為的評估。一第三方並無法干擾該資料,該資料的稽核及認證鏈是與其發送同時期的。
當該查找服務和該安全性模型結合時,該查找服務係使得裝置能夠產生它們可以信任及認證之特別的互連線,而無任何對於人為介入的需求。一旦一裝置係被授權而且其細節被加到該查找服務後,其它裝置可以在需要連線發生時連線至該裝置。若該裝置係以任何方式受損的,則所有對於其的存取可以經由該相同的查找服務而被禁能。
該系統係提供由其雜湊鏈以及其查找服務所引發的一額外的益處。由於所有的裝置都是個別地授權及稽核,因此該系統可以在需求發生時,指示特定的裝置來下載對於那些裝置的軟體的更新,該些裝置只能夠從安全的受信任的來源來如此做。該查找服務將會詳記一特定的裝置所提供及使用的服務、介面、以及資料格式(例如)。因此,若一裝置希望連線至另一裝置以存取一特定的服務,但是並不具有支援所需的介面或格式之必要的軟體時,則其或是其所連線的裝置、或是兩個裝置(若必要的話)可以和一系統伺服器通訊,以下載該必要的軟體或是組態設定來致能該兩個裝置能夠和彼此通訊。該些裝置在該裝置間的通訊結束之後是否保存該軟體將會是藉由該一或多個裝置所執行的服務、以及那些裝置的容量來加以決定。該雜湊鏈係表示即使它們移除該軟體(它們可以在它們再次通訊時重新安裝其),該兩個裝置仍然將會保存該裝置間的通訊的一完整的稽核及記錄,若必要的話,它們可以在之後上傳至另一裝置或是伺服器。此設施係延伸至任意類型的裝置,從一完全自主的IoT裝置到如同被程式化的任何其它裝置,例如是一付款裝置。
該雜湊鏈的分散式記錄
為了提供整個雜湊鏈的一分散式複製,該些Tereon系統可以上傳其針對於發生在最後一連線至該伺服器與目前的連線之間的所有交易的雜湊鏈至一中央組的伺服器,例如是該許可伺服器、查找伺服器、或是某一其它組的伺服器。相同的Tereon系統接著可以下載針對於其它Tereon系統之對應的雜湊鏈。此係提供針對於所有的Tereon系統的所有交易的雜湊鏈的一分散式總帳,但是並不具有需要針對於每一個交易重新計算每一個雜湊鏈的負擔。然而,其確實在該些Tereon系統上施加一額外的儲存負擔。該些中央伺服器可以是全域的,例如那些用於該許可及查找伺服器者、或者它們可以是一產業、區域、或是某種其它限制專用的。藉由限制該些雜湊鏈的複製的範圍,此變化的計算及儲存的負擔可被降低。
並非是限制該些中央伺服器的範圍,而是可下載之前藉由其它系統上傳的雜湊鏈的系統可加以限制。因此,來自一銀行的雜湊鏈只能夠藉由另一銀行下載的,此藉由該銀行是否在和該上傳銀行相同的區域中、或者是否已經和該其它銀行交易來加以限制的。類似地,一醫院的系統只能夠下載之前藉由在相同的區域中的一醫院上傳的雜湊鏈。該彈性是不受限制的。
在Tereon中所使用的雜湊鏈係具有一性質是無價的。其係提供本地的總帳,但是具有分散式認證。其係將該交易的資訊保持為在該交易中所牽涉到的使用者及服務所私有的,但是其係將由該些雜湊提供的認證分佈到所有的伺服器、服務、以及裝置。利用零知識證明所產生的雜湊係描繪此。只有在一特定的交易中牽涉到的系統才保存該交易的資訊。 然而,當時和那些系統互動的所有系統及裝置係產生包含有關那些系統的較早雜湊的資訊的雜湊。
該分散式認證是關鍵的,因為其係對於希望隱藏一篡改的記錄之潛在的詐騙者而言提供一計算上不可能的障礙。
在該區塊鏈之下,詐騙者只需要控制介於25到33%之間的伺服器以隱藏一篡改的記錄,並且改變該區塊鏈以將該篡改記錄為一有效的記錄。一旦完成後,該程序實際上是不可能逆轉的。
在該Tereon雜湊鏈之下,詐騙者將會需要控制每一個Tereon伺服器、每一個Tereon服務、以及每一個Tereon裝置,並且重新計算在那些伺服器及裝置的每一個上的鏈中之每一個雜湊。此係計算上不可行的。
該雜湊鏈將會達成至少和該區塊鏈的支持者預測區塊鏈的相同程度的金融節省以及經濟上的效率。差異是該Tereon雜湊鏈係實際能夠達成此;該區塊鏈由於其設計以及在該設計中固有的限制,就是無法達成此。
此系統的優點是詐騙者將會無法在不亦重新計算和一記錄相關的全部的雜湊、以及連結的雜湊下,從一資料庫刪除或修改該記錄。儘管若Tereon係在無任何系統雜湊而且在無任何連線至一許可伺服器下操作在單一伺服器上,此可能在理論上是可行的,而若該些連結的鏈的任一個係牽涉到一交易是其中一方在另一伺服器或裝置上,則該詐騙者亦將會需要重新計算在該另一伺服器或裝置上的所有雜湊。如此做的困難度係隨著每一個在原始的記錄的日期及時間之後與該雜湊鏈互動的額外的伺服器或裝置而呈指數地增高。
該雜湊鏈係使得一組織能夠保證藉由任何裝置所收集、產生、或是管理的資料的真實性,保證一記錄的原始的內容及完整性,以及保證任何之前根據一較早的記錄的交易的完整性及內容。此可以應用至任何裝置或交易,從一付款裝置一直到一醫療裝置、一交通感測器、一天氣感測器、一水流偵測器…等等。
此係具有明確的管理的益處,因為每一個本地的總帳是每一個別的組織的責任,然而它們係以一種提供具有清楚界定的責任及究責之共用的強度的方式,從其它組織的那些總帳得知並且依靠其。該雜湊鏈係產生一種技術的工具,以實施與支援資訊及交易的管理。
再者,當該雜湊鏈被使用作為一付款系統的一構件時,由於Tereon處理法定貨幣,因此其架構係與現今的付款作用的方式一致,並且其係達成等同或是優於像是比特幣的加密貨幣的益處。其係提供一種'比特幣對手'給已建立的付款服務提供者及中央銀行。
該些雜湊鏈是該Tereon系統的一特別令人興奮的部分,因為它們致能非常安全的非常快速的認證。
Tereon的獨特的功能中之一是其產生全面即時的日誌及稽核追蹤的能力。Tereon的交易記錄係包含一交易所需的每一個鍵擊(除了例如是一PIN及密碼的實際的認證憑證以外)、以及有關於該交易的凡是符合法規及商業需求所需的資料及元資料的全部。當那些記錄係橫跨多個服務提供者被儲存時,重要的是使得那些記錄是防篡改的,並且使得到達該討論中的交易以及在其之後的交易的序列是防篡改的。
該區塊鏈並無法如此做。其只能夠在一交易的一記錄已經產 生之後,但是在其被授權之前接受該記錄。該區塊鏈係合生(accrete)一些記錄,產生一區塊,並且接著將其加到該區塊鏈。其係依賴該區塊鏈係包含本身包含有關於所有先前的交易的資訊的區塊之實際狀況。由於該區塊鏈係增加額外的區塊,因此其係依賴這些區塊的存在,以驗證在該區塊鏈之內的該些記錄以及所有先前的記錄。此係隨著檔案大小的成長而造成縮放的問題,而且若有一不一致,則整個分支會喪失認證。
並非是使用該區塊鏈或是其之一衍生物,Tereon的雜湊鏈係使用一雜湊策略,其係在不破壞後續的交易的認證下隔離任何可疑的記錄以用於調查。其亦藉由具有一種被調適用於任何記錄類型,不論是用於靜態記錄或是用於即時的交易的設計來避免該縮放的問題。
該些雜湊(包含該些中間的雜湊)可以提供必要的資訊給一管理者以快速地橫越該雜湊鏈,來確定及驗證雜湊以及其個別的記錄。該些記錄本身同樣也可以如此。
若任何交易或動作發生時,則其係表示先前的雜湊已被核對,並且因此使用者及系統可以信任該新的交易的輸出。因此,Tereon在其實行一交易之前可以信任在每一個帳戶中的累積總計。該雜湊鏈的有效性係確認該些累積總計是正確的。
就是此隔離一經修改、刪除、或是篡改的記錄的影響之能力係使得該雜湊鏈不同於該區塊鏈及其衍生物。根據定義,任何成功地隱藏在該區塊鏈中的經修改或篡改的記錄都將會導致該區塊鏈的整個重新計算。除了藉由整個區塊鏈社群的一民主的決策以外,並沒有方法來偵測及修改一經篡改或是假的記錄,因為每一個區塊鏈都必須加以修改。其係為 由安全性研究者所識別為在該區塊鏈的設計內之一主要的瑕疵的此特點。該設計並無法加以改變。
在該雜湊鏈之下,一篡改的記錄並無法影響該雜湊鏈的其餘部分,除非攻擊者係能夠重新計算所有後續的雜湊。由於在任何篡改之前的雜湊是有效的,而且保持有效的,因此任何根據那些雜湊的交易以及相關於那些雜湊的值都將會保持有效的。
用於離線的交易的樹枝狀雜湊鏈係表示一伺服器可以暫存藉由一離線的裝置所實行的離線的交易,即使該裝置在其可以重新連線至該伺服器之前遺失或是受損也是如此。
該雜湊鏈係提供完整的支援以驗證離線的交易,這係為該區塊鏈及其衍生物就是無法達成之事。運作該區塊鏈的其複製之節點必須是在線上的,以驗證該些區塊。儘管一比特幣錢包可以離線的產生一交易,但是在其變成在線上的並且將該交易的記錄推向該些節點之前,其並無法驗證該交易。即使是在當時,在該些節點中之一贏得競爭以在該區塊鏈中產生下一個區塊並且將該記錄加到該區塊之前,該交易並未被驗證。
目錄服務
例如是運輸系統的現有的系統、例如是EMV(Europay、MasterCard、Visa)的支付網路、以及其它傳統系統係使用一軸輻式架構,使得所有的交易都經過一中央公用設施,此係代表一潛在的單一失敗或易遭攻擊的點,並且縮放是昂貴的。
該Tereon系統是點對點的,其中一伺服器係直接與另一伺服器通訊,這是為何該些用於安全性的雜湊鏈是如此重要的,因為該雜湊 鏈的驗證係橫跨該點對點網路的所有元件而發生的。
如同所論述的,該Tereon系統係具有一目錄服務216,其係為在該系統中的憑證及資訊的一目錄,識別一使用者或是一裝置218係註冊到哪一個伺服器、或是哪一個伺服器係提供一特定的服務或功能,並且致能多個認證一使用者218的方法能夠發生,因為其係儲存有關於一特定的使用者的一些不同類型的憑證。例如,一使用者218可以利用其行動電話號碼、電子郵件位址、地理位置、PAN(主要的帳戶號碼)…等等而被認證,並且快取所有的事情,因而不必每次都認證。
該目錄服務216係提供一抽象層,其係分開使用者的認證ID與基礎的服務、伺服器、以及實際的使用者帳戶。此係提供在一使用者218或是商人可以使用來存取一服務的憑證以及Tereon需要執行該服務本身的資訊之間的抽象化。例如,在一付款服務中,該目錄服務216將會連結一認證ID(例如一行動電話號碼)、以及可能的一貨幣碼與一伺服器位址。絕對不可能判斷該使用者218是否具有一銀行帳戶、或是該使用者218存款在哪個銀行。
該目錄服務216係作用為在各種的服務之間的一中間者,使得服務提供者並不能夠看見彼此,並且因此使用者資料的安全性係被提供。每一個服務都將會定義一組欄位(變數)及值,其係該服務特有的。然而,每一個服務都將會有一識別該服務之特定的欄位及值。
當一交易將與其未知的一方完成時,和一使用者218相關的一Tereon伺服器係傳送一URN(統一資源名稱)至該目錄服務216,該目錄服務216係回傳針對於由該使用者218所請求的一服務的付款服務提供者的 Tereon伺服器之一IP位址。此係容許該交易能夠在一點對點的基礎上,直接在該使用者218與該服務提供者之間加以完成。此外,該Tereon伺服器係將該IP位址保存在快取中,因而任何後續的交易都不需要利用到該目錄服務216。
此抽象化係提供針對於使用者及其服務細節的安全性及隱私性、在不影響公開的使用者憑證下增加及修改基礎的服務之彈性、以及分段及支援多個服務的能力,若需要的話,其中的每一個服務可被保持與其它服務隔離的。在該資料服務中並沒有欄位包含起始一交易所必要的資料,而且除了該使用者的認證ID以外並沒有使用者資料被儲存在該目錄服務216中。
然而,該Tereon目錄服務216並非僅僅於此而已。其係支援多個憑證。因此,一使用者218可以使用任意數量的憑證來作為一付款ID。例子係包含行動電話號碼、PAN、電子郵件位址…等等。只要該憑證是唯一的,Tereon都將會支援其。
該目錄服務216可以支援多個服務。此係一多面的憑證(或是'心靈感應紙(psychic paper)')的概念形成之處。當一服務提供者在該目錄服務216上檢查一憑證時,其只能夠看見該憑證是否針對於其服務而被註冊的、以及服務該憑證的Tereon伺服器。該服務提供者並無法看到該使用者218可能有權得到、或是針對其所註冊的任何其它服務的任何細節。
例如,一行動電話或是卡在一圖書館中可以變成一圖書館卡憑證、在一公車或火車上可以變成一運輸票券、進入一房間或設施的一安全的鑰匙、在一公司的小賣部中可以變成一機構內部的付款裝置、一戲院 票券、以及在一超市中可以變成一標準的付款裝置。其亦可能變成一駕照、一健保卡、或是一ID卡,以證明有權得到一服務,若該服務需要其的話,其可以在該商人的裝置上提呈照片ID…等等。對於一裝置可以變成的憑證的類型有很少的限制(若有的話)。
儘管偽裝一卡的原始的外觀將會是困難的(例如,此可以在一旦卡納入OLED封套或是彩色電子紙封套之後加以完成,其中該服務可以指示該卡來顯示裝訂以及一特定的憑證或服務需要的資訊),但是該電話應用程式的外觀係藉由Tereon來加以改變,以反映該憑證及服務的本質。
一反向的查找功能可以針對於每一個伺服器來加以實施。該功能將會容許一伺服器能夠檢查和其通訊的伺服器是否被授權及認證的。該功能並非必需的,因為在Tereon裝置(不論它們是卡、終端、行動電話、或是伺服器)之間的每一個通訊都必須被簽章。然而,可以有其中一操作者需要或是想要一反向的查找將會帶來的增加的安全性的情況。在此,該目錄服務216將會包含一些欄位,例如是服務、Tereon伺服器領域位址、Tereon伺服器號碼、Tereon伺服器操作者、存活時間、終端認證ID…等等。該服務標籤在此將會是指該伺服器反向的查找,而不是一交易服務。
圖9是展示一具有兩個伺服器,亦即伺服器202a及伺服器202b的例子。一使用者218係向伺服器202b註冊的,並且經由一連線至伺服器202a的終端來存取一服務。
在步驟902,一使用者218係利用其本身的裝置來向該終端指明其本身,該裝置係自動地向該終端指明其本身。若使用者使用一智慧型裝置的話,則該終端亦傳遞其身分至該使用者的裝置。(若該使用者218 使用一卡,則若該裝置是一微處理器的卡的話,該終端只能夠傳遞其身分至該使用者的裝置。在此例中,該卡將會和伺服器202b(該使用者所註冊到的伺服器)通訊,其係經由一加密的通道,透過該終端來傳遞該終端的ID至伺服器202b。)
在步驟904,伺服器202a係取得由該使用者的裝置提供的身分,並且對照其所維持的表列來檢查該ID。其並未保存該ID,並且因此之前從未涉及該使用者218。伺服器202a現在係聯繫該目錄服務216。該目錄服務216係檢查在伺服器202a的通訊上的簽章,並且看看其是否有效的。該目錄服務216係對照針對於所請求的服務的服務標籤來查詢該ID(伺服器202a的簽章係確認該伺服器係被授權進行一針對於該服務的請求),並且以識別伺服器202b的資訊和該快取的存活時間的資訊一起來響應。
在步驟906,伺服器202a現在係聯繫伺服器202b以確認該使用者的裝置係針對於該服務而向伺服器202b註冊的。伺服器202a亦傳遞該終端的ID至伺服器202b。
在步驟908,若伺服器202b尚未已經如此做,則其可以向該目錄服務216進行一類似的請求,以查詢該終端所註冊到的伺服器。其亦可以確認該終端係針對於所請求的服務而向伺服器202a註冊的。該目錄服務216係利用識別伺服器202a的資訊、和該快取的存活時間的資訊一起來響應。
在步驟910,伺服器202a及伺服器202b現在係與彼此直接通訊,以便於實行該所需的交易。此可以是從進行一付款,到開啟一門的任何事。
該些Tereon伺服器本身係包含起始一交易所必要的資訊,它們將會只和其它經授權及認證的伺服器或裝置通訊。
一旦該些伺服器已經與該目錄服務216以及彼此通訊後,它們將會快取該資料,直到該資料在其本身的迷你目錄服務中過期為止。
在此例中,建立在Tereon伺服器202a及202b之間的連線的通訊是明顯且簡單的。此係被展示在圖10中。
在步驟1002,該使用者218係利用其本身的裝置來向連線至伺服器202a的終端指明其本身,該裝置係自動地向該終端指明本身。若該使用者使用一智慧型裝置,則該終端亦傳遞其身分至該使用者的裝置。
在步驟1004,伺服器202a係取得由該使用者的裝置提供的身分,並且對照其所維持的表列來檢查該ID。其所保存的資料是有效的,並且因而伺服器202a係聯繫伺服器202b以確認該裝置係仍然針對於所請求的服務而向其註冊的。伺服器202a亦傳遞該終端的ID至伺服器202b。伺服器202b係確認該裝置是向其註冊的。伺服器202a的快取係包含有關該終端的ID之有效的資料,並且因而其係聯繫伺服器202b以確認該終端仍然是向其註冊的。伺服器202b係確認此。
在步驟1006,伺服器202a及伺服器202b現在係與彼此直接通訊,以便於實行所需的交易。
若在一伺服器上的快取的資料過期,則該伺服器單純地係如同之前地聯繫該目錄服務216。若一使用者218已經遷移至另一伺服器,則該些通訊係稍微不同的。圖11係描繪此情形。該差異是和伺服器202b的根據現在過時的快取的資訊的第一通訊將會迫使伺服器202a在該目錄服務 216中查找新的資料。
在步驟1102,該使用者218係利用其本身的裝置來向連線至伺服器202a的終端指明其本身,該裝置係自動地向該終端指明其本身。若該使用者使用一智慧型裝置,則該終端亦傳遞其身分至該使用者的裝置。伺服器202a係取得由該使用者的裝置提供的身分,並且對照其所維持的表列來檢查該ID。其係保存該ID並且看看該快取的資料是否展示該ID是向伺服器202b註冊的。
在步驟1104,伺服器202a現在係聯繫伺服器202b以確認該使用者的裝置是針對於該服務而向伺服器202b註冊的。伺服器202a亦傳遞該終端的ID至伺服器202b。伺服器202b係回應該ID是不再向其註冊的。
在步驟1106,伺服器202a現在係聯繫該目錄服務216。該目錄服務216係檢查在伺服器202a的通訊上的簽章,並且看看是否有效的。該目錄服務216係對照針對於所請求的服務的服務標籤來查詢該ID,並且以識別伺服器202c的資訊和該快取的存活時間的資訊一起來響應。
在步驟1108,伺服器202a現在係聯繫伺服器202c,以確認該使用者的裝置是針對於相同的服務而向伺服器202c註冊的,而其確實是如此的。伺服器202a亦傳遞該終端的ID至伺服器202c,並且利用針對於來自該使用者的裝置的ID之新的細節以更新其快取。
在步驟1110,若伺服器202c尚未已經如此做,則其可以向該目錄服務216進行一類似的請求,以查詢該終端所註冊到的伺服器。其亦可以確認該終端係針對於所請求的服務而向伺服器202a註冊的。該目錄服務216係利用識別伺服器202a的資訊、和該快取的存活時間的資訊一起 來響應。
在步驟1112,伺服器202a及伺服器202c現在係和彼此直接通訊,以便於實行該所需的交易。
該目錄服務216將會總是保持一使用者218已經註冊的舊的以及新的使用者ID的一完整的蹤跡、以及這些ID被指定給該使用者218的日期。
伺服器202c只保持有關於從該ID向其註冊的日期開始的註冊的ID的資訊。伺服器202b將會保持有關於其服務該ID的期間的資料。
由該目錄服務216所提供的抽象層係隨著其分段該些服務而更進一步。因此,在以上的例子中,伺服器202a只能夠請求識別已經針對於所需的服務註冊該使用者的裝置的伺服器的資訊。
伺服器202a必須簽章其和一裝置所做的每一個通訊,並且該簽章將會識別該通訊被牽涉到其中的服務。若一伺服器可以提供超過一服務,則其對於那些服務的每一個將會有一私有密鑰,並且其將會使用該密鑰以簽章該些相關的通訊。
該些Tereon伺服器本身(在以上的情況中,這些是伺服器202a及202b)係包含該查找資訊,其係從所提供的標籤或資訊來識別該使用者的帳戶資料。因此,只有伺服器202b包含將該使用者的裝置的ID對映至該使用者的帳戶的資料;在該目錄服務216中的資訊單純是一至伺服器202b的指標。該使用者的裝置可以輕易地針對於不同的服務而被註冊在不同的伺服器上。使得該些Tereon伺服器能夠找出正確的伺服器的是該使用者的裝置ID以及定義該服務的憑證的組合。
一旦該伺服器202a係和伺服器202b通訊,並且傳遞該服務標籤、該使用者ID、以及任何其它相關的交易的資料(例如,年齡、貨幣、數量…等等)之後,伺服器202b係查詢相關的使用者的資料,並且執行它那邊的交易。伺服器202a從未看到該使用者的資料。其所看到的是該使用者的認證ID、以及藉由伺服器202b而被傳遞至其的交易的資料。
同樣地,伺服器202b從未看到識別該終端所連線到的帳戶的資訊。其單純地看到該終端ID、以及藉由伺服器202a而被傳遞至其的交易的資料。
心靈感應紙-該多面的憑證
該目錄服務的結構的更多吸引人的效果中之一是其產生特別的多面的憑證的能力,當那些憑證是所需的時候,該些多面的憑證係被調適到特定的服務。該些服務並不需要在該目錄服務被產生時已經被設想到,因為該目錄服務係能夠提供那些憑證。此係以'心靈感應紙'著稱的。
該特別的多面的憑證係表示該使用者的裝置係變成一特定的服務可能需要的憑證,而且僅止於此。其係確切地傳遞認證、授權、或者是受益於一服務所需的資訊,而且是該服務提供者所看到的全部。
舉例而言,該使用者218已經針對於一些不同的服務,例如是來自其銀行的一付款服務、以及在其本地的圖書館的一圖書館借書服務來加以註冊。因為當其為了Tereon註冊時,其必須提供其生日,因此其係自動地利用到一年齡驗證服務。
圖12係描繪該目錄服務216是如何可以根據使用者218已經請求的服務來導引一請求的伺服器(伺服器202a)至兩個不同的伺服器(伺 服器202b及202c)。若必要的話,則兩個或多個用於個別的服務之個別的目錄服務亦可被使用。重要的是該交易的資料是一抽象化的部分,並且和基礎的帳戶資料分開的。
該使用者218需要驗證其年齡,例如是用以在一酒吧購買一含酒精飲料(服務2)。在此例中,步驟1202至1210係如同在圖9中的步驟902至910來加以執行,儘管是在伺服器202a及202c之間,而不是在伺服器202a及202b之間。於是,在步驟1210,伺服器202a以及伺服器202c係和彼此直接通訊。在此例中,伺服器202a想要驗證該使用者218是否超過21歲的年齡。伺服器202c單純地係確認其是否超過21歲。
若該操作者由於法律或是法規要求而需要額外的確認,則伺服器202c可能傳送該使用者218的一護照類型的影像以顯示在該終端上,因而該操作者可以看到他或她確實正與該使用者218對談。該伺服器亦可以傳送一問題給該使用者218來回答,以便於提供其係為正確的使用者之額外的確認,儘管僅有很小的必要性來如此做,因為該使用者218已經向伺服器202a指明其本身。該操作者從未開始去看該使用者的實際的年齡或是並非必需的任何的個人資訊,因為其並非必需的。該操作者所需的只是要知道該使用者218是足夠大到能夠購買一含酒精飲料。若該使用者218使用其裝置來針對於其飲料付款,則連線至伺服器202a的終端將會再次聯繫伺服器202c,但此次是為了一付款服務(服務1)。
該使用者218現在是前往其本地的圖書館而且想要借一本書(服務3)。在步驟1212,該使用者218係在該圖書館中利用其本身的裝置來向該終端指明其本身,該裝置係自動地向該終端指明其本身。在該圖書 館中的該終端係連線至伺服器202b。若該使用者使用一智慧型裝置,則該終端亦傳遞其身分至該使用者的裝置。
在步驟1214,伺服器202b係取得由該使用者的裝置提供的身分,並且對照其所維持的表列來檢查該ID。其係保存該ID,但是該快取是過期的。伺服器202b現在係聯繫該目錄服務216。該目錄服務216係檢查在伺服器202b的通訊上的簽章,並且看看是否有效的。該目錄服務216係對照針對於所請求的服務的服務標籤來查詢該ID,並且以識別伺服器202c的資訊和該快取的存活時間的資訊一起來響應。
在步驟1216,伺服器202b現在係聯繫伺服器202c以確認該使用者的裝置係針對於該服務而向伺服器202c註冊的,而該裝置確實是如此的。伺服器202b亦傳遞該終端的ID至伺服器202c,並且利用針對於來自該使用者的裝置的ID之新的細節以更新其快取。
在步驟1218,若伺服器202c尚未已經如此做,則其可以向該目錄服務216進行一類似的請求,以查詢該終端所註冊到的伺服器。其亦可以確認該終端係針對於所請求的服務而向伺服器202b註冊的。該目錄服務216係利用識別伺服器202b的憑證來響應。
在步驟1220,伺服器202b及伺服器202c現在係和彼此直接通訊,以便於實行該所需的交易。伺服器202b想要知道該使用者218是否可以借一本書(服務3),並且伺服器202c係確認該使用者218係被註冊有圖書館服務來借書(這是一項Tereon操作者提供給圖書館的服務)。若該使用者218需要使用其裝置來支付一費用以借一本書,則該終端將會再次聯繫伺服器202c,但是此次是為了一付款服務(服務1)。
伺服器202c並不需要提供任何服務給該圖書館。該使用者218可以輕易地向另一伺服器(譬如說伺服器202d(未顯示))註冊的,在此情形中,伺服器202d將會向伺服器202b確認該使用者218可以借書。重要的是,在該第一情形中,伺服器202a只確認該使用者218是超過21歲。它並不知道其是否可以借書,而且並不知道該使用者218是否可以藉由Tereon來付款。同樣地,伺服器202b知道該使用者218可以借書,但是並不知道其是否超過某一年齡、或是其是否可以藉由Tereon來付款。
若針對於一特定的交易需要集合一組憑證,則一請求的伺服器亦可以對於個別的伺服器進行多個請求。例如,假設該使用者218想要借一部有年齡限制的電影。在此例中,該請求的伺服器將會進行兩個個別的請求,一請求是驗證該使用者的年齡,並且一請求是驗證其係註冊以從該圖書館借電影。Tereon將會集合該些個別的經驗證的憑證,以建構該圖書館所需的憑證組。
該目錄服務216的結構係容許傳遞該些個別的憑證的該些伺服器能夠分開的。因此,一請求的伺服器可以詢問任意數量的伺服器,以便於獲得其需要的個別的憑證,以建構確定其是否可以傳遞一特定的服務給一使用者218所必要的該組憑證。
圖13係描繪其中伺服器202a需要從三個伺服器202c、202d及202e獲得憑證,以便於建構一多面的憑證以提供一服務給一使用者218的情形。例如,在伺服器202d上的服務2可以是租一部電影的一服務,其將會需要作為來自伺服器202c的一第一憑證的年齡驗證、來自伺服器202d的一會員憑證、以及來自伺服器202e的一足夠的資金憑證。
該關係並不一定是一對一的,亦即一種其中該三個伺服器的每一個係保持一憑證,而且只有一憑證的關係。該三個伺服器的任一個分別可以傳遞超過一憑證至伺服器202a。它們可以只傳遞一憑證至伺服器202a。憑證的數量是無關的。重要的是伺服器202a可以聯繫超過一外部的伺服器以獲得其需要的憑證,以使得一使用者218能夠利用一服務。
其可以是該使用者218存取一終端所在的伺服器202a已經保持其需要的某些憑證,以便於傳遞某些服務至該使用者218。然而,為了資料保護之目的,該使用者218並不想要提供某些細節至伺服器202a(例如,其年齡…等等)。若伺服器202a只需要做的是驗證該使用者218是否超過某一年齡、或者是否被容許訂某些商品,則其可以單純地聯繫那些將會確認或否決那些問題的伺服器。此對於電子商務網站而言是極其有用的-它們可以在不知道確切的細節下確認某些事實或參數。實質上,該目錄服務216可以作用為一零知識證明的提供者或是一機密的公證人。Tereon可以證明或是駁斥一事實或參數至伺服器202a,而不揭露該事實為何。
因此,針對於一特定的服務的憑證可能包括來自202a、202c、202d、202e以及其它伺服器的憑證。該些憑證可以是在一伺服器上、或是它們可分散在多個伺服器之間。
此係極其功能強大的,因為其係容許個人及組織能夠證明它們有權享有一服務,而不需要揭示不需要揭露的資訊。同樣地,以該電子商務網站的例子而言,該使用者218可以其在該網站上註冊姓名及地址。然而,其銀行係保有其付款憑證,一政府伺服器係註冊實際狀況是其被授權購買限制性的物品,其本地的鐵路公司係保有其旅行的授權,並且其健 康授權中心的伺服器可以確認其年齡。
針對於一服務集合一組特別的憑證的方法並不只適用於使用者及其裝置而已。其一樣可以良好地適用於獨立式感測器、裝置、以及服務,例如是需要在不同的時間連線至不同的服務之IoT裝置。當那些組的憑證是所需的時候,它們可以單純地集合針對於那些服務的憑證需求。
帳戶切換
一經常延遲採用新系統的主要問題是在無損失或是服務中斷下,從傳統系統轉移資料至那些新的系統之所感受到的困難度。相同的問題係影響到系統升級,其中操作者經常選擇以保持最初的硬體及軟體組態設定,而不是升級及更新,因為其感知到任何的升級或更新中的喪失資料的危險。
該目錄服務216係藉由提供一種用無縫地從一伺服器或資料儲存至另一伺服器或資料儲存移動資料、帳戶、以及組態設定資訊的機制來對抗這些問題。支援在機構之間的帳戶的即時的轉移的阻礙中之一是如何捕捉及處理懸而未決的付款的問題。此產業目前係有一種帳戶轉移系統,其總共花費18個月(7天用於最初的切換,並且接著18個月用來捕捉任何的付款或轉帳)。此亦可能適用於從一資料儲存切換一組資料至另一資料儲存。
該目錄服務216係提供一抽象層,其係分開該使用者的認證ID與基礎的服務、伺服器、以及實際的使用者帳戶。因此,一使用者218可以在改變他或她的裝置所註冊到的服務以及基礎的伺服器時,維持他或她的認證ID。
該帳戶切換程序係最佳的利用一例子來加以敘述。在此例子中,該使用者218係存款於銀行A。圖14係描繪該使用者與銀行A以及其Tereon伺服器202a的關係。銀行B亦在伺服器202b上支援Tereon,儘管該使用者218尚未是消費者。該使用者218係決定將其帳戶從銀行A移到銀行B。
圖15係描繪該使用者218進行以將其帳戶從銀行A轉到銀行B的程序。對於此例子而言,該使用者218並未透支,而且沒有從銀行A貸款。
在步驟1502,該使用者218係向銀行B開啟一帳戶,並且向該銀行以及其Tereon伺服器202b註冊其卡以及其行動電話。
在步驟1504,銀行B的Tereon伺服器202b係在該Tereon目錄服務216上查找該使用者的行動電話號碼以及其卡的PAN,並且偵測到兩者都註冊到銀行A。
在步驟1506,銀行B的Tereon伺服器202b現在係聯繫該使用者218以確認其是否想要將其註冊移到銀行B,並且該使用者218係藉由輸入一特定為此目的而被傳送至其的額外的認證碼來確認此。
在步驟1508,銀行B的Tereon伺服器202b現在係聯繫銀行A的伺服器202a,並且通知它該使用者218已經請求將其帳戶及ID移到銀行B,並且已經確認此。
在步驟1510,銀行A的Tereon伺服器202a現在係傳送給該使用者218一請求以確認其是否想要移動其帳戶,並且該使用者218係確認其移動。
在步驟1512,銀行A的Tereon伺服器202a現在係向銀行B的Tereon伺服器202b來確認此,並且通知銀行B的伺服器202b該使用者的帳戶註冊、餘額、組態設定、付款指令等等。銀行B的伺服器202b係用和那些在銀行A上的完全相同、或是其可以做的盡可能相同的方式來設定這些帳戶,以提供被授權提供的服務。
例如,該使用者218係在銀行A擁有三個個別的貨幣帳戶,它係容許其能夠存款GBP、USD以及EUR。然而,銀行B只提供GBP以及USD的帳戶,儘管其可以從任何帳戶接受EUR,並且付款EUR至任何帳戶。銀行B的伺服器202b係在該使用者開啟該帳戶時將此通知該使用者218,並且其係決定將該EUR轉換成為GBP。銀行B將會接著指示銀行A來將該EUR傳送為GBP。
在步驟1514,銀行B的Tereon伺服器202b現在係通知該目錄服務216該使用者的ID現在是向其伺服器202b註冊的。
在步驟1516,銀行B的Tereon伺服器202b係通知銀行A的伺服器202a其已經在該目錄服務216中註冊該使用者的ID,並且指示銀行A轉帳該餘額至其。
在步驟1518,銀行A係向該目錄服務216確認其不再管理該使用者的ID。該目錄服務216係對照向銀行B的新的ID註冊來設定一開始日期及時間,並且對照向銀行A的舊的註冊,在該欄位中設定一結束日期及時間。銀行A現在係設定其目錄服務以通知任何嘗試付款給該使用者218的伺服器其不再保有該使用者的帳戶,並且指示該伺服器以在該目錄服務216中查找該使用者的細節。其係藉由在其結束日期欄位中輸入該日期 及時間來達成此。銀行B現在將會接收所有最初是針對於銀行A的針對該使用者218的付款。
該目錄服務216現在可以捕捉懸而未決的付款,其係為在該使用者218已經切換至一新的帳戶之後,針對於該使用者的舊的帳戶的付款。以一種類似的方式,Tereon亦可以捕捉由該舊的帳戶所產生的延期的付款。一旦該餘額已經被轉移後,這些現在將會是由該新的帳戶所產生的,此係一項花費數分鐘的工作,而不是數天、數週、或是數月的。
在步驟1520,銀行A係轉移該餘額至銀行B。銀行B係通知銀行A其已經接收到該資金。
在步驟1522,銀行A係關閉該使用者的帳戶,並且通知該使用者218它已經完成此,並且轉移其餘額至其新的銀行。
在步驟1524,銀行B係通知該使用者218其現在已經從銀行A接收到其餘額。
若該使用者218在銀行A的其帳戶中的一或多個中透支,並且銀行B同意接收其商務,則銀行B將會在步驟516及520中轉移餘額至銀行A,並且該使用者在銀行B的對應的帳戶將會是透支的。該使用者218亦可以決定在其轉移其帳戶至銀行B之前,先在其在銀行A的帳戶之間轉帳資金,以便於清償任何透支。
針對於付款,該Tereon編號系統係在使用者、組織、帳戶、服務類型、以及交易之間做區別。它們都具有個別的編號系統。這些特點係容許該目錄伺服器能夠管理一使用者218將其帳戶即時地移至一新的服務提供者所藉由的程序。該目錄服務216的結構以及即時地處理交易的能 力係容許使用者能夠在幾分鐘內改變帳戶,而不是幾天。
如上所述,該目錄服務216以及所有的交易的即時的處理係除去懸而未決的交易(例如懸而未決的付款)的問題。在Tereon之下,交易就是無法進入到一懸而未決的狀態。它們不是完成的,就是它們係被取消的。
Tereon亦支援帳戶可攜性(例如是銀行帳戶可攜性)的概念,此係一項將會增加在市場中的競爭力的特點,而且是一項銀行及管理者相信是不可能實施的特點。因為Tereon並不直接使用帳戶的細節,而是使用一個別的憑證來識別每一個付款人及收款人,其係在該使用者218與該使用者的銀行帳戶細節之間插入一抽象化。就是該目錄服務216所提供的此抽象化係使得帳戶切換及可攜性變得容易。
改變憑證
該目錄服務216係容許操作者及使用者能夠用新的憑證來取代現有的ID憑證,並且能夠重新使用過去的憑證而不混淆利用該ID的先前的使用者的交易。由該目錄服務216所提供的抽象層係容許Tereon能夠達成此。
若一使用者218係將他或她的帳戶轉移到另一伺服器,則該使用者218可以是能夠保持一特定的憑證(例如是一PAN)、或是該伺服器可以發給該使用者218一新的憑證。在後者的情形中,該原始的伺服器可以幾乎立即重新使用該憑證。因為每一個憑證都具有一反映其係何時被發出給一使用者218的時間及日期戳記,因此一特定的憑證的一新的使用者218幾乎立即將會是能夠使用該憑證的。
每一個憑證都具有一時間以及日期戳記以針對於其係何時 在一特定的伺服器被發出給一特定的使用者。由於每一個交易亦保有一時間及日期戳記,每一個Tereon伺服器係保有用於每一個交易的憑證,因此Tereon係單純地使用這些構件以指定路由給交易至正確的目的地。例如,一使用者218可以利用憑證A(例如,一行動電話號碼)以從一商人購買某物,並且接著幾天後他或她需要使用另一憑證B(例如,一新的行動電話號碼)以移到另一銀行。之後,該使用者218因為該物品是有缺陷的,而將其帶回到該商人。該商人單純地找出該交易並且進行退款。儘管該原始的交易使用憑證A,但是憑證A的伺服器係報告一指出在該憑證中的一改變的時間及日期戳記。該商人的伺服器係查找憑證A,並且發現在該交易時使用憑證A的使用者218現在係使用憑證B。該伺服器現在係聯繫憑證B的伺服器,其係確認憑證B的使用者218係在該交易時使用憑證A,因而該伺服器接著開始進行該退款的程序。
使用者A可以確定B的使用者並非欺騙性的,因為Tereon的安全性模型需要所有的通訊都被簽章的。伺服器202b將會只能夠在其具有來自該許可伺服器的一有效的許可時簽章其通訊,並且使用者B的裝置將會只能夠在伺服器202b是有效時簽章其通訊,因為其將會已經發出該裝置的許可,並且將會檢查該裝置的許可。除非使用者B知道正確的憑證來授權一交易、或是存取在該裝置上的應用程式,否則該使用者將不能夠完成一交易。
在另一例子中,一使用者可能已經在他或她的電話目錄中輸入一聯絡人的行動電話號碼,而現在想要對於該聯絡人進行一突然的P2P轉帳。Tereon係針對於該號碼來搜尋該些記錄,並且發現如上所述的該聯 絡人已經改變行動電話號碼(若該聯絡人是一Tereon使用者的話)。其係向正確的伺服器確認使用該新的號碼的使用者過去係使用向先前的伺服器所註冊的該舊的號碼。Tereon亦支援其中一聯絡人可以設定他或她的帳戶的功能,以容許該目錄伺服器能夠在某些經認可的聯絡人嘗試經由一舊的憑證來和他們進行一交易時,更新該使用者的行動電話號碼或是其它的Tereon憑證。在此例子中,該姑母的姪女係已經設定她的帳戶以更新所有的家族成員,並且因此下一次她的姑母存取她的聯絡人列表時,她將會看見她的姪女的新的行動電話號碼。
圖16係描繪針對於伺服器202a、伺服器202b、以及該目錄服務216的一例子。在此,該舊的使用者已經將其帳戶從伺服器202a遷移到伺服器202b。202a是銀行A的伺服器,並且202b是銀行B的伺服器。
該舊的使用者最初是使用行動電話號碼1作為其ID。在遷移其帳戶之後,其繼續使用行動電話號碼1一段時間。在該使用者218、目錄服務216、以及伺服器202a及202b之間的通訊係如上所述地進行,並且展示在圖15中。在該目錄服務中的項目係展示使用者218係從日期-時間1到日期-時間3使用伺服器202a,並且該使用者係從日期-時間2使用伺服器202b。該些微的重疊是用以確保所有的懸而未決的付款都被捕捉,並且沒有其中該使用者並不具有其ID所註冊到的一伺服器的時間間隙。(避免重疊的日期-時間項目是可能的,其係藉由確保該帳戶所遷移到的伺服器係控制所有針對於該遷移的日期-時間以及ID項目,並且這是一系統遷移可以如何運作的。)
在某個時點處,該使用者218係決定改變行動電話號碼。其 係向伺服器202b註冊其新的行動電話號碼2作為其ID,並且解除註冊行動電話號碼1。伺服器202b係通知該目錄服務216該改變,其現在係展示該使用者在日期-時間4開始利用行動電話號碼2作為其ID,並且行動電話號碼1在日期-時間5停止作為伺服器202b的一ID。
之後,一新的使用者係向伺服器202a產生一帳戶,並且在日期-時間6註冊行動電話號碼1作為其ID。該新的使用者可以是已經被給予該舊的使用者之舊的行動電話、或是該號碼可以是已經被行動電話操作者釋出以供重新使用。伺服器202a係通知該目錄服務216其已經註冊該ID(在檢查該ID是可利用的之後),並且因此該目錄服務現在係展示行動電話號碼1係從日期-時間6起被註冊到伺服器202a。
在圖16所示的例子中,若該舊的使用者使用一藉由銀行A 202a所發出的卡,則一旦該使用者218已經轉移其帳戶至銀行B 202b後,該銀行可以在一註冊至其的憑證(例如一PAN)之下發出一新的卡給該使用者218。該使用者218係在一旦其接收到它之後啟動該卡,並且銀行B的伺服器202b係通知銀行A的伺服器202a該使用者的原始的憑證係不再使用。銀行B係向該Tereon目錄服務216註冊該新的憑證。該使用者218可以請求保有該原始的憑證,在此情形中,為了如此做,若銀行A同意該請求的話,則其可能已經被銀行A收取一筆小的費用。因此,Tereon係支援卡號或是PAN的可攜性。
該使用者可以在未來的某個時點,決定停止使用原先由銀行A所發出的卡,並且因此釋出該憑證。銀行A可能在銀行B釋出其之後、或是在該使用者已經轉移其帳戶至銀行B之後的整整六個月內都無法重新 使用該PAN憑證;該確切的時間將會依據該銀行的管理者所將會容許的而定。在該時間之後,其可以使用該憑證,因為該目錄服務216並不只是針對每一使用者包含行動電話號碼、PAN、或是其它憑證的一表列;其亦包含那些憑證何時被註冊的日期、以及它們過期或是被釋出的日期的一表列。
該帳戶切換方法係容許該系統能夠捕捉懸而未決的付款。其亦提供一種極其有彈性且強健的方式以根據用於那些先前的交易的憑證來導引接在先前的交易之後的交易。針對於較早的交易的退款是此之一現實世界的例子。進行對照一舊的ID的退款的商人將會能夠退款到正確的帳戶,因為該目錄服務216將會導引其伺服器來付款到該正確的ID,即使原始的ID之後已被重新使用也是如此。EMV以及目前的行動查找技術係假設號碼是絕不重新使用。然而,它們有時候是被重新使用的。
圖16係描繪此。假設在介於日期-時間1與日期-時間2之間的某個時點,該舊的使用者係在行動電話號碼1作為其ID下利用一裝置以從一商人購買一物品。之後,該物品證明是有缺陷的,因而該使用者想要退款。
若該使用者218接著在日期-時間1與日期-時間2之間為了退款而前往該商人處,則該Tereon系統將會導引該商人的系統以進行該退款付款至系統202a上的該使用者的帳戶(因為該使用者尚未關閉其帳戶)。
若該使用者218在日期-時間2與日期-時間4之間為了退款而前往該商人處,則該Tereon系統將會導引該商人的系統以進行該退款付款至伺服器202b上的該使用者的帳戶,即使針對於該物品的付款原先是來自於伺服器202a。
該帳戶切換方法亦將會考量到該使用者的新的ID。若該使用者218接著在日期-時間4之後為了退款而前往該商人處,並且使用其行動電話號碼2作為其ID,則該Tereon系統將會導引該商人的系統以進行該退款付款至伺服器202b上的該使用者的帳戶,即使針對於該物品的付款原先是來自於伺服器202a,而且即使該使用者原先是使用行動電話號碼1作為其付款ID。
同理對於PAN的記錄、電子郵件位址、以及任何其它可重複使用的憑證亦將會成立。(生物識別的憑證因為顯然的理由而無法被重新使用。)
該系統係容許憑證能夠被分段到任何程度的粒度(granularity)。此在付款中的一個例子係牽涉到貨幣或是貨幣碼,其中一使用者可以在相同的伺服器上、或是在個別的伺服器上,針對於不同的貨幣使用不同的ID。
圖17係描繪針對於伺服器202b、伺服器202c、以及該目錄服務216的一例子。該使用者218已經以一種類似於圖16中描繪的方式,並且是在如同圖15中所繪地管理的伺服器間的通訊下,從伺服器202b遷移其帳戶至伺服器202c。
該使用者218最初是使用行動電話號碼1作為其ID。在遷移其帳戶之後,其係針對於用貨幣1以及貨幣2兩者的交易,持續使用行動電話號碼1一段時間。在該目錄服務216中的項目係展示該使用者218從日期-時間1至日期-時間3使用伺服器202b,並且該使用者從日期-時間2開始使用伺服器202c。該些微的重疊是用以確保所有懸而未決的付款都被 捕捉,並且沒有其中該使用者並不具有其ID所註冊到的一伺服器的時間間隙。
在某個時點,該使用者218係針對於用貨幣2的交易決定使用一新的行動電話。其係針對於用貨幣2的交易,向伺服器202c註冊其新的行動電話號碼2作為其ID。伺服器202c係通知該目錄服務216該改變,其現在係展示該使用者在日期-時間4針對於所有用貨幣2的交易開始利用行動電話號碼2作為其ID,並且行動電話號碼1係在日期-時間5停止是一針對於任何用貨幣2的交易的ID。
圖17a係描繪針對於伺服器202b、伺服器202c、以及該目錄服務216的另一例子。在該圖中,該使用者218已經用一種類似於在圖16中描繪的方式,並且是在如同圖15中所繪地管理的伺服器間的通訊下,從伺服器202b遷移其貨幣1帳戶至伺服器202c。
在遷移其帳戶之後,該使用者係針對於用貨幣1以及貨幣2兩者的交易繼續一段時間以使用行動電話號碼1一段時間。在該目錄服務216中的項目係展示該使用者218係針對於用兩種貨幣的交易從日期-時間1至日期-時間3使用伺服器202b,並且其係針對於用貨幣1的交易從日期-時間2開始向伺服器202c使用行動電話號碼1作為其ID。該目錄服務項目亦展示該使用者針對於用貨幣2的交易持續向伺服器202b使用行動電話號碼1作為其ID。
在某個時點,該使用者218係針對於用貨幣2的交易決定使用一新的行動電話。其係針對於用貨幣2的交易,而向伺服器202b註冊其新的行動電話號碼2作為其ID。伺服器202b係通知該目錄服務216該改變, 其現在係展示該使用者針對於所有用貨幣2的交易在日期-時間4開始使用行動電話號碼2作為其ID,並且行動電話號碼1係針對於任何用貨幣2的交易在日期-時間5停止為一ID。
在日期-時間4之前,該使用者218係針對於所有其交易都使用其行動電話號碼1作為該ID。若那些交易是用貨幣2,則該目錄服務216係單純地導引該些交易至伺服器202b,並且若那些交易是用貨幣1,則是導引至伺服器202c。該使用者已經在兩個伺服器上註冊相同的ID的實際狀況是無關的,因為管理一交易被導引至哪一個伺服器的是該組完整的憑證。在日期-時間2之後第一次用貨幣1和該使用者交易的一商人的系統將永遠不會知道該使用者針對於用該貨幣的交易先前曾經使用過伺服器202b。同樣地,該商人的系統將不會知道該使用者針對於用貨幣2的交易而在伺服器202b使用相同的ID,除非該系統和該使用者進入到一用貨幣2的交易中。
Tereon不僅僅止於將一使用者218從一網路單純地切換至另一網路。如同已經提及的,切換使用者的通常的方法並無法處理懸而未決的付款。在該使用者離開而獨立自主之前,目前可利用的如同其發明者所聲稱的最先進的帳戶切換系統係需要一18個月的人工的程序來捕捉此種付款。在該18個月的期間,銀行以及使用者都必須努力以確保它們從舊的帳戶轉移所有現有的付款指令至新的帳戶。Tereon係完全地避開此必要性。
目前銀行並無法重新使用任何的付款憑證。Tereon的帳戶切換機制係移除此限制,因而銀行可以在某一段時間期間已經過去之後(若管理者希望允許銀行如此做的話),重新發出PAN以及帳戶號碼。
儘管該方法係被稱為一帳戶切換功能,但實際上其係具有許多在基本的帳戶切換之外的應用。例如,其可以在銀行核心系統失效的事件中提供故障切換至一支援的服務提供者,其因此提供一種藉由在無任何資訊的損失下從一資料格式轉換成另一資料格式,來從一系統遷移資料至另一系統的方式。
另一例子是在行動電話系統中提高號碼的可攜性的效率。目前,若一使用者從一提供者切換他或她的行動電話號碼至另一提供者,則該第一提供者必須將所有的通話重新指定路由至該新的提供者。若該使用者接著切換至一第三提供者,則該第一提供者必須將通話指定路由至該第二提供者,而該第二提供者必須接著將通話指定路由至該第三提供者。此係做起來極其效率差而且昂貴的,但是該些操作者必須支援號碼的可攜性。Tereon係避免將通話多次重新指定路由的必要性。
若操作者是使用Tereon來支援號碼的可攜性,則它們將不需要支援多次跳躍。一旦一使用者係決定從該第一操作者攜帶他或她的號碼至該第二操作者後,該第二操作者將會單純地只需通知一目錄伺服器其現在支援該行動電話號碼。該第一操作者將會轉移針對於該號碼的通話至該目錄伺服器,該目錄伺服器將會指定路由給該通話至該第二操作者。每當該使用者再次攜帶他或她的號碼時,則該新的操作者將會通知該目錄伺服器該改變,並且該目錄伺服器將會單純地將通話指定路由至服務該號碼的操作者。(若使用者係具有全球唯一的銀行帳戶(例如IBAN),則Tereon將會用和其支援行動電話號碼的可攜性相同的方式來支援銀行帳戶的可攜性。)
一類似的例子是其中一操作者係從一伺服器遷移IoT服務及裝置至另一伺服器以便於升級該Tereon系統,其中例如是一實體機器、一邏輯機器、一虛擬的機器、一容器、或是任何其它普遍使用的用於包含可執行的碼之機構的一簡單的遷移將是不足夠的。
另一例子是運作為一系統的遷移工具。例如,此將會是其中一操作者想要從該Tereon系統的一版本遷移一服務以及裝置所註冊到的帳戶至一升級的版本。該操作者將會單純地設定該舊的伺服器以將該些裝置註冊、帳戶、以及系統組態設定轉移至該新的伺服器,並且該系統將會實行該轉移。每一個帳戶將會和其資料以及稽核日誌一起被橫跨轉移,並且該些伺服器將會隨著該些轉移進行而更新該目錄服務216。現在,當在現場的裝置(它們例如是付款裝置、流量感測器、IoT裝置…等等)希望和其伺服器通訊時,該目錄服務216將會單純地根據它們是否在其帳戶被轉移之前或是之後聯繫其伺服器,來將它們重新導向至其舊的伺服器、或是其新的伺服器。
以上的例子係證明Tereon是如何使得憑證可攜性變得容易,並且支援特別的多面的憑證。此係具有影響深遠的應用,並且將Tereon帶入實際上任何其中網路需要管理憑證的網路領域中。
可擴充的架構
用於現有的交易處理系統的工作流程在本質上全都是時常靜態的。一旦被實施後,它們是非常難以改變的,因而該些系統支援的服務或操作仍然是不可改變的。
直到目前為止,若一付款提供者推出一項服務,則針對於該 服務的付款模式變成是靜態的。該提供者只能夠藉由推出一替代或修改的服務並且發出新的卡或應用程式來支援該服務以修改該服務。這是為何儘管EMV的嚴重的弱點是眾所周知的,但修復該系統是不可能的原因之一,因為那將會表示召回每一個現有的EMV卡、重新程式化及啟動該EMV付款基礎結構、並且接著發出新的卡。此將會需要數以千計的發行者及取得者的合作。
Tereon係利用該SDASF來將所有的功能放到該後端,並且該後端可以即時地導引該商人裝置通過該程序。此係使得該服務提供者能夠產生可以是和個別的使用者一樣的粒度的新的服務。
該可擴充的架構是一座落在該Tereon系統之內的架構,並且在不一定需要重新配置該Tereon系統下致能新的服務的增加。該可擴充的架構係和該目錄服務216一起作用,以提供一些優點給該Tereon系統。
彈性的訊息結構
該可擴充的架構係部份由一彈性的訊息結構所提供的,其中任何資料或記錄類型都可被設置有一可變長度的欄位,使得該Tereon系統可以修改該欄位的長度來與傳統或者是不相容的系統運作。
該可擴充的架構係容許藉由改變程序的標準順序來增加一額外的安全性層至該通訊基礎結構。在許多產業中(付款就是其中一例子),該些通訊係使用固定的訊息結構。此係導致犯罪者可加以利用的一弱點,即使該些通訊是被加密的也是如此。結構式訊息是易受縱深攻擊的傷害。儘管組織及其它仍然可以藉由利用一雜湊訊息認證碼(HMAC)來保護一訊息的完整性,但是該HMAC並不保持該訊息應該吸引人的絕對的秘密。
該可擴充的架構係針對於任何交易處理系統來設計以避開靜態系統的問題。其係提供該彈性以和現有的系統及服務一起運作,並且容許提供者能夠更新現有的服務,並且建構新的服務,而不需要重新推出一基礎結構或是發出新的端點裝置(例如是卡)。該架構是足夠有彈性的,以致能提供者能夠建構它們可以客製化到個別的使用者的服務。此將會在以下加以解說。
模糊化
任何具有結構式訊息格式的系統所面對之理論的風險中之一是一訊息格式的重複的使用將會提供足夠材料給駭客來使用於蠻力的攻擊。此對於並未正確地利用某種形式的隨機播種來實施加密演算法的系統而言是確實如此的。然而,其係為一項應該克服的風險。
該可擴充的架構係使得操作者及使用者能夠與在裝置以及伺服器之間傳送一結構式訊息的需求脫離。替代的是,該訊息可加以模糊化。
在Tereon中的交易通訊的每一個都將會包括兩個或多個欄位以及用於那些欄位的標籤。並非是每一個通訊都依循一固定順序的欄位,該順序可以用一隨機方式來加以改變。由於每一個欄位將總是被伴隨有其識別的標籤,因此必須確保在一通訊的每一端的裝置在它們處理欄位之前,都將會先解密並且接著排序該些欄位。
例如,利用從該JavaScript物件表示法(JSON)文件所提供的例子的一節錄(儘管其它的格式當然可被使用在該系統中),以下的三種表現都將會是相同的:
‧{"version": 1, "firstName": "John", "lastName": "Smith", "isAlive": true, "age": 25}
‧{"version": 1, "firstName": "John", "isAlive": true, "lastName": "Smith", "age": 25}
‧{"age": 25, "firstName": "John", "isAlive": true, "lastName": "Smith", "version": 1}
攻擊者將不會知道其所具有的哪一個(若有的話)密文係包含已知而且具有相同順序的資訊。模糊化之確切的模式將會依據所用的格式以及所用的串列化協定(若有的話)而定,但是原理係維持相同的。
模糊化的模式係具有一額外的優點。預先定義的通訊的內容可加以擴大,而不違反該通訊協定。若一裝置係接收到其無法處理的欄位,則其將會單純地拋棄那些欄位以及其值。因此,一或多個成對的隨機的欄位及值可被納入,而該系統係拋棄之,但是此係增加額外的不確定性至該些通訊。
以下的三個通訊將會是相同的:
‧{"version": 1, "firstName": "John", "nonce": 5780534, "lastName": "Smith", "isAlive": true, "age": 25}
‧{"whoknows": "698gtHGF", "version": 1, "firstName": "John", "isAlive": true, "lastName": "Smith", "age": 25}
‧{"age": 25, "firstName": "John", "isAlive": true, "lastName": "Smith", "whatis this": "Jor90%hr, " "version": 1}
在以上的通訊的每一個中,該些裝置將會拋棄該些對的未知 的欄位及值。
該些欄位名稱可以對於每一個通訊,藉由用一隨機方式混合大小寫來進一步模糊化。該些裝置將會處理這些欄位成為其正規的(canonical)形式。
因此以下的三個通訊將會是相同的:
‧{"veRsioN": 1, "firstName": "John", "nOnce": 5780534, "laStnAMe": "Smith", "isAlive": true, "Age": 25}
‧{"whoknows": "698gtHGF", "vErsion": 1, "fiRStname": "John", "iSaLive": true, "lastName": "Smith", "age": 25}
‧{"aGE": 25, "firstname": "John", "isAlive": true, "lasTNane": "Smith", "whatis this": "Jor90%hr, " "versIOn": 1}
若一可能包含額外的欄位的版本2的訊息被傳送,則任何只理解版本1的裝置將會拒絕該訊息、或是若回溯相容性被確保,則處理該些其理解的欄位,而拋棄剩餘的部分。此可以藉由提供一欄位來表示哪些版本係與該些欄位中的一些欄位回溯相容而進一步強化的。
此係除去對於縱深攻擊的弱點。該訊息的結構亦可被維持,但是具有可變長度的欄位。同樣地,此係達成一類似的結果。藉由亦利用一HMAC,該訊息的完整性以及其秘密都受到保護。若終端組織的核心系統需要具有一結構式的格式的訊息,則一旦它們已經到達一伺服器後,Tereon將會單純地重新建構該些訊息,並且用該組織的核心系統所需的形式來將它們重定格式。因此,該可擴充的架構係使得傳統系統的安全性問題能夠被克服,而且仍然和此種系統一起運作。
該可擴充的架構係在和如同以上所提及的完全相同的安全性及彈性的程度下支援任何的資料或記錄類型。
抽象的工作流程構件
在現有的解決方案中,一付款程序將會是用軟體來加以定義、實施、測試、並且接著被發布。該付款交易結構目前將會是固定的,並且無法在沒有相當的努力以召回及替換或重新程式化裝置、終端及伺服器下加以改變。
Tereon並不如此做。而是,其係從個別的構件建構該付款程序,該些個別的構件的每一個係與其連線的構件互動。那些構件係實質佈局該程序的工作流程。每一個構件可被更新,並且具有在不影響該付款程序本身下增加的功能。此係從該裝置抽象化該些程序構件,因而一旦一交易被界定後,其可以適用於任意數量的裝置,它們例如是卡及卡終端、行動電話、或是網路入口。
每一個構件係根據其接收到的指令的結果來傳遞指令及資訊至下一個構件。該些指令可以是交易的、或是它們可包含控制,例如是下一個構件應該如何運作的(例如,請求一PIN(若其係選配的)、提供一組選擇、顯示一特定的訊息、以及所預期或容許的響應)。
此係提供在不需要重新程式化或是取代現有的端點下改變現有的付款服務並且建構新的服務之功能。在該時點,一旦一付款服務提供者實施一付款系統後,該付款服務提供者並無法在不取代該些端點下輕易地改變該系統。該些現有的系統係實質靜態的。此係利用一動態系統來取代它們。
該可擴充的架構係使得該操作者能夠利用這些構件來計劃出用於一特定的交易的工作流程。其係使得包含決策樹與類似者的工作流程能夠被建構。一操作者可以單純地藉由重新安排現有的構件、藉由增加提供新的功能的新的構件、或是藉由移除構件,來修改一現有的工作流程。為了在一現有的系統中如此做,該些伺服器以及該些終端將會需要被重新程式化,並且該些卡本身可能需要被替換。
此的一個例子係被展示在圖18至20中。該些構件本身係藉由一終端螢幕而被表示為區塊,以使得視覺化每一個構件所做的變成容易的。然而,該些構件等同地適用於行動交易、網路入口交易、以及卡終端交易。為了改變一現有的工作流程,該些構件的順序及連接將會單純地加以改變。為了產生一新的工作流程,所需的構件將會單純地用所要的順序而被連接在一起。
正常的付款程序將會針對於非接觸式、接觸式、以及行動的付款產生個別的付款程序。因此,如同在圖18中所示,構件1804通常將會出現在鏈中的左邊,就在該'及時完成交易'的構件1802之後。
然而,如同在圖19中所示,藉由將此構件進一步沿著右邊移動,並且插入兩個進一步的決策構件1902及1904到該鏈中,該操作者可以產生單一付款程序,其可以在單一付款程序中管理接觸式、非接觸式、以及行動的付款。
該操作者可以更進一步。一旦該系統已經識別該消費者後,或許其想要增加一特殊的季節性提議至該程序。如同在圖20中所示,其可以在任意時間進一步向右邊移動構件1804,並且在其原始的位置中插入一 新的構件2002,該構件2002係在該商人需要輸入該數量及PIN之前自動地給該消費者一提議。例如,該操作者可以配置該構件來在聖誕節的前24天運作,並且之後到新年前幾天提供一不同的構件。此將會動態地改變用於該聖誕節及新年假期的付款程序,而不需要一操作者召回及重新程式化裝置。該構件將會單純地指示該顯示裝置(其例如是一行動電話或一卡終端),以顯示該提議給該消費者。該操作者可以輕易地藉由組態設定構件1804來禁能該PIN的要求,以禁能該PIN的要求。同樣地,若該構件並沒有需要一PIN的功能,則該操作者可以更新該構件以包含該功能。
該操作者甚至可以更進一步並且建構一整個決策樹,來使得該消費者能夠從一個範圍的提議中選擇,若該操作者想要如此做的話。一旦該提議假期結束後,該操作者將會單純地移除該新的構件,並且該程序將會恢復繼續其原始的結構。
重要的是要注意到並沒有任何點該操作者會需要召回該些裝置來改變該程序。其係單純地在該後端重新組態設定該程序,並且接著在其選擇的一時間及日期實施該改變。
給予該Tereon伺服器的內部的管理及操作的架構可以用完全相同的方式來加以配置,其中該架構的構件係和該存取的背景互動,以管理該些使用者及管理者可以如何存取資訊以及何種資訊、以及它們可以執行何種工作。
動態服務
該可擴充的架構係使得一組織能夠快速地產生及實施新的服務。該操作者係單純地藉由將所需的區塊連結在一起,並且界定任何相 關的訊息來界定這些服務。並非是需要利用程式設計者來撰寫用於一服務的碼,而是該架構係容許行銷及IT的部門能夠藉由撰寫一定義檔案以定義該工作流程、藉由利用一圖形系統來'畫出該工作流程'、或是藉由任何其它定義工作流程的程序來實施該服務。一旦其已經檢查該工作流程後,該操作者係單純地藉由將所定義的步驟或區塊連結在一起來實施該工作流程,並且Tereon係使得該服務可供所有符合資格的使用者利用的。
例如,一操作者將會需要使用一區塊來接受一任意值的付款、以及一後續的區塊來請求一PIN。然而,若一操作者想要提供一存取控制系統,則該相同的操作者可以產生一區塊以容許無PIN的存取至一組空間,同時利用一區塊以請求一PIN來存取另一組空間。
此係表示,不同於現有的系統,該系統係容許組織能夠設計及實施新的服務、或是修改或移除現有的服務,甚至是在該組織已經推出該交易處理系統之後,而不需要取代被發出給使用者的裝置。若一裝置瞭解並且可以操作該些定義的步驟的任一個,則該裝置將會利用那些步驟來支援該組織所定義的任何服務。一旦一組織定義一服務後,該系統將會立即使得該服務可供目標的一或多個使用者利用。
抽象化的裝置
該可擴充的架構將抽象化的原理更進一步,並且抽象化該些裝置本身。該架構係針對於每一個類別的裝置定義程序構件,其係有關於那些裝置的功能。該些程序構件將會和那些功能構件互動。根據該些可利用的功能,該些程序構件將會指示該些功能構件以執行工作,例如是要輸出什麼、以及要輸入什麼。
粒度
Tereon可以個別地識別每一個裝置、使用者、以及帳戶,並且可以存取一使用者正利用一裝置以存取一服務所在其中的背景。因此,該操作者可以根據一個別的使用者存取該服務所在的背景來組態設定構件、以及在那些構件之內的選項,以觸發一動作。Tereon係有效地容許該操作者能夠修改至每一個使用者的服務、每一個使用者的裝置、以及該使用者使用該裝置以存取該服務所在的背景。
例如,一使用者可以看見在一交易中的三個提議的選擇,一不同的使用者可能只看見他或她將會自動接受的一提議,同時一第三者可能完全看不到一提議。
若該程序係有關於存取記錄(例如,病患記錄),則一使用者可以是能夠存取他或她的記錄,並且管理該使用者可否在一醫療設施中、或是在一家庭領域中存取那些記錄的存取權利。然而,若該使用者(或是別人)離開那些領域來存取那些記錄,則該使用者可能只看到那些記錄的一子集合、或是完全不能夠存取那些記錄(根據針對於該服務的背景設定而定)。
若該使用者利用一卡終端來存取該服務,則該些構件將會指示該卡終端以顯示相關的資訊。若該使用者利用一行動電話或是其它螢幕裝置來存取相同的服務,則該些構件將會指示螢幕以顯示相關的資訊。以此種方式,該可擴充的架構的抽象層係變成與裝置無關的。其可以利用任何適當的顯示及存取點,以控制該使用者-系統的互動。
同理也適用於所提供的服務。每一個使用者的帳戶都將會有該提供者的預設的服務位準。在其中一操作者增加新的服務、或是針對於 一或多個使用者修改現有的服務的情形中,則那些使用者的帳戶將會有那些服務。至該服務的關鍵將會是其提供者的標籤、該使用者的帳戶號碼、以及該使用者的裝置註冊標籤的一組合。此係針對於該使用者產生一短的樹枝狀路徑至該服務的定義及規則。
例如,該傳送者可以使用一行動電話,其已經在該行動電話上設定其規則以容許互動或是自動的傳輸。該接收者可以已經設定其裝置來接受自動的傳輸。在此例中,該傳送者的裝置將會單純地通過該些步驟以進行一自動的傳輸。該服務標籤並不包含任何有關該傳輸是否為互動的資訊;其係留給被儲存在該傳送者及接收者的伺服器中的服務上的資訊。
若該接收者已經設定其裝置來接受互動或是自動的傳輸,則該傳送者的裝置將會詢問該傳送者要使用哪一個模式。該接收者可以已經設定其裝置來在某些時間之間接受自動的傳輸,並且在其它時間接受互動的傳輸。在此,該接收者的Tereon伺服器將會單純地根據該接收者的時段來通知該傳送者的伺服器要使用的傳輸模式。
若該傳送者或是該接收者的裝置將只會接受互動的傳輸,則若該接收者與傳送者同時在線上,則它們將會通過該些步驟以實行該傳輸。若該接收者只有一卡,則該接收者將會需要前往一商人的終端以執行他這邊的交易。若該接收者是離線的,則該傳送者將會通過其步驟,但是該接收者必須接著在Tereon完成該傳輸之前通過其在該交易中的步驟,例如是接受該傳輸並且輸入其PIN。在那之前,Tereon將會把該傳輸保存在一第三方保管(escrow)設施中,類似於其處理至非Tereon使用者的傳輸的方式。
動態介面
該可擴充的架構係導致與背景相依的服務,例如是提議、在一事件中幫助一使用者找到他或她的座位、特定商人的程序…等等。其係容許一組織能夠客製化當使用者與Tereon互動時的每一個使用者將會有的服務及經驗、根據該背景而定的服務可利用的程度、哪些按鈕可以出現、何種選項可以是可供利用的…等等。
每一個使用者以及每一個商人可以互動的服務數量係完全根據在該個別的使用者可以存取的服務與該商人可以提供的服務之間的重疊而定。
例如,在其中一商人可以提供付款、存款、以及提款的情形中,並且若一使用者來到該商人處,而且該使用者只能夠在一商人處存取付款,則該使用者及商人將只會看到相關於一付款的功能,亦即付款及退款。若一使用者來到該相同的商人處,而且該使用者可以存取付款、存款、以及提款,則該使用者將會看到那些功能的全部。若該商人現在不再具有足夠的資金來支援存款或是提款,則當完整服務的使用者來到該商人處,該使用者將只會在他或她的裝置或是該商人的終端上看到該付款功能而已。該商人亦將不會再出現在針對於提供存款或提款的商人的任何搜尋上,直到該商人為止。可能的是一使用者無法在某些商人處存取某些服務,但是可以在另一商人處存取那些服務。該架構將會處理這些情形。
該動態介面係補充一多面的憑證的使用,並且使得該裝置以及其相關的應用程式能夠變成類似於如上所論述的'心靈感應紙'的東西。在此例中,該裝置係只提供可存取的服務,並且該介面係被調適到就是那些服務,而不論該使用者可能註冊所針對的複數個服務為何。其看起來可能 像是一付款裝置為一服務、一運輸票券為另一服務、一房門鑰匙為另一服務…等等。服務提供者並不需要發行個別的裝置以存取其服務,並且就此而言係降低提供服務的複雜度及成本、以及升級那些服務的複雜度及成本。
該可擴充的架構係使得該裝置能夠改變其外觀,並且提出該裝置被使用在其中以及所針對的背景所需的憑證及服務。因此,其例如可以修改一獨立的ATM(例如是在一雜貨店中的ATM)的螢幕,以在該使用者存取ATM時採取該使用者的操作者的外觀及感受,並且只提出該使用者已經訂閱的那些服務。
和其它層的互動
該可擴充的架構在該Tereon系統之內和其它構件互動的能力是該可擴充的架構之一基本的特點。除了該背景安全性(其本身係納入較廣的安全性模型)之外,該可擴充的架構指令可被內嵌在經由該雜湊鏈(如同相關於具有零知識證明的雜湊鏈所揭露的)發送的交易的資訊之內。
離線的模式
Tereon係提供三種離線的模式;使用者離線的、商人離線的、以及兩者離線的。
在前兩種情形中,Tereon係藉由用另一種繞著方形的方式來完成一即時的交易;亦即該使用者係經由該商人終端以及該商人的Tereon伺服器來和其Tereon伺服器通訊。該商人或是該使用者都將不會體驗到服務劣化。Tereon係利用一PAKE協定、或是一具有類似功能的協定,以針對於該相關的裝置,通過該方形的三個側邊來產生安全的路徑。
在該第三種情形中,其中兩個裝置都是離線的,第一時間的 想法將會是Tereon將不能夠即時地檢查該使用者或商人是否有足夠的資金來支援一交易,並且因此產生Tereon原先被設計來克服的信用曝險。但這並非如此。
藉由利用該可擴充的架構的特點以及該雜湊鏈的一版本,Tereon可以確保該系統仍然可以檢查資金。該使用者以及該商人都將會能夠實行其功能的全部。該使用者將會需要使用一行動電話或是一微處理器卡,但是該使用者或是該商人都將不會在它們所體驗的服務上看到劣化。該商人的裝置以及該使用者的裝置都將會儲存在它們之間的交易之加密的細節、以及該商人已經做出的先前的離線的交易的一隨機的樣本。該商人的裝置係設定其將會傳給一使用者的卡或電話的每一個交易的複製的最大數量。
Tereon將會使用商業邏輯以及其安全性模型及雜湊鏈的一組合,以避免任何使用者利用離線的裝置以及線上的裝置的一組合來提領超過存在於一帳戶之內的金額。一帳戶可以只有在該帳戶提供一信用功能時,才支援離線的裝置。該離線的邏輯並不需要信用,儘管允許提供信用可能是一服務提供者的管理者所要求的。
若一裝置並未被授權來離線的運作,則當其離線時,其將會無法與任何其它裝置交易。其安全性及認證模型將會避免其如此做,因為其簽章將會指明其為只支援線上的交易,並且該裝置將會無法處理任何將會影響其所註冊的任何帳戶的值的交易。
若一裝置可以支援離線的交易,則該服務提供者將會限制此到某一個量(一信用限制、或是該帳戶餘額的一分數,此總是在該裝置是在 線上時被更新),此係該離線的容許量。該裝置將只能夠授權從該帳戶的資金的轉帳或付款至該總值或是該離線的容許量。當然,該服務提供者可以授權該裝置來接受轉帳或資金,並且其可以限制那些接受的值(該離線的接受容許量)。若該使用者在該第一裝置係離線時直接經由一入口、或是利用另一線上的裝置存取該帳戶,則該使用者將會只能夠授權從該帳戶的轉帳或付款達到該帳戶餘額減去該離線的容許量的值。
一旦該些包含相關記錄的裝置中之一返回到線上後,Tereon係核對全部的離線的交易。當然,其將會接收到某些交易的多個複製,但是其可以使用這些複製以確認先前的核對。
因此,若該伺服器係從有關於向該離線的裝置所做的付款或轉帳之離線的交易的第三方的伺服器接收記錄,則一旦其已經接收到那些交易的足夠的複製後,其將會處理那些交易,並且將那些資金加到該帳戶餘額。同樣地,若該伺服器係從有關於向該離線的裝置所做的付款或轉帳之離線的交易的第三方的伺服器接收記錄,則一旦其已經接收到那些交易的足夠的複製後,其將會處理那些交易,並且從該帳戶餘額以及剩餘的離線的容許量減去那些資金。
儘管以上所給予的說明係參照到付款,因為這些是容易想像的,但是相同的操作模式可以適用於任意類型的交易的系統。一例子將會是在IoT裝置或是其它產業的構件之間的互動。藉由產生包括可以被重新配置、插入、或是移除的模組的工作流程,操作者可以重新配置該些裝置以用新的方式運作,而不需要召回、重新程式化、以及重新安裝它們。
操作者可以在現場重新規劃裝置、改變它們運作的方式、或 甚至是讓裝置根據那些裝置偵測到那些裝置運作在其中的環境的任何改變,來控制其它裝置並且修改其工作流程。
一有需要如此做的時候,IoT裝置亦可以藉由修改構成工作流程的模組的組件來修改彼此的工作流程。管理裝置間的通訊的安全性模型將會使得該通訊抵抗中間人的攻擊,同時該查找服務將會使得裝置能夠彼此識別及認證。
該離線的模式係容許此種裝置能夠自主地或是半自主地運作並且與彼此相互操作、驗證及確認在那些裝置之間的任何交易、以及只有在需要如此做的時候和一操作者的系統互動。
在以下解說的背景安全性模型係延伸至任意類型的裝置,例如是一IoT裝置。只要一裝置被授權來運作,而且只要該裝置的服務係被表列在一相關的查找服務中,則任何裝置都可以和任何其它裝置通訊,並且每一個都將會使用該雜湊鏈以使得其能夠信任及驗證在該些裝置之間的交易及資料通訊(其係包含修改該些裝置的工作流程的指令)、升級一裝置的系統、或是單純地傳遞或是對照在那些系統之間的資料。每一個裝置都將會保存其交易的一完全的稽核。
安全性
該Tereon系統係使用一些獨特的安全性模型,其係克服存在於傳統交易處理系統中所用的目前的安全性模型及協定中的瑕疵及限制。例如,該些安全性模型係除去在一裝置上儲存資料的需求。這是現有的系統之一主要的問題。
安全的USSD
USSD(非結構性輔助服務數據)通常是被使用作為用於許多交易類型(其係包含往返於功能型電話的付款)的通訊通道。Tereon係容許USSD能夠被安全地使用。
大多數的實施方式都需要使用者輸入一USSD碼、或是從一經編號的功能表選擇一動作。一系列的非加密的訊息係來來往往。此係導致成本、劣質的安全性以及劣質的使用者經驗的問題。
並非是傳送訊息為7或8位元的文字,其係安全性的顧慮所發生之處,Tereon係以一種新的方式來使用USSD以及類似的通訊通道。Tereon係單純地將其視為一對話為基礎的短叢發的通訊通道。
Tereon並不修改一訊息來配合USSD,此係現有的系統所做的。反而,對於在一交易對話中的每一個加密的通訊,Tereon係如同其對於透過TCP/IP(亦即,GPRS、3G、4G、WiFi…等等)的一通訊將會做的加密該通訊以產生一加密文字,並且接著編碼該加密文字為一base647位元的字元串。Tereon接著係檢查該加密文字的長度。若其係長於在該USSD訊息中所容許的空間,則其係將該加密文字切割成為兩個或多個部分,並且利用USSD來個別地發送這些部分。在另一端,Tereon係重組該些部分成為完整的字元串、轉換其回到該加密文字、並且接著將其解密。
Tereon可以利用此方法來首先使用TLS(傳輸層安全協議),以識別及認證每一方。此將會產生該第一對話密鑰。Tereon接著可以使用此對話密鑰來加密該PAKE協定的協商,該協商係產生每一方將會使用以加密在該對話中的所有進一步的通訊的第二對話密鑰。
某些功能型電話係支援WAP(無線應用協定)。在其中這些實 施方式係透過USSD來使用WAP的情形中,則Tereon將會單純地使用該WAP協定堆疊作為橫跨USSD通訊的一方式。此將會提供無線傳輸層安全協議(WTLS)層,其將會單純地作用為一額外的認證層(其係比Tereon預設使用的TLS以及先進的加密標準的256(AES256)加密弱的,並且因此Tereon將會在任何事件中都使用AES256來加密該通訊)。
這也是Tereon如何可以保全被認知是缺少安全性的其它通訊通道的(例如,NFC、藍芽…等等)。藉由小心地建構一信息對話,USSD以及其它'不安全的'通道的本質可以完全地加以改變。
用於主動裝置(以及物聯網)的安全性模型
用於主動裝置,例如是行動電話、卡終端…等等的安全性模型係以一種類似用於卡的安全性模型的方式來操作(參見以下)。該SIM並未被使用,因為該些安全性演算法不久前係被破解。而是,一註冊密鑰係被使用,其係和該網路所產生的一唯一的密鑰一起被加密及儲存在該裝置上。在行動裝置上,Tereon可以利用該密鑰以執行一查找,以檢查該行動裝置所報告的IMSI(國際行動用戶辨識碼)是否為真的。
當一使用者第一次執行一應用程式時(若為所希望的話,使用者可以具有多個應用程式),該應用程式將會請求該Tereon伺服器針對於該使用者的帳戶所產生的一單次認證碼、以及該行動電話號碼或是該裝置的序號(若該應用程式第一次無法確定該號碼的話)。該使用者亦可以向多個Tereon伺服器註冊他或她的應用程式,其中每一個伺服器將會針對於該伺服器為了該使用者所操作的每一個帳戶或服務產生一唯一的單次啟動碼。
一旦該使用者輸入該單次啟動碼之後,該應用程式係利用該 碼作為在其與該伺服器之間共用的秘密,以產生該第一PAKE對話(若必要的話,此係在該應用程式與該Tereon伺服器已經利用TLS或是一類似的協定來彼此驗證之後)。一旦它們已經建立該第一PAKE對話之後,該Tereon伺服器將會和一個新的共用的秘密一起傳送一經加密且簽章的註冊密鑰至該應用程式。該伺服器以及該應用程式都將會使用該單次啟動碼、註冊密鑰、以及共用的秘密,以藉由產生全部三個的一雜湊來產生一新的共用的秘密。
每次該伺服器與該應用程式通訊時,它們都將會藉由雜湊先前的共用的秘密與它們在線上的通訊中介於它們本身之間所傳遞的先前的訊息的一雜湊來產生一共用的秘密。每次該應用程式與伺服器和彼此通訊時,它們都將會產生該交易的內容的一雜湊(該交易雜湊),它們已經和先前的交換的雜湊交換該交易雜湊。它們都利用此交易雜湊以產生該新的共用的秘密。
若一使用者遺失他或她的裝置、或是若他或她需要重新註冊一應用程式或改變裝置,則該Tereon伺服器將會產生一新的單次認證碼以及註冊密鑰。該伺服器將會傳遞至該應用程式的新的共用的秘密將會是從在該伺服器與該應用程式之間交換的先前的訊息的雜湊產生的。
此種密鑰轉發係使得該應用程式以及Tereon伺服器能夠總是對於每一個PAKE對話都具有一新的共用的秘密。因此,若一攻擊者能夠破解該TLS對話(此將會是極其困難的,因為該伺服器以及該應用程式都會簽章其訊息),該攻擊者仍然會需要破解該基礎的PAKE對話密鑰。若一方管理該技術,則此將會給予該方用於該對話以及只用於該對話的密鑰。 對於每一個通訊產生一新的密鑰的程序係表示該方將會需要對於每一個通訊都重複該技術,此係一項實際上計算上不可能的工作。
因為該應用程式係在任何對話中對照一特定的服務來認證,因此該使用者的應用程式將只會和該服務互動。該伺服器將不會知道該使用者的應用程式被註冊到的其它服務的任一個。實際上,該些應用程式係變成類似'心靈感應紙'之物,一識別裝置係只提供一服務所需的憑證,而不論該使用者可能註冊的複數個服務為何。其可以看起來像是針對一服務的一付款裝置、針對另一服務的一運輸票券、針對另一服務的一門鑰匙…等等。服務提供者並不需要發出個別的裝置以存取其服務,並且就此而論此係降低提供服務以及升級那些服務的複雜度及成本。
該安全性模型係具有一增加的益處。若一使用者遺失他或她的裝置,則該使用者可以獲得一具有完全相同號碼的新的裝置。具有其應用程式的舊的裝置將不會作動,而該新的裝置一旦被註冊之後,則其將會作動,因為其將會具有有效的秘密密鑰以及註冊碼。儘管在遺失到報告一遺失的裝置之間可能有一時間間隙,但是沒有人會能夠做出任何交易,因為沒有人會有該必要的密碼及PIN、或是任何其它認證標記。
該使用者或是該Tereon系統的管理者亦可以組態設定該應用程式,以在該使用者可以存取該應用程式之前要求一密碼。此密碼係利用該Tereon伺服器來加以檢查。若其是有效的,則該Tereon伺服器將會指示該應用程式來運作(利用總是經簽章及加密的通訊)。若該密碼是無效的,則該Tereon伺服器將會指示該應用程式來在一有限的嘗試次數下要求一新的密碼。之後,該Tereon伺服器將會鎖住該使用者的應用程式,並且該使 用者將會需要聯繫該管理者,以解鎖該應用程式並且重新註冊該裝置。
每一個憑證都被定時的。此係表示一使用者可以具有在一界定的時間期間被指定給他或她之一特定的憑證,並且在該時間期間利用該憑證所發生的所有的交易都被連結到該使用者。若該使用者接著改變憑證,則該原始的憑證可被指定給另一使用者。然而,該查找伺服器將會繼續根據該些憑證以及對照那些憑證所註冊的時間期間的組合,來連結交易及憑證。
相同的模型可以適配於保全在'物聯網'中的裝置之間的通訊。在此,一憑證或是一硬線的序號可被利用以識別每一個裝置。當其係與該交易的日期、或是與先前在該些裝置之間傳送的訊息雜湊時,其將會變成每一個裝置在第一次接觸時將會交換第一個共用的秘密。兩個號碼將會被利用,一將會識別該裝置並且作用以取代一PKI(公開密鑰基礎結構)憑證的公開的序號、以及一密碼保護的序號,其將會作用為該共用的秘密。或者是,單一序號可被使用作為該ID以及該第一共用的秘密,並且一新的秘密密鑰將會經由該些安全的通訊通道來上傳的(參見有關在該系統架構中的通訊層的討論)。
Tereon的行動安全性模型係具有另一優點。一操作者可以利用其來設定對於個別的服務的存取權利,並且根據一特定的使用正嘗試要成功該服務所透過的裝置及網路來組態設定存取的程度。譬如,此係表示一提供者可以指明一管理者可以是能夠透過一安全的公用網路來觀看系統日誌,但是只透過一內部的網路來存取該系統管理功能,並且於是只經由一固定的裝置,而不是經由一行動裝置。
儘管此能力係在付款上具有某些應用(其係將對於該系統管理功能的存取保全至所界定的網路及裝置),但是其對於其中敏感或特權的內容之受限制的存取是所需的其它服務而言將會是非常有用的,因而使用者可以精確地控制誰可以看到某些資料、這些第三方可以看到哪些資料、以及它們可以如此做的所在的位置。
該安全性模型係致能一組織能夠保證藉由任何裝置所收集、產生、或是發送的任何資料的隱私性及安全性。此可以適用到任何裝置或交易,從一付款、一直到一醫療裝置、一流量感測器、一天氣感測器、一水流偵測器…等等。
卡安全性模型
EMV卡以及利用主機卡模擬的行動電話係將一PIN儲存在該晶片上、或是在該電話上的一安全的元件中。非接觸式卡以及模擬那些卡的行動電話亦用一種清楚、或是容易閱讀的形式來儲存該些卡的細節的大部分。該些卡終端係對照被儲存在該卡上的PIN來檢查該使用者輸入的PIN。這是在該EMV系統中許多的弱點顯露出來所在之處,並且使得該EMV程序容易受到一些已被詳實記錄的攻擊。
Tereon係在該卡上只儲存一認證密鑰,並且對照一被儲存在該Tereon服務上(在未對於只看到該些值的相符而非實際的值之管理者公開的資料庫的一安全的區域中)的值來檢查所輸入的值。其係根據該服務以及該特定的功能、資源、設施、或是交易類型、或是由該服務所提供的其它類型的服務來認證的。Tereon係使用兩個安全性模型,其中一個是另一個的一子集合。
大多數的卡將會顯示一PAN(長的號碼)。Tereon並不使用此號碼來識別該帳戶。而是,其係用和一行動電話號碼相同的方式來使用該PAN;其單純是一存取憑證。每一個卡都具有一加密的PAN。該卡亦具有一加密的註冊密鑰,其係用大概和在一行動電話上的註冊密鑰認證該裝置相同的方式,針對於該卡所註冊到的每一個服務識別該卡為有效的。該加密的碼將會具有一字首,若其尚未已經使得有關於該加密的PAN串的位址細節註冊在其Tereon服務上的話,其係單純地指向該商人的Tereon服務將會需要請求的國家的查找目錄服務。
當該使用者提呈該卡至該終端時,該終端將會讀取該加密的PAN,並且使用其以及該加密的註冊密鑰來利用該卡的註冊的終端以驗證該卡。一旦該使用者的Tereon服務已經驗證及認證該卡以及該商人的Tereon服務兩者後,則該使用者的服務將會傳送該PAN(以其非加密的形式)給該商人的Tereon服務,因而其可以註冊此以及該加密的形式於其快取中。因此,若該使用者之後例如是經由一電子商務入口或是一商人的終端清楚地輸入該PAN,則該服務將會知道要聯繫哪一個其它服務。
若讀卡器因為任何原因而無法讀取該卡,則該使用者或是商人可以打字輸入該PAN,並且該商人的Tereon服務將會使用該PAN來獲得該使用者的Tereon服務的位址。該使用者可以替代地輸入他或她的電子郵件位址、行動電話號碼、或是任何其它唯一的憑證,只要該憑證係被註冊到該使用者的帳戶即可。該卡的PAN單純是該使用者可以使用的眾多憑證中之一而已。
一旦該商人的Tereon服務已經驗證該卡後,該商人的終端 將會設定一TLS並且接著是一與其Tereon服務的PAKE對話,此係利用其雜湊的密鑰來如此做的(每次該終端和其服務通訊時,其都雜湊其先前的密鑰以及其註冊密鑰以產生用於該PAKE對話的新的共用的秘密)。該商人程序將會繼續直到該商人的終端需要請求一PIN為止(若該使用者的Tereon服務針對於該交易需要一PIN的話,即如同由該付款服務提供者所決定並且在該Tereon服務的商業規則引擎中所記載者)。該使用者的Tereon服務將會和該商人的服務產生一PAKE對話,並且接著傳送一單次密鑰至該商人的服務、以及經由先利用TLS所產生的另一PAKE對話來傳送一加密的訊息至該終端。
該商人的終端將會接收該密鑰,並且解密該訊息以顯示藉由該使用者所選的一文字,該文字係展示該終端係由該商人的服務所授權的。該使用者係輸入他或她的PIN,此係經由該終端和該使用者的服務的PAKE對話來加以傳遞。此程序只發生在該使用者必須在一商人終端輸入他或她的PIN之情形中。該商人的終端絕對不會清楚地看到該PIN,因為此係在一安全的app中被輸入,該PIN是該商人的終端從該使用者的Tereon服務存取並且利用一第二單次密鑰加密的,該使用者的服務係在一安全的經簽章的密鑰交換中發送該第二單次密鑰至該終端。所有的通訊通常將會經由該商人的服務,在該終端與該使用者的Tereon服務之間的直接的通訊亦可以在其中該終端可以支援該功能的情形中被建立。
若該卡是一微處理器卡(晶片與PIN、非接觸式的、或是兩者),則該卡亦可以具有一最初在其被發出時產生的共用的秘密。
一微處理器卡亦將會使用PAKE以和其註冊的Tereon服務 (或是用於該服務的服務)建立一對話。此對話將會是伴隨著藉由該卡終端(其可以是一行動平板電腦、或是一PoS卡終端)與其Tereon服務所建立的對話。此係立即除去現有的終端以及晶片與PIN卡所呈現的密鑰的易遭攻擊性,其係現有的基礎結構的易遭攻擊性,以經由一些'中間人'或是'楔形'的攻擊來干擾及顛覆該PIN驗證程序。
該卡將會使用此通道以產生其將會發送給其服務的一密鑰,並且其服務於是將會發送該密鑰至該商人的終端以加密該PIN。當該卡將會儲存最後一個線上的交易的餘額時,其亦將會使用此通道以使得離線的交易變得容易,其將會使用該密鑰作為一種子以產生其將會使用於離線的交易、以及一些第三方的離線的交易的記錄的密鑰的系列。
若一卡遺失或是被偷,則Tereon的安全性模型係意味著該發行者並不需要發出一新的PAN。
背景為基礎的安全性
大多數的安全性協定都使用一些憑證,並且建構在基礎的假設上。就是這些假設可能會導致錯誤,因而失去安全性。該Tereon系統並不依賴任何基礎的假設,除了假設在無此系統下,該通訊網路可能是不安全而且無法被信任的,並且一裝置操作在其內的環境亦可能是不安全的。
該Tereon系統係更前進數個階段,並且檢視一組憑證以及那些憑證被提出所在的背景。此係提供額外的安全性,並且保全組織可以使得其雇員或成員能夠在某些或所有的情況中使用其本身的裝置(有時被稱為個人自備裝置(BYOD))所藉由的手段中之一。
Tereon可以不只是使用該使用者的密碼、PIN、或是其它直 接的認證憑證;其亦將會使用該裝置的細節、在該裝置上的應用程式、該裝置存取Tereon所藉由的網路,該裝置在該對話的當時以及期間的地理位置、以及該使用者利用該裝置正在存取的服務或資訊。
Tereon係取得該些憑證,並且根據藉由且對照那些憑證所設定的背景,其將會控制對於該資訊的存取,允許一適合該憑證的存取層級。
例如,嘗試存取在一尚未被Tereon認可的私有裝置上的深度的管理服務的一管理者將會被阻止用那些服務,而不論該管理者是否在該工作場所中以及在該工作場所的網路上。然而,該同一位管理者可能有資格來觀看在該相同的裝置上的某些系統日誌。
一第二例子將會是其中該背景安全性模型管理一次要的使用者可看到的服務。一使用者係具有一電話或卡,其係在無設定的限制下(當然,最高到任何的信用限制或是可利用的資金)提供多個功能,例如是存款、提款、以及付款。該使用者在一些場合經常去一咖啡廳,並且總是買一杯咖啡以及杏仁可頌。今天,該使用者已經將他的卡給了他的兒子,而且對於該卡設定一40英鎊的總花費限制。該使用者亦已經設定一第二PIN以供他的兒子使用,而他的兒子帶著該卡到相同的咖啡廳來買一杯咖啡。今天,該Tereon系統通常將會提供一免費的杏仁可頌給該使用者,因為其過去已經買了6個,並且該咖啡廳係利用Tereon來推出方案給其消費者。然而,當該使用者的兒子輸入其PIN時,該Tereon系統係偵測到正在付款的人是該使用者的兒子(其並不知道其父親的PIN),因而阻擋今天的方案,因為其係對於堅果過敏,並且其父親已經將他兒子的PIN連結到他兒子的簡檔。該商人看不到一免費的可頌的提供的任何通知,並且Tereon知道該使用者 的兒子無法食用堅果。該商人所能看到的是針對於一杯咖啡的一付款。
該使用者亦已經容許其兒子能夠提領高達10英鎊的現金,但是不能夠存款資金。因此,當該使用者的兒子前往一可以提供一高達10英鎊的提款的商人處時,其將會在該商人的終端上看到該選項。
除了存取控制之外,該背景為基礎的安全性係更進一步。根據一使用者提出或使用一裝置所在的背景,該裝置將只會提出針對於該背景所必要的憑證;其係變成'心靈感應紙'。以此種方式,該目錄服務216係提供可以支援該背景為基礎的安全性之功能。
該背景為基礎的安全性對於特定的背景,確實不需要個別的憑證及裝置。現在單一裝置可以在一圖書館中變成一圖書館卡憑證、在一公車或火車上變成一運輸票券、用以進出一房間或設施的一安全的鑰匙、在一公司的小賣部中變成一室內的付款裝置、一戲院票券、在一超市中變成標準的付款裝置、一駕照、一NHS卡、證明能夠使用一服務的一ID卡,若該服務需要的話,可以在該商人的裝置上帶出照片ID…等等。
因為Tereon係提供動態、即時的交易處理及結算,因此一管理者或使用者可以即時地修改、擴充、或甚至是取消一所容許的背景或憑證。該修改係立即被反映在提供一服務的Tereon伺服器中、或是在該查找目錄服務216中、或是在兩者中。遺失的裝置不再需要提出在目前的系統停止該裝置前的金融或ID曝險的一風險期間。一旦一使用者或管理者取消或修改一憑證或背景後,該改變將會立即變成有效的。
一鍵式交易
Tereon係實施一種一按鈕式交易授權以及存取方法,其係消 除在現有的系統中的安全性瑕疵。例如,目前的無PIN或是NFC付款是極為危險的,因為它們對於一付款並沒有提供認證。在一卡發行者在該非接觸式EMV系統上取消一電話或卡憑證之前,一使用者仍然對於所有的付款是有責任的。即使該裝置係被該發行者取消,但該消費者仍然必須嘗試證明其並未啟始該付款。若該付款從未要求一PIN來認證其,則該消費者要如何能夠證明?此係留下一巨大的漏洞,此係容許任何人都能夠撿起一非接觸式卡或電話,而且單純地感應式支付來進行付款。在該裝置被取消之前,該裝置係維持有效的。
Tereon係以三種模式中的一種來支援感應式支付,每一種模式係依據其運作的背景而定。這些模式中的一種係提供一鍵式交易,其係使用一種方法來識別一個人。在其中該使用者以及該服務提供者都同意所提供的認證的位準係滿足需要的情形中,該系統將會提供一鍵式認證方法,藉此該裝置將會在螢幕上顯示一大的按鈕、或是配置一大的區域以供該使用者來觸碰。其它的模式是一種完全無接觸的模式,例如是其中該使用者沒有輸入憑證之現有的非接觸式交易、以及一種其中該使用者在該些裝置已經彼此識別其本身之後輸入他或她的標準的付款憑證的模式。
該按鈕或是區域本身係經由該觸控螢幕來提供該認證。每一位個人係用一種其中該個人按下、以及它們所使用的壓力模式而論的獨特的方式按下一螢幕。若一個人欲使用此功能,則Tereon將會要求該個人按壓該按鈕或區域幾次,直到其已經得知該個人的簽名按壓為止。該螢幕係在邏輯上被分成一些離散的單元格,並且Tereon將會檢視該使用者在該訓練期間接觸的單元格的接近度及模式、以及當該使用者按下該螢幕時可能 發生的壓力模式以及任何的裝置移動之處。其將會使用及監視該資料,以建構其使用來認證該使用者的簡檔。
圖21係描繪一計算裝置2100的一實施方式的方塊圖,一組在該計算裝置2100之內用於使得該計算裝置執行在此論述的方法中的任一或多種方法的指令可加以執行。在替代的實施方式中,該計算裝置可以連線(例如,連網)至一本地區域網路(LAN)、一內部網路、一商際網路、或是網際網路中的其它機器。該計算裝置可以運作在一客戶-伺服器的網路環境中的一伺服器或一客戶機器的能力下、或是在一點對點(或分散式)網路環境中運作為一對等機器。該計算裝置可以是一個人電腦(PC)、一平板電腦、一機上盒(STB)、一個人數位助理(PDA)、一行動電話、一網路設備、一伺服器、一網路路由器、交換器或橋接器、一處理器、或是任何能夠執行一組指令的機器(循序或其它方式的),該組指令係指明將藉由該機器所採用的動作。再者,儘管只有單一計算裝置被描繪,但是該術語"計算裝置"亦應該被視為包含任意集合的機器(例如,電腦),其係個別地或是聯合地執行一組(或是多組)的指令,以執行在此論述的方法中的任一或多種。
該範例的計算裝置2100係包含經由一匯流排2130來和彼此通訊的一處理裝置2102、一主要記憶體2104(例如,唯讀記憶體(ROM)、快閃記憶體、例如是同步DRAM(SDRAM)或是Rambus DRAM(RDRAM)的動態隨機存取記憶體(DRAM)…等等)、一靜態記憶體2106(例如,快閃記憶體、靜態隨機存取記憶體(SRAM)…等等)、以及一次要的記憶體(例如,一資料儲存裝置2118)。
處理裝置2102係代表一或多個一般用途的處理器,例如是 一微處理器、中央處理單元、或類似者。更具體而言,該處理裝置2102可以是一複雜指令集計算的(CISC)微處理器、精簡指令集計算的(RISC)微處理器、非常長指令字的(VLIW)微處理器、實施其它指令集的處理器、或是實施指令集的一組合的處理器。處理裝置2102亦可以是一或多個特殊用途的處理裝置,例如是一特殊應用積體電路(ASIC)、一現場可程式化的閘陣列(FPGA)、一數位信號處理器(DSP)、網路處理器、或類似者。處理裝置2102係被配置以執行該處理邏輯(指令2122),以用於執行在此論述的操作及步驟。
該計算裝置2100可以進一步包含一網路介面裝置2108。該計算裝置2100亦可包含一視訊顯示器單元2110(例如,一液晶顯示器(LCD)或是一陰極射線管(CRT))、一字母與數字的輸入裝置2112(例如,一鍵盤或是觸控螢幕)、一游標控制裝置2114(例如,一滑鼠或是觸控螢幕)、以及一音訊裝置2116(例如,一揚聲器)。
該資料儲存裝置2118可包含一或多個機器可讀取的儲存媒體(或是更明確地說,一或多個非暫態的電腦可讀取的儲存媒體)2128,其上係儲存一或多集的指令2122,其係體現在此所述的方法或功能中的任一或多個。該些指令2122亦可以在其之藉由該電腦系統2100的執行期間,完全或是至少部分地存在於該主要記憶體2104之內及/或在該處理裝置2102之內,該主要記憶體2104以及該處理裝置2102亦構成電腦可讀取的儲存媒體。
上述的各種的方法都可藉由一電腦程式來加以實施。該電腦程式可包含電腦碼,其係被配置以指示一電腦以執行上述的各種方法中的一或多種的功能。用於執行此種方法的電腦程式及/或碼可被提供至一例如 是電腦的設備、在一或多個電腦可讀取的媒體、或是更一般而言的一種電腦程式產品上。該電腦可讀取的媒體可以是暫態或非暫態的。該一或多個電腦可讀取的媒體例如可以是一電子、磁性、光學、電磁、紅外線、或是半導體的系統、或是一用於資料傳送的傳播媒體,例如是用於透過該網際網路下載該碼。或者是,該一或多個電腦可讀取的媒體可以具有一或多個實體電腦可讀取的媒體的形式,例如是半導體或固態記憶體、磁帶、一可移除式電腦碟片、一隨機存取記憶體(RAM)、一唯讀記憶體(ROM)、一剛性磁碟片、以及一光碟,例如是一CD-ROM、CD-R/W或DVD。
在一實施方式中,在此所述的模組、構件以及其它特點可被實施為離散的構件、或是被整合在例如是ASIC、FPGA、DSP或類似的裝置的硬體構件的功能中,以作為一特殊化伺服器的部分。
一"硬體構件"是一有形的(例如,非暫態的)實體構件(例如,一組一或多個處理器),其係能夠執行某些操作,並且可被組態設定或是用某一實體方式來加以配置。一硬體構件可包含專用的電路或邏輯,其係永久地被組態設定以執行某些操作。一硬體構件可以是、或者包含一特殊用途的處理器,例如是一現場可程式化的閘陣列(FPGA)或一ASIC。一硬體構件亦可包含可程式化的邏輯或電路,其係藉由軟體而被暫時組態設定,以執行某些操作。
於是,該措辭"硬體構件"應該被理解為涵蓋一有形的實體,其可以實體被建構、永久地被組態設定(例如,固線的)、或是暫時被組態設定(例如,被程式化),以用某一方式來運作、或是執行某些在此所述的操作。
例如,一機器可以是一實體機器、一邏輯機器、一虛擬的機 器、一容器、或是任何其它普遍使用的用於包含可執行的碼的機構。一機器可以是單一機器、或者其可以是指複數個連線或分散式機器,而不論那些機器是否具有相同的類型、或是否為複數種類型的機器。
此外,該些模組及構件可以在硬體裝置內被實施為韌體或是功能電路。再者,該些模組及構件可以用硬體裝置及軟體構件的任意組合、或是只有用軟體(例如,被儲存或者用其它方式體現在一機器可讀取的媒體中或是在一發送媒體中的碼)來加以實施。
除非另有明確相反的陳述,否則如同從以下的討論明顯可看出的,所體認到的是在整個說明中,利用例如是"傳送"、"接收"、"判斷"、"比較"、"致能"、"維持"、"識別"、或類似者的術語之討論是指一電腦系統或是類似的電子計算裝置的動作及程序,其係將在該電腦系統的暫存器及記憶體內被表示為物理(電子)量的資料處理並且轉換成為在該電腦系統記憶體或暫存器、或是其它此種資訊儲存、發送或顯示裝置內被類似地表示為物理量的其它資料。
將瞭解到的是,以上的說明係欲為舉例說明的,而非限制性的。許多其它的實施方式對於具有此項技術中的技能者而言,在閱讀及理解以上的說明之後都將會是明顯的。儘管本揭露內容已經參考特定的範例實施方式來加以敘述,但將會體認到的是本揭露內容並不限於所敘述的實施方式,而是可以利用在所附的申請專利範圍的精神及範疇之內的修改及改變來加以實施的。於是,該說明書以及圖式係欲以舉例說明的意思來視之,而不是以限制性的意思。因此,本揭露內容的範疇應該參考所附的申請專利範圍、以及此種申請專利範圍被賦予的等同物的完整範疇來加以決 定。
該各種方面的所有選配的特點係準用地相關於所有其它方面。所敘述的實施例的變化係被設想到,例如是所有所揭露的實施例的特點都可以用任何方式來加以組合。
102‧‧‧Tereon伺服器
104‧‧‧智慧型裝置應用服務架構(SDASF)
106‧‧‧規則引擎
108‧‧‧模組
210‧‧‧Tereon許可伺服器
216‧‧‧目錄服務

Claims (10)

  1. 一種記錄一資料交易之方法,其係包括在一和一第一實體相關的裝置之處:決定第一種子資料;產生一在該第一實體與一第二實體之間的第一資料交易的一記錄;藉由組合至少該第一種子資料以及該第一資料交易的該記錄以決定第二種子資料;藉由雜湊該第二種子資料以產生一第一雜湊,該第一雜湊係包括涉及該第一實體的資料交易的一歷史;以及對照該第一資料交易的該記錄以將該第一雜湊儲存在一記憶體中。
  2. 如申請專利範圍第1項之方法,其中該第一種子資料係包括一開始的雜湊。
  3. 如申請專利範圍第2項之方法,其中該開始的雜湊是雜湊一涉及該第一實體的先前的資料交易的一記錄的結果。
  4. 如申請專利範圍第2項之方法,其中該開始的雜湊係包括一隨機雜湊。
  5. 如申請專利範圍第4項之方法,其中該隨機雜湊係包括來自該裝置的一簽章、該隨機雜湊之前被產生的日期及/或時間中的至少一個。
  6. 如申請專利範圍第1至5項的任一項之方法,其中提供第二種子資料進一步包括組合一第一零知識證明以及一第二零知識證明與該第一種子資料以及該第一資料交易的該記錄,其中:該第一零知識證明係包括該開始的雜湊係包含涉及該第一實體的該先 前的資料交易的真實雜湊的證明;以及該第二零知識證明係包括一第二雜湊係包含一涉及該第二實體的先前的資料交易的真實雜湊的證明。
  7. 如申請專利範圍第6項之方法,其中提供第二種子資料進一步包括組合一第三零知識證明與該第一種子資料、該第一資料交易的該記錄、該第一零知識證明以及該第二零知識證明。
  8. 如申請專利範圍第7項之方法,其中該第三零知識證明係從隨機資料而被產生的。
  9. 如申請專利範圍第7項之方法,其中該第三零知識證明是該第一零知識證明或是該第二零知識證明的一重複。
  10. 如申請專利範圍第7項之方法,其中該第三零知識證明係利用該第一資料交易的一對應於該第二零知識證明的第二記錄來加以建構。
TW106123058A 2016-07-08 2017-07-10 分散式交易處理與認證系統 TWI688914B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1611948.9 2016-07-08
??GB1611948.9 2016-07-08
GBGB1611948.9A GB201611948D0 (en) 2016-07-08 2016-07-08 Distributed transcation processing and authentication system

Publications (2)

Publication Number Publication Date
TW201812674A TW201812674A (zh) 2018-04-01
TWI688914B true TWI688914B (zh) 2020-03-21

Family

ID=56890822

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106123058A TWI688914B (zh) 2016-07-08 2017-07-10 分散式交易處理與認證系統

Country Status (18)

Country Link
US (1) US20200186355A1 (zh)
EP (1) EP3482525A2 (zh)
JP (1) JP2019525685A (zh)
KR (2) KR20230117473A (zh)
CN (1) CN109691016B (zh)
AU (2) AU2017293405A1 (zh)
BR (1) BR112019000353A2 (zh)
CO (1) CO2019001169A2 (zh)
EA (1) EA201990251A1 (zh)
GB (1) GB201611948D0 (zh)
IL (1) IL264136B2 (zh)
MA (1) MA45587A (zh)
MX (1) MX2019000331A (zh)
PH (1) PH12019500283A1 (zh)
SG (1) SG11202006519WA (zh)
TW (1) TWI688914B (zh)
WO (1) WO2018007828A2 (zh)
ZA (1) ZA201900836B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443307B2 (en) 2020-07-31 2022-09-13 Alipay (Hangzhou) Information Technology Co., Ltd. Cross-border resource transfer authenticity verification method, device and electronic equipment
TWI778478B (zh) * 2020-12-25 2022-09-21 中國信託商業銀行股份有限公司 交易資料整合設備與交易資料整合方法
TWI830610B (zh) * 2023-02-23 2024-01-21 台灣大哥大股份有限公司 跨系統稽核日誌的管理方法

Families Citing this family (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9729583B1 (en) 2016-06-10 2017-08-08 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11461456B1 (en) * 2015-06-19 2022-10-04 Stanley Kevin Miles Multi-transfer resource allocation using modified instances of corresponding records in memory
CN106656908B (zh) 2015-10-28 2020-02-21 阿里巴巴集团控股有限公司 一种二维码处理方法和装置
US10706447B2 (en) 2016-04-01 2020-07-07 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US11004125B2 (en) 2016-04-01 2021-05-11 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11244367B2 (en) 2016-04-01 2022-02-08 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US20220164840A1 (en) 2016-04-01 2022-05-26 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository and related methods
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US11416109B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US10798133B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11294939B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US10848523B2 (en) * 2016-06-10 2020-11-24 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US10467432B2 (en) 2016-06-10 2019-11-05 OneTrust, LLC Data processing systems for use in automatically generating, populating, and submitting data subject access requests
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US11410106B2 (en) 2016-06-10 2022-08-09 OneTrust, LLC Privacy management systems and methods
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US10776518B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Consent receipt management systems and related methods
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US10282559B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11343284B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US10585968B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11418492B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10944725B2 (en) 2016-06-10 2021-03-09 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10873606B2 (en) 2016-06-10 2020-12-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11210420B2 (en) 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems and related methods
US10949170B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US10510031B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11625502B2 (en) 2016-06-10 2023-04-11 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems and related methods
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11038925B2 (en) 2016-06-10 2021-06-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US11336697B2 (en) 2016-06-10 2022-05-17 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US10839102B2 (en) 2016-06-10 2020-11-17 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11228620B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11277448B2 (en) 2016-06-10 2022-03-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US11438386B2 (en) 2016-06-10 2022-09-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11328092B2 (en) 2016-06-10 2022-05-10 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US11138242B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11727141B2 (en) 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
US10997318B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10496846B1 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US10776517B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10769301B2 (en) 2016-06-10 2020-09-08 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11222139B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US11025675B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11057356B2 (en) 2016-06-10 2021-07-06 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US10776514B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
GB201613233D0 (en) * 2016-08-01 2016-09-14 10Am Ltd Data protection system and method
US20180343120A1 (en) * 2016-10-26 2018-11-29 Black Gold Coin, Inc. Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
US10484178B2 (en) 2016-10-26 2019-11-19 Black Gold Coin, Inc. Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
US10749681B2 (en) 2016-10-26 2020-08-18 Black Gold Coin, Inc. Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
US11468439B2 (en) * 2017-01-12 2022-10-11 American Express Travel Related Services Company, Inc. Systems and methods for blockchain based proof of payment
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
GB2568453A (en) * 2017-09-14 2019-05-22 Blockpass Idn Ltd Systems and methods for user identity
US11005884B2 (en) * 2017-09-29 2021-05-11 Intel Corporation Denial of service mitigation with two-tier hash
US10592993B2 (en) * 2017-09-29 2020-03-17 Oracle Financial Services Software Limited Computerized transaction management module for blockchain networks
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质
US11257073B2 (en) 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US10701054B2 (en) 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
GB201817506D0 (en) 2018-03-02 2018-12-12 Nchain Holdings Ltd Computer implemented method and system
EP3769467B1 (en) 2018-03-23 2024-02-28 nChain Licensing AG Computer-implemented system and method for exchange of data
GB201805633D0 (en) 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
GB201806448D0 (en) 2018-04-20 2018-06-06 Nchain Holdings Ltd Computer-implemented methods and systems
WO2019209291A1 (en) * 2018-04-24 2019-10-31 Black Gold Coin, Inc. Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features
US11544782B2 (en) 2018-05-06 2023-01-03 Strong Force TX Portfolio 2018, LLC System and method of a smart contract and distributed ledger platform with blockchain custody service
US11669914B2 (en) 2018-05-06 2023-06-06 Strong Force TX Portfolio 2018, LLC Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information
US11550299B2 (en) 2020-02-03 2023-01-10 Strong Force TX Portfolio 2018, LLC Automated robotic process selection and configuration
CN112534452A (zh) 2018-05-06 2021-03-19 强力交易投资组合2018有限公司 用于改进自动执行能源、计算、存储和其它资源的现货和远期市场中的分布式账本和其它交易的机器和系统的方法和系统
CN111899004A (zh) * 2018-05-29 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN108805569A (zh) 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
EP3579595B1 (en) * 2018-06-05 2021-08-04 R2J Limited Improved system and method for internet access age-verification
US11303632B1 (en) * 2018-06-08 2022-04-12 Wells Fargo Bank, N.A. Two-way authentication system and method
WO2019241166A1 (en) * 2018-06-11 2019-12-19 Patientory, Inc. System and method for managing payments for accessing patients information
US11283676B2 (en) 2018-06-11 2022-03-22 Nicira, Inc. Providing shared memory for access by multiple network service containers executing on single service machine
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
US10721060B1 (en) 2018-06-29 2020-07-21 Verisign, Inc. Domain name blockchain user addresses
US11632236B1 (en) 2018-06-29 2023-04-18 Verisign, Inc. Establishment, management, and usage of domain name to blockchain address associations
TWI663865B (zh) * 2018-07-09 2019-06-21 現代財富控股有限公司 基於跨鏈架構的身分識別管理系統及其方法
US11374753B2 (en) 2018-07-27 2022-06-28 Hrl Laboratories, Llc System and method for selective transparency for public ledgers
CN109240848A (zh) * 2018-07-27 2019-01-18 阿里巴巴集团控股有限公司 一种数据对象标识生成方法及装置
WO2020033216A2 (en) * 2018-07-31 2020-02-13 Oded Wertheim Scaling and accelerating decentralized execution of transactions
CN109064316B (zh) * 2018-08-06 2020-10-13 飞天诚信科技股份有限公司 一种贷记卡恢复脱机消费额度的方法及装置
CN110825922B (zh) * 2018-08-14 2020-08-04 阿里巴巴集团控股有限公司 数据统计方法和装置
US10721069B2 (en) 2018-08-18 2020-07-21 Eygs Llp Methods and systems for enhancing privacy and efficiency on distributed ledger-based networks
US10915521B2 (en) * 2018-08-21 2021-02-09 Syniverse Technologies, Llc Blockchain gateway device and associated method of use
WO2020041127A1 (en) * 2018-08-23 2020-02-27 Providentia Worldwide, Llc Systems and methods for blockchain interlinking and relationships
CN109375944B (zh) * 2018-08-28 2021-10-01 浪潮金融信息技术有限公司 一种基于区块链数据结构的终端软件分发验证方法
US10250395B1 (en) * 2018-08-29 2019-04-02 Accenture Global Solutions Limited Cryptologic blockchain interoperation
CN111899001A (zh) 2018-08-30 2020-11-06 创新先进技术有限公司 基于区块链的汇款方法及装置
US11144675B2 (en) 2018-09-07 2021-10-12 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10803202B2 (en) 2018-09-07 2020-10-13 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
KR20200034020A (ko) * 2018-09-12 2020-03-31 삼성전자주식회사 전자 장치 및 그의 제어 방법
WO2020051710A1 (en) * 2018-09-12 2020-03-19 Joe Jay System and process for managing digitized security tokens
US11594312B2 (en) 2018-09-18 2023-02-28 Myndshft Technologies, Inc Data aggregation and process automation systems and methods
JP7253344B2 (ja) * 2018-09-18 2023-04-06 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
US11157484B2 (en) 2018-09-19 2021-10-26 Salesforce.Com, Inc. Advanced smart contract with decentralized ledger in a multi-tenant environment
US11080247B2 (en) 2018-09-19 2021-08-03 Salesforce.Com, Inc. Field-based peer permissions in a blockchain network
US11100091B2 (en) 2018-09-19 2021-08-24 Salesforce.Com, Inc. Lightweight node in a multi-tenant blockchain network
CA3113101A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11030624B2 (en) * 2018-10-04 2021-06-08 Capital One Services, Llc Techniques to perform computational analyses on transaction information for automatic teller machines
US10943003B2 (en) 2018-10-16 2021-03-09 International Business Machines Corporation Consented authentication
US10944565B2 (en) * 2018-10-16 2021-03-09 International Business Machines Corporation Consented authentication
GB201816837D0 (en) * 2018-10-16 2018-11-28 Microsoft Technology Licensing Llc Database management
US11146399B2 (en) 2018-10-19 2021-10-12 Eygs Llp Methods and systems for retrieving zero-knowledge proof-cloaked data on distributed ledger-based networks
CN109658103B (zh) * 2018-10-25 2021-01-01 创新先进技术有限公司 身份认证、号码保存和发送、绑定号码方法、装置及设备
TW202016743A (zh) 2018-10-25 2020-05-01 財團法人資訊工業策進會 用於物聯網系統之資料處理裝置及資料處理方法
US11568437B2 (en) 2018-10-31 2023-01-31 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing commerce rewards across tenants for commerce cloud customers utilizing blockchain
CN113434592A (zh) 2018-10-31 2021-09-24 创新先进技术有限公司 基于区块链的数据存证方法及装置、电子设备
US11288280B2 (en) 2018-10-31 2022-03-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consumer data validation, matching, and merging across tenants with optional verification prompts utilizing blockchain
US11386078B2 (en) * 2018-12-17 2022-07-12 Sap Se Distributed trust data storage system
US10955841B2 (en) 2018-12-28 2021-03-23 At&T Intellectual Property I, L.P. Autonomous vehicle sensor security system
CN109714751B (zh) * 2019-01-04 2021-08-20 中国联合网络通信集团有限公司 一种基于区块链的通信方法及系统
US11354636B2 (en) 2019-01-14 2022-06-07 Hewlett Packard Enterprise Development Lp Transaction bundles for internet of things devices
US11876910B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT)
US11244313B2 (en) 2019-01-31 2022-02-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing declarative smart actions for coins and assets transacted onto a blockchain using distributed ledger technology (DLT)
US11803537B2 (en) 2019-01-31 2023-10-31 Salesforce, Inc. Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT)
US11899817B2 (en) 2019-01-31 2024-02-13 Salesforce, Inc. Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11824864B2 (en) 2019-01-31 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (DLT)
US11886421B2 (en) 2019-01-31 2024-01-30 Salesforce, Inc. Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT)
US11488176B2 (en) 2019-01-31 2022-11-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing certificates of authenticity of digital twins transacted onto a blockchain using distributed ledger technology (DLT)
US11971874B2 (en) 2019-01-31 2024-04-30 Salesforce, Inc. Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT)
US11875400B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT)
US11783024B2 (en) 2019-01-31 2023-10-10 Salesforce, Inc. Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration
US11811769B2 (en) 2019-01-31 2023-11-07 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
CN114008611A (zh) * 2019-02-25 2022-02-01 东方海外(信息科技)控股有限公司 货物运输组织的零信任通信系统及其使用方法
US11763011B2 (en) 2019-02-25 2023-09-19 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US11361088B2 (en) 2019-02-25 2022-06-14 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US20200274713A1 (en) * 2019-02-25 2020-08-27 Tbcasoft, Inc. Credential verification and issuance through credential service providers
KR102354776B1 (ko) 2019-03-04 2022-01-25 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 트랜잭션 데이터를 처리를 위해 블록체인 시스템에 제공하기 위한 방법 및 디바이스
CN113396557A (zh) * 2019-03-05 2021-09-14 赫尔实验室有限公司 用于公共账簿的选择性透明的系统和方法
US20220188925A1 (en) * 2019-03-29 2022-06-16 Data Donate Technologies, Inc. Method and System for Data Futures Platform
WO2020209411A1 (ko) * 2019-04-10 2020-10-15 주식회사 엘비엑스씨 블록체인 기반의 개인 의료 정보 관리 장치 및 방법
CN110162559B (zh) * 2019-04-13 2020-07-10 山东公链信息科技有限公司 一种基于通用json同步和异步数据api接口调用的区块链处理方法
US11316691B2 (en) 2019-04-15 2022-04-26 Eygs Llp Methods and systems for enhancing network privacy of multiple party documents on distributed ledger-based networks
US11502838B2 (en) 2019-04-15 2022-11-15 Eygs Llp Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks
US11943358B2 (en) 2019-04-15 2024-03-26 Eygs Llp Methods and systems for identifying anonymized participants of distributed ledger-based networks using zero-knowledge proofs
US11677563B2 (en) 2019-04-15 2023-06-13 Eygs Llp Systems, apparatus and methods for local state storage of distributed ledger data without cloning
CN110147410B (zh) * 2019-04-18 2020-08-04 阿里巴巴集团控股有限公司 一种块链式账本中的数据验证方法、系统、装置及设备
US11038771B2 (en) 2019-04-26 2021-06-15 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)
US11880349B2 (en) 2019-04-30 2024-01-23 Salesforce, Inc. System or method to query or search a metadata driven distributed ledger or blockchain
US11206138B2 (en) 2019-05-02 2021-12-21 Ernst & Young U.S. Llp Biosignature-based tokenization of assets in a blockchain
US11315150B2 (en) 2019-05-08 2022-04-26 Data Vault Holdings, Inc. Portfolio driven targeted advertising network, system, and method
US11368307B1 (en) * 2019-05-15 2022-06-21 Equinix, Inc. Tamper-resistant, multiparty logging and log authenticity verification
US11204933B2 (en) * 2019-05-23 2021-12-21 Advanced New Technologies Co., Ltd. Data manipulation record storage method, system, apparatus, and device
GB2584317A (en) * 2019-05-30 2020-12-02 Hoptroff London Ltd System for watermarking time, place and identity
US11188910B2 (en) 2019-06-03 2021-11-30 Advanced New Technologies Co., Ltd. Blockchain-based reconciliation system, method, and apparatus and electronic device
US11842338B2 (en) * 2019-06-10 2023-12-12 Fastforward Labs Ltd. Payment encryption system
US10790990B2 (en) 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
US10797887B2 (en) 2019-06-26 2020-10-06 Alibaba Group Holding Limited Confidential blockchain transactions
CN110349021B (zh) * 2019-06-26 2020-08-25 阿里巴巴集团控股有限公司 区块链中实现机密交易的方法及装置
KR102199578B1 (ko) * 2019-07-02 2021-01-07 주식회사 엘지유플러스 IoT 기기의 제어를 위한 서비스 서버 및 AP의 동작 방법 및 이를 위한 서비스 서버 및 AP
US20210019301A1 (en) * 2019-07-18 2021-01-21 EMC IP Holding Company LLC Data integrity and consensuses with blockchain
US11100229B2 (en) * 2019-07-18 2021-08-24 Infineon Technologies Ag Secure hybrid boot systems and secure boot procedures for hybrid systems
US11797655B1 (en) 2019-07-18 2023-10-24 Verisign, Inc. Transferring a domain name on a secondary blockchain market and in the DNS
FR3098947B1 (fr) * 2019-07-19 2021-09-10 Idemia Identity & Security France Procédé de traitement d’une transaction émise depuis une entité de preuve
CN110380936B (zh) * 2019-07-23 2021-05-14 中国工商银行股份有限公司 测试方法和装置
CN110473096A (zh) * 2019-07-31 2019-11-19 阿里巴巴集团控股有限公司 基于智能合约的数据授权方法及装置
US11251963B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US11252166B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11057189B2 (en) 2019-07-31 2021-07-06 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
JP2022544131A (ja) * 2019-08-06 2022-10-17 ゼットイーユー・テクノロジーズ・インコーポレイテッド 分散ブロックチェーントランザクションシステム
US11232439B2 (en) 2019-08-09 2022-01-25 Eygs Llp Methods and systems for preventing transaction tracing on distributed ledger-based networks
CN110457263B (zh) * 2019-08-13 2021-10-26 北京首都在线科技股份有限公司 一种数据存储方法和装置
CN110517078A (zh) * 2019-08-21 2019-11-29 上海易点时空网络有限公司 基于异步处理的数据上报方法及装置
CN110519380B (zh) * 2019-08-29 2022-06-21 北京旷视科技有限公司 一种数据访问方法、装置、存储介质及电子设备
EP3787251A1 (de) * 2019-08-30 2021-03-03 Siemens Aktiengesellschaft Verfahren, kommunikationsvorrichtung und netzwerkapplikation zum geschützten übermitteln von einem datensatz
EP3669263B1 (en) * 2019-09-12 2022-03-02 Advanced New Technologies Co., Ltd. Log-structured storage systems
US11334905B2 (en) * 2019-10-10 2022-05-17 SheerID, Inc. Systems and methods for gated offer eligibility verification
CN110955670A (zh) * 2019-10-30 2020-04-03 成都摩宝网络科技有限公司 基于分布式事务的支付交易数据一致性控制方法及系统
CN110956542B (zh) * 2019-11-07 2021-05-18 支付宝(杭州)信息技术有限公司 区块链系统及其运行方法、装置及设备
KR102367733B1 (ko) * 2019-11-11 2022-02-25 한국전자기술연구원 정책기반 멀티레벨 PreChecker에 의한 고속 블록 중복 제거 및 전송 방법
AU2020387408A1 (en) 2019-11-20 2022-05-19 Eygs Llp Systems, apparatus and methods for identifying and securely storing distinguishing characteristics in a distributed ledger within a distributed ledger-based network based on fungible and non-fungible tokens
TWI728571B (zh) * 2019-11-26 2021-05-21 中華電信股份有限公司 區塊鏈服務的資源管理方法及系統
US11099835B1 (en) * 2019-12-13 2021-08-24 Stripe, Inc. Continuous integration framework for development of software for EMV-based card present transaction processing
US11410167B2 (en) * 2019-12-30 2022-08-09 Paypal, Inc. Efficient transaction reconciliation system
CN111222128A (zh) * 2019-12-31 2020-06-02 北京握奇数据股份有限公司 一种安全输入和校验USBKey PIN码的方法及模块
US11029939B1 (en) 2020-01-06 2021-06-08 Capital One Services, Llc Dual-core ATM
US11310051B2 (en) 2020-01-15 2022-04-19 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US11824970B2 (en) 2020-01-20 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules
US11144335B2 (en) 2020-01-30 2021-10-12 Salesforce.Com, Inc. System or method to display blockchain information with centralized information in a tenant interface on a multi-tenant platform
US11611560B2 (en) 2020-01-31 2023-03-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform
CN115298679A (zh) * 2020-03-20 2022-11-04 万事达卡国际公司 使用散列链表示标量数字资产的方法和系统
EP4136600A1 (en) 2020-04-15 2023-02-22 Eygs LLP Intelligent assertion tokens for authenticating and controlling network communications using a distributed ledger
US11233640B2 (en) 2020-05-13 2022-01-25 Ridgeline, Inc. Mutation processing for events
US11818259B2 (en) 2020-05-13 2023-11-14 Ridgeline, Inc. Query and projection processing for events
US11949784B2 (en) * 2020-05-13 2024-04-02 Ridgeline, Inc. Auditing for events
KR102416337B1 (ko) * 2020-06-02 2022-07-05 (주)세정아이앤씨 블록체인을 관리하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
US11283776B2 (en) * 2020-06-11 2022-03-22 Ralph Crittenden Moore Tunnel portals between isolated partitions
WO2022011142A1 (en) 2020-07-08 2022-01-13 OneTrust, LLC Systems and methods for targeted data discovery
CN111884811B (zh) * 2020-07-23 2022-08-19 中华人民共和国苏州海关 一种基于区块链的数据存证方法和数据存证平台
WO2022026564A1 (en) 2020-07-28 2022-02-03 OneTrust, LLC Systems and methods for automatically blocking the use of tracking tools
WO2022032072A1 (en) 2020-08-06 2022-02-10 OneTrust, LLC Data processing systems and methods for automatically redacting unstructured data from a data subject access request
CN112149107A (zh) * 2020-09-01 2020-12-29 珠海市卓轩科技有限公司 统一权限管理方法、系统、装置及存储介质
WO2022060860A1 (en) 2020-09-15 2022-03-24 OneTrust, LLC Data processing systems and methods for detecting tools for the automatic blocking of consent requests
US11526624B2 (en) 2020-09-21 2022-12-13 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
US20220141658A1 (en) * 2020-11-05 2022-05-05 Visa International Service Association One-time wireless authentication of an internet-of-things device
EP4241173A1 (en) 2020-11-06 2023-09-13 OneTrust LLC Systems and methods for identifying data processing activities based on data discovery results
CN112347497A (zh) * 2020-11-24 2021-02-09 国网新疆电力有限公司信息通信公司 数据安全处理方法
US11621845B2 (en) * 2020-12-07 2023-04-04 International Business Machines Corporation Resolving complaints
CN112668028B (zh) * 2021-01-08 2023-07-04 南京人生果信息科技有限公司 一种基于区块链的智能数据快速加密传输系统
US11379369B1 (en) * 2021-01-15 2022-07-05 Coupang Corp. Systems and methods for dynamic in-memory caching of mappings into partitions
US11687528B2 (en) 2021-01-25 2023-06-27 OneTrust, LLC Systems and methods for discovery, classification, and indexing of data in a native computing system
WO2022170047A1 (en) 2021-02-04 2022-08-11 OneTrust, LLC Managing custom attributes for domain objects defined within microservices
US11494515B2 (en) 2021-02-08 2022-11-08 OneTrust, LLC Data processing systems and methods for anonymizing data samples in classification analysis
CN112995304B (zh) * 2021-02-08 2022-09-23 中国工商银行股份有限公司 二阶段分布式事务对于路由服务节点的处理方法及装置
US20240098109A1 (en) 2021-02-10 2024-03-21 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
US11775348B2 (en) 2021-02-17 2023-10-03 OneTrust, LLC Managing custom workflows for domain objects defined within microservices
WO2022178219A1 (en) 2021-02-18 2022-08-25 OneTrust, LLC Selective redaction of media content
US11533315B2 (en) 2021-03-08 2022-12-20 OneTrust, LLC Data transfer discovery and analysis systems and related methods
US11562078B2 (en) 2021-04-16 2023-01-24 OneTrust, LLC Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
US11750401B2 (en) 2021-05-20 2023-09-05 Verisign, Inc. Proving top level domain name control on a blockchain
US11924161B1 (en) 2021-05-20 2024-03-05 Verisign, Inc. Authorization and refusal of modification, and partial modification ability, of a network identifier
US11940993B2 (en) * 2021-07-30 2024-03-26 Visa International Service Association Push interaction including linked data
US11687519B2 (en) 2021-08-11 2023-06-27 T-Mobile Usa, Inc. Ensuring availability and integrity of a database across geographical regions
US20230060331A1 (en) * 2021-08-24 2023-03-02 Synchrony Bank Automated authentication system based on target-specific identifier
CN113763172B (zh) * 2021-08-25 2023-04-07 甘肃同兴智能科技发展有限责任公司 一种基于区块链的财务数据流程自动化信息共享平台
US20230269293A1 (en) * 2022-02-22 2023-08-24 At&T Intellectual Property I, L.P. Intelligent wireless broadband cooperative model
US20230319026A1 (en) * 2022-03-31 2023-10-05 Lenovo (United States) Inc. Adding devices to a network via a zero-knowledge protocol
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments
CN116305713A (zh) * 2022-09-07 2023-06-23 杭州未名信科科技有限公司 一种芯片仿真系统及仿真方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306531A1 (en) * 2009-05-29 2010-12-02 Ebay Inc. Hardware-Based Zero-Knowledge Strong Authentication (H0KSA)
US20120150750A1 (en) * 2010-12-14 2012-06-14 Xtreme Mobility Inc. System and method for initiating transactions on a mobile device
US8250640B1 (en) * 2007-09-28 2012-08-21 Emc Corporation Transparent kerboros delegation with a storage virtualization system
US20150269570A1 (en) * 2014-03-21 2015-09-24 Charles Phan Systems and methods in support of authentication of an item
US20160063100A1 (en) * 2014-06-30 2016-03-03 CloudMode, LLC Semantic data structure and method

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US5781723A (en) * 1996-06-03 1998-07-14 Microsoft Corporation System and method for self-identifying a portable information device to a computing unit
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
JP3640141B2 (ja) * 1998-08-04 2005-04-20 株式会社日立製作所 データ処理方法および装置
JP2000222360A (ja) * 1999-02-01 2000-08-11 Matsushita Electric Ind Co Ltd 認証方法、認証システム及び認証処理プログラム記録媒体
US7475241B2 (en) * 2002-11-22 2009-01-06 Cisco Technology, Inc. Methods and apparatus for dynamic session key generation and rekeying in mobile IP
US7434050B2 (en) * 2003-12-11 2008-10-07 International Business Machines Corporation Efficient method for providing secure remote access
CA2559369A1 (en) * 2004-04-12 2005-10-27 Intercomputer Corporation Secure messaging system
US20060212407A1 (en) * 2005-03-17 2006-09-21 Lyon Dennis B User authentication and secure transaction system
JP4235193B2 (ja) * 2005-06-07 2009-03-11 日本電信電話株式会社 イベント履歴蓄積装置、イベント情報検証装置、イベント履歴蓄積方法、イベント情報検証方法およびイベント情報処理システム
WO2007059534A2 (en) * 2005-11-17 2007-05-24 3N1 Solutions, Inc. Distributed transaction history management system
EP1811421A1 (en) * 2005-12-29 2007-07-25 AXSionics AG Security token and method for authentication of a user with the security token
JP4860346B2 (ja) * 2006-05-19 2012-01-25 日立オムロンターミナルソリューションズ株式会社 個人認証システム、その方法
US8352738B2 (en) * 2006-12-01 2013-01-08 Carnegie Mellon University Method and apparatus for secure online transactions
EP2028794A1 (en) * 2007-08-24 2009-02-25 Hopling Group B.V. Network discovery protocol
US8577811B2 (en) * 2007-11-27 2013-11-05 Adobe Systems Incorporated In-band transaction verification
US20110055585A1 (en) * 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US8788830B2 (en) * 2008-10-02 2014-07-22 Ricoh Co., Ltd. Method and apparatus for logging based identification
US9270646B2 (en) * 2009-04-20 2016-02-23 Citrix Systems, Inc. Systems and methods for generating a DNS query to improve resistance against a DNS attack
US8418237B2 (en) * 2009-10-20 2013-04-09 Microsoft Corporation Resource access based on multiple credentials
US9639619B2 (en) * 2009-10-28 2017-05-02 Verizon Patent And Licensing Inc. Network architecture and method for reducing the number of resource requests
US9432408B2 (en) * 2010-11-03 2016-08-30 Telefonaktiebolaget Lm Ericsson (Publ) Signalling gateway, method, computer program and computer program product for communication between HTTP and SIP
US20130046690A1 (en) * 2011-08-15 2013-02-21 Bank Of America Corporation System and method for credential lending
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
US20140379576A1 (en) * 2013-06-25 2014-12-25 Joseph A. Marx Transaction approval for shared payment account
CN103399894A (zh) * 2013-07-23 2013-11-20 中国科学院信息工程研究所 一种基于共享存储池的分布式事务处理方法
US9842367B2 (en) * 2013-11-15 2017-12-12 Clickswitch, Llc Centralized financial account migration system
US9338013B2 (en) * 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US9241004B1 (en) * 2014-03-11 2016-01-19 Trend Micro Incorporated Alteration of web documents for protection against web-injection attacks
US20150302400A1 (en) * 2014-04-18 2015-10-22 Ebay Inc. Distributed crypto currency reputation system
CN106233664B (zh) * 2014-05-01 2020-03-13 维萨国际服务协会 使用访问装置的数据验证
US10783515B2 (en) * 2014-06-19 2020-09-22 IroFit Technologies Oy Method and system for conducting wireless electronic credit card transactions
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250640B1 (en) * 2007-09-28 2012-08-21 Emc Corporation Transparent kerboros delegation with a storage virtualization system
US20100306531A1 (en) * 2009-05-29 2010-12-02 Ebay Inc. Hardware-Based Zero-Knowledge Strong Authentication (H0KSA)
US20120150750A1 (en) * 2010-12-14 2012-06-14 Xtreme Mobility Inc. System and method for initiating transactions on a mobile device
US20150269570A1 (en) * 2014-03-21 2015-09-24 Charles Phan Systems and methods in support of authentication of an item
US20160063100A1 (en) * 2014-06-30 2016-03-03 CloudMode, LLC Semantic data structure and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443307B2 (en) 2020-07-31 2022-09-13 Alipay (Hangzhou) Information Technology Co., Ltd. Cross-border resource transfer authenticity verification method, device and electronic equipment
TWI778478B (zh) * 2020-12-25 2022-09-21 中國信託商業銀行股份有限公司 交易資料整合設備與交易資料整合方法
TWI830610B (zh) * 2023-02-23 2024-01-21 台灣大哥大股份有限公司 跨系統稽核日誌的管理方法

Also Published As

Publication number Publication date
CN109691016B (zh) 2024-01-26
IL264136B2 (en) 2023-07-01
AU2022224731A1 (en) 2022-09-22
ZA201900836B (en) 2022-12-21
EP3482525A2 (en) 2019-05-15
AU2017293405A1 (en) 2019-02-28
IL264136A (en) 2019-02-28
BR112019000353A2 (pt) 2019-07-02
PH12019500283A1 (en) 2019-05-15
WO2018007828A3 (en) 2018-02-15
IL264136B1 (en) 2023-03-01
GB201611948D0 (en) 2016-08-24
CN109691016A (zh) 2019-04-26
MX2019000331A (es) 2019-12-11
KR20190038561A (ko) 2019-04-08
WO2018007828A2 (en) 2018-01-11
SG11202006519WA (en) 2020-08-28
KR20230117473A (ko) 2023-08-08
TW201812674A (zh) 2018-04-01
US20200186355A1 (en) 2020-06-11
CO2019001169A2 (es) 2019-06-28
EA201990251A1 (ru) 2019-07-31
MA45587A (fr) 2019-05-15
JP2019525685A (ja) 2019-09-05

Similar Documents

Publication Publication Date Title
TWI688914B (zh) 分散式交易處理與認證系統
US10558820B2 (en) System and method for maintaining a segregated database in a multiple distributed ledger system
AU2022200068B2 (en) Telecommunication system and method for settling session transactions
JP7121810B2 (ja) 安全なブロックチェーントランザクションおよびサブネットワークのためのシステム、方法、デバイス及び端末
US20180075422A1 (en) Financial management systems and methods
CA3011600C (en) Information transaction infrastructure
JP2021511595A (ja) トランザクションアドレスを生成するためにn個のうちm個の鍵を使用するマルチ承認システム
US20170243215A1 (en) System for external secure access to process data network
EP3867849B1 (en) Secure digital wallet processing system
JP2023535013A (ja) 量子安全支払いシステム
Nabi Comparative study on identity management methods using blockchain
CN113382405A (zh) 一种网络空间信息安全控制方法与应用
Ivanov et al. System-wide security for offline payment terminals
KR102376783B1 (ko) 블록체인 기반의 거래내역 확인 시스템
OA19652A (en) Distributed transaction processing and authentication system.
US20230412393A1 (en) Multisignature Custody of Digital Assets
George et al. Impact of AI, BC and IoT for Smart Cities

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees