TWI822001B - 演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置 - Google Patents
演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置 Download PDFInfo
- Publication number
- TWI822001B TWI822001B TW111114925A TW111114925A TWI822001B TW I822001 B TWI822001 B TW I822001B TW 111114925 A TW111114925 A TW 111114925A TW 111114925 A TW111114925 A TW 111114925A TW I822001 B TWI822001 B TW I822001B
- Authority
- TW
- Taiwan
- Prior art keywords
- integrated circuit
- algorithm
- specific integrated
- mass production
- key
- Prior art date
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013475 authorization Methods 0.000 claims description 66
- 238000012790 confirmation Methods 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Detergent Compositions (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
本發明關於一種演算法量產授權方法以及演算法加密方法及使用其之量產燒錄工具以及使用其之演算法裝置,此演算法加密方法包括:根據一特定積體電路的一特定金鑰以及通用唯一辨識碼,進行一內容擾亂運算,獲得一加密金鑰;由量產燒錄工具中,接收一演算法代碼庫資料;依序將演算法代碼庫資料,根據加密金鑰,透過一加密演算法,進行加密以獲得一加密資料,並儲存至一非揮發性隨機存取記憶體;以及當特定積體電路進行一演算法時,根據加密金鑰,解碼演算法代碼庫資料。
Description
本發明係關於一種量產授權之應用技術,更進一步來說,本發明係關於一種演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置。
演算法(Algorithm)在數學和電腦科學之中,指一個被定義好的、計算機可施行其指示的有限步驟或次序,常用於計算、數據處理和自動推理。演算法在一般應用上,常用在例如人臉辨識、語音辨識等。而有許多廠商專門販賣這些已經定義好的功能性演算法(Algorithm)的程式之演算代碼庫(Library)。販賣的方式一般是授權使用的裝置數目,並依照上述使用裝置的數目收取授權金。
先前技術中,演算代碼庫(Library)通常是配合客戶的程式,燒錄於一個具有主控積體電路的電路板上。第1圖繪示為先前技術的演算法電路的電路方塊圖。請參考第1圖,此演算法電路包括一主控積體電路101以及一非揮發性隨機存取記憶體102,演算法一般儲存在非揮發性隨機存取記憶體102中。
然而,類似利用授權的方式販售,時常會有有心人士想要破解牟利。一般破解方式不外乎是將非揮發性隨機存取記憶體102中的原始資料(RAW DATA)讀取出,並將演算代碼庫(Library)解析出來。亦或者是將非揮發性隨機存取記憶體102中的原始資料(RAW DATA)讀取出,並且直接燒錄到其他非揮發性隨機存取記憶體102。
因此,為了確保購買的廠商不會使用超過其購買數量的演算代碼庫(Library)的授權,必須確保:
1、燒錄成功次數必須小於等於廠商購買的授權數量。
2、演算代碼庫(Library)無法被解析出來
3、原始資料(RAW DATA)讀取出後無法使用。
本發明的一目的在於提出一種演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置,藉由加密的授權機制,根據授權金,限制購買演算法的廠商的生產次數。
本發明的一目的在於提出一種演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置,藉由將所燒錄的演算法代碼進行加密,使有心人士無法破解儲存在非揮發性記憶體的演算代碼庫(Library)。
本發明提出一種演算法量產授權方法,此演算法量產授權方法包括:根據廠商購買的數量單位,給予一量產燒錄工具一數位授權數字以及一演算法代碼庫資料,其中,該量產燒錄工具具有一第一特定積體電路,其中,該第一特定積體電路具有一第一金鑰以及一第二金鑰;當採用該量產燒錄工具進行一量產燒錄時,包括:判斷該量產燒錄工具是否電性連接一演算法裝置,其中,該演算法裝置具有一第二特定積體電路,其中,該第二特定積體電路具有該第一金鑰以及該第二金鑰;從該演算法代碼庫資料,進行一第一演算,產生一第一解密資料;將該第一解密資料,用該第一金鑰加密,產生一數位簽章;將該數位簽章以及該演算法代碼庫資料傳送給該演算法裝置;該演算法裝置的該第二特定積體電路對該演算法代碼庫資料進行該第一演算,獲得一第二解密資料;該演算法裝置的該第二特定積體電路對該數位簽章用該第二金鑰進行還原運算,獲得該第一解密資料;該演算法裝置的該第二特定積體電路比對該第一解密資料與該第二解密資料是否符合;當判斷符合,該演算法裝置的該第二特定積體電路回傳簽章確認訊息;以及當該量產燒錄工具收到簽章確認訊息,將該數位授權數字減一預設值。
本發明另外提出一種量產燒錄工具,此量產燒錄工具包括一第一特定積體電路、一儲存裝置以及一傳輸界面。第一特定積體電路具有一第一金鑰以及一第二金鑰。儲存裝置內部儲存有一數位授權數字以及一演算法代碼庫資料。當採用量產燒錄工具進行一量產燒錄時,傳輸界面電性連接一演算法裝置,其中,此演算法裝置包括一第二特定積體電路以及一非揮發性隨機存取記憶體。第二特定積體電路同樣具有第一金鑰以及第二金鑰。上述第一特定積體電路對演算法代碼庫資料進行一第一演算,產生一第一解密資料,其中,上述第一特定積體電路將第一解密資料,用第一金鑰加密,產生一數位簽章。上述第一特定積體電路將數位簽章以及演算法代碼庫資料,透過傳輸界面傳送給演算法裝置。上述演算法裝置的第二特定積體電路對演算法代碼庫資料進行第一演算,獲得一第二解密資料,其中,上述演算法裝置的第二特定積體電路對數位簽章用第二金鑰進行還原運算,獲得第三解密資料,其中,上述演算法裝置的第二特定積體電路比對第三解密資料與第二解密資料是否符合,其中,當上述演算法裝置的第二特定積體電路判斷第三解密資料與第二解密資料符合,上述演算法裝置的第二特定積體電路回傳簽章確認訊息;以及,當上述量產燒錄工具由上述傳輸界面收到簽章確認訊息,將上述數位授權數字減一預設值。
依照本發明較佳實施例所述之演算法量產授權方法以及量產授權工具,上述數位授權數字的給予方法包括:根據使用者所購買之該第一特定積體電路之數目,在一伺服器中儲存該數位授權數字;以及當該量產燒錄工具電性連接該伺服器,根據使用者對該演算法授權之下單量以及該第一特定積體電路的庫存數目,更新該量產燒錄工具的該數位授權數字。在本發明較佳實施例中,上述第二特定積體電路與第一特定積體電路係同一型號之特定積體電路。
依照本發明較佳實施例所述之演算法量產授權方法以及量產授權工具,回傳該簽章確認訊息包括:該演算法裝置的該第二特定積體電路將一確認訊息進行該第一演算,產生一第四解密資料;該演算法裝置的該第二特定積體電路對該第四解密資料,用該第一金鑰加密,產生一加密訊息;以及將該確認訊息以及該加密訊息作為該簽章確認訊息傳送給該量產燒錄工具。
依照本發明較佳實施例所述之演算法量產授權方法以及量產授權工具,其中,當該量產燒錄工具收到簽章確認訊息,將該數位授權數字減一預設值包括:該量產燒錄工具的該第一特定積體電路對該確認訊息進行該第一演算,獲得一第五解密資料;該量產燒錄工具的該第一特定積體電路對該加密訊息用該第二金鑰進行還原運算,獲得一第六解密資料;該量產燒錄工具的該第一特定積體電路比對該第五解密資料與該第六解密資料是否符合;以及當判斷符合,將該數位授權數字減一預設值。
本發明另外提出一種演算法加密方法,適用於一量產燒錄工具,此演算法加密方法包括:根據一特定積體電路的一特定金鑰以及該特定積體電路的一通用唯一辨識碼(Universally Unique Identifier,UUID),進行一內容擾亂運算,獲得一加密金鑰;由該量產燒錄工具中,接收一演算法代碼庫資料;依序將該演算法代碼庫資料,根據該加密金鑰,透過一加密演算法,進行加密以獲得一加密資料,並儲存至一非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM);以及當該特定積體電路進行一演算法時,根據該加密金鑰,解碼該加密資料。
本發明另外提出一種演算法裝置,適用於一量產燒錄工具,此演算法裝置包括一特定積體電路、一非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM)以及一傳輸界面。特定積體電路包括一特定金鑰以及該特定積體電路的一通用唯一辨識碼(Universally Unique Identifier,UUID)。非揮發性隨機存取記憶體電性連接上述特定積體電路。其中,特定積體電路將該特定金鑰以及該通用唯一辨識碼進行一內容擾亂運算,獲得一加密金鑰。當量產燒錄工具透過傳輸界面,傳送一演算法代碼庫資料時,特定積體電路依序將演算法代碼庫資料,根據加密金鑰,透過一加密演算法,進行加密以獲得一加密資料,並儲存至一非揮發性隨機存取記憶體,其中,當特定積體電路進行一演算法時,根據加密金鑰,解碼加密資料。
依照本發明較佳實施例所述之演算法加密方法以及演算法裝置,上述特定金鑰係由硬體內建於特定積體電路內部且無法由外部腳位讀取。在本發明較佳實施例中,上述內容擾亂運算由內建於特定積體電路之一硬體運算電路實施。
本發明的精神在於將數位授權數字與代碼置入一量產燒錄工具,並且透過加密數位簽章的方式進行燒錄,簽章完成才扣除數位授權數字,使廠商限制燒錄次數在購買次數,並且無法破解數位授權數字的扣除。再者,為了防堵代碼被破解,本發明採用通用唯一辨識碼(Universally Unique Identifier,UUID)以及內建於演算法裝置的特定金鑰額外產生加密金鑰,故即便通用唯一辨識碼被讀取,也無法解密出燒錄於非揮發性隨機存取記憶體的資料。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
第2圖繪示為本發明一較佳實施例的量產燒錄工具的電路方塊圖。請參考第2圖,此量產燒錄工具20包括一第一特定積體電路201、一儲存裝置202以及一傳輸界面203。第一特定積體電路201一般來說是一個具有運算能力的積體電路,例如微處理器、主控積體電路。在此實施例中,第一特定積體電路201內部具有一第一金鑰以及一第二金鑰。上述第一金鑰以及上述第二金鑰是為了進行簽章使用。
儲存裝置202內部儲存有一數位授權數字以及一演算法代碼庫資料。除了上述數位授權數字以及演算法代碼庫資料外,還包括廠商的程式碼。一般的情況下,廠商的程式碼和演算法代碼庫資料會被包裝成一個唯讀映像檔案(ROM Image File)。數位授權數字則是根據廠商所購買的演算法的授權數目而決定。
一般來說,廠商可以透過網路下單系統,向積體電路設計廠商進行下單。第3圖繪示為本發明一較佳實施例的客戶下單更新量產燒錄工具的方法之流程圖。請參考第3圖,此客戶下單更新量產燒錄工具的方法包括:
步驟S300:開始。
步驟S301:將量產燒錄工具20連接上網並連接上指定伺服器。
步驟S302:判斷所連接的客戶的積體電路之庫存是否大於等於客戶之下單量。一般來說,積體電路廠商會將演算法的販售和自己開發的運算積體電路綁定出售。當判斷為是,則進行步驟S303。當判斷為否,則進行步驟S304。
步驟S303:將授權資料寫入量產燒錄工具20。也就是上述數位授權數字。
步驟S304:告知庫存不足無法授權。
當量產燒錄工具20更新完畢後,廠商便可以開始進行量產燒錄程序。也就是將量產燒錄工具透過傳輸界面203電性連接演算法裝置21,並開始進行上述唯讀映像檔案(ROM Image File)燒錄程序。
請參考第2圖,當採用量產燒錄工具20進行量產燒錄時,傳輸界面203電性連接演算法裝置21。在此實施例中,此演算法裝置21包括一第二特定積體電路211以及一非揮發性隨機存取記憶體212。第二特定積體電路211同樣具有第一金鑰以及第二金鑰。在較佳實施例中,第二特定積體電路211可以和第一特定積體電路201係同一型號之特定積體電路。
在開始量產燒錄時,第一特定積體電路201對演算法代碼庫資料(例如上述唯讀映像檔案)進行一第一演算,產生一第一解密資料。在此實施例中,第一演算例如是上述唯讀映像檔案進行雜湊運算,第一解密資料例如是上述雜湊運算獲得的雜湊值。
接下來,上述第一特定積體電路201將上述第一解密資料(雜湊值),用第一金鑰加密,產生一數位簽章。接著,上述第一特定積體電路201將產生的數位簽章以及演算法代碼庫資料(例如上述唯讀映像檔案),透過傳輸界面傳送給演算法裝置21。
之後,上述演算法裝置的第二特定積體電路211對演算法代碼庫資料(例如上述唯讀映像檔案)進行第一演算,獲得一第二解密資料。同樣的,第一演算例如是上述唯讀映像檔案進行雜湊運算,第一解密資料例如是上述雜湊運算獲得的雜湊值。接下來,上述演算法裝置21的第二特定積體電路211對數位簽章用第二金鑰進行還原運算,獲得第三解密資料。由於數位簽章是使用非對稱加密,故加密與解密會分別使用不同的金鑰。由於在此步驟中,並不能確認所接收的數位簽章是否正確,故在此以第三解密資料這個名詞以區隔上述第一解密資料。
之後,上述演算法裝置21的第二特定積體電路211比對第二解密資料(雜湊值)與第三解密資料是否符合,其中,當上述演算法裝置21的第二特定積體電路211判斷第三解密資料與第二解密資料符合,上述演算法裝置21的第二特定積體電路211回傳簽章確認訊息。當上述量產燒錄工具由上述傳輸界面收到簽章確認訊息,將上述數位授權數字減一預設值。
在較佳的實施例中,回傳簽章確認訊息仍需要進行非對稱加密。同樣的,演算法裝置21的第二特定積體電路211將一確認訊息進行上述第一演算(例如雜湊運算),產生一第四解密資料(例如雜湊值)。接下來,演算法裝置21的第二特定積體電路211對上述第四解密資料(雜湊值),用第一金鑰加密,產生一加密訊息。之後,將確認訊息以及加密訊息作為簽章確認訊息傳送給該量產燒錄工具20。
之後,當量產燒錄工具20收到簽章確認訊息後,量產燒錄工具20的第一特定積體電路201對確認訊息進行第一演算(例如雜湊運算),獲得一第五解密資料(雜湊值)。接著,量產燒錄工具20的第一特定積體電路201對加密訊息用第二金鑰進行還原運算,獲得一第六解密資料。量產燒錄工具20的第一特定積體電路201比對第五解密資料(雜湊值)與第六解密資料是否符合。當判斷符合,將數位授權數字減一預設值。
上述實施例可以被歸納成一個演算法量產授權方法,第4圖繪示為本發明一較佳實施例的演算法量產授權方法之量產燒錄工具端的流程圖。請參考第4圖,此演算法量產授權方法之量產燒錄工具端的流程步驟包括:
步驟S400:開始。
步驟S401:根據廠商購買的數量單位,給予一量產燒錄工具一數位授權數字以及一演算法代碼庫資料。如第3圖的步驟。
步驟S402:判斷該量產燒錄工具是否電性連接演算法裝置。
步驟S403:進行一第一演算,產生一第一解密資料。如上述實施例,擷取演算法代碼庫資料(例如上述唯讀映像檔案)。
步驟S404:將第一解密資料,用該第一金鑰加密,產生一數位簽章。將上述演算法代碼庫資料(例如上述唯讀映像檔案)的雜湊值加密產生數位簽章。
步驟S405:將數位簽章以及演算法代碼庫資料(例如上述唯讀映像檔案)傳送給演算法裝置。
步驟S406:判斷是否收到簽章確認訊息。
步驟S407:當收到簽章確認訊息,將數位授權數字減一預設值。
第5圖繪示為本發明一較佳實施例的演算法量產授權方法之演算法裝置端的流程圖。請參考第5圖,此演算法量產授權方法之演算法裝置端的流程步驟包括:
步驟S500:開始。
步驟S501:接收資料。如上述的數位簽章以及演算法代碼庫資料(例如上述唯讀映像檔案)。
步驟S502:將收到的演算法代碼庫資料(例如上述唯讀映像檔案)進行第一演算(例如雜湊運算),獲得一第二解密資料(例如雜湊值)。此步驟由演算法裝置21的第二特定積體電路211進行。
步驟S503:將數位簽章用第二金鑰進行還原運算,獲得該第三解密資料。同樣的道理,由於第二特定積體電路211具有第二金鑰,故此步驟由演算法裝置21的第二特定積體電路211進行。
步驟S504:判斷第三解密資料與第二解密資料是否符合。當判斷符合,進行步驟S505。當判斷不符合,進行步驟S506。
步驟S505:回傳簽章確認訊息。
步驟S506:回傳錯誤訊息並放棄燒錄。
上述實施例雖然是以雜湊運算作為舉例,所屬技術領域具有通常知識者應當知道,有許多運算可以取代雜湊運算,故本發明不以此為限。同樣的,上述非對稱加密簽章可以使用例如RSA、數位簽章算法(Digital Signature Algorithm,DSA)等,在此不予贅述。
上述實施例是為了確認廠商不會進行超過授權範圍的燒錄。以下實施例則是為了確保演算法代碼庫資料不會被破解。
第6圖繪示為本發明一較佳實施例的演算法裝置的電路方塊圖。請參考第6圖,此演算法裝置60包括一特定積體電路601、一非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM)602以及一傳輸界面603。特定積體電路601包括一特定金鑰以及特定積體電路的一通用唯一辨識碼(Universally Unique Identifier,UUID)。在此實施例中,僅有一個特定金鑰,與上述實施例的簽章有所不同的原因在於,非對稱加密的運算速度(加解密速度)極其緩慢,不適合對較大的檔案(例如上述唯讀映像檔案)加密。故在此實施例中,採用對稱式演算法,故此特定金鑰變得格外重要。
在此較佳實施例中,為了讓特定金鑰能夠不被得知,此特定金鑰係由硬體內建於上述特定積體電路601內部且無法由外部腳位讀取。舉例來說,此特定金鑰並不電性連接上述特定積體電路的任何接腳,只有內部電路可以觸發,而不能存取。在燒錄之前,上述特定積體電路601將上述特定金鑰以及特定積體電路601的通用唯一辨識碼進行一內容擾亂運算,獲得一加密金鑰。此加密金鑰才是實際上使用的加密金鑰。由於每一個特定積體電路601都有不同的通用唯一辨識碼,故每一個演算法裝置的加密金鑰皆不同。又,為了更加保證安全,在此實施例中,此內容擾亂運算由內建於特定積體電路之一硬體運算電路實施。也就是說,此內容擾亂運算是除了設計者外,沒有任何其他人可以得知。故有心人士即便獲得特定金鑰,也無法得知內容擾亂運算,也無法獲得加密金鑰。
當量產燒錄工具20透過傳輸界面,傳送一演算法代碼庫資料(例如上述唯讀映像檔案)時,上述特定積體電路601依序將演算法代碼庫資料(例如上述唯讀映像檔案),根據演算過後的加密金鑰,透過一加密演算法,進行加密以獲得一加密資料,並儲存至一非揮發性隨機存取記憶體602。在此實施例中,例如可以使用進階加密標準(Advanced Encryption Standard,AES)作為實施例。然而,所屬技術領域具有通常知識者可以使用其他對稱加密,例如資料加密標準(Data Encryption Standard,DES)。故本發明不以此為限。
當特定積體電路601進行上述演算法時,便根據上述演算法,將特定金鑰和特定積體電路601本身的通用唯一辨識碼運算獲得加密金鑰,並以此加密金鑰解碼上述加密資料獲得演算法代碼庫資料(例如上述唯讀映像檔案)。
第7圖繪示為本發明一較佳實施例的演算法加密方法的流程圖。請參考第7圖,此演算法加密方法包括下列步驟:
步驟S700:開始。
步驟S701:根據一特定積體電路的一特定金鑰以及該特定積體電路的一通用唯一辨識碼(Universally Unique Identifier,UUID),進行一內容擾亂運算,獲得一加密金鑰。
步驟S702:由該量產燒錄工具中,接收一演算法代碼庫資料。
步驟S703:依序將該演算法代碼庫資料,根據該加密金鑰,透過一加密演算法,進行加密以獲得一加密資料,並儲存至一非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM)。
由上述實施例可以知道,上述實施例採用了多重保險的加密,有心人士除了需知道特定金鑰外,還要知道內容擾亂運算以及通用唯一辨識碼才有機會獲得真實的加密金鑰。故本實施例可以確保演算法的保密性以及安全性,不會被破解。
綜上所述,本發明的精神在於將數位授權數字與代碼置入一量產燒錄工具,並且透過加密數位簽章的方式進行燒錄,簽章完成才扣除數位授權數字,使廠商限制燒錄次數在購買次數,並且無法破解數位授權數字的扣除。再者,為了防堵代碼被破解,本發明採用通用唯一辨識碼(Universally Unique Identifier,UUID)以及內建於演算法裝置的特定金鑰額外產生加密金鑰,故即便通用唯一辨識碼被讀取,也無法解密出燒錄於非揮發性隨機存取記憶體的資料。
在較佳實施例之詳細說明中所提出之具體實施例僅用以方便說明本發明之技術內容,而非將本發明狹義地限制於上述實施例,在不超出本發明之精神及以下申請專利範圍之情況,所做之種種變化實施,皆屬於本發明之範圍。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
101:主控積體電路
102:非揮發性隨機存取記憶體
20:量產燒錄工具
201:第一特定積體電路
202:儲存裝置
203:傳輸界面
S300~S304:本發明一較佳實施例的客戶下單更新量產燒錄工具的方法之流程
21:演算法裝置
211:第二特定積體電路
212:非揮發性隨機存取記憶體
S400~S407:本發明一較佳實施例的演算法量產授權方法之量產燒錄工具端的流程
S500~S506:本發明一較佳實施例的演算法量產授權方法之演算法裝置端的流程
60:演算法裝置
601:特定積體電路
602:非揮發性隨機存取記憶體
S700~S703:本發明一較佳實施例的演算法加密方法的流程
第 1 圖繪示為先前技術的演算法電路的電路方塊圖。
第2圖繪示為本發明一較佳實施例的量產燒錄工具的電路方塊圖。
第3圖繪示為本發明一較佳實施例的客戶下單更新量產燒錄工具的方法之流程圖。
第4圖繪示為本發明一較佳實施例的演算法量產授權方法之量產燒錄工具端的流程圖。
第5圖繪示為本發明一較佳實施例的演算法量產授權方法之演算法裝置端的流程圖。
第6圖繪示為本發明一較佳實施例的演算法裝置的電路方塊圖。
第7圖繪示為本發明一較佳實施例的演算法加密方法的流程圖。
:
S700~S703:本發明一較佳實施例的演算法加密方法的流程
Claims (16)
- 一種演算法量產授權方法,包括:根據廠商購買的數量單位,給予一量產燒錄工具一數位授權數字以及一演算法代碼庫資料,其中,該量產燒錄工具具有一第一特定積體電路,其中,該第一特定積體電路具有一第一金鑰以及一第二金鑰;當採用該量產燒錄工具進行一量產燒錄時,包括:判斷該量產燒錄工具是否電性連接一演算法裝置,其中,該演算法裝置具有一第二特定積體電路,其中,該第二特定積體電路具有該第一金鑰以及該第二金鑰;從該演算法代碼庫資料,進行一第一演算,產生一第一解密資料;將該第一解密資料,用該第一金鑰加密,產生一數位簽章;將該數位簽章以及該演算法代碼庫資料傳送給該演算法裝置;該演算法裝置的該第二特定積體電路對該演算法代碼庫資料進行該第一演算,獲得一第二解密資料;該演算法裝置的該第二特定積體電路對該數位簽章用該第二金鑰進行還原運算,獲得一第三解密資料;該演算法裝置的該第二特定積體電路比對該第三解密資料與該第二解密資料是否符合;當判斷符合,該演算法裝置的該第二特定積體電路回傳簽章確認(Certification Acknowledgement)訊息;以及當該量產燒錄工具收到簽章確認訊息,將該數位授權數字減一預設值。
- 如請求項第1項所記載之演算法量產授權方法,其中,該數位授權數字的給予方法包括:根據使用者所購買之該第一特定積體電路之數目,在一伺服器中儲存該數位授權數字;以及當該量產燒錄工具電性連接該伺服器,根據使用者對該演算法授權之下單量以及該第一特定積體電路的庫存數目,更新該量產燒錄工具的該數位授權數字。
- 如請求項第1項所記載之演算法量產授權方法,其中,該第二特定積體電路與該第一特定積體電路係同一型號之特定積體電路。
- 如請求項第1項所記載之演算法量產授權方法,其中,回傳該簽章確認訊息包括:該演算法裝置的該第二特定積體電路將一確認訊息進行該第一演算,產生一第四解密資料;該演算法裝置的該第二特定積體電路對該第四解密資料,用該第一金鑰加密,產生一加密訊息;以及將該確認訊息以及該加密訊息作為該簽章確認訊息傳送給該量產燒錄工具。
- 如請求項第4項所記載之演算法量產授權方法,其中,當該量產燒錄工具收到簽章確認訊息,將該數位授權數字減一預設值包括:該量產燒錄工具的該第一特定積體電路對該確認訊息進行該第一演算,獲得一第五解密資料;該量產燒錄工具的該第一特定積體電路對該加密訊息用該第二金鑰進行還原運算,獲得一第六解密資料;該量產燒錄工具的該第一特定積體電路比對該第五解密資料與該第六解密資料是否符合;以及當判斷符合,將該數位授權數字減一預設值。
- 一種量產燒錄工具,包括:一第一特定積體電路,具有一第一金鑰以及一第二金鑰;一儲存裝置,內部儲存有一數位授權數字以及一演算法代碼庫資料;以及一傳輸界面;當採用該量產燒錄工具進行一量產燒錄時,該傳輸界面電性連接一演算法裝置,其中,該演算法裝置包括:一第二特定積體電路,具有該第一金鑰以及該第二金鑰;以及一非揮發性隨機存取記憶體;其中,該第一特定積體電路對該演算法代碼庫資料進行一第一演算,產生一第一解密資料,其中,該第一特定積體電路將該第一解密資料,用該第一金鑰加密,產生一數位簽章,其中,該第一特定積體電路將該數位簽章以及該演算法代碼庫資料,透過該傳輸界面傳送給該演算法裝置,其中,該演算法裝置的該第二特定積體電路對該演算法代碼庫資料進行該第一演算,獲得一第二解密資料,其中,該演算法裝置的該第二特定積體電路對該數位簽章用該第二金鑰進行還原運算,獲得一第三解密資料,其中,該演算法裝置的該第二特定積體電路比對該第三解密資料與該第二解密資料是否符合,其中,當該演算法裝置的該第二特定積體電路判斷該第三解密資料與該第二解密資料符合,該演算法裝置的該第二特定積體電路回傳簽章確認訊息;以及其中,當該量產燒錄工具由該傳輸界面收到簽章確認訊息,將該數位授權數字減一預設值。
- 如請求項第6項所記載之量產燒錄工具,其中,該數位授權數字的給予方法包括:根據使用者所購買之該第一特定積體電路之數目,在一伺服器中儲存該數位授權數字;以及當該量產燒錄工具電性連接該伺服器,根據使用者對該演算法授權之下單量以及該第一特定積體電路的庫存數目,更新該量產燒錄工具的該數位授權數字。
- 如請求項第6項所記載之量產燒錄工具,其中,該第二特定積體電路與該第一特定積體電路係同一型號之特定積體電路。
- 如請求項第6項所記載之量產燒錄工具,其中,回傳該簽章確認訊息包括:該演算法裝置的該第二特定積體電路將一確認訊息進行該第一演算,產生一第四解密資料;該演算法裝置的該第二特定積體電路對該第四解密資料,用該第一金鑰加密,產生一加密訊息;以及將該確認訊息以及該加密訊息作為該簽章確認訊息傳送給該量產燒錄工具。
- 如請求項第9項所記載之量產燒錄工具,其中,當該量產燒錄工具收到簽章確認訊息,將該數位授權數字減一預設值包括:該量產燒錄工具的該第一特定積體電路對該確認訊息進行該第一演算,獲得一第五解密資料;該量產燒錄工具的該第一特定積體電路對該加密訊息用該第二金鑰進行還原運算,獲得一第六解密資料;該量產燒錄工具的該第一特定積體電路比對該第五解密資料與該第六解密資料是否符合;以及當判斷符合,將該數位授權數字減一預設值。
- 一種演算法加密方法,適用於一量產燒錄工具,該演算法加密方法包括:根據一特定積體電路的一特定金鑰以及該特定積體電路的一通用唯一辨識碼(Universally Unique Identifier,UUID),進行一內容擾亂運算,獲得一加密金鑰;由該量產燒錄工具中,接收一演算法代碼庫資料;依序將該演算法代碼庫資料,根據該加密金鑰,透過一加密演算法,進行加密以獲得一加密資料,並儲存至一非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM);以及當該特定積體電路進行一演算法時,根據該加密金鑰,解碼該加密資料。
- 如請求項第11項所記載之演算法加密方法,其中,該特定金鑰係由硬體內建於特定積體電路內部且無法由外部腳位讀取。
- 如請求項第11項所記載之演算法加密方法,其中,該內容擾亂運算由內建於特定積體電路之一硬體運算電路實施。
- 一種演算法裝置,適用於一量產燒錄工具,該演算法裝置包括:一特定積體電路,包括一特定金鑰以及該特定積體電路的一通用唯一辨識碼(Universally Unique Identifier,UUID);一非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM),電性連接該特定積體電路;以及一傳輸界面;其中,該特定積體電路將該特定金鑰以及該通用唯一辨識碼進行一內容擾亂運算,獲得一加密金鑰;其中,當該量產燒錄工具透過該傳輸界面,傳送一演算法代碼庫資料時,該特定積體電路依序將該演算法代碼庫資料,根據該加密金鑰,透過一加密演算法,進行加密以獲得一加密資料,並儲存至一非揮發性隨機存取記憶體(Non-Volatile Random Access Memory,NVRAM),其中,當該特定積體電路進行一演算法時,根據該加密金鑰,解碼該加密資料。
- 如請求項第14項所記載之演算法裝置,其中,該特定金鑰係由硬體內建於特定積體電路內部且無法由外部腳位讀取。
- 如請求項第14項所記載之演算法裝置,其中,該內容擾亂運算由內建於特定積體電路之一硬體運算電路實施。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111114925A TWI822001B (zh) | 2022-04-20 | 2022-04-20 | 演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111114925A TWI822001B (zh) | 2022-04-20 | 2022-04-20 | 演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202343286A TW202343286A (zh) | 2023-11-01 |
TWI822001B true TWI822001B (zh) | 2023-11-11 |
Family
ID=89720595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111114925A TWI822001B (zh) | 2022-04-20 | 2022-04-20 | 演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI822001B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200629068A (en) * | 2004-09-10 | 2006-08-16 | Ibm | An integrated circuit chip for encryption and decryption having a secure mechanism for programming ON-chip hardware |
US20120036368A1 (en) * | 2008-10-10 | 2012-02-09 | CompuGroup Medical AG | Data Processing System for Providing Authorization Keys |
CN113434853A (zh) * | 2021-07-01 | 2021-09-24 | 北京忆芯科技有限公司 | 一种将固件烧录至存储设备的方法及控制器 |
CN114189337A (zh) * | 2021-11-18 | 2022-03-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固件烧录方法、装置、设备以及存储介质 |
-
2022
- 2022-04-20 TW TW111114925A patent/TWI822001B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200629068A (en) * | 2004-09-10 | 2006-08-16 | Ibm | An integrated circuit chip for encryption and decryption having a secure mechanism for programming ON-chip hardware |
US20120036368A1 (en) * | 2008-10-10 | 2012-02-09 | CompuGroup Medical AG | Data Processing System for Providing Authorization Keys |
CN113434853A (zh) * | 2021-07-01 | 2021-09-24 | 北京忆芯科技有限公司 | 一种将固件烧录至存储设备的方法及控制器 |
CN114189337A (zh) * | 2021-11-18 | 2022-03-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固件烧录方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TW202343286A (zh) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7270193B2 (en) | Method and system for distributing programs using tamper resistant processor | |
KR100912276B1 (ko) | 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템 | |
US7313828B2 (en) | Method and apparatus for protecting software against unauthorized use | |
WO2021128244A1 (zh) | 一种注册授权方法及系统 | |
EP1942430B1 (en) | Token Passing Technique for Media Playback Devices | |
KR100236697B1 (ko) | 소프트웨어 복사 처리 장치 | |
US9305173B2 (en) | Portable authorization device for authorizing use of protected information and associated method | |
KR100735503B1 (ko) | 정보 송신 시스템, 장치 및 방법 및 정보 수신 시스템,장치 및 방법 | |
JP3540543B2 (ja) | ソフトウェアコピー処理装置、ソフトウェアコピー処理方法およびソフトウェアをコピーするプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2001175468A (ja) | ソフトウエア使用制御方法とその装置 | |
TWI691857B (zh) | 數位版權管理系統與數位版權保護方法 | |
JP2001094554A (ja) | 情報送信システム、情報送信装置、情報受信装置、情報送信方法 | |
EP1837789A2 (en) | Method and apparatus for temporarily accessing content using temporary license | |
JP4541901B2 (ja) | 保護情報の使用を権限付与する携帯用権限付与装置及び関連方法 | |
JP2000115154A (ja) | 記憶装置および方法、復号装置および方法、提供媒体、並びに情報記憶媒体 | |
US20190044709A1 (en) | Incorporating software date information into a key exchange protocol to reduce software tampering | |
JP6669609B2 (ja) | データの取引システム及びプログラム | |
EP1471405A1 (en) | Method and device for protecting information against unauthorised use | |
JP2001067324A (ja) | 情報送信システム、情報送信装置及び情報受信装置 | |
JP2001083874A (ja) | 情報提供システム、情報規制装置、情報受信装置及び情報提供方法 | |
TWI822001B (zh) | 演算法量產授權方法以及演算法加密方法、使用其之量產燒錄工具以及使用其之演算法裝置 | |
JP2001092880A (ja) | 情報提供システム、リスト送信装置、情報受信装置及び情報提供方法 | |
JP2001075871A (ja) | データ管理システム、管理装置、データ格納装置及びデータ管理方法 | |
JP2001067795A (ja) | 情報受信システム及び情報受信装置 | |
US11748459B2 (en) | Reducing software release date tampering by incorporating software release date information into a key exchange protocol |