必威电竞|足球世界杯竞猜平台

時間戳
來源:互聯網

時間戳(timestamp)是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。時間戳是使用數字簽名技術產生的數據,簽名的對象包括了原始文件信息、簽名參數、簽名時間等信息。時間戳系統用來產生和管理時間戳,對簽名對象進行數字簽名產生時間戳,以證明原始文件在簽名時間之前已經存在。其具有精確性、不可篡改性、可驗證性等特性。

時間戳源自辦公室使用的橡皮圖章,以記錄收到文件的時間。隨著數字電路的發展,時間戳的使用范圍已擴大到指附在數字數據上的數字日期和時間信息。20世紀60年代末,unix操作系統被開發出來,為了統一內存存儲時間和處理日期的計算,肯·湯普遜(Ken Thompson)決定對時間戳進行一個規范。20世紀90年代,時間戳協議工作開展開來。1988年,ISO 8601標準規范化了時間和日期表示。2001年,IETF發布了RFC 3161協議,定義了公鑰基礎設施時間戳協議,而2002年的RFC 3339協議對ISO 8601標準進行了進一步優化完善。2014年,法國的eIDAS法規(第42條)制定了電子時間戳指南,定義為以電子方式將日期和時間附加到任何數字數據的過程。

時間戳系統至少需要包括可信時間源、簽名系統和時間戳數據庫三個部分,通過如簡單時間戳協議、線性連接協議、樹形協議、二進制協議、分布式協議等多種類型的時間戳協議進行管理。時間戳在知識產權、合同簽署、金融、電子投標、股票交易和個人文件管理等領域得到廣泛應用,主要用于跟蹤數據的創建、修改或訪問時間。但時間戳面臨著物理環墇[zhàng]安全和軟件安全等挑戰,隨著應用需求增加,缺乏統一的標準成為電子簽名應用的發展障礙。

發展歷程

“時間戳”一詞源自辦公室使用的橡皮圖章,用于在紙質文件上蓋章,有時還印有時間,以記錄收到文件的時間。隨著數字數據系統的出現,該術語已擴展為指附加到數字數據的數字日期和時間信息,例如,計算機文件包含時間戳,表明文件上次修改的時間,數碼相機將時間戳添加到拍攝的照片中,記錄拍攝照片的日期和時間。

在計算機系統中,出于節省磁盤空間的需要,早期的日期格式大多數都是使用4字節或32位存儲空間進行編碼,但在準確性和范圍上有一定的限制。20世紀60年代末,Unix操作系統在貝爾實驗室被開發出來,Ken Thompson決定使用1970年1月1日00:00:00(UTC)作為Unix時間的起點,以此來統一在操作系統內存儲時間和處理日期計算,該日期確保時間戳對于大多數32位時間表示范圍都是正數, 所以,Unix時間戳的計算是從世界標準時間(UTC)1970年1月1日00:00:00起至所求時刻經過的秒數的轉換。

有預計在2038年1月19日,unix時間戳會因32位溢出而停止工作,數以萬計的應用程序將需要采用新的時間戳約定。為了解決32位的時間表示的限制,一些系統開始使用64位的時間表示,從而允許更大的時間范圍。盡管有局限性,但Unix紀元時間戳由于其簡單性和兼容性仍然被廣泛使用。

為了時間戳格式的規范和統一,開始涌現出許多時間標準和協議。1985年,網絡時間協議(NTP)開始使用,它具有較低的網絡開銷和較低的服務響應延遲,可用于時間戳開發。1988年,國際標準組織ISO發布ISO 8601標準,對時間和日期的表示方式進行了國際化規范和統一,有助于人和機器理解,消除因影響全球運營的各種日期慣例、文化和時區而產生的差異。

20世紀90年代,時間戳協議工作開展開來,美國出現許多關于時間戳的專利,如數字文檔的安全時間戳方法、數字文檔認證系統等。直到21世紀,時間戳才引起人們的廣泛關注。2001年,IETF制定了RFC 3161協議,即公鑰基礎設施時間戳協議,描述了發送到時間戳機構 (TSA) 的請求和返回的響應的格式。2002年,IEEE發布了精確時間協議(PTP),同年,IETF發布了RFC 3339標準——《互聯網上的日期和時間:時間戳》,該協議在日期和時間格式上對ISO 8601標準進行了改進和完善。2014 年,法國的eIDAS法規(第42條)制定了電子時間戳指南,規定以電子方式將日期和時間附加到任何數字數據的過程。

隨著數字技術的不斷成熟,時間戳開始應用到其他領域,比如司法實踐等,時間戳認證在知識產權糾紛中的應用有明顯的增長。2021年,新一輪科技革命和產業變革進一步深化,區塊鏈技術快速發展,而時間戳因能確保交易的有效性在區塊鏈中被當作底層技術廣泛應用,而區塊鏈數據庫讓全網的記錄者在每一個區塊中都蓋上一個時間戳,形成一個不可篡改, 不可偽造的數據庫。

系統組成

時間戳是一個能表示一份數據在某個特定時間之前已經存在的、完整的、可驗證的數據,而時間戳系統就是用來產生時間戳的可信第三方。時間戳系統可以作為數字證書認證系統一個組件提供服務,也可以單獨提供服務。

時間戳服務的本質是將用戶的數據和當前準確時間綁定,在此基礎上用時間戳系統的數字證書進行簽名,憑借時間戳系統在法律上的權威授權地位,產生可用于法律證據的時間戳,用來證明用戶數據的產生時間,達到“不可否認”或“抗抵賴的目標”。

時間戳系統的組成主要包括三個部分:可信時間源、簽名系統和時間戳數據庫。

可信時間源

可信時間源就是時間戳系統的時間來源,TSA系統中的所有部件的時間都必須以這個可信時間源為標準,尤其在頒發的時間戳中填寫的時間必須嚴格按照可信時間源填寫。而作為可信時間源自身,其或者就是國家權威時間部門發布的時間,或者是用國家權威時間部門認可的硬件和方法獲得的時間。

簽名系統

簽名系統負責接收時間戳申請、驗證申請合法性以及產生和頒發時間戳,最后將時間戳存儲到數據庫中。這個過程中,申請消息和頒發時間戳格式、時間戳的產生和頒發都必須符合規范中給出的要求。用戶向簽名系統發起時間戳申請,簽名系統獲取用戶的文件數據摘要后,再驗證申請的合法性,最后將當前時間和文件摘要按一定格式綁定后簽名返回并保存在數據庫中。

時間戳數據庫

時間戳數據庫負責保存TSA系統頒發的時間戳,而且必須定期備份,以便用戶需要時可以申請從中取得時間戳。對時間戳數據庫的存儲、備份和檢索也要求符合規范中給出的規定。

協議原理

時間戳的主要目的在于通過一定的技術手段,對數據產生的時間進行認證,從而驗證這段數據在產生后是否經過篡改。所以時間戳服務的提供者必須證明服務中使用的時間源是可信的,所提供的時間戳服務是安全的。

時間戳協議原理有簡單的時間戳協議、線性連接協議、樹形協議、二進制協議、分布式協議等。

簡單的時間戳協議

在使用時間戳服務時,會涉及到三個角色提供時間戳服務的機構TSA(時間 stamping authoritor),申請時間戳服務的用戶(Subcriber)和時間戳證書的驗證者(Relying Party),TSA為一段數據申請時間戳證書,證明這段數據在申請時間戳證書的時間點之前真實存在,在這個時間點之后對數據的更改可以進行追查,能夠防止偽造數據來進行欺騙。證書持有者把需要申請時間證書的數據發送給時間戳機構,時間戳機構將生成時間戳證書發送給證書持有者。在需要證明該數據未被篡改時,證書持有者展示數據所對應的時間戳證書,時間戳證書的驗證者來驗證它的真實性,而從確認該數據是否經過篡改。

最基本的時間戳協議的工作流程為:申請時間戳服務的用戶將需要認證的數據傳輸給時間戳服務的提供者,然后時間戳服務的提供者將經過認證后的時間戳證書返還給用戶。

但是這個協議中存在一些隱患,主要體現在隱私性、帶寬、時間戳結構的錯誤操作、信任等方面。

樹形協議

樹型協議是線性鏈接協議的優化協議,這個協議把時間戳證書鏈接分解成很多小的組,在每組中,時間戳服務的使用者可以向TSA提出時間戳證書申請,通過建立一棵樹型結構實現整個流程,其中樹型結構的葉子是使用者的時間戳證書申請,TSA使用一個一種基于身份認證的可信時間戳服務體系研究安全的Hash函數來計算樹型結構中的節點值。 樹型協議減少了時間戳機構中時間戳證書的存儲數量,但無法驗證同組中兩個時間戳證書的相對次序,且當組內數據個數較多時,系統效率會降低。

分布式協議

分布式協議中,TSA包括兩種服務器:一個接收服務器和多個部分簽名服務器,每個部分簽名服務器擁有TSA簽名密鑰的一部分,當接受服務器收到一個時間戳服務請求,它將此請求的拷貝和收到此請求的時間傳遞給每一個部分簽名服務器,當部分簽名服務器收到簽名請求,它將檢查請求中所附的時間,并與本地時間進行比較,如果兩者相近,則每個部分簽名服務器用他們的部分密鑰對文件和時間進行簽名,然后把這個部分簽名傳至接受服務器,接受服務器把所有的部分簽名組合成最后的完整簽名。

線性連接協議

線性鏈接協議是為了解決時間戳機構必須完全信任這一問題而提出的,該協議的設計思想是為了建立起時間戳證書之間的緊密聯系,像鏈表一樣將用戶申請的時間戳證書按照順序鏈接起來。為了驗證時間戳機構是否存在欺騙行為,機構設定一個固定的時間,通過不同渠道將最近通過的時間戳證書列表公布出來,任何人都可以通過時間戳機構公布的證書列表來驗證時間戳鏈表的有效性,從而確定時間戳機構是否公正可靠。

分層請求時間戳協議

分層請求時間戳協議是為了使得局域網用戶可以獲取及時可信的時間戳而提出的,在該協議中,用戶群與本地時間戳機構(LTSA)處在局域網中,構成第一級時間戳請求層;公共時間戳機構(PTSA)獨自構成第二級時間戳請求層,且對用戶群透明;用戶群從 LTSA 獲取時間截LTS(local timestamp),完全在局域網中進行時間戳的加蓋,能夠避免網內用戶對廣域網的訪問。

協議比較

時間戳特性

格式與標準

UTC(UTC)格式是時間戳最常用的一種格式,其精度至少精確到秒,語法結構為:YYYYMMDDhhmmss[.s..]Z,例如:20240219001326.34352Z。(其中,YYYY為年份;MM為月份;DD為日;hh為小時;mm為分鐘;ss為秒;[.s..]是可選的,表示秒的小數部分;Z表示是一個UTC時間)。

計算機的內部時鐘和時間戳值是根據紀元確定的。計算機的日期和時間是根據自該計算機定義的紀元以來經過的秒數來確定的。紀元的時間對應于UTC的0小時0分0秒,紀元日期取決于所使用的操作系統,unix紀元日期是1970年1月1日,而Windows電腦紀元日期是1601年1月1日00:00:00(UTC),如果Unix紀元時間為1639172876秒,則日期為2021年12月10日星期五晚上9:47:56。

ISO 8601

國際標準ISO 8601指定了日期和時間的數字表示形式,可以用來構造時間戳值。該標準符號有助于避免國際通信中因許多不同的國家符號而造成的混亂,并增加計算機用戶界面的可移植性。

國際標準日期的表示法是:YYYY-MM-DD,其中YYYY指公歷的年份,MM是一年中01到12之間的月份,DD是一個月中01到31之間的日期,例如2016年9月1日用標準表示法寫為2016-09-01。一天中的國際表示法是:hh:mm:ss,其中hh是00到24之間的小時數,mm是00到59之間的分鐘數,ss是00到60之間的秒數。ISO 3601標準的時間值前通常帶有T指示符,例如,下午1點31分16秒可以表示為T13:31:16。

RFC 2822

RFC 2822標準中對日期和時間進行規范,用于在 HTTP 和電子郵件標題等位置統一表示日期和時間,RFC 2822的日期顯示格式包括星期幾、數字日期、月份的首字母縮寫、年、時間和時區,如01 Jun 2016 14:31:46 -0700,表示時間為2016年9月1日14點31分46秒,“-0700”表示晚于UTC7個小時,具體格式為“+”或“-”hhmm,“+”表示早于世界標準時間,“-”表示晚于世界標準時間。

RFC 3339

RFC 3339標準對時間戳進行的規范完善了ISO 8601標準和RFC 2822標準,它將日期時間和日期格式化為單個緊湊字符串,2016年9月1日14點31分46秒表示為2016-09-01T14:31:16-0700,其中ISO8601中的指示符“T”可以用其他字符代替,包括空格。

RFC 3161

RFC 3161描述了發送到時間戳機構 (TSA) 的請求和返回的響應的格式,對于時間格式的表現沒有變化。客戶向TSA發出時間戳請求,附帶散列值Y,TSA把當時的標準時間值、本次請求的序列號和一些狀態參數附在Y后,簽名并發送給客戶。此外,此協議還將COSE保護與時間戳結合,有TTC(Timestamp then COSE)和CTT(COSE then Timestamp)兩種組合格式。

eIDAS

法國的eIDAS 法規制定了電子時間戳指南,合格的電子時間戳應準確的顯示日期和時間以及日期和時間所鏈接的數據的完整性的推定,且需要滿足:將日期和時間與數據綁定在一起,以合理地排除數據被不可察覺地更改的可能性;使用高級電子簽名進行簽名,或使用合格信托服務提供商的高級電子印章進行密封,或通過某種等效方法進行簽名;基于與UTC相關的準確時間源。

其他格式

如果數據存儲器是DB2,可以使用DATE、時間和TIMESTAMP類型的 DB2 字符串表示時間,日期或時間的字符串表示可以使用ISO(時間戳的字符串表示格式)、美國、 EUR或JIS格式。

產生和頒發

可信時間的產生

可信時間的最初源頭來源于國家權威時間部門(如國家授時中心),或者使用國家權威時間部門認可的硬件和方法獲得的時間,獲得方法包括:使用某種無線接收裝置,通過無線手段獲得國家權威時間部門的時間發布,如長波信號、衛星信號等;使用某種時間同步協議從一個指定網絡地址獲得時間;使用某種通過國家權威時間部門認證的硬件獲得時間,如使用子鐘等。

TSA接收的途徑

時間戳機構(TSA)接受時間戳申請和頒發時間戳的方式有通過電子郵箱申請、通過文件傳輸申請、通過套接字申請和通過HTTP申請。

相關技術

時區處理

時區是一組用于確定本地時間的規則,與特定地理區域的增量時間相關,操作系統使用用戶系統上的區域設置將UTC轉換為用戶的本地時區。

時鐘同步

基于網絡通信的時鐘同步主要是通過各個同步節點之間交換時間戳信息來完成的,從每個節點上來看,它們擁有自己的時鐘,并且能夠知道來自于參考時鐘的發送時間間隔。分布式系統中的所有節點定期更新其時鐘值、維護與時間相關的信息的過程,使得每個節點在經過適當變化后顯示的時間仍然接近一致。

夏令時調整

夏令時(DST)是美國加拿大大部分地區和其他一些國家和地區實行的一小時時鐘調整,Linux將DST偏移量加入到時間戳中,如果DST在文件時間戳指定的時間已經到位,Linux就會添加偏移量,在夏令時期間創建的文件始終提前一小時顯示。而Windows不關心文件所處的時間環境,以相同的方式處理 DST ,如果當前系統時間包含 DST 偏移量,則會將 DST偏移量添加到時間戳中,還可以通過自行更改系統上時間修改夏令時開始或結束的時間。

哈希算法

密碼學中的哈希(Hash)算法確保接收方收到的數據是沒有經過第三方攻擊者篡改的數據的完整性的驗證,其根本思想是將任意長度的數據通過 Hash 函數計算得出較短的固定長度的二進制值,這個結果就叫做Hash值,一個數據經過任何修改,經過計算產生的Hash值都會不同,所以通過數據的Hash值可以檢驗數據是否完整。

數字簽名

時間戳是使用數字簽名技術產生的數據,數字簽名的過程如下:發送方用一個哈希函數對消息進行處理,形成一個固定長度的信息摘要,并將自己的私人密鑰和消息摘要進行DSA算法計算,產生數字簽名,然后將數字簽名和消息一起發送出去。接收方用同樣的哈希函數對消息進行計算,產生消息摘要,并用DSA算法對消息摘要和發送方的公開密鑰進行計算,產生數字簽名A,同時從接收的消息中得到數字簽名B,若數字簽名A和數字簽名B相等,則數字簽名得到驗證,否則驗證失敗。

風險與挑戰

多方位保護:由于時間戳在電子取證中的重要作用及其法律地位,時間戳系統必須擁有極高的安全級別,安全保護應包括物理環墇安全和軟件安全。物理環境安全包括機房安全、設備安全和記錄介質安全。軟件安全包括運行環境、可信時間源、簽名系統、時間戳數據庫和審計。

重放攻擊風險:重放攻擊是攻擊者攔截并重新傳輸數據以獲得系統或網絡的未經授權的一種攻擊類型,需要采用隨機數作為時間戳來限制重放攻擊,要使時間戳正常工作,客戶端計算機域控制器的時鐘需要緊密同步,否則也會容易遭受到重放攻擊。

不兼容風險:隨著時間戳應用需求的大量增加,信息安全廠商紛紛進行相關產品的開發。由于缺乏統一的時間戳標準可以依據,導致各開發商提供的時間戳產品之間不能互相兼容,限制了不可否認服務只能在小范圍內實現,成為電子簽名應用發展中的一大障礙。此外,在跨時區的數據采集及數據計算過程中,常常會出現因用戶需求和服務器時區以及數據采集時區的不同,存在不同的運算結果,所以時間戳在處理跨時區問題時比較困難。

相關應用

時間戳顯示創建、交換、修改或刪除某些信息的時間,可以用來顯示社交媒體帖子的發布日期,在線聊天的發送和查看消息的日期,顯示數碼相機拍攝照片的日期,還可以應用在計算機系統、法律認證、區塊鏈技術和數據管理等。

區塊鏈技術

區塊鏈塊使用時間戳來確保交易的有效性,例如加密貨幣。在區塊鏈技術中,數據以電子記錄的形式被永久儲存下來,存放這些電子記錄的文件被稱為區塊,區塊鏈數據庫讓全網的記錄者在每一個區塊中都蓋上一個時間戳,時間戳對區塊鏈中的每一個區塊上的信息生產加上時間驗證,對每一個數據的輸入追本溯源、 根據時間順序排列、驗證、確保數據的真實性,不容數據被篡改,證明數據的原創性和所有權的歸屬。

數據庫管理

數據管理依靠時間戳來確保數據的完整性和質量。時間戳在數據庫管理系統中用于跟蹤數據更改。通過使用時間戳,數據庫可以記錄插入或更新記錄的時間,從而實現高效的數據檢索和審計。它們還用于在時態數據庫中實現基于時間的查詢和數據版本控制。

計算機系統

在分布式系統中,時間戳用于管理并發操作并維護跨多個節點的一致性。Lamport 時間戳和矢量時間戳是在分布式系統中對事件進行排序的常用技術,允許進程協調操作并避免沖突。此外,時間戳可以幫助識別軟件漏洞。通過分析日志文件中的時間戳和監控系統活動,安全專業人員可以檢測可疑模式、潛在的攻擊媒介和異常行為

法律認證

時間戳可用于數字版權保護,通過對數字內容進行時間戳,創作者可以證明他們的所有權和創作時間,能夠解決知識產權的法律糾紛,帶有時間戳的數據可以作為版權所有權的可靠證據。此外,數字合同和數字簽名使用時間戳來顯示文檔的簽署時間。

發展趨勢

量子壓縮技術:隨著量子技術的不斷發展,一種量子壓縮技術提供了一個方法來提高最小尺度特性的測量靈敏度,能夠進行高精度計時,提高了時間戳的精度。

分布式賬本技術:為了增強時間戳令牌的長期有效性和后向兼容性,分布式賬本時間戳被引入,它還能夠提高安全性。

智能合約:智能合約是存儲在區塊鏈上的程序,通常用于自動執行協議,以便所有參與者都可以立即確定結果,而無需任何中間人參與。智能合約沒有第三方參與,因此交易記錄非常重要,所以非常依靠時間戳作為記錄標準。

物聯網(loT)技術:物聯網技術中,數據的收集過程中,時間至關重要,時間序列數據必須準確無誤才能保證物聯網應用的正常運行,基本要求是每臺設備上的每筆交易都放在正確的時間戳上,以便進行排序和對齊,時間戳還能夠定位到異常發生的時間。

參考資料 >

Timestamp: What is Timestamp & How Does It Work?.Lenovo.2024-04-07

..2024-04-23

What is ISO date format?.techtarget.2024-04-08

RFC Editor.RFC.2024-04-08

RFC2822.IETF.2024-04-12

rfc3161.IETF.2024-04-08

What is a timestamp?.techtarget.2024-04-08

..2024-04-07

Time.basicknowledge101.2024-04-07

A Brief History Of TimeStamps.forensicfocus.2024-04-07

..2024-04-07

Date and time: the new draft of ISO 8601 explained by Klaus-Dieter Naujok.ISO.2024-04-12

Date and time format.ISO.2024-04-12

RFC 3161.RFC.2024-04-07

HISTORY OF WORDS: TIME STAMPING.AGS.2024-04-07

GB/T 20520-2006.國家標準全文公開系統.2024-04-07

A Brief History of Time Stamps.sqliteforensictoolkit.2024-04-08

Epoch & Unix Timestamp Conversion Tools.unixtimestamp.2024-04-08

Network Time Protocol.sciencedirect.2024-04-11

IEEE 1588 Precision Time Protocol (PTP).IEEE.2024-04-11

IEEE 1588-2008.IEEE.2024-04-11

知識產權訴訟中時間戳認證的檢討與規范.廣東外語外貿大學.2024-04-12

區塊鏈如何跨越未來10年.人民網.2024-04-12

..2024-04-08

..2024-04-25

Timestamp based Concurrency Control .geeksforgeeks.2024-04-24

What is epoch?.techtarget.2024-04-23

A summary of the international standard date and time notation.University of Cambrige.2024-04-12

IBM Documentation.IBM.2024-04-12

Mac 上“快捷指令”支持的技術標準.Apple 支持.2024-04-12

: Format a Datetime object: ISO 8601, RFC 2822 or RFC 3339.rdrr.2024-04-12

RFC 3339 vs ISO 8601.ijmacd.2024-04-12

RCF 3161.RFC.2024-04-23

COSE Header parameter for RFC 3161 Time-Stamp Tokens.IETF.2024-04-23

What is a qualified electronic time stamp?.signaturit.2024-04-23

eIDAS Regulation.eIDAS.2024-04-23

IBM Documentation.IBM.2024-04-12

Working with Time Zones.W3C.2024-04-12

Processing the Data in different Time Zones and its Considerations.LinkedIn.2024-04-12

..2024-04-12

Clock Synchronization.sciencedirect.2024-04-12

How to Prepare for the Start and End of Daylight Saving Time.sleepfoundation.2024-04-12

Windows and Unix/Linux handle the effect of DST (daylight saving time) on time stamps differently.Pascal.2024-04-12

IBM Documentation.IBM.2024-04-12

..2024-04-23

3. How can Timestamps prevent replay attacks?.fastercapital.2024-04-08

Maximum tolerance for computer clock synchronization.microsoft.2024-04-08

..2024-04-08

Quantum squeezing technique brings greater precision to time keeping and astronomy.uchicago.2024-04-08

Distributed Ledger Time-Stamp.IETF.2024-04-08

區塊鏈上的智能合約是什么?.IBM.2024-04-08

TimestampDependencyinSmartContracts.geeksforgeeks.2024-04-08

IoT data collection: When time is of the essence.techtarget.2024-04-08

Internet of Things: Where Does the Data Go?.wired.2024-04-08

生活家百科家居網