可編程器件、標識信息、編程數(shù)據(jù)流的配置方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種可編程器件、標識信息、編程數(shù)據(jù)流的配 置方法及裝置。
【背景技術(shù)】
[0002] 隨可編程器件的問世以來,其在電子工業(yè)中得到了日漸廣泛的應(yīng)用。隨著設(shè)計規(guī) 模的上升和器件價格的下降,設(shè)計成本在系統(tǒng)實現(xiàn)中所占比重越來越大。而越來越多的安 全問題,正日益威脅著生活、經(jīng)濟甚至國防等安全方面:無論是登機、關(guān)門,還是設(shè)計電路、 發(fā)射衛(wèi)星、導(dǎo)彈;安全都成了電子設(shè)計領(lǐng)域密切關(guān)注的問題。其中FPGA(Fie Id - Programmable Gate Array,現(xiàn)場可編程門陣列)是一種用途最廣泛的可編程器件。
[0003] 當今設(shè)計領(lǐng)域所面臨的主要威脅包括反向工程、過度構(gòu)建和克隆。反向工程的作 用是竊取者可以更快的完成設(shè)計,并且可以將研發(fā)成本最小化,這是電子行業(yè)最普遍的威 脅。過度構(gòu)建是外包業(yè)務(wù)模型的一大隱患,在這種情況下,產(chǎn)品未授權(quán)過度構(gòu)建,然后在未 得到原始設(shè)備制造商許可的情況下通過其他渠道銷售。最大的問題是,一旦這些產(chǎn)品進入 市場,它將造成非常嚴重的后果。通常,過度構(gòu)建的產(chǎn)品能夠以更快的速度面市,并且銷售 的價格也更低;克隆者獲得的明顯利益是,他們無需花費任何研發(fā)成本,并且極大地加快了 克隆產(chǎn)品的上市。
[0004] 如何對編程數(shù)據(jù)流進行保護是解決上述系列問題的關(guān)鍵?,F(xiàn)有的解決方案或者非 常復(fù)雜,所占用系統(tǒng)資源過多,或者芯片本身成本過高,或者實現(xiàn)不方便等等。這些都為用 戶的使用帶來了不便。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供的可編程器件、標識信息、編程數(shù)據(jù)流的配置方法及裝置,解決現(xiàn)有技 術(shù)中無法實現(xiàn)編程數(shù)據(jù)流和可編程器件的對應(yīng)問題。
[0006 ]為解決上述技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
[0007] -種可編程器件的配置方法,包括:
[0008] 導(dǎo)入編程數(shù)據(jù)流,讀取所述編程數(shù)據(jù)流攜帶的標識信息,并從可編程器件內(nèi)嵌或 外接的非易失性存儲單元中讀取可編程器件的標識信息;
[0009] 將所述編程數(shù)據(jù)流攜帶的標識信息與所述可編程器件的標識信息進行比較;
[0010] 若兩者相匹配,則根據(jù)所述編程數(shù)據(jù)流配置所述可編程器件。
[0011] -種標識信息的配置方法,包括:
[0012] 讀取可編程器件出廠配置的識別碼作為待加密數(shù)據(jù),或者自定義待加密數(shù)據(jù);
[0013] 采用預(yù)設(shè)安全算法對所述待加密數(shù)據(jù)進行加密后得到所述可編程器件的標識信 息,存儲在所述可編程器件內(nèi)嵌或外接的非易失性存儲單元中。
[0014] 在一些實施例中,采用預(yù)設(shè)安全算法對所述待加密數(shù)據(jù)進行加密后得到所述可編 程器件的標識信息包括:
[0015] 根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,以及堿基單元與多進制數(shù)據(jù)單元的 對應(yīng)關(guān)系,將包括預(yù)設(shè)的字符單元的待加密數(shù)據(jù)編碼成多進制序列密文,所述多進制序列 密文包括至少一個多進制數(shù)據(jù)單元,所述字符單元包括至少一個字符,所述堿基單元包括 至少一個DNA堿基;將所述多進制序列密文作為所述可編程器件的標識信息,或者將采用預(yù) 設(shè)輔助算法對所述多進制序列密文進行加密后得到的密文作為所述可編程器件的標識信 息。
[0016] 在一些實施例中,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,以及堿基單元與 多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,將包括預(yù)設(shè)的字符單元的待加密數(shù)據(jù)編碼成多進制序列密 文,具體為:
[0017] 根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,將所述待加密數(shù)據(jù)編碼成DNA單鏈 密文;根據(jù)堿基單元與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,將所述DNA單鏈密文編碼成多進制序列 密文;
[0018] 或者,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,以及堿基單元與多進制數(shù)據(jù) 單元的對應(yīng)關(guān)系,逐個將所述待加密數(shù)據(jù)中的字符單元編碼成多進制數(shù)據(jù)單元;并由各多 進制數(shù)據(jù)單元組成所述多進制序列密文。
[0019] 在一些實施例中,根據(jù)堿基單元與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,將所述DNA單鏈密 文編碼成多進制序列密文之前,還包括:
[0020] 根據(jù)堿基配對原則,將所述DNA單鏈密文轉(zhuǎn)換成與其互補的另一 DNA單鏈密文,將 所述DNA單鏈密文替換成所述另一 DNA單鏈密文進入后續(xù)步驟。
[0021] 在一些實施例中,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,以及堿基單元與 多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,逐個將所述待加密數(shù)據(jù)中的字符單元編碼成多進制數(shù)據(jù)單 元,包括:
[0022] 根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,以及堿基單元與多進制數(shù)據(jù)單元的 對應(yīng)關(guān)系,逐個將所述待加密數(shù)據(jù)中的字符單元編碼成與字符單元對應(yīng)的堿基單元所對應(yīng) 的多進制數(shù)據(jù)單元,或者逐個將所述待加密數(shù)據(jù)中的字符單元編碼成與字符單元對應(yīng)的堿 基單元互補的另一堿基單元對應(yīng)的多進制數(shù)據(jù)單元。
[0023] 在一些實施例中,所述預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系中,若預(yù)設(shè)的字符 單兀有X個,與各預(yù)設(shè)的字符單兀對應(yīng)的堿基單兀為:從DNA堿基群中任取出Z個DNA堿基按 照不同的順序排序得到,所述DNA堿基群由Y種DNA堿基且每種Z個組成,Z 2 1,4 2 Y 2 1,1 < X <YZ。
[0024] 在一些實施例中,所述預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系中,若預(yù)設(shè)的字符 單元分別為26個字母中的各個字母、0至9中的各個數(shù)字、空格、逗號、句號、則與各預(yù)設(shè)的 字符單元對應(yīng)的堿基單元為:從DNA堿基群中任取出3個DNA堿基按照不同的順序排序得到, 所述DNA堿基群由4種DNA堿基且每種3個組成。
[0025] 在一些實施例中,所述堿基單元與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系中,與各堿基單元 中的各堿基對應(yīng)的多進制數(shù)據(jù)單元包括兩個比特位。
[0026] -種編程數(shù)據(jù)流的配置方法,包括:
[0027] 獲取可編程器件的標識信息,以及原編程數(shù)據(jù)流;
[0028] 根據(jù)所述標識信息對所述原編程數(shù)據(jù)流進行處理,得到新的編程數(shù)據(jù)流,所述新 的編程數(shù)據(jù)流攜帶所述標識信息,所述新的編程數(shù)據(jù)流用于對所述可編程器件進行編程。
[0029] 在一些實施例中,所述獲取可編程器件的標識信息包括:
[0030] 從所述可編程器件內(nèi)嵌或外接的非易失性存儲單元中讀取所述可編程器件的標 識信息;
[0031] 或者按照如下方式生成所述可編程器件的標識信息:讀取所述可編程器件出廠配 置的識別碼作為待加密數(shù)據(jù),或者自定義待加密數(shù)據(jù);采用預(yù)設(shè)安全算法對所述待加密數(shù) 據(jù)進行加密后得到所述可編程器件的標識信息。
[0032] -種可編程器件的配置裝置,包括:
[0033] 導(dǎo)入模塊,用于導(dǎo)入編程數(shù)據(jù)流;
[0034] 第一讀取模塊,用于讀取所述編程數(shù)據(jù)流攜帶的標識信息;
[0035] 第二讀取模塊,用于從可編程器件內(nèi)嵌或外接的非易失性存儲單元中讀取可編程 器件的標識信息;
[0036] 比較模塊,用于將所述編程數(shù)據(jù)流攜帶的標識信息與所述可編程器件的標識信息 進行比較;
[0037] 以及,器件配置模塊,用于所述比較模塊的比較結(jié)果為所述編程數(shù)據(jù)流攜帶的標 識信息與所述可編程器件的標識信息相匹配的條件下,根據(jù)所述編程數(shù)據(jù)流配置所述可編 程器件。
[0038] -種標識信息的配置裝置,包括:
[0039] 第三讀取模塊,用于讀取可編程器件出廠配置的識別碼作為待加密數(shù)據(jù);或者,自 定義模塊,用于自定義待加密數(shù)據(jù);
[0040] 以及,加密處理模塊,用于采用預(yù)設(shè)安全算法對所述待加密數(shù)據(jù)進行加密后得到 所述可編程器件的標識信息;
[0041] 以及,存儲模塊,用于將所述算法模塊得到的所述可編程器件的標識信息存儲在 所述可編程器件內(nèi)嵌或外接的非易失性存儲單元中。
[0042]在一些實施例中,所述加密處理模塊具體用于根據(jù)預(yù)設(shè)的字符單元與堿基單元的 對應(yīng)關(guān)系,以及堿基單元與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,將包括預(yù)設(shè)的字符單元的待加密 數(shù)據(jù)編碼成多進制序列密文,所述多進制序列密文包括至少一個多進制數(shù)據(jù)單元,所述字 符單元包括至少一個字符,所述堿基單元包括至少一個DNA堿基;將所述多進制序列密文作 為所述可編程器件的標識信息,或者將采用預(yù)設(shè)輔助算法對所述多進制序列密文進行加密 后得到的密文作為所述可編程器件的標識信息。
[0043]在一些實施例中,所述加密處理模塊包括第一加密子模塊和/或第二加密子模塊: [0044]第一加密子模塊用于根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,將所述待加密 數(shù)據(jù)編碼成DNA單鏈密文;根據(jù)堿基單元與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,將所述DNA單鏈密 文編碼成多進制序列密文;
[0045] 第二加密子模塊用于根據(jù)預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系,以及堿基單元 與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,逐個將所述待加密數(shù)據(jù)中的字符單元編碼成多進制數(shù)據(jù)單 元;并由各多進制數(shù)據(jù)單元組成所述多進制序列密文。
[0046] 在一些實施例中,第一加密子模塊還用于在根據(jù)堿基單元與多進制數(shù)據(jù)單元的對 應(yīng)關(guān)系,將所述DNA單鏈密文編碼成多進制序列密文之前,根據(jù)堿基配對原則,將所述DNA單 鏈密文轉(zhuǎn)換成與其互補的另一 DNA單鏈密文,將所述DNA單鏈密文替換成所述另一 DNA單鏈 密文進入后續(xù)步驟。
[0047] 在一些實施例中,第二加密子模塊具體用于根據(jù)預(yù)設(shè)的字符單元與堿基單元的對 應(yīng)關(guān)系,以及堿基單元與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,逐個將所述待加密數(shù)據(jù)中的字符單 元編碼成與字符單元對應(yīng)的堿基單元所對應(yīng)的多進制數(shù)據(jù)單元,或者逐個將所述待加密數(shù) 據(jù)中的字符單元編碼成與字符單元對應(yīng)的堿基單元互補的另一堿基單元對應(yīng)的多進制數(shù) 據(jù)單元。
[0048] 在一些實施例中,該標識信息的配置裝置,還包括保存模塊,用于保存所述預(yù)設(shè)的 字符單元與堿基單元的對應(yīng)關(guān)系,所述預(yù)設(shè)的字符單元與堿基單元的對應(yīng)關(guān)系中,若預(yù)設(shè) 的字符單兀有X個,貝U與各預(yù)設(shè)的字符單兀對應(yīng)的堿基單兀為:從DNA堿基群中任取出Z個 DNA堿基按照不同的順序排序得到,所述DNA堿基群由Y種DNA堿基且每種Z個組成,Z 2 1,4 2 Y> 1,1 <X< Yz;
[0049] 還用于保存所述堿基單元與多進制數(shù)據(jù)單元的對應(yīng)關(guān)系,所述堿基單元與多進制 數(shù)據(jù)單元的對應(yīng)關(guān)系中,與各堿基單元中的各堿基對應(yīng)的多進制數(shù)據(jù)單元包括兩個比特 位。
[0050] -種編程數(shù)據(jù)流的配置裝置,包括:
[0051 ]第一獲取模塊,用于獲取可編程器件的標識信息;
[0052]第二獲取模塊,用于獲取原編程數(shù)據(jù)流;
[0053]數(shù)據(jù)流處理模塊,用于根據(jù)所述標識信息對所述原編程數(shù)據(jù)流進行處理,得到新 的編程數(shù)據(jù)流,所述新的編程數(shù)據(jù)流攜帶所述標識信息,所述新的編程數(shù)據(jù)流用于對所述 可編程器件進行編程。
[0054] 在一些實施例中,所述第一獲取模塊包括:
[0055] 第四讀取模塊,用于