亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

Otp寄存器讀寫裝置制造方法

文檔序號:6765983閱讀:612來源:國知局
Otp寄存器讀寫裝置制造方法
【專利摘要】本實用新型涉及讀寫裝置,公開了一種OTP寄存器讀寫裝置。本實用新型中,OTP寄存器讀寫裝置包含:SHA運算器、寫控制器、讀控制器與OTP寄存器。SHA運算器將待寫入到一次性編程OTP寄存器中的芯片標識符進行安全散列算法SHA的運算;寫控制器將經(jīng)SHA加密后的芯片標識符寫入到OTP寄存器中未被編程過的設(shè)定地址內(nèi);讀控制器讀取OTP寄存器中存儲的芯片標識符;SHA運算器再對讀取的加密后的芯片標識符進行SHA運算加密;最后用戶得到經(jīng)過兩次加密后的芯片標識符。與現(xiàn)有技術(shù)相比,本實用新型中最終顯示給用戶的芯片標識符經(jīng)過兩次加密處理,由于SHA運算器的運算過程是單向不可逆的,所以即使是黑客也很難根據(jù)最終顯示給用戶的芯片標識符來逆向推斷出OTP寄存器里面真實的芯片標識符,同時保護OTP寄存器不被損壞。
【專利說明】OTP寄存器讀寫裝置【技術(shù)領(lǐng)域】
[0001]本實用新型涉及讀寫裝置,特別涉及OTP寄存器讀寫裝置。
【背景技術(shù)】
[0002]隨著嵌入式應(yīng)用的越來越廣泛,產(chǎn)品的安全也顯得越來越重要。一方面是為了保護硬件設(shè)計,另外一方面也是為了產(chǎn)品本身的安全,防止被黑客攻擊(HACKED)。為了保護芯片中的數(shù)據(jù),越來越多的廠商在芯片內(nèi)部提供了一種特殊的寄存器=OTP寄存器(One TimeProgrammable, 一次性編程寄存器)。OTP寄存器是每位信息都是一次性寫入,不可重寫,掉電不丟失數(shù)據(jù),可以反復讀出數(shù)據(jù)。
[0003]芯片標識符Chip ID具有唯一性和不可更改的要求,所以目前通常都使用OTP寄存器來實現(xiàn)。目前的OTP寄存器讀寫裝置如圖1所示,包含系統(tǒng)接口、合并器、讀控制器、寫控制器和OTP寄存器。系統(tǒng)接口用于接收用戶設(shè)定的值和廠商設(shè)定的值,并可以返回讀取數(shù)據(jù);合并器將用戶設(shè)定的值和廠商設(shè)定的值進行合并;寫控制器將合并后的數(shù)據(jù)寫入OTP寄存器;讀控制器讀取OTP寄存器中存儲的數(shù)據(jù),并將讀取數(shù)據(jù)輸入到系統(tǒng)接口 ;系統(tǒng)接口將讀取數(shù)據(jù)返回給用戶。
[0004]通常情況下,將設(shè)定的Chip ID寫入到OTP寄存器是使用電子熔絲e-Fuse實現(xiàn)的,從硅片代工廠生產(chǎn)出來時,所有芯片都是同樣的值,比如說16位0x0,當把設(shè)定的Chip ID寫入到OTP寄存器時后,芯片的值可以改成設(shè)定的Chip ID,比如說是16位的0x1,最后一位改變了,最后系統(tǒng)讀到的值就是設(shè)定的Chip ID。這個過程中芯片的外部雖然沒有變化,但是由于e-Fuse對芯片的物理影響比較大,如果把這顆芯片解剖分析,就很容易發(fā)現(xiàn)改寫的位,用光學顯微鏡就能很容易逆向分析破解這些Chip ID。當然也可以把未寫入設(shè)定的Chip ID的芯片(對應(yīng)ID為0x0)改寫為0x1,實現(xiàn)復制拷貝。這樣就對產(chǎn)品本身的安全性造成很大的威脅。
[0005]同時,寫控制器將接收到的待寫入數(shù)據(jù)直接寫入到OTP寄存器中的設(shè)定地址內(nèi),如果上述OTP寄存器中的設(shè)定地址內(nèi)已經(jīng)被編程過,那么上述OTP寄存器中的設(shè)定地址內(nèi)的數(shù)據(jù)段很可能會因重復寫入而遭到損壞。

【發(fā)明內(nèi)容】

[0006]本實用新型的目的在于提供一種OTP寄存器讀寫裝置,使得用戶和廠商使用OTP寄存器可以得到唯一的芯片標識符Chip ID,且難以被逆向破解和非法復制,同時保護OTP寄存器不被損壞。
[0007]為解決上述技術(shù)問題,本實用新型提供了一種OTP寄存器讀寫裝置,包含:SHA運算器、寫控制器、讀控制器與OTP寄存器;
[0008]所述寫控制器、所述讀控制器均與所述SHA運算器相連接;0ΤΡ寄存器與所述寫控制器和所述讀控制器相連接;
[0009]所述SHA運算器用于對輸入數(shù)據(jù)進行安全散列算法SHA的運算;該SHA運算器的輸入端口接收待寫入到一次性編程OTP寄存器中的芯片標識符,并將經(jīng)所述SHA加密后的芯片標識符通過輸出端口輸入到所述寫控制器;或者,該SHA運算器的輸入端口接收所述讀控制器輸出的數(shù)據(jù),并將經(jīng)所述SHA加密后的讀取數(shù)據(jù)通過輸出端口輸出給用戶;
[0010]所述寫控制器將所述加密后的芯片標識符寫入到所述OTP寄存器中尚未被編程過的的設(shè)定地址內(nèi);
[0011]所述讀控制器讀取所述OTP寄存器中所述設(shè)定地址內(nèi)的數(shù)據(jù)。
[0012]本實用新型實施方式相對于現(xiàn)有技術(shù)而言,SHA運算器將待寫入到OTP寄存器的芯片標識符Chip ID進行加密,該加密的Chip ID與所述待寫入到OTP寄存器中的Chip ID不同,因此可以對所述待寫入到OTP寄存器中的Chip ID進行加密保護,防止被破解;并且,SHA運算器將從OTP寄存器中讀取的所述加密的Chip ID進行二次加密,使最終顯示給用戶的Chip ID經(jīng)過兩次加密處理,所述顯示給用戶的Chip ID跟寫入到OTP寄存器中的經(jīng)過一次加密的Chip ID也不相同,這樣就對待寫入到OTP寄存器中的Chip ID作了進一步的加密保護。由于SHA運算器的運算過程是單向不可逆的,所以即使是黑客也很難根據(jù)最終顯示給用戶的Chip ID來逆向推斷出OTP寄存器里面存儲的Chip ID。另外,SHA運算器是把不定長度的一串消息,加以特定的算法處理,得到固定長度的數(shù)據(jù),這個數(shù)據(jù)在理論上破解很困難,工程實現(xiàn)也是不可能的。本實用新型使得用戶和廠商使用OTP寄存器可以得到唯一的芯片標識符Chip ID,而且難以被逆向破解和非法復制。
[0013]另外,寫控制器將經(jīng)SHA加密后的芯片標識符寫入到OTP寄存器中的設(shè)定地址內(nèi)之前,先由讀控制器讀取OTP寄存器中設(shè)定地址內(nèi)的數(shù)據(jù)并將讀取數(shù)據(jù)輸出給寫控制器;寫控制器檢測OTP寄存器中設(shè)定地址內(nèi)是否已經(jīng)被寫過,如果OTP寄存器中設(shè)定地址內(nèi)尚未被寫過,則寫控制器將經(jīng)SHA加密后的芯片標識符寫入到OTP寄存器中的設(shè)定地址內(nèi);如果OTP寄存器中設(shè)定地址內(nèi)已經(jīng)被寫過,則寫控制器結(jié)束工作,不將經(jīng)SHA加密后的芯片標識符寫入到OTP寄存器中已經(jīng)被寫過的設(shè)定地址內(nèi)。這樣,可以避免OTP寄存器被重復寫入,保護OTP寄存器不被損壞。
[0014]另外,本實用新型還包含合并器,該合并器用于對用戶設(shè)定的值和廠商設(shè)定的值進行合并,并將合并后的數(shù)據(jù)擴展為512位比特的數(shù)據(jù)。由于合并器是現(xiàn)有的成熟器件,保證了本實用新型實施方式的可行性。
[0015]另外,本實用新型還包含系統(tǒng)接口,該系統(tǒng)接口用于接收用戶設(shè)定的值和廠商設(shè)定的值,并可以向用戶輸出讀取數(shù)據(jù)。由于系統(tǒng)接口是現(xiàn)有的成熟器件,保證了本實用新型實施方式的可行性。
【專利附圖】

【附圖說明】
[0016]圖1是現(xiàn)有技術(shù)中的OTP寄存器讀寫裝置的結(jié)構(gòu)示意圖;
[0017]圖2是根據(jù)本實用新型一較佳實施方式的OTP寄存器讀寫裝置的結(jié)構(gòu)示意圖;
[0018]圖3是是根據(jù)本實用新型一較佳實施方式中的寫入OTP寄存器的芯片標識符的數(shù)據(jù)通道;
[0019]圖4是根據(jù)本實用新型一較佳實施方式的SHA運算器的結(jié)構(gòu)示意圖。
【具體實施方式】[0020]為使本實用新型的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本實用新型的各實施方式進行詳細的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本實用新型各實施方式中,為了使讀者更好地理解本申請而提出了許多技術(shù)細節(jié)。但是,即使沒有這些技術(shù)細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權(quán)利要求所要求保護的技術(shù)方案。
[0021]本實用新型的一較佳實施方式涉及一種OTP寄存器讀寫裝置,具體結(jié)構(gòu)如圖2所示,該OTP寄存器讀寫裝置包含系統(tǒng)接口、合并器、SHA運算器、寫控制器、讀控制器與OTP寄存器。
[0022]其中,系統(tǒng)接口用于接收待寫入到OTP寄存器中的Chip ID。
[0023]該Chip ID包含用戶設(shè)定的值、廠商設(shè)定的值、其它自定義的值或其任意組合的值。實施方式中,只要保護好用戶設(shè)定的值、廠商設(shè)定的值、其它自定義的值或其任意組合的值,即使是知曉全部設(shè)計細節(jié)的研發(fā)人員,缺了任意一個值,都不能破解上述Chip ID,也不能把空白芯片,改寫為有特定ChipID的芯片,比單有一個廠商代碼或者用戶代碼安全系數(shù)更高。
[0024]系統(tǒng)接口的輸入端口用于接收待寫入到OTP寄存器中的Chip ID,并將待寫入到OTP寄存器中的Chip ID通過系統(tǒng)接口的輸出端口輸入到合并器中。
[0025]合并器用于對用戶設(shè)定的值、廠商設(shè)定的值按照一定順序進行合并,并將合并后的數(shù)據(jù)擴展為512位比特的數(shù)據(jù),以便用于后續(xù)的SHA運算,具體如圖3所示:
[0026]首先,系統(tǒng)接口將待寫入到OTP寄存器中的由用戶設(shè)定的值(圖3中編號I)和廠商設(shè)定的值(圖3中編號2)組成的Chip ID作為第一字段,如圖3中的編號3 ;然后在上述第一字段后的第二字段存放停止位,如圖3中的編號4 ;之后把上述第二字段后的第三字段作為為填充字段,該填充字段中的各比特位填充為0,如圖3中的編號5 ;最后將第三字段后的第四字段作為指示上述第一字段占用的比特位數(shù),如圖3中的編號6。
[0027]上述第一字段、第二字段、第三字段和第四字段的比特長度總和為512位比特,其中第四字段的比特長度為64位比特,其余三段比特長度為512位比特減去64位比特,SP448為比特。
[0028]經(jīng)過合并器處理的合并結(jié)果,才能保證SHA運算器對這些設(shè)定的值進行正確的SHA運算。在SHA運算器運算過程中,由于輸入的數(shù)據(jù)必須是512位比特,通過合并器的合并處理,就能將第一字段、第二字段、第三字段和第四字段的比特長度總和綜合處理成適用于SHA運算器進行SHA運算的512位比特,保證了 SHA運算器的可操作性和準確性。
[0029]合并器的輸入端口接收用戶設(shè)定的值、廠商設(shè)定的值、其它自定義的值或其任意組合的值,合并器的輸出端口將512位比特的字段輸出給SHA運算器。
[0030]SHA運算器用于對輸入數(shù)據(jù)進行安全散列算法SHA的運算,具體結(jié)構(gòu)見圖4,由于SHA運算器是現(xiàn)有成熟的器件,在此不再贅述;該SHA運算器的輸入端口接收待寫入到一次性編程OTP寄存器中的芯片標識符,并將經(jīng)所述SHA加密后的芯片標識符通過輸出端口輸入到寫控制器。
[0031]SHA運算器對設(shè)定的Chip ID進行運算加密。SHA運算器是把不定長度的一串消息,加以特定的算法處理,得到固定長度的數(shù)據(jù),即加密后的ChipID。
[0032]SHA運算器的運算包含SHA160/224/256/384/512和MD4/MD5/MD6等多種算法實現(xiàn),理論上破解很困難(即目前的數(shù)學分析理論已經(jīng)證明了當前數(shù)學工具不能通過對加密后數(shù)據(jù)的分析,反推破解出加密前的原始數(shù)據(jù)),工程實現(xiàn)是不可能的(即無法使用暴力窮舉的方式,根據(jù)加密后的數(shù)據(jù)破解出加密前的原始數(shù)據(jù))。這些算法的特征如下:
[0033]I)由數(shù)據(jù)摘要反推原輸入數(shù)據(jù),從計算理論上來說是很困難;
[0034]2)想要找到兩組不同的數(shù)據(jù)對應(yīng)到相同的數(shù)據(jù)摘要,從計算理論上來說也是很困難的;
[0035]3)任何對輸入數(shù)據(jù)的變動,都有很高的機率導致其產(chǎn)生的數(shù)據(jù)摘要迥異。
[0036]最重要的是SHA運算器的運算過程單向不可逆,使用SHA運算器對設(shè)定的Chip ID進行運算加密得到的Chip ID跟待寫入到OTP寄存器中的Chip ID是不同的,由于SHA運算器的運算過程不可逆,所以從這個加密的Chip ID是不可能反推到設(shè)定的待寫入到OTP寄存器的Chip ID的。SHA運算器是現(xiàn)有的成熟器件,保證了本實用新型實施方式的可行性。
[0037]寫控制器與讀控制器相連,讀控制器讀取OTP寄存器中設(shè)定地址內(nèi)的數(shù)據(jù)。寫控制器將經(jīng)SHA加密后的Chip ID寫入到OTP寄存器中的設(shè)定地址內(nèi)之前,先由讀控制器讀取OTP寄存器中設(shè)定地址內(nèi)的數(shù)據(jù)并將讀取數(shù)據(jù)輸出給寫控制器;寫控制器檢測OTP寄存器中設(shè)定地址內(nèi)是否已經(jīng)被寫過,如果OTP寄存器中設(shè)定地址內(nèi)尚未被寫過,則寫控制器將經(jīng)SHA加密后的Chip ID寫入到OTP寄存器中的設(shè)定地址內(nèi);如果OTP寄存器中設(shè)定地址內(nèi)已經(jīng)被寫過,則寫控制器結(jié)束工作,不將經(jīng)SHA加密后的Chip ID寫入到OTP寄存器中已經(jīng)被寫過的設(shè)定地址內(nèi)。這樣,可以避免OTP寄存器被重復寫入,保護OTP寄存器不被損壞。
[0038]寫控制器將加密后的Chip ID寫入到OTP寄存器中未被編程過的設(shè)定地址內(nèi),具體地說:首先把上述加密后的Chip ID,取第N個比特位,所述N為廠商設(shè)定的值的比特長度;然后將上述N個比特位寫入到OTP寄存器中的用于存放廠商設(shè)定的值的字段中;再將這N個比特位中的第NI個比特位寫入到OTP寄存器中的用于存放用戶設(shè)定的值的字段中。其中,NI為用戶設(shè)定的值的比特長度。至此,寫控制器的寫入過程結(jié)束。
[0039]如圖3所示,在本實施例中,OTP寄存器中的用于存放用戶設(shè)定的值的字段,為該OTP寄存器中從低到高的第72個比特位至第103個比特位,用于存放廠商設(shè)定的值的字段,為該OTP寄存器中從低到高的第104個比特位至第247個比特位。
[0040]由于經(jīng)過SHA運算器運算后的芯片標識符信息會按照一定的順序?qū)懭氲絆TP寄存器中,而本實用新型中OTP寄存器中用戶設(shè)定的值的字段和廠商設(shè)定的值的字段是有一一對應(yīng)的位置存放關(guān)系的,這就為SHA運算器的準確性提供了保障,使SHA運算器的整個運算器過程井井有條,不容易發(fā)生由于位置關(guān)系不正確導致的運算錯誤。
[0041]OTP寄存器是通過電子熔絲e-Fuse、燒斷l(xiāng)aser或熔斷fuse實現(xiàn)的,其中e_Fuse型OTP寄存器包含耦合電容型的e-Fuse寄存器、串聯(lián)晶體管型的e-Fuse寄存器和電介質(zhì)擊穿型的e-Fuse寄存器。這些方式實現(xiàn)的OTP寄存器特點是只能一次性寫入,不可改寫,但是可以重復讀出數(shù)據(jù);如果有需要,芯片廠商也可以根據(jù)客戶的需要寫入特定的序列號,這樣,每個芯片都會有一個不一樣的ID號,避免被復制,符合Chip ID具有唯一性和不可更改的要求。
[0042]本實用新型所述的裝置會自動判斷是否需要讀出芯片標識符Chip ID ;如果不需要讀出芯片標識符,則就會返回判斷動作,如此循環(huán)下去;如果需要讀出芯片標識符,就會由讀控制器讀取OTP寄存器中存儲的經(jīng)過加密的芯片標識符Chip ID。
[0043]讀控制器讀取OTP寄存器中設(shè)定地址內(nèi)的數(shù)據(jù);SHA運算器的輸入端口接收讀控制器輸出的數(shù)據(jù),并將經(jīng)SHA加密后的讀取數(shù)據(jù)通過輸出端口輸出;系統(tǒng)接口的輸入端口用于接收經(jīng)SHA加密后的讀取數(shù)據(jù),并將經(jīng)SHA加密后的讀取數(shù)據(jù)通過系統(tǒng)接口的輸出端口輸出給用戶。
[0044]此處SHA運算器的運算過程與上述SHA運算器的運算過程相同,此處不做贅述。
[0045]經(jīng)過第二次SHA運算器的運算,得到加密兩次的Chip ID。
[0046]用戶通過系統(tǒng)接口獲取經(jīng)過兩次加密的芯片標識符Chip ID。
[0047]用戶最終獲取的Chip ID與寫入到OTP寄存器中的Chip ID是不同的,與待寫入到OTP寄存器中的Chip ID也是不同的,用戶獲取的Chip ID相當于是經(jīng)過兩次加密的ChipID,大大的增加了 Chip ID的安全系數(shù)。
[0048]與現(xiàn)有技術(shù)相比,本實用新型中待寫入到OTP寄存器的Chip ID是經(jīng)過SHA運算器運算后得到的加密的Chip ID,該加密的Chip ID與上述待寫入到OTP寄存器中的ChipID不同,因此可以對待寫入到OTP寄存器中的Chip ID進行加密保護,防止被破解;并且,從OTP寄存器中讀取這個加密的芯片標識符時還會經(jīng)過一次SHA運算器的運算,使最終顯示給用戶的Chip ID經(jīng)過兩次加密處理,上述顯示給用戶的Chip ID跟寫入到OTP寄存器中的已經(jīng)加密的Chip ID也不相同,這樣就對待寫入到OTP寄存器中的Chip ID作了進一步的加密保護。由于SHA運算器的運算過程是單向不可逆的,所以即使是黑客也很難根據(jù)最終顯示給用戶的芯片標識符來逆向推斷出OTP寄存器里面真實的Chip ID。另外,SHA運算器是把不定長度的一串消息,加以特定的算法處理,得到固定長度的數(shù)據(jù),這個數(shù)據(jù)在理論上破解很困難,工程實現(xiàn)也是不可能的,所以本實用新型中的芯片標識符也是唯一的,不可復制的。
[0049]本領(lǐng)域的普通技術(shù)人員可以理解,上述各實施方式是實現(xiàn)本實用新型的具體實施例,而在實際應(yīng)用中,可以在形式上和細節(jié)上對其作各種改變,而不偏離本實用新型的精神和范圍。
【權(quán)利要求】
1.一種OTP寄存器讀寫裝置,其特征在于,包含:SHA運算器、寫控制器、讀控制器與OTP寄存器; 所述寫控制器、所述讀控制器均與所述SHA運算器相連接;0ΤΡ寄存器與所述寫控制器和所述讀控制器相連接;所述寫控制器和所述讀控制器相連; 所述SHA運算器用于對輸入數(shù)據(jù)進行安全散列算法SHA的運算;該SHA運算器的輸入端口接收待寫入到一次性編程OTP寄存器中的芯片標識符,并將經(jīng)所述SHA加密后的芯片標識符通過輸出端口輸入到所述寫控制器;或者,該SHA運算器的輸入端口接收所述讀控制器輸出的數(shù)據(jù),并將經(jīng)所述SHA加密后的讀取數(shù)據(jù)通過輸出端口輸出給用戶; 所述寫控制器將所述加密后的芯片標識符寫入到所述OTP寄存器中尚未被編程過的設(shè)定地址內(nèi); 所述讀控制器讀取所述OTP寄存器中所述設(shè)定地址內(nèi)的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的OTP寄存器讀寫裝置,其特征在于,所述芯片標識符包含用戶設(shè)定的值和廠商設(shè)定的值。
3.根據(jù)權(quán)利要求1所述的OTP寄存器讀寫裝置,其特征在于,還包含合并器; 所述合并器與所述SHA運算器相連; 所述合并器用于對所述用戶設(shè)定的值和所述廠商設(shè)定的值進行合并,并將所述合并后的數(shù)據(jù)擴展為512位比特的數(shù)據(jù);所述合并器的輸入端口接收所述用戶設(shè)定的值和所述廠商設(shè)定的值,所述合并器的輸出端口將所述512位比特的數(shù)據(jù)輸出給所述SHA運算器。
4.根據(jù)權(quán)利要求1所述的OTP寄存器讀寫裝置,其特征在于,還包含系統(tǒng)接口; 所述系統(tǒng)接口與所述合并器和所述SHA相連; 所述系統(tǒng)接口的輸入端口用于接收所述待寫入到OTP寄存器中的芯片標識符,并將所述待寫入到OTP寄存器中的芯片標識符通過所述系統(tǒng)接口的輸出端口輸入到所述合并器中;或者,所述系統(tǒng)接口的輸入端口用于接收經(jīng)所述SHA加密后的讀取數(shù)據(jù),并將經(jīng)所述SHA加密后的讀取數(shù)據(jù)通過所述系統(tǒng)接口的輸出端口輸出給用戶。
5.根據(jù)權(quán)利要求1至4中任一項所述的OTP寄存器讀寫裝置,其特征在于,所述OTP寄存器為以下任意一種類型的OTP寄存器: 燒斷l(xiāng)aser型OTP寄存器、熔斷fuse型OTP寄存器、電子熔絲e_Fuse型OTP寄存器。
6.根據(jù)權(quán)利要求5所述的OTP寄存器讀寫裝置,其特征在于,所述e-Fuse型OTP寄存器包含耦合電容型的e-Fuse寄存器、串聯(lián)晶體管型的e-Fuse寄存器和電介質(zhì)擊穿型的e-Fuse寄存器。
【文檔編號】G11C17/18GK203773956SQ201320664652
【公開日】2014年8月13日 申請日期:2013年10月25日 優(yōu)先權(quán)日:2013年10月25日
【發(fā)明者】李林, 胡健, 伍俊 申請人:上海華力創(chuàng)通半導體有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1