TW201411403A - 用於安全時間管理之系統、方法及裝置 - Google Patents

用於安全時間管理之系統、方法及裝置 Download PDF

Info

Publication number
TW201411403A
TW201411403A TW102121592A TW102121592A TW201411403A TW 201411403 A TW201411403 A TW 201411403A TW 102121592 A TW102121592 A TW 102121592A TW 102121592 A TW102121592 A TW 102121592A TW 201411403 A TW201411403 A TW 201411403A
Authority
TW
Taiwan
Prior art keywords
time
counter
current
response
request
Prior art date
Application number
TW102121592A
Other languages
English (en)
Inventor
Sergey Ignatchenko
Dmytro Ivanchykhin
Original Assignee
Ologn Technologies Ag
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 Ologn Technologies Ag filed Critical Ologn Technologies Ag
Publication of TW201411403A publication Critical patent/TW201411403A/zh

Links

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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • 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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Electric Clocks (AREA)

Abstract

本文描述之系統、方法及裝置提供包含安全時間管理之一計算環境。根據本發明之一種裝置包括儲存一同步時間之一非揮發性儲存器及一處理器。該處理器可經組態以:產生針對一當前時間之一請求;將該請求傳輸至一受信任計時工具;從該受信任計時工具接收包含一當前真實時間之一經數位簽章之回應;確認該回應之該數位簽章;確認在一預定義時間內接收該回應;比較該請求中之一臨時標誌與該回應中之一臨時標誌;決定從該受信任計時工具接收之該當前真實時間係在該裝置處計算之一當前時間之一範圍內且用該回應中之該當前真實時間更新該同步時間。

Description

用於安全時間管理之系統、方法及裝置 相關申請案
本申請案主張2012年6月18日申請,名為「Systems,Methods and Apparatuses for Secure Time Management」之美國臨時申請案第61/661,248號之優先權,該案之內容之全文以引用的方式併入本文中。
本文描述之系統、方法及裝置係關於用於資料安全之改進之機制。
軟體及硬體應用中之使用時間值係常見的。例如,在一些應用中,可期望安全地計算「當前時間」或從以往特定事件以來歷時之時間長度。因為在一些應用中,可要求一高程度精度,所以亦可期望在該等計算中將任何可能誤差之因素列入考慮。在其他案例中,未要求高精度,但是知道一時間或持續時間保證在某些預定義限制內仍是有價值的(即使精度約為幾分鐘、幾小時或幾天)。例如,較低精度(約為幾小時或甚至幾天)但是安全的計時器在驗證安全憑證(諸如,例如,PKI憑證)之背景內容中經常係必需的。所需要的是用於使一時鐘與一個或多個受信任時間源同步且用於在已知誤差裕度內實現可靠及安全時間與持續時間計算之系統、裝置及方法。
105‧‧‧通信通道
110‧‧‧外部受信任計時工具/原始計時工具
111‧‧‧作業系統
112‧‧‧應用程式
120‧‧‧計算器件/器件
121‧‧‧密碼編譯引擎
124‧‧‧隨機數產生器(RNG)
140‧‧‧計時器區塊
141‧‧‧第一標準計數器/標準計時器計數器
143‧‧‧第二低能量計數器/低能量計時器計數器
144‧‧‧電池
146‧‧‧記憶體/非揮發性記憶體
150‧‧‧安全區
151‧‧‧介面
152‧‧‧非安全區
160‧‧‧監督器
166‧‧‧專屬憑證儲存器
200‧‧‧計時器資料結構
210‧‧‧計時器特性資料區塊
211‧‧‧initialization_time
212‧‧‧standard_counter_frequency
213‧‧‧low-energy_counter_frequency
214‧‧‧standard_counter_maximum_drift
215‧‧‧low-energy_counter_maximum_drift
220‧‧‧切換事件資料區塊
221‧‧‧energy_mode
222‧‧‧time_elapsed_until_energy_mode_switch
223‧‧‧energy_mode_drift
224‧‧‧counter_start_value_at_energy_mode_switch
230‧‧‧第三同步資料區塊
231‧‧‧timekeeper_ID
232‧‧‧synchronization_time
233‧‧‧time_elapsed_until_synchronization
234‧‧‧synchronization_drift
235‧‧‧response_time
310‧‧‧步驟
320‧‧‧步驟
330‧‧‧步驟
340‧‧‧步驟
350‧‧‧步驟
410‧‧‧步驟
420‧‧‧步驟
430‧‧‧步驟
440‧‧‧步驟
450‧‧‧步驟
460‧‧‧步驟
470‧‧‧步驟
600‧‧‧步驟
605‧‧‧步驟
607‧‧‧步驟
610‧‧‧步驟
615‧‧‧步驟
617‧‧‧步驟
620‧‧‧步驟
625‧‧‧步驟
630‧‧‧步驟
632‧‧‧步驟
633‧‧‧步驟
634‧‧‧步驟
635‧‧‧步驟
640‧‧‧步驟
642‧‧‧步驟
645‧‧‧步驟
650‧‧‧步驟
680‧‧‧曲線
682‧‧‧曲線
684‧‧‧曲線
690‧‧‧時間Tresync
691‧‧‧時間Tnec
692‧‧‧時間Tresync2
694‧‧‧初始誤差E1
696‧‧‧位準Emax
698‧‧‧累積之誤差E2
705‧‧‧步驟
710‧‧‧步驟
715‧‧‧步驟
720‧‧‧步驟
800‧‧‧步驟
805‧‧‧步驟
810‧‧‧步驟
815‧‧‧步驟
900‧‧‧步驟
905‧‧‧步驟
910‧‧‧步驟
915‧‧‧步驟
920‧‧‧步驟
1000‧‧‧步驟
1010‧‧‧步驟
1020‧‧‧步驟
1030‧‧‧步驟
1040‧‧‧步驟
1050‧‧‧步驟
1100‧‧‧步驟
1105‧‧‧步驟
1110‧‧‧步驟
1115‧‧‧步驟
圖1係根據本發明之一種例示性系統之方塊圖。
圖2係根據本發明之一種例示性資料結構。
圖3及圖4展示根據本發明之初始化及操作計時器區塊之例示性方法之流程圖。
圖5係展示最大可能計時器漂移可如何在各種時段內累積之圖。
圖6A至圖6C係根據本發明之使計時器區塊同步之例示性方法之一流程圖。
圖6D係展示如何由於一個或多個同步事件而減小與一當前時間計算關聯之誤差之圖。
圖7展示於一誤差計算中將從計時工具(timekeeper)接收關於針對當前時間之請求之回應所花費之時間之因素列入考慮所憑藉之例示性方法。
圖8係用於在具有一個計數器之實施例中計算當前時間之例示性方法之流程圖。
圖9係用於在具有一個計數器之實施例中計算兩個事件之間歷時之時間之例示性方法之流程圖。
圖10係用於在具有兩個計數器之實施例中計算當前時間之例示性方法之流程圖。
圖11係用於在具有兩個計數器之實施例中計算兩個事件之間歷時之時間之例示性方法之流程圖。
本文連同以下描述及附圖描述根據本發明之系統、裝置及方法之某些說明性態樣。但是,此等態樣僅指示其中可採用本發明之原理之多種方法之一些且本發明意欲包含所有此等態樣及其等等效例。當結合圖考慮時,可從以下詳細描述瞭解本發明之其他優點及新穎特 徵。
在以下詳細描述中,提出許多特定細節以提供對本發明之徹底理解。在其他例子中,未詳細展示熟知結構、介面及程序以不會不必要地使本發明模糊。但是,一般技術者將瞭解,除了如申請專利範圍中陳述之外,本文揭示之該等特定細節無需用於實踐本發明且非表示對本發明之範疇之一限制。意欲本說明書中沒有部分解釋為實現對本發明之全部範疇中之任何部分之否定。雖然描述本發明之某些實施例,但是同樣地,此等實施例並非意欲限制本發明之全部範疇。
圖1展示根據本發明之一種例示性計算器件120。一適當計算器件120可具有任何形式之電子器件,諸如膝上型電腦、智慧型手機、平板電腦、智慧型電視機等等。如本文更詳細描述,一計算器件120可首先包括一安全區150,該安全區150可執行在某些活動之執行中請求使用一準確時間或一準確時間間隔之某些應用程式或功能。為了支援此等時間相關之活動,安全區150可如本文描述般組態以經由耦合至器件120之一通信通道105從一個或多個外部受信任計時工具110接收一當前真實時間。在某些實施例中,可加數位簽章於每個訊息,使得可鑑認原始計時工具110;在此等實施例中,安全區150可確認數位簽章以確保訊息來自一合法、受信任計時工具110。接著,安全區150可使用安全、內部硬體及/或軟體組件處理接收之時序資訊以將準確之時序資訊提供至請求應用程式。
在某些實施例中,除了安全區150之外,計算器件120亦可具有一非安全區152,該非安全區152可包含一作業系統111及執行於該作業系統111中之一個或多個應用程式112;在其他實施例中,非安全區152可在無作業系統下執執行應用程式(或程式碼片段)(例如,如關於在2012年4月13申請名為「Secure Zone for Digital Communications」之美國臨時專利申請案第61/623,861號所描述,該案之全部內容以引 用的方式併入本文中)。安全區150可包括與非安全區152通信之一介面151。
如圖1上所示,為了提供時間相關之功能性,安全區150可首先包括一計時器區塊140,該計時器區塊140能夠(i)處理從一個或多個受信任計時工具110接收之訊息(例如,經由一監督器160),且(ii)保持追蹤從器件120初始化以來或從其由一受信任計時工具110同步以來歷時之時間量。
計時器區塊140可首先包括用於決定兩個事件之發生之間歷時之時間的一個或多個計數器。僅舉實例而言,適當計數器可採取具有已知頻率之振盪器(包含(但不限於)多諧振盪器)(其中可視需要藉由使用(例如)石英晶體共振器使頻率穩定)及數位計數器或能夠按已知頻率累加計數之任何其他類型裝置之形式。
為了計算兩個事件之間歷時之時間(例如,初始化/製造計數器區塊140之時間及該計時器區塊140與一受信任計時工具最後同步之時間),在第一事件及再次於第二事件下記錄計數器之目前狀態(例如,記錄於計時器區塊140內之展示為146之一記憶體中)。接著,結合計數器之已知頻率,發生於兩個事件之間之計數器增量之總數可用於導出以秒為單位(或無論任何其他適當之時間量測)之歷時時間。僅舉實例而言,在60個滴答聲/分鐘下操作之一計數器在一第一事件之時間具有值60且在一第二事件之時間具有180。第一事件與第二事件之間之差值在滴答聲上係120。因此,在每分鐘60個滴答聲下,可計算兩個事件之間歷時了2分鐘。
將理解,計數器一般可經受漂移。此漂移可以兩種方式起作用,使得計數器增量可比計數器之已知頻率花更多或更少之實際時間。此可由於多種原因發生,該等原因包含其中計時器區塊操作之環境(例如,溫度可影響頻率)及計時器區塊組件上之磨損(諸如,例如, 電容器老化)。此可明顯減小時序器件之精度且因為待計算之時間間隔在長度上增加,所以由漂移引入之任何誤差有可能在量值上增加。雖然相同持續時間之時段內累積之一特定計數器之實際漂移可改變(例如,因為溫度),但是,一般可能為一給定計數器(或為一特定類型之計數器)指定最大可能漂移。此最大漂移參數可(例如)表達為一比率(例如,0.01秒漂移/分鐘)且可儲存於計時器區塊140內之非揮發性記憶體146內。一般技術者將理解,對於不同類型之計時器,最大漂移可(例如)從針對基於石英之計時器之每分鐘小於0.001秒漂移改變為針對基於非石英之計時器之至多每分鐘幾秒。
在某些實施例中,一計數器能夠依多個頻率操作。可使用此等頻率以依不同能量模式操作器件。例如,呈一低能量模式之一計數器可依一較低頻率操作,而依一較高頻率操作之一計數器可需要更多能量。在其他實施例中,計時器區塊140能夠藉由使用多個計數器而依不同能量模式操作。在此例示性實施例中,如圖1上所示,可存在一第一標準計數器141及一第二低能量計數器143。
因為對低能量計數器143之功耗限制,所以標準計數器(141)及低能量計數器(143)之實施及精度可不同。標準計數器141及低能量計數器143之各者可具有其等自身操作頻率及最大漂移,且可經最佳化以用於不同操作需求。可使用一基於石英之振盪器(具有在32,768Hz之頻率下及在大約0.001%之精度)實施一例示性標準計數器141。可使用CMOS技術及在非常低之頻率下操作來實施一低能量計數器143。(基於CMOS之電路之能耗之大部分與其操作頻率成正比,致使降低操作頻率,同樣地減少能耗)。一例示性低能量計數器143可具有低至3Hz之一頻率;因為使用此等低頻率下之石英振盪器不切實際,所以計時器之精度(或更精確地,保證之最大可能漂移)可為大約1%。因此,將理解,在許多案例中,可在最小化能耗與最大化器件之精度之間權 衡。
可期望具有能夠在不存在一外部能源下操作之至少一計時器計數器。例如,在圖1上所示之例示性實施例中,低能量計時器計數器143能夠在外部電源關閉時操作。為了該目的,在一實施例中,低能量計時器計數器143可具有一電池(或電源供應器之其他形式,諸如一超級電容器)144,甚至在計算器件120已「關閉」時,該電池144可用於繼續供電給計數器143。在另一實施例中,取代電池144或除了電池144之外,低能量計時器計數器143可使用計算器件120之一電池或其他電源(未展示)。
圖2展示一計時器資料結構200之一例示性結構,可由計時器區塊140使用該計時器資料結構200以儲存及操縱其操作之執行中使用之計時器資料。在某些實施例中,在製造器件之後,此計時器資料結構200之某些元素為唯讀。例如,此可藉由將此資料放置於唯讀非揮發性記憶體中或藉由施行(例如)防止覆寫此資料之安全區150內部之相應原則來達成。例如,此計時器資料可儲存於記憶體146內。
如圖2上所示,計時器資料結構200可包含一計時器特性資料區塊210。例如,此計時器特性資料區塊210可包含第一次初始化計時器區塊140之真實時間initialization_time 211。此外,計時器特性資料區塊210可包含標準計時器計數器141、低能量計時器計數器143之任一者或兩者之某些性質。例如,區塊210可儲存兩個計時器之各自操作頻率(展示為standard_counter_frequency 212之標準計數器141之頻率及展示為low-energy_counter_frequency 213之低能量計時器計數器143之頻率)。
計時器特性資料區塊210可進一步儲存標準計時器計數器141及低能量計時器計數器143之最大漂移速率(例如,每小時0.1秒漂移),其等分別展示為standard_counter_maximum_drift 214及low- energy_counter_maximum_drift 215。在某些實施例中,包含於此區塊210中之所有資料可在製造安全區150時予以初始化(例如,根據關於以下圖3描述之例示性方法)且不可作進一步修改。如上文所述,可藉由將此資料儲存至唯讀非揮發性記憶體中來施行此原則,可透過用於防止修改此等資料欄位之編碼原則或任何其他適當之機制來施行此原則。
在包含兩個或更多個計數器之實施例中,資料結構200可包含一切換事件資料區塊220,其可用於儲存關於最後能量模式切換事件(即,計數器區塊140從以一能量模式(例如,標準模式)操作切換至另一模式(例如,低能量模式)之最後例項)之任何資訊。此資訊可用於在下一個能量模式切換事件時作出時序決定。
例如,當計時器區塊140從使用一標準計數器141切換至一低能量計數器143時,資訊可儲存於切換事件資料區塊220中。接著,當計時器區塊140再次從低能量計時器143切換回至標準計數器141時,儲存於切換事件資料區塊220中之關於最後能量模式轉變(即,從標準計數器141至低能量計數器143)之資訊可(例如)用於計算計時器區塊140依低能量模式操作時歷時之時間量。
在某些實施例中,四個值可與一切換事件相關聯且儲存於切換事件資料區塊220中。第一,energy_mode 221可儲存表示轉變之後有效之新能量模式類型之一值。第二,time_elapsed_until_energy_mode_switch 222可儲存基於計數器141及143計算且(例如)以秒為單位表達之從第一次初始化器件120、接著最近能量轉變以來歷時之總時間。(將注意,雖然本發明一致地參考器件120初始化描述歷時之時間,但是本發明未受如此限制且可參考其他資料點(諸如一計時器區塊140初始化時間、安全區150初始化時間等等)計算歷時之時間)。第三,energy_mode_drift 223可儲存第一次初始化器件120之時 間與最近能量模式切換之時間之間累積的最大總漂移量。第四,counter_start_value_at_energy_mode_switch 224可儲存緊接最近能量模式切換之後操作之計數器之起始值。例如,若轉變係從標準模式至低能量模式,則counter_start_value_at_energy_mode_switch 224可在低能量計數器143啟動時儲存該低能量計數器143之值。在某些實施例中,可期望在發生從一能量模式至另一者之一切換時,將關聯之計數器重設為零。例如,若計時器區塊140切換為一低能量模式,則在實現切換之點,可期望將低能量計數器143之值重設為零。
將理解,資料區塊220之前述描述僅僅為例示性且存在除了以剛才描述之方式之外的其他方式來表達時間及漂移相關之值。例如,在一些實施例中,可期望使用兩個其他值(i)至最近能量模式切換為止歷時之最小時間量,及(ii)至最近能量模式切換為止歷時之最大時間量(未展示),而非time_elapsed_until_energy_mode_switch 222及energy_mode_drift 223。在此實施例中,最小值與最大值之間之差值可為energy_mode_drift 223之兩倍且time_elapsed_until_energy_mode_switch 222將為最小值與最大值之間之中間點。將理解,以上替代描述(關於資料區塊220提供)容許從energy_mode_drift 223及time_elapsed_until_energy_mode_switch 222計算此等最小值/最大值且反之亦然,且因此此等最小值/最大值僅僅形成一替代表示。因為經由最小值/最大值之此替代表示容許使用者很容易地決定當前時間係至少x(最小時間)且不能超過y(最大時間),所以此表示從使用者之觀點而言似乎更合理。進一步而言,如下文更詳細地討論,此表示可簡化關於時間誤差之某些計算。
應注意,若僅使用一單個計數器,且其特性(如頻率及最大漂移)非取決於能量模式,或若僅存在一能量模式,則此切換事件資料區塊220並非必要的。
資料結構200可包括一第三同步資料區塊230,其可儲存關於最後同步事件,即,期間從一受信任計時工具110安全地接收一真實時間之最近事件之資訊。五個值可與此事件相關聯,該等值之每一者在下文更詳細地討論。第一,timekeeper_ID 231可儲存從其接收一新時間之受信任計時工具110之一全域唯一識別符,該全域唯一識別符可包含一受信任計時工具憑證或計時工具憑證之一參照(諸如計時器工具憑證之序號)。第二,同步資料區塊230可將在最近同步事件期間從受信任計時工具110接收之真實時間(由timekeeper_ID 231識別)儲存為synchronization_time 232。第三,區塊230可將從第一次初始化器件120之時間直至最近同步所歷時之時間量(根據計數器141及143)儲存為time_elapsed_until_synchronization 233。第四,區塊230可將從第一次初始化器件120之時間直至最近同步所累積之最大漂移量儲存為synchronization_drift 234。第五,區塊230可將在針對安全時間資料之請求之後從一計時工具110接收一回應所花費之時間量儲存為response_time 235。
將理解,本文描述之資料區塊之順序並非必要的,而僅僅為例示性,且可根據任何適當方法配置任何必要資料。將進一步理解,雖然資料結構200展示為具有三個分量區塊之一單個結構,但是事實上,資料可組織成一個以上資料結構或不同數量之分量區塊。換言之,資料可依據一特定實施適當地組織成任何數量之結構或區塊。亦應理解,額外資料亦可與計時器區塊140、資料結構220或其等各自分量之任何一者關聯。
圖3係展示可初始化計算器件120以用於在(例如)製造器件120時計時所憑藉之一例示性程序之流程圖。此程序涉及初始化儲存於一計時器資料結構200內之任何值。
如圖3上所示,在步驟310,可清除與任何現有計時器資料關聯 之任何記憶體146。例如,記憶體146可歸零。在步驟320,可填充計時器特性資料區塊210。例如,可設定頻率及最大漂移速率(展示為圖2上之standard_counter_frequency 212、low-energy_counter_frequency 213、standard_counter_maximum_drift 214及low-energy_counter_maximum_drift 215)。此外,當前真實時間可保存為initialization_time 211。此真實時間可由(例如)連接至美國國家標準技術研究所(NIST)美國官方時鐘、一GPS接收器、一原子鐘或一些其他形式之精確時序機構的一電腦提供。
在步驟330,計時器區塊140可開始保持追蹤從初始化計算器件120以來所歷時之時間量。在具有兩個或更多個計數器之實施例(諸如圖1上所示之實施例)中,僅期望啟動一計數器,在其他實施例中,可需要啟動兩個計數器。啟動哪個計數器可取決於計算器件120及/或安全區150之總特性,計數器之特性,製造商之偏好或用於選擇一能量模式之任何其他方法。例如,在其中精度之價值勝於能量效率之實施例中,一標準能量模式(利用一標準計數器141)可為較佳的,應理解,一標準計數器141有可能提供較高精度。在其他實施例中,特定言之,在不存在可用於計時器區塊操作之外部電源之實施例中,較佳的是依低能量模式啟動計時器區塊140而利用低能量計數器143。在另外的其他實施例中,低能量計數器143可一直執行,但是標準計數器141僅在外部電力可用時執行。
在步驟340,可初始化切換事件資料區塊220之值。例如,第一,energy_mode 221可設定為表示器件120啟動之能量模式之一值;第二,time_elapsed_until_energy_mode_switch 222(即,初始化與最近能量模式切換(從器件當前正初始化以來有可能尚未發生切換)之間歷時之時間)可設定為零;第三,energy_mode_drift 223(從第一次初始化之時間累積之計時器漂移之量)亦可設定為零;且第四, counter_start_value_at_energy_mode_switch 224(當前操作計數器之起始值)亦可設定為(例如)在步驟330計數器啟動時該計數器之值。在許多案例中,此第四值可亦為零。
在步驟350,可初始化同步區塊230之值。timekeeper_ID 231可設定為計時器區塊140尚未同步之零、NULL或某其他適當指示符。synchronization_time 232(即,最近同步事件之時間)可設定為initialization_time 211;time_elapsed_until_synchronization 233可設定為零;且synchronization_drift 234(從第一次初始化之時間累積之最大漂移)亦可設定為零。此初始化可進一步簡化從總是初始化最近同步事件資料以來之計算。
一旦已(例如)根據關於圖3描述之方法初始化計算器件120,計時器區塊140可用於計算當前時間或兩個事件之間歷時之時間。
圖8繪示可計算當前時間所憑藉之一方法。為了圖8之目的,假設僅存在一計數器,使得不存在切換事件資料區塊220。如圖8上所示,在步驟800,可獲得從初始化計算器件120以來之計數器增量之數量。假設計數器在初始化時設定為零,此量可簡單地為計數器之目前值。在步驟805,此值可除以計數器頻率,此提供從計算器件120初始化以來歷時之總時間量。接著,在步驟810,此量可相加至initialization_time 211以產生當前時間。
例如,可已初始化一3-Hz計數器以在2012年1月1日早上12:00具有一零值。計數器之目前值可為5400。遵循剛才描述之方法,當前時間可計算如下:首先,5400個計數器增量除以3Hz得到1800秒(或30分鐘)之歷時時間。接著,此值相加至上午12:00之initialization_time 211以得到上午12:30之一當前時間。
如先前所述,計數器可經受漂移。因此,將理解,計算時間上之可能誤差可大至從器件120初始化以來累積之最大漂移。因此,期 望亦計算從器件120初始化以來之最大漂移時間量。如此,在步驟815,從初始化器件以來歷時之總時間量(例如,如步驟805決定)可乘以計數器最大漂移速率。例如,若在步驟805計算歷時時間為30分鐘,且計數器之最大漂移速率係1%,則從器件初始化之時間以來之最大漂移係1800秒*0.01或18秒。
用於計算從初始化以來之當前時間及最大漂移之前述方法亦可用於計算時間間隔(及其準確度)。例如,可期望知道兩個事件之間之時間量。圖9展示用於計算此時間間隔之一例示性方法。在步驟900,可在第一事件發生之同時記錄計數器之值。在步驟905,可再次在第二事件發生之同時記錄計數器之值。在步驟910,第可從第二時間時記錄之計數器之值中減去一事件時記錄之計數器之值以決定兩個事件之間之計數增量之數量。在步驟915,此差值可除以計數器頻率(例如,以將計數器增量轉換為秒或一些其他時間單位)以決定兩個事件之間之時間間隔。
可期望知道兩個事件之間之時間期間累積之最大漂移量。因此,此量可在步驟920計算。一般技術者將理解,存在可執行此計算所憑藉之許多方法。例如,可計算下列兩者之間之差值:(i)從初始化以來至第二事件之時間為止累積之最大漂移;與(ii)從初始化以來至第一事件之時間為止累積之最大漂移。替代地,可藉由將兩個事件之間歷時之時間(如步驟915計算)乘以計時器之最大漂移速率計算兩個事件之間之時間期間累積之最大漂移量。
在某些類型之應用中,取決於計數器類型及關聯之最大漂移,此等時間計算之準確度可能不足。但是,因為一當前時間或時間間隔計算(如分別根據圖8及圖9展示)非取決於任何隨後重新同步-且因此,並不依賴於最終可能值得信賴或不值得信賴之任何外部計時工具-所以此等計算可用於確認重新同步之程序期間由受信任計時工具 110報告之當前時間係合理的。在下文更詳細地討論用於執行此確認之多種方法。
如上文所述,在某些實施例中,計時器區塊140可具有實現兩個或更多個能量模式之一個或多個計數器。圖4係展示在改變一能量模式時更新計時器資料所憑藉之一例示性方法。
如圖4上所示,在步驟410,可改變能量模式。例如,已從一外部電源拔除計算器件120之插頭而引起計時器區塊140開始以一低能量模式操作。例如,此可藉由使用經組態以從一內部電池144接收電力之一低能量時間計數器143來完成。
步驟420及430可用於計算先前能量模式中歷時之時間量。在前述實例中,計算器件120已以標準模式操作直至從一外部電源拔除其插頭而引起計時器區塊140開始以一低能量模式操作。因此,步驟420及430可用於計算器件120正以標準模式操作時(正好直至器件120轉變為低能量模式之點)歷時之時間量。
在步驟420,可計算在能量模式轉變時計數器(對應於舊能量模式)之值(例如,步驟410之值)與依該模式操作之初之其值(先前儲存於counter_start_value_at_energy_mode_switch 224中)之間的差值。在其中計數器依一特定模式操作之初其值設定為零之實施例中,此差值僅僅為步驟410時計數器之當前值。
例如,在前述實例中,在器件120之插頭拔除且轉變為低能量模式時,在此步驟420,計算在能量模式切換生效時(在步驟410)標準計數器141之值與已啟動標準計數器141時之其值(先前儲存於counter_start_value_at_energy_mode_switch 224中)之間的差值。若在器件120開始依標準能量模式操作時標準計數器141之值已重設為零,則此「差值」將簡單地為器件120轉變為低能量模式時標準計數器141之值(例如,步驟410之值)。
在步驟430,步驟420計算之差值可用於計算器件依先前能量模式操作之時間長度。例如,此可藉由將步驟420計算之差值(例如,依先前能量模式操作期間歷時之計數器滴答聲之數量)與計數器之已知頻率相乘來計算。例如,若計時器區塊140從依標準能量模式操作轉變為低能量模式,則步驟420計算之計數器增量之數量可除以計時器特性資料區塊210中儲存為standard-energy_counter_frequency 212之頻率。因此,例如,若標準能量模式212中之頻率係每秒2000個滴答聲,且步驟420處計算之差值係7,200,000個滴答聲,則依標準能量模式操作之時間係3600秒或1小時。
在步驟440,可基於計時器區塊140依先前能量模式操作之時間量(如剛才步驟420及430中計算)及從第一次初始化器件120以來歷時之時間量(其儲存為資料區塊220之time_elapsed_until_energy_mode_switch 222)計算從第一次初始化計時器區塊140之時間直至最後能量模式轉變之時間歷時之時間量。例如,記錄222可展示1900800秒之一值,該值指示從初始化計算器件120之時間以來直至緊接能量模式轉變之前為止已歷時了三個星期及一天。接著,在步驟430,已決定計時器區塊140依先前能量模式操作了總計7200秒。結果,從器件120初始化以來直至最後能量模式轉變歷時了總時間為1908000秒(或3個星期1天2小時)。
在步驟450,可計算已在先前能量模式期間累積之最大可能漂移。可基於計時器區塊140依先前能量模式操作之時間之持續時間(例如,如步驟430所計算)及對應能量模式之最大漂移速率來計算此最大累積漂移。例如,若計時器區塊140依標準能量模式操作了7200秒,且standard_counter_maximum_drift 214係0.01秒漂移/分鐘,則(因為7200秒=120分鐘)該時段期間累積之漂移可大至1.2秒。
在步驟460,可計算最大可能總漂移(即,已從第一次初始化器件 120之時間累積之最大漂移)。此量可計算為從第一次初始化安全區150之時間直至緊接能量模式切換之前之時間累積之最大可能漂移(此值可在切換事件資料區塊220之energy_mode_drift 223內發現)與先前能量模式期間累積之最大可能漂移(例如,步驟450計算之量)之總和。圖5以圖形格式繪示可如何在4個時間間隔(例如,其可對應於4個能量模式轉變)內累積最大可能漂移。
在步驟470,新值(關於緊接最近能量模式切換之前之能量模式)可覆寫先前資料區塊220內之任何值。例如,當前能量模式類型之值(藉由將計時器區塊140從一模式轉變為另一模式產生)可儲存至現有資料區塊220之energy_mode 221中來覆寫舊值。目前時間(例如,如步驟440決定之從初始化器件120以來歷時之時間)及從第一次初始化器件120以來累積之最大可能漂移(例如,如步驟460決定)可分別儲存至資料區塊220之time_elapsed_until_energy_mode_switch 222及energy_mode_drift 223中。
如所述,圖4展示改變能量模式時更新計時器資料所憑藉之一例示性方法。但是,在一些實施例中,當電力關閉時,難以執行此等操作。在此等實施例中,有用的是在器件120保持通電時,每隔一定時間間隔(例如,每分鐘一次)更新計時器資料,而非在電力已關閉之後執行此等操作。
圖8繪示在僅具有一計數器之實施例中計算當前時間所憑藉之一例示性方法。可執行類似計算以在具有兩個或更多個計數器之實施例中決定當前時間。在一例示性實施例中,可基於儲存於(例如)資料區塊220內之最後能量模式改變處之值計算此等量。圖10展示用於在具有兩個或更多個計數器之實施例中計算當前時間之此例示性方法。
在步驟1000,計算在當前操作計數器之目前值與counter_start_value_at_energy_mode_switch 224之值之間的差值。
在步驟1010,此值可除以適當計數器頻率(例如,此可取決於當前能量模式而為standard_counter_frequency 212或low-energy_counter_frequency 213)。此除法之結果可解釋為從最後能量模式改變以來歷時之時間量。
在步驟1020,此量可相加至time_elapsed_until_energy_mode_switch 222以獲得從初始化器件120以來歷時之總時間量。接著,在步驟1030,initialization_time 211可相加至器件初始化以來歷時之總時間量(例如,步驟1020計算之量)以計算當前時間。
例如,假設低能量計數器143之目前值係10800,其開始依目前能量模式操作時之值(即,counter_start_value_at_energy_mode_switch 224之值)係5400,low-energy_counter_frequency 213係3Hz,time_elapsed_until_energy_mode_switch 222係9000秒,且initialization_time 211係2012/1/1上午12:00。在此實例中,當前時間將計算如下:
●[步驟1000]從最後能量模式改變以來之10800-5400=5400計數器增量。
●[步驟1010]從最後能量模式改變以來歷時了5400個增量/3個增量/每秒=1800秒。
●[步驟1020]從初始化器件120以來歷時了1800秒+9000秒=10,800秒或3小時
●[步驟1030]上午12:00+3小時=2012/1/1上午3:00
可進一步期望計算從初始化器件120以來累積之最大漂移量。可藉由在步驟1040,將從最後能量模式改變以來歷時之時間量(即,在步驟1010計算之量)乘以適當計數器漂移速率來計算此量,以獲得從最後能量模式改變以來累積之最大漂移量。在步驟1050,此量可相加至從器件初始化以來直至最後能量模式改變累積之總最大漂移量 (即,energy_mode_drift 223)以提供從器件120初始化以來累積之總最大漂移量。
例如,假設在前述實例中,計數器之最大漂移速率係0.01且energy_mode_drift 223係12秒。在此實例中,從初始化以來之最大漂移可計算如下:
●[步驟1040]從最後能量模式改變以來之1800秒* 0.01=18秒漂移
●[步驟1050]最後能量模式改變之前之18秒+12秒漂移=從初始化以來之30秒總漂移
圖9繪示在僅具有一計數器之實施例中計算兩個事件之間累積之時間及漂移量所憑藉之一例示性方法。可在具有兩個或更多個計數器之實施例中執行類似計算以決定兩個事件之間累積之時間及漂移量。在一例示性實施例中,可基於儲存於(例如)資料區塊220內之最後能量模式改變處之值計算此等量。圖11展示用於在具有兩個或更多個計數器之實施例中計算兩個事件之間歷時之時間量以及該時間期間累積之最大漂移之一例示性方法。
在步驟1100,可(例如)如關於圖8描述般計算且在第一事件發生之同時記錄從初始化器件120以來歷時之時間及該時間間隔期間累積之最大漂移。
在步驟1105,在第二事件發生之同時,可再次記錄從器件120初始化以來歷時之時間及最大累積漂移。
在步驟1110,可從第二事件時記錄之歷時之時間中減去第一事件時記錄之歷時之時間以決定兩個事件之間之持續時間。
類似地,在步驟1115,可從第二事件時記錄之最大累積漂移之值中減去第一事件時記錄之最大累積漂移之值以決定兩個事件之間之時段期間之最大累積漂移。
例如,假設在第一事件時,從器件120初始化以來歷時之時間係10,800秒,且從器件120初始化以來累積之最大漂移係32秒(兩者如步驟1100處計算及記錄);且進一步假設在第二事件時,從器件120初始化以來歷時之時間係16,200秒且從器件120初始化以來累積之最大漂移係51秒(兩者如步驟1100處計算及記錄)。在此實例中,兩個事件之間歷時之時間(及該時間間隔期間累積之最大漂移)可計算如下:
●[步驟1110]兩個事件之間歷時16,200-10,800=5400秒(或1.5小時)。
●[步驟1115]51-32=19秒,其為已在兩個事件之間累積之最大漂移。
隨著時間之推移,從第一次初始化累積之計時器漂移量可變得重要,且計時器區塊140可要求與一個或多個外部計時工具110同步。最佳的是,可以一安全方式獲得一精確時間。如圖1上所示,根據本發明之一安全區150可包括支援安全計時之一監督器160。此監督器160能夠:(1)從一個或多個受信任計時工具110接收資訊;(2)驗證接收之時序資訊;(3)估計目前真實時間之值及此估計中之任何可能誤差,且將真實時間值及誤差之一者或兩者提供至關注此資訊之實體;及/或(4)基於目前時間或一段歷時之時間施行某些內部或外部原則,諸如在執行憑證驗證之程序中檢查一數位憑證到期時間。本文更詳細地描述此等功能。
在一些實施例中,監督器160可進一步執行某些其他額外功能,諸如:(5)接收可於安全區150內之一個或多個處理器(未展示)上執行之可執行程式碼;(6)確認與此程式碼關聯之任何數位憑證;及/或(7)若滿足一個或多個預定需求,指示安全區150內之一處理器(未展示)執行程式碼。例如,如美國臨時申請案第61/623,861號(先前提及)或在2012年4月20日申請名為「Improved Secure Zone for Secure Purchases」之美國臨時專利申請案第61/636,201號(其全部內容以引用的方式併入本文中)中所描述,監督器160能夠完成一個或多個任務。
在一些實施例中,計時器區塊140可實施為監督器160之部分;在其他實施例中,計時器區塊140及監督器160可實施為兩個分開單元。
監督器160可用於控制對安全區150之一個或多個組件之存取,且可用於施行安全區150之某些操作規則,以便將某些安全保證提供給終端使用者。可於安全區150內之硬體及/或軟體中實施監督器160。但是,不管如何實施,應藉由使用(例如)防篡改及/或篡改偵測技術來保證監督器160之完整性。此外,若安全區150實施選項以載入及執行第三方程式碼,應採取措施以確保任何此第三方程式碼不會影響或獲悉監督器160之狀態。
在某些實施例中,除了別的之外,安全區150可進一步包括一個或多個密碼編譯引擎121,由監督器160使用密碼編譯引擎121,支援計時工具憑證確認。此等密碼編譯引擎121可經組態以實施一個或多個密碼編譯演算法,諸如AES或RSA。密碼編譯引擎121可從監督器160接收資料以用來加密或解密,且可將所得密文(或適當地,純文字)提供回至監督器160。安全區150亦可包括提供密碼編譯程序支援之一隨機數產生器124。在其他實施例中,監督器160可經組態以執行密碼編譯引擎121之功能性之一些或所有,且可不要求一分開之密碼編譯引擎121。
如圖1上所示,安全區150可進一步包含一個或多個專屬憑證儲存器166,其可實施為唯讀非揮發性記憶體。憑證儲存器166可儲存一個或多個憑證授權單位(CA)之一個或多個根憑證,根憑證繼而可用於受信任計時器工具110憑證驗證。
安全區150可在實體上安全,使得其係防篡改的。安全區150亦 可(替代防篡改,或除了防篡改之外)併入一個或多個篡改偵測技術。例如,用於保護密碼編譯處理器之若干防篡改方法係已知的且已在技術中描述,參見http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-641.pdf。在一些實施例中,例如,可期望在一單個晶片內製造安全區150。在另一實施例中,安全區150可具有一安全封圍。在此等實施例之一些中,若安全區150偵測到晶片之完整性受損及/或安全區150偵測到安全封圍之侵入,則其可經組態以執行一個或多個可能回應。此等回應可從擦除敏感型資料改變為安全區150之所有或部分之實體破壞。
在某些實施例中,僅在從一認證過之安全計時工具100接收時間資料時安全區150應當作可靠的,該時間資料係使用一個或多個安全資料傳輸演算法接收。圖6a至圖6c繪示使用從一受信任計時工具110接收之時間資料使計時器區塊140同步所憑藉之一例示性方法。
如圖6a上所示,在步驟600,可決定計時器區塊140應重新同步。此可因為許多原因發生,該等原因包含(但不限於):(i)從最後同步事件以來累積之計時器漂移超過一預定義、最大可容許漂移量(即,將由計時器區塊140產生之時間對於應用程式而言太不可靠/誤差太大),該預定義、最大可容許漂移量可取決於(例如)需要由監督器160執行之操作;(ii)監督器160已從執行於安全區150中之程式碼接收針對一當前時間之一請求,且該請求已進一步指定與該時間關聯之誤差應小於一預定量;或(iii)已從安全區150外部(例如,從執行於非安全區152中之一應用程式112(直接或憑藉作業系統111系統呼叫))接收一類似請求。此外,在一些實施例中,安全區150可經組態以週期性判定是否需要重新同步。
為了開始重新同步之程序,監督器160可開始準備針對一當前時間之一請求以用來傳輸至一受信任計時工具110。
在步驟605,監督器160可產生待轉遞至一受信計時工具110之一臨時標誌(nonce)(即,一密碼編譯之安全隨機數)。在某些實施例中,監督器160可使用隨機數產生器(RNG)124以產生臨時標誌。此臨時標誌可保存於(例如)記憶體146內。如本文進一步描述之臨時標誌之使用可用於(例如)確保從一計時工具110接收之一時間對應於由監督器160產生之最近時間請求,此可用於防止「重播攻擊」。
在步驟607,監督器160可指示計時器區塊140計算從器件120初始化以來歷時之總時間量;此時間可保存於(例如)記憶體146內。
在一些實施例中,在步驟610,監督器可從一可用受信任計時工具清單選擇從中尋找一安全時間之一特定計時工具110。此清單可藉由(例如)計時工具之絕對網域名稱(例如,「example-time-keeper.com」)參考計時工具。諸如(例如)藉由作業系統111或執行於作業系統111內之一應用程式112,可將此清單結合當前執行於監督器160內之一任務提供至安全區150(例如,任務之關聯數位憑證之一預定義欄位內),或可來自非安全區152且可在非安全區152內支援及更新。
在步驟615,監督器160可形成針對一當前時間之請求。此請求可包括臨時標誌,且可視需要包括對步驟610選擇之計時工具110之參照。
在步驟617,可使用(例如)非安全區152及/或作業系統111將針對一當前時間之請求(例如,如步驟615處形成)發送至所選受信任計時工具110。
在步驟620,所選計時工具110可接收請求且可形成一回覆,該回覆包含:(i)一目前真實時間值;(ii)一受信任計時工具110憑證撤銷清單(CRL),其包含憑證已撤銷且(例如)由加簽章於計時工具憑證之相同憑證授權單位所簽章之任何計時工具之憑證;及(iii)請求內接收之 臨時標誌。計時工具110可在將回覆發送回至計算器件120之前利用其私密金鑰(其對應於包含於其數位憑證內之公開金鑰)加簽章於回覆。
在步驟625,計算器件120可從所選受信任計時工具110接收回覆,且可將該回覆轉遞至安全區150以用來由監督器160處置。
在步驟630:(i)監督器160可接收回覆;(ii)使用密碼編譯引擎121確認由一受信任計時工具110有效地加簽章於憑證;及(iii)確認連同回覆接收之臨時標誌之值相同於請求中提供之值。將理解,一標準PKI憑證有效性檢查可包含時間檢查。例如,可期望決定一憑證尚未到期。但是,在一些實施例中,在此步驟630,較佳的是不執行此等標準時間檢查。
若在步驟630決定因為一些原因而使回覆並非有效的(例如,臨時標誌不同於儲存於記憶體146中之臨時標誌之值,計時工具憑證已撤銷等等),則此可指示所選計時工具110已受損,或存在通信錯誤(例如,一丟失之封包)且應不使用接收之時間。在某些實施例中,監督器160可藉由重複步驟605至620來重複試圖獲得一受信任時間,但是可選擇接觸一不同計時工具110。
在某些實施例中,可期望計算從受信任計時工具110接收一回覆所花費之時間量。因此,在步驟632(圖6b上所示),監督器160可請求計時器區塊140計算下列兩者之間的差值:(i)從器件120初始化以來歷時之當前時間量;與(ii)從器件120初始化以來直至進行請求時之時間所歷時之時間量(例如,步驟607保存之時間量)。若在步驟633,此時間間隔大於某一預定義值(例如,30秒),則可丟棄回覆。在大多數案例中,此持續時間應大約為若干秒或甚至更少。未適當地限制此持續時間可增加某些種類攻擊之可能性。
但是,若在步驟633決定時間請求與計時工具回應之間之持續時間未超過預定義值,則在步驟634,監督器160可暫時儲存此持續時間 (例如,儲存於記憶體146中)。若最終接受回覆時間以用來重新同步,則此持續時間可在同步事件資料區塊200內永久地保存為response_time 235。
在步驟635,監督器160可比較從受信任計時工具110接收之時間(例如,在步驟620)與由計時器區塊140自身產生之時序資訊(即,如(例如)根據上文關於圖8及圖10描述之方法,基於從器件120初始化以來歷時之時間計算之當前時間)。
若從受信任計時工具110接收之時間超出當前時間(如基於從器件120初始化以來歷時之時間量加上或減去從器件120初始化以來累積之最大漂移量所計算)之範圍,則可認為時間無效。例如,當前時間可計算為2012年1月1日,且從器件120初始化以來之最大可能漂移時間量可計算為兩天。若由計時工具110提供之時間在2011年12月30日之前或2012年1月3日之後,則可認為計時工具之時間無效。在此事件中,不應發生重新同步,且在時間計算中應繼續使用舊synchronization_time 232。
但是,若在步驟635,接收之時間屬於預期時間範圍內,則如圖6c中所示,在步驟640,監督器160可明確確認先前重新同步期間使用之計時工具(即,「舊」計時工具)是否列入在回覆內接收之CRL中。若在CRL清單中發現舊計時工具,則可假設舊計時工具受損且先前synchronization_time 232係不可靠的。在此案例中,已對照從器件初始化以來歷時之時間檢查(例如,在步驟635)之新接收之時間值應用於(例如)根據以下步驟650使計時器區塊140重新同步。
若在步驟640,舊計時工具之憑證尚未被撤銷,且舊synchronization_time 232被認為值得信賴,則在步驟642,監督器160可確認從新計時工具110接收之時間屬於基於最後成功同步synchronization_time 232加上或減去從最後同步以來之最大可能漂移 量計算之當前時間之範圍內之某處。若發現兩個時間值衝突(例如,從新計時工具110接收之時間在此範圍外),則贊同最後成功同步期間使用之舊計時工具110、不應發生重新同步且應繼續使用舊synchronization_time 232,來解決受信任計時工具之間之衝突。
但是,在步驟642,若接收之時間在範圍內,則在步驟645,可判定當前重新同步請求期間由受信任計時工具110提供之數位憑證已到期。例如,此可藉由比較憑證之到期時間與基於最後成功重新同步由計時器區塊140維持之當前時間來決定。(為了考量計時器可經歷漂移之事實,較佳的是首先從當前時間中減去從最後成功重新同步之時間已累積之最大漂移量)。若憑證未到期,則(例如)根據以下步驟650,新接收之時間值可用於使計時器區塊140重新同步。否則,舊重新同步保持有效;不應發生重新同步,且應繼續使用舊synchronization_time 232。在後一案例中,在一些實施例中,因為此可導致計時工具之間之衝突之外部解決,所以監督器160可將此衝突報告給其連接之任何或所有方。例如,一系統操作員可檢查衝突報告以判定是否有任何計時工具金鑰受損;在此案例中,與任何受損計時工具金鑰關聯之憑證可為無效,且隨後,監督器160可接收CRL中之此更新。
應注意,在一些其他實施例中,例如,基於報告一致資料之大多數計時工具之其他方法可單獨使用或與以上方法之一些步驟組合使用。
在某些情境中,若在某個時間框內未發生同步,則從計時器區塊140最後成功同步之時間累積之最大漂移量可超過許可值。可(例如)由監督器160或由執行於安全區150內或外部之程式碼設定此許可值。在某些實施例中,當此發生(即,當漂移太大時),監督器160可藉由重複步驟600至645重複嘗試同步。
在步驟650,可更新同步區塊230之值以反映新時間。例如:可用報告新時間之計時工具之識別符更新timekeeper_ID 231。可用從計時工具110接收之當前時間(例如,在步驟620)更新synchronization_time 232。在一些實施例中,可更新time_elapsed_until_synchronization 233以儲存從器件120初始化以來直至此最近同步之時間為止歷時之總時間量。在其他實施例中,為了簡化某些隨後計算(下文更詳細地描述),取而代之,較佳的是將從器件120初始化以來直至安全時間請求與計時工具回覆之間之時間間隔之中間為止歷時之時間儲存於time_elapsed_until_synchronization 233內。從器件120初始化以來直至此最近同步之時間為止之最大可能漂移可儲存至synchronization_drift 234中。最後,從計時工具110接收一回應所花費之時間之持續時間(例如,如步驟632計算且在步驟634暫時儲存)可儲存至response_time 235中。
圖6d係展示如何由於一個或多個重新同步而減小與一當前時間計算關聯之誤差之圖。
曲線680表示已從初始化計算器件120以來累積之最大漂移。若當前時間之計算係基於初始化期間設定之時間(例如,如根據圖8上展示之方法計算),則此漂移曲線680將提供關於可能誤差之一上邊界。
曲線682表示與基於在時間Tresync 690發生之一先前同步事件計算之一當前時間關聯之最大誤差。至Tresync 690之右側,此曲線之形狀相同於曲線680之部分之形狀,如同該部分向下位移般。
將注意,甚至在同步之時間(例如,Tresync 690),與當前時間計算關聯之任何誤差之初始值不一定為零。例如,如圖6d上所示,在第一次同步之時間Tresync 690,初始誤差可為某個值E1(在圖6d上展示為值694),該值可取決於發送一安全時間請求與從一受信任計時工具110接收一回應之間之時間之持續時間(其可儲存為response_time 235)。 在某段時間之後,從器件120初始化以來累積之最大漂移量將變為大於E1 694。
將理解,取決於其中使用本文描述之本發明之背景內容,可期望限制系統內可接受之最大誤差量。例如,此可實施為監督器160之一原則。如圖6d上所示之位準Emax 696表示此最大許可誤差。隨著時間前進,在圖6d上展示為時間Tnec 691時,可超過此誤差。結果,在Tnec 691,系統可決定有必要使計時器區塊140重新同步。
但是,然而重新同步可在稍後某個時間Tresync2 692發生,使得Tresync2 692>Tnec 691。例如,因為在Tnec與Tresync2之間之時段期間,關閉器件120,且不執行操作(可能除了依低能量模式進行時間監測(此就本身而言,可導致更大不精確)之外),所以可發生此延遲。不管延遲之原因為何,若從先前重新同步以來,在時間Tresync2 692之累積誤差(圖6d上展示為E2 698)超過值Emax 696,則可不報告基於最後同步時間(Tresync 690)計算之任何時間或時間間隔,且系統可決定有必要使計時器區塊140重新同步。在此重新同步之後,系統中之誤差將由原始誤差曲線682之下之一新曲線表示,該新曲線在圖6d上展示為曲線684。
圖7展示使用與一受信任計時工具110之最近同步期間接收之資訊計算一安全時間所憑藉之一例示性方法。
在步驟705,一任務可請求監督器提供與該估計關聯之當前時間及最大誤差。(此可如(例如)關於圖8所描述般計算)。
在步驟710,可如上文更詳細地描述般計算從最後同步事件以來歷時之時間及累積之最大漂移。
在步驟715,從最後同步事件以來歷時之時間可相加至synchronization_time 232以計算當前時間。
在步驟720,可計算與自最近synchronization_time 232導出之時 間關聯之誤差。將理解,誤差係隨一計時器關聯之最大漂移(其隨著時間推移而增加)及從一計時工具接收一回應之任何延遲兩者而變;因此,應考慮漂移及延遲。如全文使用,漂移之概念已表示為從所計算時間中減去或相加至計算時間之一量;換言之,實際時間屬於所計算時間+/-最大漂移之一範圍內。結果,為了簡化誤差計算之複雜性,類似地,較佳的是使用選擇為恰好在將請求發送至計時工具與接收其回覆之間之時間間隔之中間中的time_elapsed_until_synchronization 233之一值。在此等實施例中,response_time 235之一半可相加至從最後同步事件以來累積之漂移以計算與當前時間關聯之總誤差。
雖然已繪示及描述本發明之特定實施例及應用,但是應理解,本發明非限於本文揭示之精確組態及組件。本文使用之術語、描述及圖僅憑藉說明提出且非意味著限制。可在不脫離於本發明之精神及範疇下對本文揭示之本發明之裝置、方法及系統之配置、操作及細節進行為熟悉此項技術者所瞭解之各種修改、改變及變動。憑藉非限制性實例,將理解,包含於本文中之方塊圖意欲展示每個裝置及系統之所選組件子集,且每個描繪之裝置及系統可包含未在圖上展示之其他組件。此外,一般技術者將認識到,可在無損於本文描述之實施例之範疇及效能下省略或重新安排本文描述之某些步驟及功能性。
連同本文揭示之實施例描述之各種說明性邏輯區塊、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或兩者之組合。為了繪示硬體及軟體之此可交換性,上文一般就各種說明性組件、區塊、模組、電路及步驟之功能性方面描述其等。此功能性是實施為硬體還是軟體取決於加於整個系統上之特定應用及設計約束。對於每個特定應用,可以改變之方式一諸如藉由使用微處理器、微控制器、場可程式化閘極陣列(FPGA)、特定應用積體電路(ASIC)及/或系統單晶片(SoC) 之任何組合一實施描述之功能性,但是此等實施決策不應解釋為引起脫離於本發明之範疇。
可以硬體,以由一處理器執行之一軟體模組或以兩者之一組合直接體現連同本文揭示之實施例描述之方法或演算法之步驟。一軟體模組可常駐於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、一可卸除式磁碟、一CD-ROM或技術中所知之儲存媒體之任何其他形式中。
本文揭示之方法包括用於實現所描述之方法之一個或多個步驟或動作。可在不脫離於本發明之範疇下將方法步驟及/或動作彼此交換。換言之,除非對於實施例之適當操作,需要一特定順序之步驟或動作,否則可在不脫離於本發明之範疇下修改特定步驟及/或動作之順序及/或使用。
105‧‧‧通信通道
110‧‧‧外部受信任計時工具/原始計時工具
111‧‧‧作業系統
112‧‧‧應用程式
120‧‧‧計算器件/器件
121‧‧‧密碼編譯引擎
124‧‧‧隨機數產生器(RNG)
140‧‧‧計時器區塊
141‧‧‧第一標準計數器/標準計時器計數器
143‧‧‧第二低能量計數器/低能量計時器計數器
144‧‧‧電池
146‧‧‧記憶體/非揮發性記憶體
150‧‧‧安全區
151‧‧‧介面
152‧‧‧非安全區
160‧‧‧監督器
166‧‧‧專屬憑證儲存器

Claims (25)

  1. 一種用於安全時間管理之裝置,其包括:一非揮發性儲存器,其儲存一同步時間;一第一計數器,其經組態以依一第一預定頻率累加;及一處理器,其經組態以:產生針對一當前時間之一請求,該請求包含在該裝置處產生之一臨時標誌;將該請求傳輸至一受信任計時工具;從該受信任計時工具接收包含一當前真實時間之一回應,利用一數位簽章加數位簽章於該回應;確認該回應之該數位簽章;確認在一預定義時間內接收到該回應;比較該請求中之該臨時標誌與該回應中之一臨時標誌;決定從該受信任計時工具接收之該當前真實時間係在一第一當前時間之一範圍內,該第一當前時間係在該裝置處基於該同步時間及由該第一計數器計數之一數量所計算;且用從該受信任計時工具接收之該回應中之該當前真實時間更新該同步時間。
  2. 如請求項1之裝置,其中該處理器經進一步組態以決定將用於一最後成功同步之一先前計時工具列入在該接收之回應中之一憑證撤銷清單(CRL)中。
  3. 如請求項1之裝置,其中該處理器經進一步組態以決定從該受信任計時工具接收之該當前真實時間係在一第二當前時間之一範圍內,該第二當前時間係在該裝置處基於該裝置初始化以來歷時之一時間量所計算。
  4. 如請求項2之裝置,其中該受信任計時工具係選自一可用受信任計時工具清單。
  5. 如請求項4之裝置,其中連同當前執行於該裝置中之一任務提供該可用受信任計時工具列表。
  6. 如請求項2之裝置,其中該處理器經進一步組態以在請求時,提供一時間點或兩個事件之間歷時之一時間量。
  7. 如請求項2之裝置,其進一步包括一電池,其中該第一計數器經組態以在該裝置斷電時由該電池供電以依複數個不同預定頻率之一者累加。
  8. 如請求項7之裝置,其中該處理器經進一步組態以:儲存關於該等不同預定頻率間之切換之資訊,且使用由該第一計數器依該等不同預定頻率計數之數量分別提供一時間參考及該時間參考之一最大漂移,該最大漂移與該等不同預定頻率之各者及該同步時間關聯。
  9. 如請求項2之裝置,其進一步包括一第二計數器,該第二計數器經組態以依一第二預定頻率累加,且其中該非揮發性儲存器經組態以儲存與針對該第一預定頻率之該第一計數器關聯之一第一最大漂移且儲存與針對該第二預定頻率之該第二計數器關聯之一第二最大漂移。
  10. 如請求項9之裝置,其進一步包括一電池,其中該第一預定頻率低於該第二預定頻率,且該第一計數器經組態以在該裝置斷電時由該電池供電。
  11. 如請求項10之裝置,其中該處理器經進一步組態以:儲存關於該第一計數器及該第二計數器間之切換之資訊,且根據該第一計數器及該第二計數器已接通之該儲存之資訊、該同步時間及該第一最大漂移及該第二最大漂移而使用由該第 一計數器及該第二計數器計數之數量分別提供一時間參考及該時間參考之一最大漂移。
  12. 一種用於安全時間管理之電腦實施之方法,其包括:在一裝置處產生針對一當前時間之一請求,該請求包含在該裝置處產生之一臨時標誌;將該請求傳輸至一受信任計時工具;從該受信任計時工具接收包含一當前真實時間之一回應,利用一數位簽章加數位簽章於該回應;確認該回應之該數位簽章;確認在一預定義時間內接收到該回應;比較該請求中之該臨時標誌與該回應中之一臨時標誌;決定從該受信任計時工具接收之該當前真實時間係在一第一當前時間之一範圍內,該第一當前時間係在該裝置處基於儲存於該裝置之一非揮發性儲存器中之一同步時間及由依一第一預定頻率累加之一第一計數器計數之一數量所計算;且用從該受信任計時工具接收之該回應中之該當前真實時間更新該同步時間。
  13. 如請求項12之電腦實施之方法,其進一步包括決定將用於一最後成功同步之一先前計時工具列入在該接收之回應中之一憑證撤銷清單(CRL)中。
  14. 如請求項12之電腦實施之方法,其進一步包括決定從該受信任計時工具接收之該當前真實時間係在一第二當前時間之一範圍內,該第二當前時間係在該裝置處基於該裝置初始化以來歷時之一時間量所計算。
  15. 如請求項12之電腦實施之方法,其進一步包括從一可用受信任計時工具清單選擇該受信任計時工具。
  16. 如請求項15之電腦實施之方法,其進一步包括連同當前執行於該裝置中之一任務接收該可用受信任計時工具清單。
  17. 如請求項12之電腦實施之方法,其進一步包括在請求時,提供一時間點或兩個事件之間歷時之一時間量。
  18. 如請求項12之電腦實施之方法,其進一步包括在該裝置斷電時使用一電池供電給該第一計數器以依複數個不同預定頻率之一者累加該第一計數器。
  19. 如請求項18之電腦實施之方法,其進一步包括:儲存關於該等不同預定頻率間之切換之資訊,且使用由該第一計數器依該等不同預定頻率計數之數量分別提供一時間參考及該時間參考之一最大漂移,該最大漂移與該等不同預定頻率之每一者及該同步時間關聯。
  20. 如請求項13之電腦實施之方法,其進一步包括:依該第一預定頻率累加該第一計數器或依一第二預定頻率累加一第二計數器,儲存與針對該第一預定頻率之該第一計數器關聯之一第一最大漂移;且儲存與針對該第二預定頻率之該第二計數器關聯之一第二最大漂移。
  21. 如請求項20之電腦實施之方法,其進一步包括在該裝置斷電時供電給該第一計數器以依該第一預定頻率累加,其中該第一預定頻率低於該第二預定頻率。
  22. 如請求項21之電腦實施之方法,其進一步包括:儲存關於該第一計數器及該第二計數器間之切換之資訊,且根據該第一計數器及該第二計數器已接通之該儲存之資訊、該同步時間及該第一最大漂移及該第二最大漂移而使用由該第 一計數器及該第二計數器計數之數量分別提供一時間參考及該時間參考之一最大漂移。
  23. 一種包含用於安全時間管理之一方法之程式指令之非暫時性電腦可讀媒體,該等指令引起一電腦執行該方法,該方法包括:在一裝置處產生針對一當前時間之一請求,該請求包含在該裝置處產生之一臨時標誌;將該請求傳輸至一受信任計時工具;從該受信任計時工具接收包含一當前真實時間之一回應,利用一數位簽章加數位簽章於該回應;確認該回應之該數位簽章;確認在一預定義時間內接收到該回應;比較該請求中之該臨時標誌與該回應中之一臨時標誌;決定從該受信任計時工具接收之該當前真實時間係在一第一當前時間之一範圍內,該第一當前時間係在該裝置處基於儲存於該裝置之一非揮發性儲存器中之一同步時間及由依一第一預定頻率累加之一第一計數器計數之一數量所計算;且用從該受信任計時工具接收之該回應中之該當前真實時間更新該同步時間。
  24. 如請求項23之非暫時性電腦可讀媒體,其中該方法進一步包括決定將用於一最後成功同步之一先前計時工具列入在該接收之回應中之一憑證撤銷清單(CRL)中。
  25. 如請求項23之非暫時性電腦可讀媒體,其中該方法進一步包括決定從該受信任計時工具接收之該當前真實時間係在一第二當前時間之一範圍內,該第二當前時間係在該裝置處基於該裝置初始化以來歷時之一時間量所計算。
TW102121592A 2012-06-18 2013-06-18 用於安全時間管理之系統、方法及裝置 TW201411403A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201261661248P 2012-06-18 2012-06-18

Publications (1)

Publication Number Publication Date
TW201411403A true TW201411403A (zh) 2014-03-16

Family

ID=49757081

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102121592A TW201411403A (zh) 2012-06-18 2013-06-18 用於安全時間管理之系統、方法及裝置

Country Status (5)

Country Link
US (3) US9338010B2 (zh)
EP (1) EP2862120B1 (zh)
CA (3) CA2879819C (zh)
TW (1) TW201411403A (zh)
WO (1) WO2013190363A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3118235A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Apparatuses, methods and systems for computer-based secure transactions
TW201349009A (zh) 2012-04-13 2013-12-01 Ologn Technologies Ag 用於數位通信之安全區
TW201403375A (zh) 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
WO2014141202A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
WO2015015473A1 (en) 2013-08-02 2015-02-05 Ologn Technologies Ag A secure server on a system with virtual machines
KR101550552B1 (ko) * 2014-09-19 2015-09-07 성균관대학교산학협력단 시간 동기화 주기를 조절할 수 있는 시간 동기화 슬레이브 장치 및 시간 동기화 주기 결정 방법
US10523447B2 (en) * 2016-02-26 2019-12-31 Apple Inc. Obtaining and using time information on a secure element (SE)
US10630490B2 (en) 2016-02-26 2020-04-21 Apple Inc. Obtaining and using time information on a secure element (SE)
US10680833B2 (en) 2016-02-26 2020-06-09 Apple Inc. Obtaining and using time information on a secure element (SE)
CN110365797B (zh) * 2016-06-03 2022-03-18 青岛海信移动通信技术股份有限公司 一种联系人信息的同步方法和装置
US10192177B2 (en) * 2016-06-29 2019-01-29 Microsoft Technology Licensing, Llc Automated assignment of errors in deployed code
JP2018046349A (ja) * 2016-09-13 2018-03-22 沖電気工業株式会社 通信システム、時刻同期方法、通信装置、及び通信プログラム
EP3333750A1 (en) * 2016-12-06 2018-06-13 Safenet Canada Inc. Method to create a trusted pool of devices
CN108958915A (zh) * 2018-06-28 2018-12-07 中国建设银行股份有限公司 定时任务执行方法及装置
CN111008402B (zh) * 2018-10-08 2024-03-08 绿市广场有限公司 区块链时间戳协定
US11924360B2 (en) 2018-10-08 2024-03-05 Green Market Square Limited Blockchain timestamp agreement
US10608829B1 (en) 2018-10-08 2020-03-31 International Business Machines Corporation Blockchain timestamp agreement

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5001752A (en) * 1989-10-13 1991-03-19 Fischer Addison M Public/key date-time notary facility
US5327468A (en) * 1992-06-19 1994-07-05 Westinghouse Electric Corp. Synchronization of time-of-day clocks in a distributed processing network system
US5444780A (en) 1993-07-22 1995-08-22 International Business Machines Corporation Client/server based secure timekeeping system
US6473607B1 (en) * 1998-06-01 2002-10-29 Broadcom Corporation Communication device with a self-calibrating sleep timer
US8868914B2 (en) * 1999-07-02 2014-10-21 Steven W. Teppler System and methods for distributing trusted time
US6728880B1 (en) * 1999-09-17 2004-04-27 Adobe Systems Incorporated Secure time on computers with insecure clocks
US20020104004A1 (en) * 2001-02-01 2002-08-01 Bruno Couillard Method and apparatus for synchronizing real-time clocks of time stamping cryptographic modules
US7124299B2 (en) * 2001-05-18 2006-10-17 Claymore Systems, Inc. System, method and computer program product for auditing XML messages in a network-based message stream
US7065656B2 (en) * 2001-07-03 2006-06-20 Hewlett-Packard Development Company, L.P. Tamper-evident/tamper-resistant electronic components
DE10333932A1 (de) * 2003-07-25 2005-02-24 Robert Bosch Gmbh Synchronisation von datenverarbeitenden Einheiten
FI118309B (fi) * 2003-12-29 2007-09-28 Innoka Oy Menetelmä ja järjestely reaaliaikaiseksi veikkaamiseksi offlinepäätteen avulla
EP1841124B1 (en) * 2006-03-28 2010-09-08 Nokia Siemens Networks GmbH & Co. KG Flexible generation of trusted time sources
US8646096B2 (en) 2007-06-28 2014-02-04 Microsoft Corporation Secure time source operations for digital rights management
KR101709456B1 (ko) * 2008-02-19 2017-02-22 인터디지탈 패튼 홀딩스, 인크 안전하고 신뢰성있는 시간 기술을 위한 방법 및 장치
US8977881B2 (en) * 2011-08-12 2015-03-10 Apple Inc. Controller core time base synchronization
US8892923B2 (en) * 2011-12-20 2014-11-18 Arm Limited Data processing apparatus and method for maintaining a time count value in normal and power saving modes of operation
US10419907B2 (en) * 2012-02-22 2019-09-17 Qualcomm Incorporated Proximity application discovery and provisioning
US8943352B1 (en) * 2012-05-07 2015-01-27 Dust Networks, Inc. Low power timing, configuring, and scheduling
US8667288B2 (en) * 2012-05-29 2014-03-04 Robert Bosch Gmbh System and method for message verification in broadcast and multicast networks

Also Published As

Publication number Publication date
US9654297B2 (en) 2017-05-16
EP2862120A1 (en) 2015-04-22
WO2013190363A1 (en) 2013-12-27
US9338010B2 (en) 2016-05-10
CA3113258A1 (en) 2013-12-27
US20170317838A1 (en) 2017-11-02
CA2879819C (en) 2021-04-20
CA3080045A1 (en) 2013-12-27
CA2879819A1 (en) 2013-12-27
CA3113258C (en) 2023-01-24
US10374811B2 (en) 2019-08-06
US20160254919A1 (en) 2016-09-01
EP2862120B1 (en) 2019-05-08
US20130339742A1 (en) 2013-12-19

Similar Documents

Publication Publication Date Title
US10374811B2 (en) Systems, methods and apparatuses for secure time management
CN102007787B (zh) 用于安全可信计时技术的方法和装置
CN105900148B (zh) 时间同步
JP2013165494A5 (zh)
JP4489067B2 (ja) 内蔵電源が備えられていない機器におけるセキュアクロックの実現方法および装置
CN110678889A (zh) 用于提供安全保护的报时的方法和计时器
US11101998B2 (en) Communication device, communication method, and recording medium
JP5039931B2 (ja) 情報処理装置
US11082223B2 (en) Communication device, communication method, and recording medium
WO2021186867A1 (ja) 照合装置
US11182463B2 (en) Method to create a trusted pool of devices
WO2024094629A1 (en) Method and mobile device for providing a time reading
TW202347153A (zh) 有時間限之金鑰導出
CN114073038A (zh) 更新数字证书的方法和装置
CN114826467A (zh) 基于时间戳加密算法的离线对时方法、装置和介质
JP2009186326A (ja) 機器制御装置、電気機器、及び、機器制御方法