System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 亚洲欧洲AV无码专区,精品久久久久久无码专区不卡,久久99久久无码毛片一区二区
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種在RISC-V系統上的ELF文件簽名及驗證方法技術方案

    技術編號:43948602 閱讀:5 留言:0更新日期:2025-01-07 21:36
    本發明專利技術涉及計算機技術領域,具體提供一種在RISC?V系統上的ELF文件簽名及驗證方法,簽名方法包括:獲取待簽名的ELF文件,創建私鑰文件和公鑰文件;當ELF文件未簽名時,對ELF文件進行簽名;當ELF文件為已簽名時,提示用戶該ELF文件已簽名并獲取是否重新簽名指令,如果獲取重新簽名指令則刪除原有簽名然后對ELF文件進行簽名,如果獲取不重新簽名指令則結束流程;對ELF文件進行簽名;將公鑰文件轉換成內核密鑰環支持的格式并保存到內核密鑰環中。通過上述技術方案,解決了現有在RISC?V系統中的ELF文件簽名驗證方法具有安全性不足、缺乏可信度驗證機制、性能和效率交底的技術問題。

    【技術實現步驟摘要】

    本專利技術涉及計算機,具體提供一種在risc-v系統上的elf文件簽名及驗證方法。


    技術介紹

    1、risc-v架構作為一種開放標準的指令集架構,在計算機體系結構領域內取得了顯著的進展。從嵌入式系統到高性能計算,risc-v的靈活性和可定制性使成為各種應用場景的理想選擇。然而,隨著risc-v在我國各個領域的廣泛應用,確保risc-v系統的安全性和可信度變得至關重要。其中,對risc-v可執行文件(elf文件)進行簽名和驗證以確保文件的完整性和來源可信成為一項關鍵任務。

    2、risc-v雖然已經吸引眾多的廠商加入進來,但目前還處于起步階段,各種技術還不太成熟,現有的簽名驗證工具在處理risc-v的elf文件上仍存在以下問題:

    3、①傳統簽名驗證方法不適用于risc-v架構:傳統的elf文件簽名和驗證方法通?;诜莚isc-v體系結構和標準,如x86。這些方法不充分考慮risc-v的特殊要求和架構差異,因此在risc-v系統上運行時可能會出現兼容性和性能問題。

    4、②安全性不足:由于risc-v的開放性和可定制性,該架構存在更多的安全威脅和漏洞風險。現有技術未能提供足夠的安全性保障,無法有效防止elf文件篡改和惡意代碼注入的潛在問題。

    5、③缺乏可信度驗證機制:確保risc-v系統中的elf文件來源可信是至關重要的,但傳統方法未提供充分的可信度驗證機制,缺乏對文件完整性和來源的嚴格驗證。

    6、④性能和效率問題:現有的elf文件簽名和驗證方法可能在risc-v系統上引入額外的性能消耗,影響系統的運行效率,導致需要大量的計算資源和時間來完成驗證過程,降低了系統的性能。

    7、因此,在elf文件的簽名和驗證方面還沒有一款穩定可靠的工具能夠使用。


    技術實現思路

    1、為了克服上述缺陷,提出了本專利技術,解決了現有在risc-v系統中的elf文件簽名驗證方法具有安全性不足、缺乏可信度驗證機制、性能和效率交底的技術問題。

    2、第一方面,本專利技術提出一種在risc-v系統上的elf文件簽名方法,所述簽名方法包括依次執行的以下步驟:

    3、獲取待簽名的elf文件,通過elf文件的絕對路徑提取出elf文件名,并根據elf文件名生成對應的私鑰文件名及公鑰文件名,分別在指定路徑創建私鑰文件和公鑰文件,根據私鑰文件名為私鑰文件進行命名,根據公鑰文件名為公鑰文件進行命名;

    4、讀取elf文件末尾的8個字節數據,判斷elf文件是否已經簽名;

    5、當elf文件未簽名時,對所述elf文件進行簽名;當elf文件為已簽名時,提示用戶該elf文件已簽名并獲取用戶選擇的是否重新簽名指令,如果獲取重新簽名指令則刪除原有簽名然后對所述elf文件進行簽名,如果獲取不重新簽名指令則結束流程;

    6、對elf文件進行簽名;

    7、將公鑰文件轉換成內核密鑰環支持的格式并保存到內核密鑰環中。

    8、進一步,所述讀取elf文件末尾的8個字節數據,判斷elf文件是否已經簽名包括依次執行的以下步驟:

    9、讀取elf文件最后8個字節數據并將其轉換為整數;

    10、將轉換后的整數值與256進行對比,相等則elf文件為已簽名,否則elf文件為未簽名。

    11、進一步,所述對elf文件進行簽名包括依次執行的以下步驟:

    12、創建evp_pkey_ctx上下文和evp_pkey結構,根據evp_pkey_ctx上下文生成rsa私鑰和rsa公鑰,并存儲在evp_pkey結構中;

    13、rsa私鑰通過pem_write_privatekey函數寫入上述私鑰文件中,rsa公鑰通過pem_write_pubkey函數寫入上述公鑰文件中;

    14、將elf文件數據讀取到分配的內存中,使用sha256函數對讀取的elf文件數據進行sha-256散列計算,將計算后的哈希數據存儲在臨時數組中;

    15、獲取rsa私鑰,并根據rsa私鑰對臨時數組中的哈希數據進行簽名;

    16、將數字簽名追加到elf文件末尾,將簽名長度數據8個字節寫入elf文件末尾,完成簽名。

    17、進一步,所述根據evp_pkey_ctx上下文生成rsa私鑰和rsa公鑰,包括依次執行的以下步驟:

    18、使用evp_pkey_keygen_init函數對evp_pkey_ctx上下文其進行初始化;

    19、使用evp_pkey_keygen函數生成rsa密鑰對,所述rsa密鑰對包括rsa私鑰和rsa公鑰。

    20、進一步,所述獲取rsa私鑰,并根據rsa私鑰對臨時數組中的哈希數據進行簽名,包括依次執行的以下步驟:

    21、打開所述私鑰文件,使用pem_read_privatekey函數獲取rsa私鑰并存儲在臨時變量pkey中,使用臨時變量pkey初始化evp_md_ctxevp相關結構上下文;

    22、通過evp_digestsign函數,傳入null的臨時變量sig作為簽名緩沖區參數,獲取數字簽名的長度,并根據數字簽名長度為簽名緩沖區分配內存空間;

    23、通過evp_digestsign函數,傳入非null的臨時變量sig作為簽名緩沖區參數,對臨時數組中的哈希數據進行簽名,簽名結果存儲在臨時變量sig指向的簽名緩沖區中。

    24、第二方面,本專利技術提出一種在risc-v系統上的elf文件驗證方法,用在簽名方法之后,所述驗證方法包括依次執行的以下步驟:

    25、使用kprobes技術解析sys_execve系統調用地址,使用ftrace技術將sys_execve系統調用掛鉤到自定義的hooked_sys_execve函數中;

    26、當有elf文件要執行驗證時,進入hooked_sys_execve函數;

    27、通過risc-v的a0寄存器中獲取系統調用的第一個參數,為待驗證的elf文件,并將a0地址轉換成字符指針;

    28、通過字符指針獲取待驗證的elf文件的絕對路徑,從中提取elf文件名,并根據elf文件名得到公鑰文件名;

    29、根據公鑰文件名在內核密鑰管理器中尋找對應的rsa公鑰,

    30、如果找到rsa公鑰,則對elf文件進行驗證,驗證成功繼續執行elf文件,驗證失敗則會提示驗證失敗并結束,

    31、如果未找到rsa公鑰,則提示未找到,繼續執行elf文件。

    32、進一步,所述對elf文件進行驗證,包括依次執行的以下步驟:

    33、從待驗證elf文件中獲取簽名數據;

    34、選擇sha256哈希算法進行相應的初始化,使用crypto_ahash_digest計算哈希值并保存;

    35、通過keyring_search函數從內核密鑰環中獲取相應公鑰;

    36、初始化public_key_signature?本文檔來自技高網...

    【技術保護點】

    1.一種在RISC-V系統上的ELF文件簽名方法,其特征在于,所述簽名方法包括依次執行的以下步驟:

    2.根據權利要求1所述的一種在RISC-V系統上的ELF文件簽名方法,其特征在于,所述讀取ELF文件末尾的8個字節數據,判斷ELF文件是否已經簽名包括依次執行的以下步驟:

    3.根據權利要求1所述的一種在RISC-V系統上的ELF文件簽名方法,其特征在于,所述對ELF文件進行簽名包括依次執行的以下步驟:

    4.根據權利要求3所述的一種在RISC-V系統上的ELF文件簽名方法,其特征在于,所述根據EVP_PKEY_CTX上下文生成RSA私鑰和RSA公鑰,包括依次執行的以下步驟:

    5.根據權利要求3所述的一種在RISC-V系統上的ELF文件簽名方法,其特征在于,所述獲取RSA私鑰,并根據RSA私鑰對臨時數組中的哈希數據進行簽名,包括依次執行的以下步驟:

    6.一種在RISC-V系統上的ELF文件驗證方法,所述驗證方法用在如權利要求1-5任一所述的簽名方法之后,其特征在于,所述驗證方法包括依次執行的以下步驟:

    7.根據權利要求6所述的一種在RISC-V系統上的ELF文件驗證方法,其特征在于,所述對ELF文件進行驗證,包括依次執行的以下步驟:

    ...

    【技術特征摘要】

    1.一種在risc-v系統上的elf文件簽名方法,其特征在于,所述簽名方法包括依次執行的以下步驟:

    2.根據權利要求1所述的一種在risc-v系統上的elf文件簽名方法,其特征在于,所述讀取elf文件末尾的8個字節數據,判斷elf文件是否已經簽名包括依次執行的以下步驟:

    3.根據權利要求1所述的一種在risc-v系統上的elf文件簽名方法,其特征在于,所述對elf文件進行簽名包括依次執行的以下步驟:

    4.根據權利要求3所述的一種在risc-v系統上的elf文件簽名方法,其特征在于,所述根據evp_pkey_ctx上下...

    【專利技術屬性】
    技術研發人員:李卓珩,丁晨光,李劍峰,張超,毛周,張鐸
    申請(專利權)人:麒麟軟件有限公司,
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 国产精品无码久久四虎| 无码AV片在线观看免费| 亚洲一区二区三区无码影院| 99热门精品一区二区三区无码| 免费无码一区二区三区蜜桃大| 无码粉嫩小泬无套在线观看| 国产精品无码AV天天爽播放器| 国产精品无码一二区免费| 无码人妻丰满熟妇啪啪| 亚洲久热无码av中文字幕| 日日摸夜夜添无码AVA片| 无码孕妇孕交在线观看| 日韩毛片无码永久免费看| 精品欧洲AV无码一区二区男男| 精品无码一区二区三区电影| 亚洲av中文无码| 国产成人午夜无码电影在线观看| 久久久久亚洲AV无码网站| 国产亚洲美日韩AV中文字幕无码成人| 亚洲精品无码久久久久sm| 久久青青草原亚洲AV无码麻豆| 一本大道东京热无码一区| 亚洲AV日韩AV永久无码下载| 色综合色国产热无码一| 少妇无码一区二区三区免费| 超清无码一区二区三区| 国产啪亚洲国产精品无码| 免费无码又爽又刺激一高潮| HEYZO无码综合国产精品227| 精品久久久无码人妻字幂| 曰韩人妻无码一区二区三区综合部| 无码人妻一区二区三区免费视频| 亚洲AV蜜桃永久无码精品| 日韩综合无码一区二区| 变态SM天堂无码专区| 亚洲AⅤ无码一区二区三区在线| 人妻少妇伦在线无码专区视频| 99无码精品二区在线视频| 无码日韩人妻av一区免费| 成人免费午夜无码视频| 亚洲中久无码永久在线观看同|