新四季網

保護外圍設備附加卡上軟體的方法及系統的製作方法

2023-10-08 18:16:04 1

專利名稱:保護外圍設備附加卡上軟體的方法及系統的製作方法
技術領域:
本發明涉及有關軟體保護方法的領域,特別涉及一種保護外圍設備附加卡上執行軟體的技術。
背景技術:
外圍設備附加卡上的控制晶片,一般而言,在主機上均有與之相關的驅動程序或應用程式來和作業系統配合工作,使外圍設備附加卡能發揮最佳的功能。除此之外,目前的晶片設計上已向多功能化和系統化的整合趨勢發展,為使應用能儘量滿足不同客戶的不同需求,許多外圍設備附加卡上的控制晶片都提供讀寫非易失性內存的接口,這樣驅動程序或應用程式便可指示控制晶片通過接口讀寫儲存在非易失性內存中的必要或客制化的特定數據,如此一來,外圍設備附加卡的製造商便可以自行定義和規劃,達到產品區別的目的。
然而,通過前述的非易失性內存接口讀寫數據時,傳統的作法並未經過適當的安全加密機制防止數據被竊取。一旦取得非易失性內存裡的數據,辛勤研發的外圍設備附加卡和搭配的驅動程序或應用程式等軟、硬體智慧結晶將很容易遭非法抄襲與大量複製。因此,如何保護這些軟、硬體的智慧財產便成為重要的課題。

發明內容
本發明所要解決的技術問題是提供一種保護外圍設備附加卡軟體的機制,防止儲存在非易失性內存的機密數據和程序遭到竊取及抄襲。
本發明所要解決的另一技術問題是提供一種保護外圍設備附加卡上軟體的系統及其方法,防止外圍設備附加卡和搭配的程序等軟、硬體遭到非法大量複製。
為實現上述目的,本發明提供一種保護外圍設備附加卡軟體的方法,適用於安裝在主機外圍總線上的外圍設備附加卡,該方法步驟如下當來自外圍總線的第一重置信號解除時,微控制器從非易失性內存讀取加密過的特定信息;微控制器接著將此信息進行解密,以獲得解密的特定信息;在得到已解密的特定信息之後,微控制器發出第二重置信號;當微處理器收到第二重置信號時,即從微控制器讀取已解密的特定信息;然後,微處理器通過外圍總線傳送已解密的特定信息至主機,進行辨識和驗證。主機會對上述已解密的特定信息進行辨識,若驗證通過,主機開始執行微處理器專用程序,使外圍設備附加卡開始工作。主機所執行的程序通過外圍總線和微處理器,定期地向微控制器發出已加密的詢問信息;微控制器對此詢問信息進行解密,以獲得答覆信息,然後通過微處理器和外圍總線,傳回此答覆信息至主機;接著,主機所執行的程序驗證答覆信息;若答覆信息無法符合詢問詢問信息,則主機停止執行程序。
為實現上述目的,本發明還提供一種保護外圍設備附加卡軟體的系統,由一主機以及一外圍設備附加卡組成,其中,主機具有一外圍總線,而外圍設備附加卡則安裝在外圍總線上。外圍設備附加卡包括一非易失性內存、一微控制器和一微處理器。非易失性內存用來儲存加密過的特定信息。微控制器連接非易失性內存,用來在來自外圍總線的第一重置信號解除時,讀取加密過的特定信息並進行解密,獲得已解密的特定信息,再發出第二重置信號。微處理器連接在外圍總線和微控制器之間,用來在收到第二重置信號之後,從微控制器讀取已解密的特定信息,而且通過外圍總線傳送已解密的特定信息至主機進行辨識和驗證,而且,主機具有微處理器專用程序,當已解密的特定信息通過驗證,主機即執行程序,使外圍設備附加卡開始工作。
為使本發明的目的、構造特徵及其功能有進一步的了解,配合附圖詳細說明如下


圖1是傳統的外圍設備附加卡通過PCI總線和主機連接的方框示意圖;圖2是本發明的外圍設備附加卡通過PCI總線和主機連接方框示意圖;以及圖3是本發明較佳實施例流程圖。
其中,附圖標記說明如下100、200~主機,102、202~微處理器專用程序,110、210~PCI總線,122、222~微處理器,124、224~非易失性內存,226~微控制器,RST#~第一重置信號,P_RST#~第二重置信號具體實施方式
參考圖1,傳統的外圍設備附加卡120由微處理器122和非易失性內存124所組成,微處理器122具有接口126連接非易失性內存124用以讀寫儲存其中的數據,而微處理器122可以用特殊應用集成電路(Application SpecificIntegrated Circuit,ASIC)替代,以微處理器為例,主機100由外圍零件互連(Peripheral Component Interconnect,PCI)總線110控制外圍設備附加卡120上的微處理器122並且與其交換數據。微處理器122專用的驅動程序或應用程式102在開機後加載主機100執行,並且,通過PCI總線110重置信號RST#,對微處理器122進行重置,激活外圍設備附加卡120工作。由於通過接口126讀寫非易失性內存124中的數據時,並未經過適當的安全加密機制防止數據被竊取,因此非易失性內存124的內容很容易被複製,或是以種種手段在接口126上截取非易失性內存124的數據。
本發明採用一內含加/解密機制的微控制器負責非易失性內存中的數據以及外圍設備附加卡其相關的軟體保護工作。微控制器與微處理器的差異,一般而言,微處理器可以提供較多的功能及較強的運算能力,線路設計上也複雜許多,因此,微處理器需要從外部的非易失性內存加載固化程序或從主機加載專用驅動程序才能工作;反之,微控制器大多僅需精簡的固化程序便能工作,而固化程序可以儲存在內嵌於微控制器的只讀存儲器,由於微控制器的設計會針對程序讀取進行保護,因此固化程序無法從外界非法得知,所以採用微控制器來負責加/解密工作,能夠獲得極佳的保密效果。
根據本發明,外圍設備附加卡220由微處理器222、非易失性內存224和微控制器226所組成,如圖2所示,微控制器226具有接口228連接非易失性內存224來讀寫儲存其中的數據,而微處理器222則通過接口230連接微控制器226並對其進行數據的存取,舉例而言,接口230和接口228可以是IC聯機總線(Inter-Integrated Circuit Bus,I2C)的雙線接口,這樣能夠簡化電路設計。主機200具有如PCI總線的外圍總線,一旦微處理器222專用的驅動程序或應用程式202被加載執行,主機200便可通過PCI總線210控制外圍設備附加卡220上的微處理器222並且與之交換數據。
為體現本發明的特徵,接下來以圖2並配合圖3中較佳實施例的流程圖,進一步地說明本發明。由於PCI規格書中規定主機200必須在PCI總線210的重置信號RST#解除一段時間Trhfa(約0.5秒或1秒,視PCI總線的時鐘脈衝頻率而定)後,輪詢連接在PCI總線210上各系統的系統識別碼(Device ID)和銷售商識別碼(Vendor ID)等組態數據,因此本發明的外圍設備附加卡220需在RST#解除後的Trhfa之內得到存放在非易失性內存224中的系統和銷售商識別碼等組態數據。在激活(booting)階段,當來自PCI總線210的RST#信號解除時,微控制器226通過接口228從非易失性內存224讀取加密過的信息(步驟S301),此信息包括系統識別碼和銷售商識別碼等組態數據。然後,微控制器226將此加密過的信息進行解密獲得解密的信息,在得到已解密的組態數據後,微控制器發出重置信號P RST#(步驟S303)。當收到P RST#信號時,微處理器222經由接口230從微控制器226讀取已解密的組態數據(步驟S305)。如前所述,從RST#信號解除開始到微處理器222得到已解密的信息,全部的時間必須設計在Trhfa之內以滿足PCI規格。
接下來,微處理器222通過PCI總線210傳送已解密的組態數據至主機200,以進行辨識和驗證(步驟S307)。主機200會對已解密的系統和銷售商識別碼等組態數據進行識別(步驟S309),檢查加密過的信息是否經過適當的解密得到正確的組態數據(步驟S311)。如果無法通過驗證,有關外圍設備附加卡220的執行程序會被停止,使外圍設備附加卡220無法工作。由於存放在非易失性內存224中的數據是經過微控制器226加密,也只有通過微控制器226才能正確地加以解密,因此,非易失性內存224中的數據即使遭到竊取或複製,也難以了解其中的內容進行抄襲、篡改。
若驗證通過,主機200開始加載執行微處理器專用程序202,以使外圍設備附加卡220開始工作(步驟S321)。為進一步提供更嚴謹的保護措施,主機200所執行的程序202通過PCI總線210和微處理器222,定期向微控制器226發出已加密的詢問信息,其中,該詢問信息是隨機產生並以密鑰值K1進行加密(步驟S323)。微控制器226收到加密過的詢問信息後,以密鑰值K2進行解密獲得答覆信息,然後再通過微處理器222和PCI總線210傳回此答覆信息給主機200(步驟S325)。根據本發明,只要事先約定好,加密用的密鑰值K1可以和解密用的密鑰值K2不相同,當然,兩者也可採用同一密鑰值;再者,可利用諸如RSA或Deffie-Hellman等類的算法進行數據的加/解密,而加/解密的方法並非本發明的範疇,故此處不做詳細說明。
接下來,主機200所執行的程序202驗證傳回的答覆信息(步驟S327)。若驗證通過,主機200繼續執行微處理器專屬程序202,並定期地重複上述步驟;若答覆信息無法符合詢問信息,則主機200所執行的微處理器專用程序202停止工作(步驟S329)。以此方式,微處理器專用程序202能判斷微控制器226是否存在或異常,以確保外圍設備附加卡220不是非法仿製品,因此,可以防止外圍設備附加卡202和搭配的微處理器專用程序202等智慧結晶遭受非法抄襲與大量複製。
以上所述,僅為本發明較佳實施例,但並非用來限定本發明的實施範圍;因此本發明所要求保護的權利要求範圍應以權利要求書所申請保護的權利要求為準。
權利要求
1.一種保護外圍設備附加卡上軟體的方法,適用於安裝在一主機的一外圍總線上的一外圍設備附加卡,其特徵在於該方法包括下列步驟當來自外圍總線的一第一重置信號解除時,由一微控制器從一非易失性內存讀取一加密過的特定信息;微控制器將加密過的特定信息進行解密,獲得一已解密的特定信息;微控制器得到已解密的特定信息後,即發出一第二重置信號;一微處理器收到第二重置信號時,從微控制器讀取已解密的特定信息;以及微處理器通過外圍總線傳送已解密的特定信息至主機,進行辨識和驗證。
2.如權利要求1所述保護外圍設備附加卡上軟體的方法,其特徵在於,還包括下列步驟如果主機辨識已解密的特定信息,而且驗證通過,主機開始執行一微處理器的專用程序,使外圍設備附加卡開始工作;主機所執行的程序通過外圍總線和微處理器,定期地向微控制器發出一已加密的詢問信息;微控制器對已加密的詢問信息進行解密,以獲得一答覆信息;微控制器通過微處理器和外圍總線傳回答覆信息;主機所執行的程序驗證該答覆信息;以及若答覆信息無法符合詢問信息,則主機所執行的程序停止工作。
3.如權利要求2所述保護外圍設備附加卡上軟體的方法,其特徵在於,主機所執行的程序用一第一密鑰值對詢問信息進行加密。
4.如權利要求3所述保護外圍設備附加卡上軟體的方法,其特徵在於,微控制器用一第二密鑰值進行解密得到答覆信息。
5.如權利要求4所述保護外圍設備附加卡上軟體的方法,其特徵在於,第一密鑰值和第二密鑰值相同。
6.如權利要求4所述保護外圍設備附加卡上軟體的方法,其特徵在於,第一密鑰值和第二密鑰值不相同但是經事先約定。
7.如權利要求1所述保護外圍設備附加卡上軟體的方法,其特徵在於,已解密的特定信息包括一系統識別碼及一銷售商識別碼,而且系統識別碼和銷售商識別碼遵循外圍零件互連PCI規格的定義。
8.如權利要求7所述保護外圍設備附加卡上軟體的方法,其特徵在於,第一重置信號是一外圍零件互連PCI重置信號,而且微處理器在外圍零件互連PCI重置信號解除後的一特定時間內,從微控制器讀取系統識別碼及銷售商識別碼。
9.如權利要求8所述保護外圍設備附加卡上軟體的方法,其特徵在於,特定時間是外圍零件互連PCI規格所定義的一段的時間Trhfa。
10.如權利要求2所述保護外圍設備附加卡上軟體的方法,其特徵在於,詢問信息是隨機產生。
11.一種保護外圍設備附加卡上軟體的系統,其特徵在於包括一主機,具有一外圍總線;以及一外圍設備附加卡,連接在該外圍總線上,包括一非易失性內存,用來儲存一加密過的特定信息;一微控制器,連接非易失性內存,用來在來自該外圍總線的一第一重置信號解除時,讀取加密過的特定信息並進行解密而獲得一已解密的特定信息,再發出一第二重置信號;以及一微處理器,連接在外圍總線和微控制器之間,用來在收到第二重置信號之後,從微控制器讀取已解密的特定信息,而且通過外圍總線傳送已解密的特定信息至主機進行辨識和驗證。
12.如權利要求11所述保護外圍設備附加卡上軟體的系統,其特徵在於,主機具有微處理器專用的一程序,當已解密的特定信息通過驗證,主機開始執行程序,使外圍設備附加卡開始工作。
13.如權利要求12所述保護外圍設備附加卡上軟體的系統,其特徵在於,主機所執行的程序具有一第一密鑰值,而且定期地以第一密鑰值對隨機產生的一詢問信息進行加密,並通過外圍總線和微處理器,向微控制器發出已加密的詢問信息。
14.如權利要求13所述保護外圍設備附加卡上軟體的系統,其特徵在於,微控制器具有一第二密鑰值,而且微控制器以第二密鑰值將已加密的詢問信息進行解密得到一答覆信息,並通過微處理器和外圍總線,傳回答覆信息。
15.如權利要求14所述保護外圍設備附加卡上軟體的系統,其特徵在於,主機所執行的程序驗證答覆信息,如果答覆信息無法符合詢問信息,則主機停止執行程序。
16.如權利要求14所述保護外圍設備附加卡上軟體的系統,其特徵在於,第一密鑰值和第二密鑰值相同。
17.如權利要求14所述保護外圍設備附加卡上軟體的系統,其特徵在於,第一密鑰值和第二密鑰值不相同但是經事先約定。
18.如權利要求10所述保護外圍設備附加卡上軟體的系統,其特徵在於,主機的外圍總線是遵循外圍零件互連PCI規格的總線。
19.如權利要求18所述保護外圍設備附加卡上軟體的系統,其特徵在於,已解密的特定信息是包括一系統識別碼及一銷售商識別碼,而且該系統識別碼和銷售商識別碼均遵循外圍零件互連PCI規格的定義。
20.如權利要求19所述保護外圍設備附加卡上軟體的系統,其特徵在於,第一重置信號是一外圍零件互連重置信號,而且微處理器在外圍零件互連重置信號解除後的一特定時間內,從微控制器讀取系統識別碼及銷售商識別碼,而特定時間是外圍零件互連PCI規格所定義的一段的時間Trhfa。
全文摘要
一種保護外圍設備附加卡上軟體的方法及系統,適用於安裝在主機外圍總線上的外圍設備附加卡。當來自外圍總線的第一重置信號解除時,微控制器從非易失性內存讀取加密過的特定信息;接著,將加密過的特定信息進行解密,獲得已解密的特定信息;之後,微控制器發出一第二重置信號;當微處理器收到第二重置信號時,即從微控制器讀取已解密的特定信息;最後,微處理器通過外圍總線傳送已解密的特定信息到主機進行辨識和驗證。若已解密的特定信息通過驗證,主機開始執行微處理器專用程序,使外圍設備附加卡開始工作。
文檔編號G06F9/44GK1517858SQ03101809
公開日2004年8月4日 申請日期2003年1月16日 優先權日2003年1月16日
發明者劉建興, 陳勇志, 沈信成 申請人:威達電股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀