檢查點鏈
這一頁解決什麼
Section titled “這一頁解決什麼”稽核紀錄要能證明自己沒被動過手腳。系統分三層做這件事: 每一列蓋章、每一段封章簽名並鏈接前一段、每一段的封章事件往外送一份副本。 「中段被抽走」與「整段被刪掉裝作沒事」因此成為可偵測的事件, 而且與合法的到期清除分得開。
三層分別做什麼
Section titled “三層分別做什麼”每一筆入庫的紀錄在寫入時計算關鍵欄位的 HMAC,並記下蓋章鑰的版本。 蓋章鑰是系統生成的版本化金鑰,以主金鑰包裹落庫。 系統首次啟動時錨定一個基準,基準之前的舊資料以獨立的計數呈現,不混進不符的筆數裡。
列級驗證回答的是「這些列的內容真不真」。
系統週期性地把一段紀錄封章:取區間內每一列的識別與蓋章結果,聚合成一個指紋, 連同序號、區間起訖、列數、前一個檢查點的雜湊、封章時間、簽章鑰版本與當時的角色指派快照,一起用 Ed25519 簽名。 驗證頁多「角色指派」列,對不上時點名帳號與角色並連到失效事件。角色現況對帳在產品內執行;離線工具驗的是載荷與簽章。 觸發條件是時間與筆數兩個門檻先到先算,出廠值是每小時或每一萬筆。 觸發之後會延遲一小段時間才掃描,讓在途的交易落地。
沒有新資料的區間也會蓋一個空章,所以鏈不會因為系統閒置而斷。 檢查點表禁止刪除,可更新的欄位只有錨定狀態與清除相關的那幾個。
檢查點驗證回答的是「這個序列少沒少」。
新版檢查點聚合也涵蓋 AI agent 工具呼叫帳本。驗證依各檢查點建立時的版本判讀,舊版封章仍按原版本驗證。
封章成功後,錨定事件經 syslog 轉發送出,內容含序號、區間、列數、區間指紋、簽章與鑰版本。 錨定狀態有三個值:已交本機待送、未送出(緩衝滿被丟棄)、未啟用。 未啟用時「檢查點驗證」頁會顯示一則不可關閉的橫幅,說明離機備份未啟用, 並指出到哪裡設定。設定方式見日誌轉送與通知。
檢查點驗證頁怎麼看
Section titled “檢查點驗證頁怎麼看”「檢查點驗證」頁唯讀,管理員與稽核角色可以進。頁面載入即顯示結構層的全鏈結果, 不需要輸入任何參數。逐區間的狀態有九種:
| 狀態 | 意思 |
|---|---|
| 通過 | 這一段完整且簽章有效 |
| 依保留政策清除 | 合法清除,附清除證明 |
| 清除無有效證明 | 資料不在,但沒有合法清除的證明 |
| 筆數不符 | 現存筆數與封章時不同 |
| 校驗值不符 | 內容與封章時的指紋對不上 |
| 有多出的紀錄 | 區間內多了紀錄,待人工確認 |
| 簽章無效 | 簽章驗不過 |
| 鏈接斷裂 | 與前一個檢查點接不上 |
| 序號不連續 | 中間少了檢查點 |
要做逐筆內容驗證得先填起訖序號,因為那會重新核對每一筆紀錄,範圍越大越久。 從調查工作台跳過來時序號會預先填好,但不會自動執行。
頁面也提供簽章公鑰、版本與指紋,供外部查核方離線驗章。
系統另外排程做兩層自動驗證:封存完成後檢查最近幾天的區間,以及依週期繞完整條鏈一輪。 每一輪有列數預算,但鏈尾的最新區間與還沒結案的失敗區間一定會驗。 自動驗證唯讀,不寫入任何稽核列。
頁面顯示兩層各自的最近執行時間、結果、檢查的期間、週期、已重新檢查到哪個序號、 是否繞完一輪,以及還沒確認恢復的異常區間數。 這些是營運狀態,不是完整性證明本身,頁面上有明說。
稽核自身的失效告警
Section titled “稽核自身的失效告警”稽核機制自己壞掉的時候會出聲。寫庫失敗、轉發斷線或緩衝溢出、錄影失敗、鏈驗證異常, 各有自己的機器碼與告警,並且降級時仍會把事件落到檔案。 結構層異常、內容層異常、驗證本身失敗三者分開通報,不會壓成同一個碼。 送出去的內容只帶機器碼與計數。
稽核看得到什麼
Section titled “稽核看得到什麼”- 逐區間的驗證狀態,以及每一段的序號、紀錄編號區間、封章時的筆數與現存筆數、離機錨定狀態。
- 頁面上有一個保護範圍與邊界的區塊,逐條寫明每一種情境由什麼承擔, 這是給查核方判斷這套機制射程的依據。
- 到期清除的紀錄與檢查點區間對得起來,見保留、清除與觀測。
- 驗證頁的「角色指派」列對帳當時快照與現況,對不上點名帳號與角色。