[發(fā)明專利]一種客戶端與中心化數(shù)據(jù)庫之間建立可信關(guān)系的方法有效
| 申請?zhí)枺?/td> | 202010560596.6 | 申請日: | 2020-06-18 |
| 公開(公告)號: | CN111831997B | 公開(公告)日: | 2021-07-27 |
| 發(fā)明(設(shè)計)人: | 郭慶興;朱燕超;蔡磊;張召;金澈清 | 申請(專利權(quán))人: | 華東師范大學(xué) |
| 主分類號: | G06F21/33 | 分類號: | G06F21/33;G06F21/62;G06F21/64 |
| 代理公司: | 上海德禾翰通律師事務(wù)所 31319 | 代理人: | 陳艷娟 |
| 地址: | 200241 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 客戶端 中心 數(shù)據(jù)庫 之間 建立 可信 關(guān)系 方法 | ||
1.一種客戶端與中心化數(shù)據(jù)庫之間建立可信關(guān)系的方法,其特征在于,包括以下步驟:
步驟1:利用公私鑰提供安全可靠的身份管理;
步驟2:對用戶數(shù)據(jù)構(gòu)建可驗證索引結(jié)構(gòu),針對客戶端數(shù)據(jù)更新請求,動態(tài)維護(hù)數(shù)據(jù)庫的索引結(jié)構(gòu)以及客戶端本地存儲的驗證信息,客戶端通過可驗證查詢判斷數(shù)據(jù)的正確性;所述步驟2中客戶端通過可驗證查詢判斷數(shù)據(jù)的正確性;進(jìn)一步包括以下步驟:
步驟2-1:客戶端發(fā)起可驗證查詢請求后,將查詢語句和數(shù)字簽名一同發(fā)送到數(shù)據(jù)庫;
步驟2-2:中心數(shù)據(jù)庫收到查詢請求,從消息中解析出查詢語句和數(shù)字簽名,檢驗客戶端身份是否正確,是否有相應(yīng)的權(quán)限;
步驟2-3:調(diào)用數(shù)據(jù)庫查詢引擎,生成查詢計劃,指定查詢路徑為可驗證索引路徑,執(zhí)行器在執(zhí)行查詢計劃時,通過可驗證索引獲取元組,在獲取元組的同時,構(gòu)造一個驗證信息集合;將查詢的元組和驗證信息發(fā)送到客戶端;
步驟2-4:客戶端從連接請求中獲取到元組和驗證信息后,利用查詢結(jié)果和驗證信息重新計算得到一個表示查詢結(jié)果狀態(tài)的值,將該值與存儲在客戶端本地的驗證信息做對比,若兩者的值是一樣的,則表示查詢的結(jié)果正確;
步驟3:將記錄事務(wù)日志的歷史表組織成一條哈希鏈,將哈希鏈作為驗證信息同步到客戶端;客戶端通過追溯查詢追蹤數(shù)據(jù)變化時,通過本地哈希鏈驗證日志記錄是否被篡改;
所述步驟3中將記錄事務(wù)日志的歷史表組織成一條哈希鏈,并同步到客戶端;歷史表的屬性列中包含涉及到事務(wù)日志id,操作者、作者內(nèi)容、操作時間、用戶請求的簽名、上一行的哈希值和當(dāng)前行的哈希值相關(guān)信息,當(dāng)前行的哈希值是對當(dāng)前行的內(nèi)容和前一行的哈希值做哈希計算得到,通過哈希值這一屬性即可將該表組織成一條鏈,每一次在歷史表中添加新的數(shù)據(jù)行時,哈希鏈的尾端哈希值會被同步到客戶端,而客戶端對這些哈希值的存儲以一定的事務(wù)日志間隔存儲;
所述步驟3中客戶端通過追溯查詢追蹤數(shù)據(jù)變化,追溯查詢是在歷史表中基于時間屬性去檢索事務(wù)日志的方法,具體步驟包括:
步驟3-1:客戶根據(jù)查詢的時間范圍,確定客戶端本地所存儲的哈希間隔中哪些哈希值之間包含了所需要查詢的時間范圍;查詢該哈希值之間的歷史表的所有數(shù)據(jù);
步驟3-2:將得到的數(shù)據(jù)按照歷史表中計算哈希列的方法重新計算哈希列,以事務(wù)日志id為順序去計算,得到哈希列的首位兩個哈希值,將他們分別與步驟3-1確定的哈希值進(jìn)行比較,是否一致,一致則說明歷史表的數(shù)據(jù)正確;
步驟3-3:從正確的數(shù)據(jù)集中找到符合條件的數(shù)據(jù)行,返回給用戶;
所述步驟2和步驟3中的驗證信息的維護(hù)過程,進(jìn)一步包括以下步驟:
步驟4-1:客戶端將更新語句和數(shù)字簽名一同發(fā)送到數(shù)據(jù)庫;
步驟4-2:中心數(shù)據(jù)庫收到數(shù)據(jù)更新請求,從消息中解析出更新語句和數(shù)字簽名,檢驗客戶端身份是否正確,是否有相應(yīng)的權(quán)限;
步驟4-3:調(diào)用數(shù)據(jù)庫查詢引擎,生成查詢計劃,執(zhí)行器執(zhí)行查詢計劃將數(shù)據(jù)寫入?yún)^(qū)塊鏈表,將數(shù)據(jù)行組織成一個字符串,計算字符串的哈希值,根據(jù)數(shù)據(jù)行在磁盤的位置信息和數(shù)據(jù)行的哈希值來更新可驗證索引結(jié)構(gòu),重新生成一個可以代表此時區(qū)塊鏈表和索引結(jié)構(gòu)狀態(tài)的驗證信息;
步驟4-4:將客戶端的行為信息記錄到歷史表,這些行為信息中包含客戶端身份、操作內(nèi)容、客戶端發(fā)送過來的數(shù)字簽名、索引結(jié)構(gòu)的驗證信息、表中前一行的哈希值和當(dāng)前行的哈希值,操作日期;
步驟4-5:數(shù)據(jù)庫系統(tǒng)將索引結(jié)構(gòu)的驗證信息和歷史表中hash列最新的哈希值發(fā)送至客戶端;
步驟4-6:客戶端收到數(shù)據(jù)庫發(fā)送來的驗證信息和歷史表最新哈希值后,更新本地存儲的驗證信息以及歷史表的哈希值;需要注意的是客戶端收到的歷史表中過期的哈希值不會全部被丟棄,而是以一定的區(qū)間存儲在客戶端本地。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華東師范大學(xué),未經(jīng)華東師范大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010560596.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





