• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于android系統(tǒng)軟件安全的設(shè)計與實現(xiàn)

      2015-05-30 05:56:50王晶
      關(guān)鍵詞:熔絲私鑰

      摘 要:針對目前手機的病毒多樣化和種類的不斷增加,提出一種基于android系統(tǒng)軟件的arm trustzone technology,防止手機的系統(tǒng)軟件篡改和惡意刷機,對編譯后各個部分的軟件進行簽名和認證,以保證手機穩(wěn)定安全。同時secure boot保證軟件的安全運行,在此基礎(chǔ)上DRM才能在SFS內(nèi)獲取安全的私鑰等信息。

      關(guān)鍵詞:trustzone技術(shù);secure boot;簽名;熔絲;私鑰

      1 概述

      目前市場上95%是基于安卓系統(tǒng)開發(fā)的,而android是一種基于linux的自由及開放源代碼的操作系統(tǒng)。任何人都可以基于android的源代碼來開發(fā)自己的應(yīng)用程序和底層協(xié)議,同時也可以通過編譯帶病毒的APK來攻擊手機的系統(tǒng)軟件。

      為了徹底解決手機的安全性問題,基于google android trustzone技術(shù)提供了一套基于system-on-a-ship(SOC)的配置和設(shè)計。此方案是硬件級別的安全。首先通過對編譯的文件進行簽名,簽名的文件中存在燒寫的SHA256位的密碼,然后對ROM的OTP寄存器進行燒寫,在啟動的過程中會對編譯的文件進行驗證,只有SHA256的密碼匹配了,手機才能正常啟動。此方案從底層的硬件級別對手機進行了安全保護,只有經(jīng)過驗證通過的文件才能加載,極大的增強了手機的安全性。

      2 Secure boot的原理

      圖2.1 Secure boot原理

      在對image文件進行簽名的時候,會有一個用戶的私鑰以及用戶鑒別的公鑰,當(dāng)用戶簽名后,會有這二個key存在,整個簽名過程可分解如下:

      ①用戶通過CSMS產(chǎn)生簽名要使用的私鑰以及證書鏈,該證書鏈包含有三個證書,主要作用是對證書中包含的公鑰及軟件信息的簽名認證。

      ②通過SHA256算法對編譯后的各部分image部分進行哈希值摘要提取,此主要分為2個步驟,第一步僅僅是對image做出hash提取,第二步則結(jié)合該image的MSM_ID、OEM_ID等對其在做一次SHA256算法提取生成Flash Hash Digest。

      ③用步驟1中的私鑰對產(chǎn)生的哈希摘要進行加密生成簽名。

      ④將生成的image簽名和證書鏈鏈接到原來的文件中,生成簽名的image文件。

      ⑤在該軟件加載和認證階段,會使用公鑰對證書鏈及簽名內(nèi)容進行相應(yīng)的解密,將證書中包含的軟件版本信息和MSM_ID信息與QFPROM中的響應(yīng)值對比,同時再次通過SHA256算法對code部分進行哈希摘要提取,與解密后的簽名進行對比,驗證通過后才可以加載。

      在芯片設(shè)備中OTP寄存器中存儲有簽名用到的PUBLIC_KEY,在用戶簽名的image中含有PRIVATE_KEY.在啟動的過程中,PUBLIC_KEY會對簽名后的文件進行解密。包括對簽名文件的證書信息進行驗證。如用存儲在證書上該軟件的版本號,MSM_ID等信息與之前用戶燒錄在芯片中的FUSE中對應(yīng)內(nèi)容進行驗證,確認無誤后,在對文件中的code部分進行哈希校驗,確保源代碼沒有被篡改,成功后,啟動流程后才能順利地往下執(zhí)行。

      3 Secure boot流程

      要使能secure boot要進行以下工作,第一步,要對使能熔絲,就是燒寫QFPROM寄存器。第二步,修改軟件代碼,把手機的廠商ID,產(chǎn)品ID等配置信息寫入寄存器,用fastboot燒寫進寄存器。第三步,對編譯出來的image文件進行簽名。

      3.1 熔絲

      為了保證熔絲后可以順利運行我們的軟件,我們需要熔一系列的寄存器。有secureboot的使能腳,是使能控制的一個GPIO控制腳(AUTH_EN),使能OEM 和產(chǎn)品ID(OEM_HW_ID,OEM_PRODUCT_ID),同時使能root key,即使能根密鑰簽名image文件。

      3.2 燒寫代碼

      SBL1里面已經(jīng)有封裝好的可供燒錄的接口函數(shù)boot_qfprom_signal_test函數(shù),底層函數(shù)實現(xiàn)在trustzone里面。在熔絲的過程中,要增加判斷,如果讀寄存器已經(jīng)熔絲,就不再熔絲。在SBL1中熔絲,首先要通過算法去生成值,然后通過工具燒寫進去。燒錄生成的時序,即流程中對應(yīng)的關(guān)鍵函數(shù),讀fuse接口的函數(shù)。

      3.3 image簽名

      簽名換件的搭建和證書生成軟件,需要通過openssl軟件,對qpsa.zip文件解壓,執(zhí)行openssl指令來生成QPSA簽名所需要的證書及私鑰文件。同時配置gensecimage.cfg文件,設(shè)定好存儲路徑,簽名的格式及輸出目錄。執(zhí)行python指令可以執(zhí)行g(shù)ensecimage.cfg文件生成相關(guān)的文件。

      4 總結(jié)

      Secure boot目前廣泛應(yīng)用于各大手機廠商中,尤其能為目前的支付寶、微信支付等支付業(yè)務(wù)提供更大的安全環(huán)境。這是一項硬件級別的安全框架,能提供高級別的安全。

      參考文獻:

      [1](美)波特編著.LINUX設(shè)備驅(qū)動程序 中文第三版[M].中國電力出版社,2012.4.

      [2]Android5.0源代碼.

      作者簡介:

      王晶(1990-),男,漢族,湖南邵陽人,重慶郵電大學(xué),碩士研究生,研究方向:移動通信。

      猜你喜歡
      熔絲私鑰
      清掃機器人避障系統(tǒng)區(qū)塊鏈私鑰分片存儲方法
      熔絲制造的三維連續(xù)編織填充圖案
      比特幣的安全性到底有多高
      基于改進ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
      一種基于虛擬私鑰的OpenSSL與CSP交互方案
      基于秘密共享的IBE移動密碼系統(tǒng)
      軟件(2018年2期)2018-03-23 08:23:42
      一款內(nèi)置獨立LDO的馬達驅(qū)動電路熔絲修調(diào)方法
      MTM反熔絲單元的輻照特性研究
      電子與封裝(2017年4期)2017-04-24 02:50:09
      高效率并行熔絲方案的設(shè)計
      別克君威車散熱風(fēng)扇熔絲頻繁熔斷
      安阳县| 安平县| 泗阳县| 上虞市| 扶绥县| 原平市| 华坪县| 遵义县| 惠州市| 阿荣旗| 莱西市| 神木县| 徐闻县| 禹城市| 西华县| 龙海市| 吉木萨尔县| 安塞县| 五峰| 青冈县| 读书| 增城市| 旌德县| 石门县| 宾阳县| 陵水| 乌恰县| 昌宁县| 交城县| 虎林市| 高青县| 久治县| 隆回县| 沁水县| 宁陵县| 黔西| 抚宁县| 广水市| 伊吾县| 沙雅县| 湄潭县|