《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于芯片仿真器的程序訪問權限配置方案
基于芯片仿真器的程序訪問權限配置方案
2019年電子技術應用第10期
張海峰1,2,劉 俊1,2,種 挺1,2,原義棟1,2
1.北京智芯微電子科技有限公司 國家電網公司重點實驗室電力芯片設計分析實驗室,北京100192; 2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設計工程技術研究中心,北京100192
摘要: 芯片仿真器是一種在嵌入式軟件開發過程中有效的調試手段,目前很多芯片仿真器缺少在調試過程中對軟件程序進行保護。提出一種在調試階段對軟件程序訪問權限進行控制的方案,該方案主要包括三步:首先以密文配置文件的形式生成程序的訪問權限配置信息,其次將程序數據進行加密處理,最后將密文配置文件及密文程序數據一并下載到芯片仿真器。方案實現了程序訪問權限的靈活配置,并采用密文處理方式,防止配置權限及程序數據的非法篡改,提高了調試的安全性。
中圖分類號: TP39
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190618
中文引用格式: 張海峰,劉俊,種挺,等. 基于芯片仿真器的程序訪問權限配置方案[J].電子技術應用,2019,45(10):80-82,87.
英文引用格式: Zhang Haifeng,Liu Jun,Chong Ting,et al. Solution of program access rights configuration based on chip simulator[J]. Application of Electronic Technique,2019,45(10):80-82,87.
Solution of program access rights configuration based on chip simulator
Zhang Haifeng1,2,Liu Jun1,2,Chong Ting1,2,Yuan Yidong1,2
1.State Grid Key Laboratory of Power Industrial Chip Design and Analysis Technology, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China; 2.Beijing Engineering Research Center of High-reliability IC with Power Industrial Grade, Beijing Smart-Chip Microelectronics Technology Co.,Ltd.,Beijing 100192,China
Abstract: The chip emulator is an effective debugging tool in the embedded software development, and many existing chip emulators lack the protection of the software program during the debugging process. This paper proposes a solution to control the access rights of software programs during the debugging phase. The solution mainly includes three steps: firstly, the program access rights is generated in the form of an encrypted configuration file, then the program data is encrypted, and finally the encrypted configuration file and the encrypted program data are downloaded to the chip emulator. The solution realizes flexible configuration of program access rights and adopts encrypted files to prevent unauthorized tampering of configuration rights and program data, and increases the security of debugging.
Key words : chip emulator;secure debug;configurable;encrypted download

0 引言

    隨著科技的進步,芯片作為信息化、智能化建設的核心部件之一, 大量應用在人工智能、物聯網、大數據等領域[1],并在安全、通信、運算方面起著重要作用。由于芯片應用場景的多樣化、復雜化,芯片上的嵌入式軟件程序的規模及復雜度也越來越高,如何提高嵌入式軟件程序的開發效率和質量成為熱點問題[2]

    芯片仿真器,本文特指通過使用FPGA仿真芯片硬件邏輯[3]的硬件仿真器,作為一種嵌入式程序調試工具,與集成開發環境配合使用,通過對程序進行單步調試、斷點調試、變量查看、寄存器查看等調試手段,實現對問題的追蹤、定位。從一定程度上說,調試操作直接影響到程序的質量和開發周期[4-5]

    嵌入式程序的規模及復雜度的提高導致程序開發的難度越來越大。為解決這一問題,嵌入式程序開發一般采用分層程序設計方法,一般依據功能自底向上分為驅動層、系統層和應用層。分層設計在降低設計開發難度的同時,便于廠商之間實現協作開發,專注于各自擅長的領域。一般由不同的廠商負責不同層次的軟件開發,低層程序通過提供函數接口供上層程序調用,為統一描述,將提供函數接口的程序統稱為應用編程接口(Application Programming Interface,API)程序,使用API的程序稱為用戶程序。這種開發模式使得程序層次清晰,設計明確,維護方便,加快了產品的開發周期。

    然而,在使用芯片仿真器進行調試時也面臨著一些問題。在調試用戶程序時,需要將API程序一并下載到仿真器,而API程序提供者出于知識產權的保護,一般不會直接提供程序源碼。如果以Intel 十六進制編碼(Hexadecimal,HEX)文件形式提供[6],仍存在查看匯編代碼及反匯編的風險。目前有一種方法是提供相應的調試版本的HEX文件,調試版本程序的接口與實際版本相同,而把算法、認證等關鍵操作進行修改,導致用戶程序雖然可以完成接口的正常調用,但程序調試時的執行結果與實際預期不符,調試的真實性受到了很大的影響,存在程序問題不能及時被發現或誤報的風險。還有一種常用的方法,在實際芯片投片生產時,API程序預先掩模到芯片中,用戶程序通過特定的下載通道下載到芯片,然后通過直接操作芯片接口進行程序測試,此種方法雖然與芯片的應用場景一致,可以發現問題,但不容易進行問題定位,一般用于項目后期程序功能相對穩定的階段,不適用于程序開發初期階段。

    為兼顧調試的真實性及知識產權的保護,本文提出一種程序訪問權限可配置的方法,此方法基于芯片仿真器提供的程序訪問權限配置(簡稱為“權限配置”)機制及程序下載保護機制,實現API程序在仿真器中進行安全下載、調試。此方案能夠較好地對敏感程序進行保護,且可靈活配置,對軟件協同開發、調試提供了一種安全方案。

1 系統結構模型

    普通的芯片仿真器系統是由硬件和軟件兩部分構成的。硬件部分主要由芯片仿真電路、調試協議轉換電路及其他接口電路組成[7],其中芯片仿真電路通過FPGA實現芯片邏輯;調試協議基于聯合測試工作組(Joint Test Action Group,JTAG)實現;軟件部分主要由軟件集成開發環境(Integrated Development Environment,IDE)及調試驅動接口組成,其中IDE主要包括程序編譯、鏈接、調試等功能,調試驅動接口以動態鏈接庫(Dynamic Link Library,DLL)形式存在,主要包括軟件與硬件進行交互的接口函數。

    為實現在芯片仿真器上程序訪問權限可配置的功能,除了具有普通仿真器的功能外,仿真器硬件包括一個訪問權限控制模塊,仿真器軟件包括程序加密模塊、程序加密下載模塊、權限配置生成模塊、權限配置下載模塊。

    程序加密模塊主要實現對HEX格式的API程序文件進行加密,并生成密文格式的文件。權限配置生成模塊主要實現對程序的訪問權限以配置文件的形式進行靈活配置,并生成密文格式的文件。程序加密下載模塊和權限配置下載模塊位于調試驅動接口DLL中,分別完成密文格式的API程序及權限配置文件的下載操作。

    系統框圖如圖1所示。

jsj1-t1.gif

    使用IDE進行用戶程序調試時,IDE首先調用DLL接口,將訪問權限配置文件及密文程序文件進行解析,然后通過通用串行總線(Universal Serial Bus,USB)接口[8]發送到調試協議轉換模塊,調試協議轉換模塊通過JTAG[9]通道將程序數據及訪問權限配置信息寫入芯片仿真模塊。

    完成API程序的寫入及訪問權限配置后,將用戶程序下載到芯片仿真模塊,即可啟動正常的調試流程。出于安全考慮,程序加密、程序訪問權限配置實現原理及工具對用戶程序開發者嚴格保密。API程序開發者將生成好的密文文件傳遞給用戶程序開發者。

2 設計及實現

    本節主要對程序加密、訪問權限配置生成、程序及權限配置下載的設計及實現方法進行說明。

2.1 程序加密

    程序加密模塊采用可視化工具的方式實現,通過對API程序進行加密處理,輸入的原始數據為HEX格式的程序文件,輸出的目標數據為加密后的數據,并支持程序地址范圍檢查和空白區域的填充功能。

    程序加密模塊的處理流程如圖2所示。

jsj1-t2.gif

    設定的地址范圍通過界面輸入,如果程序數據實際地址范圍小于設定的地址范圍,可以選擇是否進行空白區域填充:如果不選擇填充,空白區域將不會填充數據;如果選擇填充,將以一字節為單位重復進行填充,填充值可以通過界面指定,如圖3所示。

jsj1-t3.gif

2.2 訪問權限配置信息生成

    程序訪問權限配置信息以配置記錄的形式存在于配置文件中,每條配置記錄通過索引對應于芯片硬件中程序訪問控制模塊中的配置區。配置文件通過將明文配置記錄按索引號從小到大順序進行組合,加密處理后生成密文配置文件。訪問權限配置信息生成流程如圖4所示。

jsj1-t4.gif

    每條配置記錄以界面的形式進行輸入,如圖5所示。

jsj1-t5.gif

    權限配置內容包括程序地址范圍配置、讀寫權限配置、調試權限配置,其中讀寫權限是指調試過程中是否允許讀、寫操作,調試權限是指調試過程中是否允許單步和斷點調試。

    通過配置文件生成訪問權限配置信息,可以對配置信息進行靈活的修改,并支持多條記錄同時配置,滿足不同的配置需求。其中配置文件以密文形式存儲,隱藏了配置細節。

2.3 程序及權限配置下載

    芯片仿真模塊提供程序訪問權限控制的配置接口及硬件實現,配置接口主要以寄存器的形式提供,DLL通過寫寄存器完成配置操作。密文API程序數據由DLL進行解析后下載仿真器硬件中的芯片仿真模塊。如果有多段API程序數據需要保護,可以生成多個加密后的程序數據,DLL分別進行解析、下載。下載順序為先進行訪問權限配置下載,然后再執行程序下載。具體操作流程如圖6所示。

jsj1-t6.gif

    在獲取每條配置記錄信息時,對配置記錄信息的合法性進行檢查,主要包括不同的配置記錄的地址范圍不能重疊;在進行API程序下載時,對程序數據的合法性進行檢查,包括不同程序的地址范圍不能重疊、單個程序的地址必須位于一條配置記錄的地址范圍內。如果合法性檢查階段出錯,則進行報錯提示并終止流程。

2.4 應用舉例

    API程序及權限配置信息下載操作完成后,芯片仿真模塊重新上電,權限配置信息生效,然后執行正常的用戶程序調試即可。

    本例中程序地址范圍為0x10000~0x100FF,訪問權限配置為不可讀、不可寫、不可調試,在調試用戶程序時,如果執行到調用該API程序的用戶代碼時,則無法進入API程序內部執行,并且無法通過IDE存儲器窗口查看實際內容,讀出來的數據將以全0顯示,如圖7所示。

jsj1-t7.gif

3 結束語

    本文提供芯片仿真器上API程序保護的一種實現方案,通過對程序加密及權限配置控制,實現在下載及調試階段對程序進行保護,在一定程度上達到了對API程序安全調試的目的。 

參考文獻

[1] 劉青龍,董家山.物聯網無人機應用關鍵技術研究[J].電子技術應用,2017,43(11):22-26.

[2] 姚遠.基于仿真開發環境的嵌入式調試的研究與實現[D].成都:電子科技大學,2008.

[3] 謝長生,徐睿.FPGA在ASIC設計流程中的應用[J].微電子技術,2001,29(6):50-52.

[4] 張欣.基于ARM芯片的嵌入式調試系統的研究與實現[D].青島:中國海洋大學,2007.

[5] 陳崢.基于動態連續數據的GPU調試系統設計和實現[J].電子技術應用,2018,44(6):8-10,14.

[6] 魏忠,蔡勇,雷紅衛.嵌入式開發詳解[M].北京.電子工業出版社,2003.

[7] 王永生,葉以正,肖立伊,等.采用JTAG結構實現SoC芯片的片上仿真器及接口[J].計算機工程與應用,2002,38(16):240-243.

[8] 陳云飛.基于USB2.0的邊界掃描控制器的研制[D].武漢:武漢理工大學,2007.

[9] IEEE.1149.1-2013-IEEE standard for test access port and boundary-scan architecture[S/OL].(2013-05-13)[2019-05-28].https://standards.ieee.org/standard/1149_1-2013.html.



作者信息:

張海峰1,2,劉  俊1,2,種  挺1,2,原義棟1,2

(1.北京智芯微電子科技有限公司 國家電網公司重點實驗室電力芯片設計分析實驗室,北京100192;

2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設計工程技術研究中心,北京100192)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国内激情久久| 亚洲高清一区二| 久久综合伊人77777蜜臀| 亚洲欧美三级在线| 亚洲深夜福利| 亚洲香蕉视频| 宅男66日本亚洲欧美视频| 亚洲精选大片| 亚洲美女视频| 99精品久久| 中文一区二区在线观看| 亚洲午夜国产一区99re久久| 亚洲视频免费看| 一区二区三区四区蜜桃| 中文av一区特黄| 亚洲视频在线观看三级| 亚洲影院色无极综合| 亚洲欧美日本在线| 亚洲欧洲av一区二区| 欧美一区在线看| 久久久久久久综合色一本| 久久人人爽人人| 另类av一区二区| 欧美大胆a视频| 欧美不卡高清| 欧美日本韩国一区二区三区| 欧美私人啪啪vps| 欧美视频你懂的| 国产精品豆花视频| 国产欧美一区二区三区久久| 国产一区二区三区在线观看网站 | av成人激情| 亚洲一二三四久久| 在线视频免费在线观看一区二区| 亚洲一区二区三区视频| 欧美一区二区大片| 久久久久一区二区三区| 欧美成人精品1314www| 欧美久久久久久| 国产精品女人毛片| 国产在线精品一区二区夜色| 在线免费观看成人网| 99re6热只有精品免费观看| 亚洲一区二区视频在线| 亚洲电影专区| 亚洲性夜色噜噜噜7777| 欧美一区二区三区免费视频| 久久午夜国产精品| 欧美日韩国产另类不卡| 国产模特精品视频久久久久| 一区二区三区亚洲| 日韩亚洲不卡在线| 性久久久久久| 9久草视频在线视频精品| 午夜老司机精品| 美女尤物久久精品| 欧美日韩亚洲三区| 国产综合久久久久久| 亚洲国产成人av| 亚洲一区二区不卡免费| 亚洲国产成人精品久久久国产成人一区 | 久久久中精品2020中文| 日韩一级片网址| 正在播放亚洲一区| 欧美亚洲三区| 日韩一级网站| 久久精品亚洲精品国产欧美kt∨| 欧美顶级少妇做爰| 国产精品一区二区欧美| 亚洲国语精品自产拍在线观看| 亚洲视频中文| 亚洲另类春色国产| 久久精品免视看| 欧美视频一区二区三区在线观看 | 亚洲国产成人av| 午夜精品电影| 欧美精品久久99| 国语自产精品视频在线看抢先版结局| 亚洲免费电影在线| 亚洲国产精品一区二区第一页 | 午夜精品理论片| 欧美韩日亚洲| 国产亚洲精品自拍| 一区二区三区四区国产| 亚洲精品一级| 久久天天躁狠狠躁夜夜av| 国产精品久久国产精品99gif| 在线成人免费观看| 亚洲一区在线播放| 一区二区国产日产| 欧美成人精品影院| 国内外成人免费激情在线视频| 亚洲少妇在线| 一区二区日韩欧美| 蜜臀久久99精品久久久画质超高清 | 亚洲无毛电影| 欧美福利视频网站| 韩日成人av| 亚洲欧美色一区| 亚洲一区激情| 欧美日韩国产美| 亚洲观看高清完整版在线观看| 香蕉久久久久久久av网站| 制服丝袜亚洲播放| 欧美精品一区二区三区蜜臀 | 久久精品国产一区二区三| 亚洲黄一区二区| 欧美在线观看视频| 久久av一区二区三区| 国产精品久久7| 一区二区三区欧美亚洲| 久久激情五月婷婷| 最新成人在线| 久久爱www久久做| 国产精品女主播| 亚洲视频在线观看| 亚洲欧美日韩另类| 国产精品久久久久国产a级| 亚洲最新色图| 欧美在线一二三区| 欧美一区二区免费视频| 欧美午夜精品理论片a级按摩 | 亚洲午夜激情网页| 欧美日韩在线亚洲一区蜜芽| 亚洲精品影院在线观看| 99精品99| 欧美色大人视频| 亚洲免费电影在线| 亚洲午夜激情网站| 国产精品黄色| 99精品视频一区| 亚洲欧美国产日韩天堂区| 国产精品三上| 香蕉久久一区二区不卡无毒影院| 久久疯狂做爰流白浆xx| 国产自产2019最新不卡| 亚洲高清视频在线观看| 欧美xx69| 一区二区高清在线| 午夜久久美女| 韩国成人精品a∨在线观看| 亚洲盗摄视频| 欧美激情中文不卡| 一区二区三区四区五区精品| 亚洲欧美一级二级三级| 国产伦精品一区二区三区在线观看 | 欧美精品福利视频| av不卡在线观看| 午夜国产欧美理论在线播放| 国产区精品在线观看| 欧美伊人久久| 欧美多人爱爱视频网站| 一区二区三区成人精品| 欧美一区二区三区视频在线| 韩国一区二区三区在线观看| 亚洲精品视频啊美女在线直播| 欧美日韩亚洲另类| 亚洲欧美国产精品桃花| 久久久一本精品99久久精品66| 亚洲国产精品久久精品怡红院| 一本色道久久综合亚洲精品按摩| 国产精品www.| 久久www成人_看片免费不卡| 欧美高清在线观看| 亚洲一区免费网站| 久久野战av| 99精品久久久| 久久精品91久久久久久再现| 国产亚洲福利一区| 亚洲日产国产精品| 国产精品久久久久久久久免费 | 99在线热播精品免费99热| 国产精品欧美久久| 亚洲电影免费| 欧美电影免费观看高清| 亚洲一区二区3| 麻豆精品91| 在线综合欧美| 蜜臀久久99精品久久久画质超高清| 亚洲乱码视频| 久久精品2019中文字幕| 日韩亚洲一区在线播放| 欧美综合77777色婷婷| 亚洲激情综合| 欧美一区二区三区免费观看| 亚洲国产精品久久久久秋霞影院| 亚洲在线成人| 在线欧美日韩| 欧美一区二区三区在线观看| 亚洲国产一区二区视频| 欧美一级欧美一级在线播放| 亚洲国产成人精品久久久国产成人一区 | 99视频热这里只有精品免费| 久久精品最新地址| 洋洋av久久久久久久一区| 美女被久久久| 羞羞漫画18久久大片| 欧美吻胸吃奶大尺度电影| 亚洲成色777777在线观看影院| 欧美性生交xxxxx久久久|