欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用可重新配置的硬件執(zhí)行計算機(jī)指令的制作方法

文檔序號:6455399閱讀:239來源:國知局
專利名稱:用可重新配置的硬件執(zhí)行計算機(jī)指令的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種在包括可重新配置的硬件組件的硬件平臺上執(zhí)行計算 機(jī)可讀指令的方法。此外,本發(fā)明涉及一種計算機(jī)程序產(chǎn)品以及用于實現(xiàn) 本方法的設(shè)備。
背景技術(shù)
銷售在開放平臺上運(yùn)行的軟件的軟件供應(yīng)商可能要面臨 一個基本的問
題。這個問題發(fā)生在這種情況下該軟件包含應(yīng)始終保持隱藏的機(jī)密,例 如數(shù)字版權(quán)管理(DRM)應(yīng)用中的私有算法和密鑰。在開放平臺上,已經(jīng) 獲得程序拷貝的個人擁有全部能力來仔細(xì)檢查和反匯編該程序的代碼,例 如通過逆向工程,由此而得以識破或者甚至訪問口令、密鑰、證書以及了 解具體算法等。這樣的人通常被稱作為攻擊者。也有可能例如通過繞開IF 語句、替換密鑰、刪除/插入代碼來修改代碼。結(jié)果,這樣的人可以導(dǎo)致 代碼停止按照依從規(guī)則(compliance rule)運(yùn)轉(zhuǎn)、置入病毒/蠕蟲/特洛 伊木馬等。.
可以通過軟件混淆(obfuscation)來阻礙對軟件代碼的攻擊,其中代 碼被轉(zhuǎn)換為一種混淆形式,在這種形式下該代碼難以被理解,因而也難以 4皮進(jìn)行窺視或^皮進(jìn)行逆向工程。
在 Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE'04)的論文 "Flexible Software Protection Using Hardware/Software Codesign Techniques" (636頁, Zan)breno, J等人,2004 )中,公開了 一種把保護(hù)編譯器技術(shù)與可重新配 置的硬件支持相結(jié)合的方法。在該論文中公開了用基于FPGA(基于現(xiàn)場可 編程門陣列)的安全硬件組件對處理器進(jìn)行補(bǔ)充。
發(fā)明概要
本發(fā)明尋求提供一種在硬件平臺上執(zhí)行計算機(jī)指令的改進(jìn)方法,以下 可以看作是本發(fā)明的目的提供在硬件平臺上以安全的方式執(zhí)行計算機(jī)指 令的手段,以使得對軟件代碼的篡改、逆向工程以及其它攻擊被禁止或至 少使其復(fù)雜化。在上面所提到的Zambreno等人的論文中,現(xiàn)場可編程門致性檢驗。本發(fā)明的發(fā)明人已經(jīng)洞察到通過使用在其上能執(zhí)行定制的計 算機(jī)指令的FPGA或另一可重新配置的硬件組件中的普通實現(xiàn),提供一種 防止篡改硬件平臺的改進(jìn)的和有利的方式。優(yōu)選地,本發(fā)明單個地或以任 意組合的方式減輕、緩和或消除現(xiàn)有技術(shù)的一個或更多的不利之處。
根據(jù)本發(fā)明的第 一方面,提供一種在包括可重新配置的硬件組件的硬 件平臺上執(zhí)行計算機(jī)可讀指令的方法,該方法包括
-沖艮據(jù)重新配置集(reconfiguration set)來重新配置可重新配置的硬 件組件;
-至少部分地在已重新配置的硬件組件上執(zhí)行第一應(yīng)用,并且從第一 應(yīng)用生成輸出。
本發(fā)明提供一種對將要在硬件平臺上執(zhí)行的軟件進(jìn)行混淆和防止篡改 的方法。在對可重新配置的硬件組件進(jìn)行重新配置后,攻擊者實際上面對 的是對于每一個新的軟件應(yīng)用(或甚至相同應(yīng)用的新發(fā)布版)的新的且未 知的硬件平臺。因而沒有工具可利用來對運(yùn)行在這種新平臺上的代碼或指 令進(jìn)行反匯編。用于重新配置可重新配置的硬件組件的指令可以是第 一應(yīng) 用的一部分。替換地,為該目而執(zhí)行單獨的應(yīng)用。重新配置集可以連同第 一應(yīng)用一起或與之分開地被提供。例如,重新配置集可以是第一應(yīng)用的一 部分,它們(即重新配置集和第一應(yīng)用)可以是分開的實體,但被一起提 供在例如存儲設(shè)備上;或者它們可以是分開的實體,其中第一應(yīng)用被指令 如何訪問重新配置集,例如經(jīng)由網(wǎng)絡(luò)、經(jīng)由存儲設(shè)備等。
在有利的實施例中,可重新配置的硬件組件可以是FPGA,但替換地可 以使用其它類型的可重新配置的硬件組件。可重新配置的硬件組件比在標(biāo) 準(zhǔn)PC存儲器中進(jìn)行的活動更難以進(jìn)行運(yùn)行時(run-time)觀測。典型地 攻擊者可能結(jié)合詳查應(yīng)用而監(jiān)視總線上的業(yè)務(wù)量。對于諸如FPGA的可重 新配置的硬件組件,不存在總線,因而訪問被發(fā)送給或來自于FPGA的數(shù) 據(jù)以及正在FPGA中進(jìn)行處理的數(shù)據(jù)是很困難的或者甚至是不可能的。因 此,本發(fā)明可以提供這樣一種狀況,其中可重新配置的硬件組件不能由固 定的硬件組件進(jìn)行運(yùn)行時4全查。
公開了有優(yōu)勢的實施例,其中可重新配置的硬件組件可以被設(shè)置成在 不同的模式中進(jìn)行操作或作為操作模式的組合進(jìn)行操作,包括作為CPU進(jìn) 行操作,其適合于并行處理或形成神經(jīng)網(wǎng)絡(luò)。能夠應(yīng)用不同的操作模式是有利的,因為由此提供了一種保護(hù)軟件免受攻擊的通用的、靈活的方式。
公開了有優(yōu)勢的實施例,其中可以根據(jù)第 一應(yīng)用的輸出而設(shè)置訪問級 別。可以根據(jù)對硬件平臺的、或與硬件平臺關(guān)聯(lián)的各種部分的完整性測試, 對訪問級別進(jìn)行設(shè)置。設(shè)置訪問級別是一種提供對數(shù)據(jù)、對軟件和硬件應(yīng) 用、對服務(wù)、對連接等的有條件訪問的有利方式。
在有利的實施例中,第一應(yīng)用使能執(zhí)行諸如與加密內(nèi)容關(guān)聯(lián)的解密指 令(例如伴隨加密內(nèi)容)之類的指令,因而提供對加密內(nèi)容的安全訪問。 重新配置集可以伴隨以加密內(nèi)容,例如重新配置集可以連同加密內(nèi)容一起 被遞送。將重新配置集連同加密內(nèi)容一起遞送可以是一種提供配置參數(shù)集 的便利方式。
作為另一優(yōu)勢,本發(fā)明考慮以這樣一種方式混淆可重新配置的硬件組
件的功能性,即功能性并不是從重新配置數(shù)據(jù)的檢查顯而易見的。實際
上,-波混淆的代碼或指令甚至比非混淆的可重新配置的硬件組件更難以進(jìn)
4亍逆向工禾呈。
在本發(fā)明的其它方面中,提供一種計算機(jī)程序產(chǎn)品,其被安排成使得
處理器執(zhí)行笫 一方面的方法;還提供一種包括硬件平臺和可重新配置的硬 件組件的設(shè)備,其被安排成執(zhí)行第一方面的方法。
結(jié)合。本發(fā)明的這些和其它方面、特征和/或優(yōu)勢將從下文描述的實施例 變得明顯,并將參考所述實施例予以闡述。
附圖簡介
僅作為例子,將參考附圖對本發(fā)明的實施例進(jìn)行描述,其中


圖1舉例說明第 一應(yīng)用和硬件平臺之間的關(guān)系的 一般性示意總圖2舉例說明本發(fā)明的實施例的流程圖;和
圖3舉例說明一種裝備有根據(jù)本發(fā)明實施例的硬件平臺的再現(xiàn)設(shè)備。
具體實施例方式
在本發(fā)明中,可重新配置的硬件被用于在個人具有全部能力詳查應(yīng)用 的平臺上進(jìn)行軟件混淆。軟件載有用于重新配置硬件的指令、以及將要在 新近配置的硬件上執(zhí)行的另外指令。新的配置代表新的平臺,它對于攻擊 者而言還是未知的,這有利于對軟件進(jìn)行混淆。
6在實施例中,硬件平臺的處理器^皮補(bǔ)充以可重新配置的^/f牛組件,其 為現(xiàn)場可編程門陣列(FPGA),在其上軟微處理器被實現(xiàn),即重新配置集
描述了微處理器,因而將可重新配置的邏輯與通用CPU組合在一起。在這
一方案中,專用計算機(jī)語言匯編器將子程序匯編為位屏蔽以配置該邏輯。
典型地,程序的其他的、不太關(guān)鍵的部分能夠通過在CPU上共享它們的時 間而被運(yùn)行。FPGA是包含象或門和與非門之類的可編程邏輯組件的半導(dǎo)體 器件。這樣的門能以可編程的方式被組合為更復(fù)雜的功能,甚至有可能在 FPGA上"編程"微處理器功能性,包括它自己的指令集。通過對FPGA重 新編程,可以獲得新的功能性??梢圆捎每商鎿Q的另外類型的可編程邏輯 器件來代替FPGA,例如復(fù)雜可編程邏輯器件(CPLD)。可以借助于硬件描 述語言(HDL ),例如VHDL和Verilog,通過按照所使用的HDL定義重新 配置集,從而對FPGA的行為進(jìn)行定義。
以實現(xiàn)。在典型的實現(xiàn)中,該硬件平臺可以在諸如硬盤記錄器或DVD設(shè)備 之類的通用計算機(jī)或再現(xiàn)設(shè)備中加以實現(xiàn)。該硬件平臺例如可以是支持可 重新配置的硬件組件的功能性的母板或是其 一部分。
在圖1中舉例說明本發(fā)明的實施例。該圖是第一應(yīng)用IO和硬件平臺 20之間的關(guān)系的一般性示意總圖。在該圖中,軟件應(yīng)用IO在硬件平臺上 被執(zhí)行。硬件平臺20包括可重新配置的硬件組件21和固定硬件組件22。 可重新配置的硬件組件可以是FPGA,而固定硬件組件可以是中央處理器 (CPU)。軟件應(yīng)用10載有指令23,用于按照重新配置集26重新配置可 重新配置的硬件組件,以使得可重新配置的硬件組件被使能處理數(shù)據(jù)和/ 或指令。該軟件應(yīng)用還載有指令24,它對于固定硬件組件是沒有意義的或 至少部分指令是沒有意義的,但是相反地該指令必須至少部分地由可重新 配置的硬件組件進(jìn)行處理。軟件應(yīng)用IO可以是第一應(yīng)用。第一應(yīng)用10響 應(yīng)于在硬件平臺20上被執(zhí)行而生成輸出25。
該輸出可以作為例程的一部分以保證有條件的訪問,例如,如果該輸 出滿足給定的準(zhǔn)則就保證對內(nèi)容的訪問。要滿足的某個或一些特定條件可 以依賴于特定的實施例??梢栽诎凑盏谝粦?yīng)用的輸出(例如它是否滿足給 定的準(zhǔn)則)設(shè)置訪問級別方面表達(dá)有條件的訪問。
圖2舉例說明本發(fā)明的實施例的流程圖。在笫一步驟100中,F(xiàn)PGA(即 可重新配置的硬件組件)被重新配置。在實施例中,在重新配置FPGA之后,固定平臺可以要求重新啟動101。替換地,可以動態(tài)地(on-the-fly ) 重新配置硬件平臺102。對于其中有可能進(jìn)行動態(tài)的重新配置的硬件平臺, 可以依賴于處理過程的中間結(jié)果進(jìn)行頻繁的重新配置。
硬件組件的重新配置可以把硬件平臺設(shè)置成在多個模式中進(jìn)行操作。 一個非窮舉的清單包括可重新配置的硬件組件可以被配置成帶有CPU的 功能來操作103??梢耘渲靡阎匦屡渲玫挠布M件以使得其適合于并行處 理104。為并行執(zhí)行編寫的程序要求特別的反匯編工具,因此可能更難以 進(jìn)行逆向工程??梢耘渲靡阎匦屡渲玫氖M件以形成神經(jīng)網(wǎng)絡(luò)105。神 經(jīng)網(wǎng)絡(luò)可以按照難以理解的方式操作,對于這樣的動作進(jìn)行反匯編有別于 對普通可執(zhí)行代碼或指令進(jìn)行反匯編,因此即使逆向工程不是不可能的, 但也會是非常困難的。
已經(jīng)重新配置可重新配置的硬件組件按照操作模式進(jìn)行操作106之 后,第一應(yīng)用繼續(xù)執(zhí)行107要在已重新配置的硬件組件上執(zhí)行的應(yīng)用部分。 第一應(yīng)用的處理可以在固定硬件組件(例如固定CPU)和已重新配置的硬 件組件之間被共享。該應(yīng)用可以包括代碼來向固定CPU或者已重新配置的 硬件組件指令代碼的什么部分將要在什么地方被執(zhí)行。第一應(yīng)用生成輸 出108以用于進(jìn)一步的動作。
輸出108可以由第一應(yīng)用使用來設(shè)置用戶允許的訪問級別。訪問級別 例如可以授予完全訪問權(quán)或根本無訪問權(quán)。替換地,訪問級別可以授予對 第一或其它應(yīng)用的一組功能性的訪問權(quán)。替換地,該輸出可以被傳送給第 一應(yīng)用之外的另一個實體。例如傳送給核驗器,保證應(yīng)用能夠正確地對質(zhì) 詢作出回應(yīng)。核驗器可以是軟件應(yīng)用、運(yùn)行在已重新配置的硬件組件上的 另一個應(yīng)用、設(shè)備的控制應(yīng)用、在線服務(wù)提供商等。
該輸出可以是該應(yīng)用自身的完整性測試的結(jié)果。應(yīng)用可以執(zhí)行校驗和、 或執(zhí)行其它計算以便檢查該應(yīng)用真正處于原始形式。如果完整性測試是成
功的,則訪問的級別可以被設(shè)置為完全訪問權(quán),替換地訪問的級別可以被 設(shè)置成使得禁止進(jìn)一步使用該應(yīng)用。
替換地(或另外地),該輸出可以是對可重新配置的硬件組件的完整 性測試的結(jié)果(或組合的結(jié)果)。應(yīng)用可以對可重新配置的硬件組件進(jìn)行 測試,以保證實際的功能性與預(yù)期的功能性匹配。
替換地(或另外地),該輸出可以是對在硬件平臺上運(yùn)行的軟件應(yīng)用、 或在硬件平臺上運(yùn)行的軟件應(yīng)用的一部分進(jìn)行的完整性測試的結(jié)果(或組
8合的結(jié)果)。例如,運(yùn)行在固定硬件平臺上的程序。
訪問的級別可以依賴于在硬件平臺上運(yùn)行的第二應(yīng)用的執(zhí)行。第二應(yīng) 用可以是與第一應(yīng)用一起被下載或安裝的、用于可重新配置的硬件組件的 軟件應(yīng)用。第二應(yīng)用可以是在已重新配置的硬件組件上運(yùn)行的安全性應(yīng) 用。第二應(yīng)用也可以是設(shè)備的控制應(yīng)用。
在實施例中,第一應(yīng)用可以使能伴隨加密內(nèi)容的解密指令的執(zhí)行,從 而使能訪問加密內(nèi)容。以下對之進(jìn)一步地詳細(xì)闡述。
已經(jīng)成功地執(zhí)行第一應(yīng)用之后,可以使能進(jìn)一步的操作109,以使得 用戶可以繼續(xù)使用或是第一應(yīng)用的或是與第一應(yīng)用相關(guān)的另一個應(yīng)用的 功能性。
現(xiàn)在結(jié)合訪問受保護(hù)的內(nèi)容來描述根據(jù)本發(fā)明的實施例。即,描述一
個要與數(shù)字版權(quán)管理(DRM)相結(jié)合地被使用的本發(fā)明的實施例。
在圖3中,諸如再現(xiàn)設(shè)備的設(shè)備300裝備有具有處理能力的硬件平臺 301,該硬件平臺被連接到或包括有可重新配置的硬件組件311。該再現(xiàn)設(shè) 備可以是通用計算機(jī)、硬盤記錄器等,其與屏幕313集成在一起或連接到 屏幕313,屏幕313用于顯示諸如視頻之類的圖像數(shù)據(jù);和/或其與音頻設(shè) 備312集成在一起或連接到音頻設(shè)備312,音頻設(shè)備312用于回放例如音 樂之類的聲音;其連接到另一臺計算機(jī)310,計算機(jī)310可能是網(wǎng)絡(luò)的一 部分,等等。該再現(xiàn)設(shè)備還裝備有接口 ,用于把該設(shè)備連接到盤驅(qū)動器303 (例如DVD驅(qū)動器、HD驅(qū)動器、藍(lán)光驅(qū)動器等)、存儲單元304 (例如硬 盤)以及網(wǎng)絡(luò)305 (諸如內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、家庭網(wǎng)絡(luò))。該網(wǎng)絡(luò)可^皮進(jìn)一 步連接到其它單元,包括移動單元306、計算機(jī)307、服務(wù)器308、媒體中 心309、硬盤記錄器等。
設(shè)備300可以包括且典型地將包括另外的或可替換的組件和元件,對 它們沒有結(jié)合本實施例予以描述。
在實施例中,用戶希望訪問受保護(hù)的內(nèi)容,例如下載的電影或存在于 DVD盤或其它存儲設(shè)備314上的電影。該電影可以是經(jīng)過加密的,為了觀 看該電影需要對之進(jìn)行解密。加密內(nèi)容伴隨以解密指令(例如密鑰)、與 解密算法有關(guān)的指令、在哪里發(fā)現(xiàn)嵌入水印的指令,為了能夠回放需要其 存在。笫一應(yīng)用于是可以配置可重新配置的硬件組件311,以使得該再現(xiàn) 設(shè)備能夠執(zhí)行這些任務(wù)。而且重新配置集可以伴隨該內(nèi)容,例如作為盤314 上的數(shù)據(jù)、作為與該內(nèi)容一起被下載的數(shù)據(jù)等。在實施例中,該內(nèi)容采取一種對于標(biāo)準(zhǔn)處理器而言不可理解的數(shù)據(jù)格 式,以及在其中該再現(xiàn)設(shè)備直接由已重新配置的硬件組件控制。
本發(fā)明能夠以任何適合的形式加以實現(xiàn),所述的形式包括硬件、軟件、 固件或它們的任意組合。本發(fā)明或本發(fā)明的一些特征可以被實現(xiàn)為運(yùn)行在 一個或多個數(shù)據(jù)處理器和/或數(shù)字信號處理器上的計算機(jī)軟件。本發(fā)明實 施例的元件或組件能以任何適合的方式得以物理地、功能地和邏輯地實 現(xiàn)。實際上,所述功能性可以在單個單元中、在多個單元中、或是作為其 它功能單元的一部分加以實現(xiàn)。同樣地,本發(fā)明可以在單個單元內(nèi)實現(xiàn), 或者可以-故物理地和功能地分布在不同的單元和處理器之間。
雖然已經(jīng)結(jié)合指定的實施例對本發(fā)明進(jìn)行了描述,但并不打算將本發(fā) 明限定于此處所陳述的特定形式。而是,本發(fā)明的范圍僅由附隨的權(quán)利要 求進(jìn)行限制。在權(quán)利要求中,術(shù)語"包括"并不排除其它元件或步驟的存 在。此外,雖然個體的特征可以被包括在不同的權(quán)利要求中,但這些特征 可能被有利地組合,被包括在不同的權(quán)利要求中并不意味著這些特征的組 合不可行和/或不是有利的。此外,單數(shù)的提及并不排除多個。因此,對
"一"、"一個,,、"第一,,、"第二"等的提及并不排除多個。而且, 權(quán)利要求中的參考符號不應(yīng)被解釋為限制范圍。
權(quán)利要求
1. 在包括可重新配置的硬件組件(21,311)的硬件平臺(20,301)上執(zhí)行計算機(jī)可讀指令的方法,該方法包括-按照重新配置集(26)來重新配置該可重新配置的硬件組件;-至少部分地在已重新配置的硬件組件上執(zhí)行第一應(yīng)用(10),并且從第一應(yīng)用生成輸出(25,108)。
2. 根據(jù)權(quán)利要求1的方法,其中可重新配置的硬件組件是現(xiàn)場可編程 門陣列。
3. 根據(jù)權(quán)利要求1的方法,其中已重新配置的硬件組件具有CPU的功 能(103)。
4. 根據(jù)權(quán)利要求1的方法,其中已重新配置的硬件組件適合于并行處 理(104 )。
5. 根據(jù)權(quán)利要求1的方法,其中已重新配置的硬件組件形成神經(jīng)網(wǎng)絡(luò)(105 )。
6. 根據(jù)權(quán)利要求1的方法,其中依賴于第一應(yīng)用(25, 108 )的輸出而 對訪問級別進(jìn)行設(shè)置。
7. 根據(jù)權(quán)利要求6的方法,其中第一應(yīng)用對自身執(zhí)行完整性測試,以 及其中依賴于該完整性測試而對訪問的級別進(jìn)行設(shè)置。
8. 根據(jù)權(quán)利要求6的方法,其中第一應(yīng)用對可重新配置的硬件組件 (21, 311)進(jìn)行完整性測試,以及其中依賴于該完整性測試而對訪問的級別進(jìn)行設(shè)置。
9. 根據(jù)權(quán)利要求6的方法,其中第一應(yīng)用對運(yùn)行在硬件平臺(20)上 的軟件應(yīng)用進(jìn)行完整性測試,以及其中依賴于該完整性測試而對訪問的級 別進(jìn)行設(shè)置。
10. 根據(jù)權(quán)利要求6的方法,其中訪問的級別還依賴于運(yùn)行在硬件平臺 上的軟件應(yīng)用的執(zhí)行。
11. 根據(jù)權(quán)利要求1的方法,其中第 一應(yīng)用使能執(zhí)行與加密內(nèi)容關(guān)聯(lián)的指令。
12. 根據(jù)權(quán)利要求1的方法,其中重新配置集伴隨以加密內(nèi)容,以及其 中該重新配置集使第一應(yīng)用能執(zhí)行與加密內(nèi)容關(guān)聯(lián)的指令。
13. —種計算機(jī)程序產(chǎn)品,其被安排成使得處理器執(zhí)行權(quán)利要求1的方法。
14.包括硬件平臺(20, 301 )和可重新配置的硬件組件(21, 311)的 設(shè)備(300 ),其中按照重新配置集(26)對該可重新配置的硬件組件進(jìn) 行重新配置;以及第一應(yīng)用(10)至少部分地在已重新配置的硬件組件上 執(zhí)行,由此從笫一應(yīng)用生成輸出(25, 108)。
全文摘要
本發(fā)明涉及在包括可重新配置的硬件組件(311)的硬件平臺(301)上執(zhí)行計算機(jī)可讀指令,其中所述可重新配置的硬件組件(311)諸如是現(xiàn)場可編程門陣列(FPGA)。根據(jù)重新配置集來重新配置該可重新配置的硬件組件,并且至少部分地在已重新配置的硬件組件上執(zhí)行第一應(yīng)用,由此生成一個輸出。本發(fā)明提供一種混淆和防止篡改要在硬件平臺上執(zhí)行的軟件的方式。
文檔編號G06F21/12GK101484877SQ200780025217
公開日2009年7月15日 申請日期2007年7月2日 優(yōu)先權(quán)日2006年7月4日
發(fā)明者B·斯科里克, F·L·A·J·坎帕曼 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武鸣县| 兴文县| 平舆县| 壤塘县| 明水县| 达拉特旗| 商河县| 八宿县| 屯门区| 米脂县| 桃园县| 阜新市| 聊城市| 栾川县| 上犹县| 巨野县| 绥滨县| 卢湾区| 金平| 神池县| 格尔木市| 肇庆市| 汉寿县| 汉川市| 响水县| 增城市| 嘉义市| 乳山市| 咸阳市| 娄底市| 郎溪县| 长泰县| 静海县| 加查县| 启东市| 抚顺县| 高安市| 富平县| 海淀区| 武冈市| 津南区|