《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于芯片仿真器的程序訪問權(quán)限配置方案
基于芯片仿真器的程序訪問權(quán)限配置方案
2019年電子技術(shù)應用第10期
張海峰1,2,劉 俊1,2,種 挺1,2,原義棟1,2
1.北京智芯微電子科技有限公司 國家電網(wǎng)公司重點實驗室電力芯片設計分析實驗室,北京100192; 2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設計工程技術(shù)研究中心,北京100192
摘要: 芯片仿真器是一種在嵌入式軟件開發(fā)過程中有效的調(diào)試手段,目前很多芯片仿真器缺少在調(diào)試過程中對軟件程序進行保護。提出一種在調(diào)試階段對軟件程序訪問權(quán)限進行控制的方案,該方案主要包括三步:首先以密文配置文件的形式生成程序的訪問權(quán)限配置信息,其次將程序數(shù)據(jù)進行加密處理,最后將密文配置文件及密文程序數(shù)據(jù)一并下載到芯片仿真器。方案實現(xiàn)了程序訪問權(quán)限的靈活配置,并采用密文處理方式,防止配置權(quán)限及程序數(shù)據(jù)的非法篡改,提高了調(diào)試的安全性。
中圖分類號: TP39
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190618
中文引用格式: 張海峰,劉俊,種挺,等. 基于芯片仿真器的程序訪問權(quán)限配置方案[J].電子技術(shù)應用,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 引言

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

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

    嵌入式程序的規(guī)模及復雜度的提高導致程序開發(fā)的難度越來越大。為解決這一問題,嵌入式程序開發(fā)一般采用分層程序設計方法,一般依據(jù)功能自底向上分為驅(qū)動層、系統(tǒng)層和應用層。分層設計在降低設計開發(fā)難度的同時,便于廠商之間實現(xiàn)協(xié)作開發(fā),專注于各自擅長的領(lǐng)域。一般由不同的廠商負責不同層次的軟件開發(fā),低層程序通過提供函數(shù)接口供上層程序調(diào)用,為統(tǒng)一描述,將提供函數(shù)接口的程序統(tǒng)稱為應用編程接口(Application Programming Interface,API)程序,使用API的程序稱為用戶程序。這種開發(fā)模式使得程序?qū)哟吻逦O計明確,維護方便,加快了產(chǎn)品的開發(fā)周期。

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

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

1 系統(tǒng)結(jié)構(gòu)模型

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

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

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

    系統(tǒng)框圖如圖1所示。

jsj1-t1.gif

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

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

2 設計及實現(xiàn)

    本節(jié)主要對程序加密、訪問權(quán)限配置生成、程序及權(quán)限配置下載的設計及實現(xiàn)方法進行說明。

2.1 程序加密

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

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

jsj1-t2.gif

    設定的地址范圍通過界面輸入,如果程序數(shù)據(jù)實際地址范圍小于設定的地址范圍,可以選擇是否進行空白區(qū)域填充:如果不選擇填充,空白區(qū)域?qū)⒉粫畛鋽?shù)據(jù);如果選擇填充,將以一字節(jié)為單位重復進行填充,填充值可以通過界面指定,如圖3所示。

jsj1-t3.gif

2.2 訪問權(quán)限配置信息生成

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

jsj1-t4.gif

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

jsj1-t5.gif

    權(quán)限配置內(nèi)容包括程序地址范圍配置、讀寫權(quán)限配置、調(diào)試權(quán)限配置,其中讀寫權(quán)限是指調(diào)試過程中是否允許讀、寫操作,調(diào)試權(quán)限是指調(diào)試過程中是否允許單步和斷點調(diào)試。

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

2.3 程序及權(quán)限配置下載

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

jsj1-t6.gif

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

2.4 應用舉例

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

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

jsj1-t7.gif

3 結(jié)束語

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

參考文獻

[1] 劉青龍,董家山.物聯(lián)網(wǎng)無人機應用關(guān)鍵技術(shù)研究[J].電子技術(shù)應用,2017,43(11):22-26.

[2] 姚遠.基于仿真開發(fā)環(huán)境的嵌入式調(diào)試的研究與實現(xiàn)[D].成都:電子科技大學,2008.

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

[4] 張欣.基于ARM芯片的嵌入式調(diào)試系統(tǒng)的研究與實現(xiàn)[D].青島:中國海洋大學,2007.

[5] 陳崢.基于動態(tài)連續(xù)數(shù)據(jù)的GPU調(diào)試系統(tǒng)設計和實現(xiàn)[J].電子技術(shù)應用,2018,44(6):8-10,14.

[6] 魏忠,蔡勇,雷紅衛(wèi).嵌入式開發(fā)詳解[M].北京.電子工業(yè)出版社,2003.

[7] 王永生,葉以正,肖立伊,等.采用JTAG結(jié)構(gòu)實現(xiàn)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.北京智芯微電子科技有限公司 國家電網(wǎng)公司重點實驗室電力芯片設計分析實驗室,北京100192;

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国内偷自视频区视频综合| 一区二区三区精品国产| 欧美日韩精品一区二区天天拍小说| 久久久精品欧美丰满| 亚洲欧美视频一区| 亚洲欧美日本国产专区一区| 一区二区三区高清在线| 亚洲精品极品| 亚洲精品一区中文| 亚洲精选在线观看| 亚洲免费观看| 一本大道久久a久久精二百| 亚洲精品一区在线观看| 亚洲精品一区二区三区不| 亚洲欧洲中文日韩久久av乱码| 久久精品亚洲一区二区三区浴池| 久久国内精品视频| 亚洲激情欧美| 亚洲精品视频在线播放| 亚洲精品视频免费观看| 99re6这里只有精品视频在线观看| 亚洲美女av在线播放| 亚洲美女黄网| 亚洲天堂av综合网| 亚洲欧美日韩国产一区| 欧美一级黄色网| 久久一二三区| 欧美国产精品日韩| 欧美日韩国产成人精品| 欧美亚男人的天堂| 国产人成精品一区二区三| 国产综合久久久久久| 在线视频国产日韩| 日韩一二三区视频| 亚洲在线观看视频网站| 午夜精品国产更新| 久久精品视频在线观看| 亚洲美女区一区| 亚洲欧美成人网| 久久久www| 欧美成人一区在线| 国产精品成人一区二区三区吃奶| 国产美女精品在线| 在线不卡视频| 一本色道久久综合狠狠躁篇怎么玩| 亚洲天堂第二页| 久久av在线看| 99热这里只有精品8| 亚洲欧美一区二区精品久久久 | 亚洲经典一区| 亚洲手机成人高清视频| 欧美自拍丝袜亚洲| 欧美成人一区在线| 国产精品亚洲激情| 亚洲二区在线| 亚洲一区亚洲| 亚洲美女黄色片| 欧美在线不卡视频| 欧美激情欧美狂野欧美精品| 国产精品高潮呻吟| 玉米视频成人免费看| 一区二区精品| 亚洲国产成人精品久久| 亚洲一品av免费观看| 久久综合伊人77777| 国产精品久久九九| 亚洲高清视频在线| 亚洲在线视频一区| 日韩一级大片| 久久久久天天天天| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 亚洲一二三区在线| 裸体歌舞表演一区二区| 国产精品成人v| 亚洲国产一区二区三区高清| 亚洲摸下面视频| 日韩视频永久免费观看| 久久久九九九九| 欧美天堂亚洲电影院在线观看| 国内精品免费在线观看| 一区二区激情视频| 亚洲精品久久久蜜桃| 久久精品五月| 国产精品国产精品| 亚洲另类黄色| 91久久中文| 在线日韩欧美| 国产日韩精品入口| 一色屋精品视频在线观看网站| 亚洲精品免费在线| 亚洲国产成人午夜在线一区| 亚洲欧美精品一区| 欧美精品三级在线观看| 国产真实久久| 亚洲欧美日韩一区二区在线| 一区二区三区 在线观看视频| 久久躁日日躁aaaaxxxx| 国产精品一区毛片| 亚洲视频碰碰| 在线一区亚洲| 欧美激情视频一区二区三区在线播放 | 欧美激情久久久久| 激情婷婷欧美| 午夜日韩av| 欧美一区二区啪啪| 国产精品成人一区| 一本色道久久综合狠狠躁篇的优点 | 午夜精品久久久99热福利| 亚洲影院色无极综合| 欧美日韩八区| 亚洲精品少妇| 亚洲精品在线观看视频| 老司机午夜精品视频在线观看| 国产一区 二区 三区一级| 午夜精品久久久久久久男人的天堂| 亚洲一区欧美二区| 国产精品国产一区二区| av72成人在线| 亚洲免费影院| 国产精品美女主播在线观看纯欲| 亚洲婷婷免费| 新67194成人永久网站| 国产精品欧美久久| 亚洲一二三四久久| 亚洲欧美制服中文字幕| 国产精品亚洲美女av网站| 亚洲综合视频一区| 欧美在线视频免费播放| 国产日韩欧美一二三区| 欧美一级视频精品观看| 久久精品女人| 一色屋精品视频在线观看网站| 亚洲电影免费观看高清完整版在线| 久久影院午夜片一区| 在线精品视频免费观看| 亚洲欧洲美洲综合色网| 欧美精品在线免费观看| 日韩一区二区免费高清| 亚洲午夜视频| 国产精品视频第一区| 亚洲欧洲av一区二区三区久久| 久久国产精品久久久久久| 国产在线观看精品一区二区三区| 久久精品人人做人人综合 | 日韩视频免费大全中文字幕| 亚洲特黄一级片| 国产精品免费看久久久香蕉| 亚洲免费视频观看| 久久伊伊香蕉| 亚洲精品中文字幕在线| 亚洲欧美春色| 狠狠做深爱婷婷久久综合一区| 亚洲人成人一区二区在线观看| 欧美日韩国产天堂| 亚洲一区日韩| 免费欧美网站| 亚洲美女尤物影院| 性欧美video另类hd性玩具| 国产一区二区精品久久91| 亚洲人成77777在线观看网| 欧美日本亚洲| 亚洲欧美日韩区| 米奇777超碰欧美日韩亚洲| 亚洲伦理在线免费看| 欧美一区亚洲二区| 在线日韩中文字幕| 亚洲欧美国产制服动漫| 激情成人av在线| 亚洲天堂网在线观看| 国产在线精品一区二区中文 | 亚洲一二区在线| 激情av一区| 亚洲综合视频一区| 影音先锋国产精品| 亚洲欧美日韩综合国产aⅴ| 精品电影一区| 亚洲欧美日韩国产| 亚洲国产精品一区二区第四页av | 久久久久久久久久看片| 亚洲全部视频| 久久精品噜噜噜成人av农村| 亚洲国内自拍| 久久久av毛片精品| 一本大道久久a久久综合婷婷| 久久久久久久999| 夜夜嗨av一区二区三区中文字幕 | 性18欧美另类| 欧美人交a欧美精品| 午夜免费电影一区在线观看| 欧美理论片在线观看| 久久av一区二区| 国产精品私拍pans大尺度在线 | 一本一本久久a久久精品综合妖精| 久久精品系列| 亚洲一级免费视频| 欧美国产视频一区二区| 欧美一区二区三区四区高清| 国产精品wwwwww| 99re66热这里只有精品4| 黑人一区二区三区四区五区|