專利名稱:密碼保護(hù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及密碼保護(hù),更具體而言,涉及使用單向函數(shù)的密碼保護(hù)。
背景技術(shù):
作為引言,安全系統(tǒng)通常使用密碼(文本的和/或二進(jìn)制)來控制對(duì)系統(tǒng) 資源的訪問。在基礎(chǔ)系統(tǒng)中,通常將密碼存儲(chǔ)在系統(tǒng)中,用于通過將接收 的候選密碼與存儲(chǔ)的密碼相比較來驗(yàn)證該候選密碼?;A(chǔ)系統(tǒng)的脆弱性在 于,獲得對(duì)該系統(tǒng)的訪問權(quán)的攻擊者能夠找到存儲(chǔ)的密碼,并稍后使用它 來訪問該系統(tǒng)。對(duì)以上問題常用的解決方案是用散列函數(shù)計(jì)算密碼的散列值,隨后存 儲(chǔ)散列值。首先,由散列函數(shù)處理由系統(tǒng)接收的候選密碼,給出輸出值。 隨后,將輸出值與存儲(chǔ)的散列值相比較。因此,滲透進(jìn)入系統(tǒng)的攻擊者將 只能找到不能被用作訪問密碼的散列值。優(yōu)選地,將存儲(chǔ)的散列值存儲(chǔ)在非易失性存儲(chǔ)器(NVM)中,例如但不 限于熔絲及OTP(—次性可編程)存儲(chǔ)器。在許多裝置中,可利用的NVM通 常是有限的,因此就希望使用于存儲(chǔ)的散列值的存儲(chǔ)空間量即可能小。然 而,減小存儲(chǔ)的散列值的大小常常意味著降低由散列值提供的安全級(jí)別, 如以下所解釋的。當(dāng)型的散列函數(shù)將密碼(輸入值)映射到散列值(輸出值)上時(shí),系統(tǒng)的 安全性與散列值的位數(shù)成比例。例如,如果散列值具有32位,那么為了找 到用散列函數(shù)映射到散列值上的密碼(其不必是原始密碼),平均就要用 232(約40億)次嘗試。因此,攻擊者要用約40億次嘗試來找到映射到存儲(chǔ)的散列值上的密碼。 執(zhí)行40億次嘗試所花費(fèi)的實(shí)際時(shí)間取決于所用處理器的速度,以及散列函 數(shù)的復(fù)雜性。而使用標(biāo)準(zhǔn)個(gè)人計(jì)算機(jī)進(jìn)行40億次嘗試不會(huì)花費(fèi)很長的時(shí)間, 因此對(duì)于大多數(shù)情況而言,32位的散列值很可能不能提供足夠的安全性。
因此,散列值就需要足夠長,以便確保足夠的安全性。 因此,在安全性與耗費(fèi)的存儲(chǔ)空間之間存在折衷。 以下參考文件被認(rèn)為是代表了現(xiàn)有技術(shù)的狀況 Brown等人的美國公開專利申請(qǐng)2005/0250473。上述以及整個(gè)說明書中所提到的參考文件的公開內(nèi)容,以及在參考文 件中提及的全部參考文件的公開內(nèi)容由此合并于此作為參考。發(fā)明內(nèi)容本發(fā)明設(shè)法提供一種使用單向函數(shù)的改進(jìn)的密碼保護(hù)系統(tǒng)。在本發(fā)明的優(yōu)選實(shí)施例中,本發(fā)明的系統(tǒng)提供了使用單向函數(shù)的密碼 驗(yàn)證,該單向函數(shù)例如但不限于加密散列函數(shù),諸如SHA-1或MD5。單向函數(shù)是一種在前向方向(從輸入到輸出)上比在反向方向(從輸出到 輸入)上計(jì)算得更快的函數(shù)。對(duì)本發(fā)明來說,將在說明書和權(quán)利要求書中所 用的術(shù)語單向函數(shù)定義為數(shù)學(xué)函數(shù),其在前向方向上比在反向方向上計(jì)算 至少要快1000倍。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,使用了在前向方向上比在反 向方向上計(jì)算至少要快1百萬倍的單向函數(shù)。所述單向函數(shù)優(yōu)選地具有多個(gè)輸入值和多個(gè)輸出值。通常選擇所述單 向函數(shù)的輸入值,以使得所述單向函數(shù)的輸出值具有預(yù)定模式。由于輸出 值具有預(yù)定模式,因此通常能夠僅根據(jù)輸出值的一部分信息和所述模式的 知識(shí)來重構(gòu)輸出值。因此,為了將輸出值用作密碼驗(yàn)證中針對(duì)候選密碼的 校驗(yàn)值,通常只需存儲(chǔ)輸出值的信息的一部分。優(yōu)選地將需要存儲(chǔ)的這部 分信息存儲(chǔ)在存儲(chǔ)值中。所述存儲(chǔ)值可選地包括在重構(gòu)校驗(yàn)值中使用的模 式的指示符。因此,如果校驗(yàn)值具有x位,那么存儲(chǔ)值優(yōu)選地僅有y位,其中,x大 于y,優(yōu)選地x比y至少長20位。例如,如果校驗(yàn)值有提供64位安全性的 64位,模式有32位,那么存儲(chǔ)值可以僅需32位。因此,用32位的存儲(chǔ)量 獲得了64位的安全性。本發(fā)明優(yōu)選實(shí)施例的隱藏成本是為了找到密碼的預(yù)處理。在以上實(shí)例 中,為了找到密碼,將用約232(約40億)次嘗試,以使得輸出值包括32位 模式。然而,在存儲(chǔ)量受限和/或昂貴的情況下,預(yù)處理通常被認(rèn)為是相對(duì)
便宜的。根據(jù)本發(fā)明的可替換優(yōu)選實(shí)施例,所述模式是基于已被該系統(tǒng)用作非密碼用途的值,例如但不限于芯片序列號(hào),RFID序列號(hào)和/或一次性可編 程(OTP)存儲(chǔ)器的配置位。根據(jù)本發(fā)明的另一個(gè)可替換優(yōu)選實(shí)施例,通過將校驗(yàn)值的一部分用于 非密碼用途來減小密碼僅有的存儲(chǔ)成本,所述非密碼用途例如但不限于可 定義標(biāo)識(shí)號(hào),如可由芯片制造商規(guī)定的芯片序列號(hào)。在本發(fā)明的優(yōu)選實(shí)施例中,本發(fā)明的系統(tǒng)通常適用于與二進(jìn)制密碼和/ 或具有固定密碼的系統(tǒng)一起使用,例如但不限于,測(cè)試模式密碼和診斷密 碼,該診斷密碼通常具有寫到OTP或只讀存儲(chǔ)器(ROM)中的固定校驗(yàn)值。 在本發(fā)明的優(yōu)選實(shí)施例中,本發(fā)明的系統(tǒng)通常但并非排除性地適用于無需 人記憶的密碼。另外,在本發(fā)明的優(yōu)選實(shí)施例中,本發(fā)明的系統(tǒng)通常對(duì)于低資源硬件 同樣也非常有用,例如但不限于,射頻標(biāo)識(shí)符(RFID)標(biāo)簽和用于集成接收 器-解碼器(IRD)的芯片。根據(jù)本發(fā)明的優(yōu)選實(shí)施例由此而提供了一種驗(yàn)證系統(tǒng),包括模式模 塊,用于提供模式;函數(shù)模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的 單向函數(shù);函數(shù)處理器,用于找到單向函數(shù)的一個(gè)輸入值,使得相應(yīng)的一 個(gè)輸出值具有所述模式;密碼模塊,用于提供所述一個(gè)輸入值,作為針對(duì) 所述一個(gè)輸出值的密碼驗(yàn)證中使用的密碼,所述一個(gè)輸出值是校驗(yàn)值,所 述校驗(yàn)值具有長度;壓縮模塊,用于確定存儲(chǔ)值,以使得能夠根據(jù)所述 存儲(chǔ)值和所述模式來重構(gòu)所述校驗(yàn)值;并且所述存儲(chǔ)值具有的長度比所述 校驗(yàn)值的長度短;以及存儲(chǔ)模塊,用于將所述存儲(chǔ)值存儲(chǔ)在存儲(chǔ)介質(zhì)中, 以便以后取回。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值包括所述模式的指示符。 再此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述模式包括按照預(yù)定順序的一 串預(yù)定值。另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值不含完整的所述串。 而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串具有非密碼用途。 此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。
再此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成芯片序列號(hào)的至少一半。另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成RFID標(biāo)簽的序列號(hào)的至少一部分。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成一組配置位的至少一部分。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值的至少一部分具有非密 碼用途。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。 另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值的所述至少一部分構(gòu)成 芯片序列號(hào)的至少一半。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述系統(tǒng)包括密碼接收器,用于接收候選密碼,所述函數(shù)處理器用于使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值,來確定相應(yīng)的一個(gè)所述輸出值;取回模塊,用于從 所述存儲(chǔ)介質(zhì)中取回所述存儲(chǔ)值;以及驗(yàn)證模塊,用于在考慮到所述模式 的情況下,將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出值與所述存儲(chǔ)值相比較。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述系統(tǒng)包括重構(gòu)模塊,用于根據(jù) 所述存儲(chǔ)值和所述模式重構(gòu)校驗(yàn)值,其中,驗(yàn)證模塊用于將對(duì)應(yīng)于所述候 選密碼的所述一個(gè)輸出值與所述校驗(yàn)值相比較。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述壓縮模塊用于壓縮所述一個(gè)輸 出值,以產(chǎn)生不含所述模式的壓縮值,所述驗(yàn)證模塊用于將所述壓縮值與 所述存儲(chǔ)值相比較。另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值包括所述模式的指示符。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述模式包括按照預(yù)定順序的一串 預(yù)定值。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值不含完整的所述串。 再此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串具有非密碼用途。 另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。 而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成芯片序列號(hào)的至少一半。 此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成RFID標(biāo)簽的序列號(hào)的至 少一部分。再此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成一組配置位的至少一 部分。另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值的至少一部分具有非密 碼用途。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。 此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值的所述至少一部分構(gòu)成 芯片序列號(hào)的至少一半。根據(jù)本發(fā)明的再另一個(gè)優(yōu)選實(shí)施例,提供了一種驗(yàn)證系統(tǒng),包括函數(shù) 模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);密碼模塊,用 于提供一個(gè)所述輸入值,作為針對(duì)相應(yīng)的一個(gè)所述輸出值的密碼驗(yàn)證中使 用的密碼,所述一個(gè)輸出值是校驗(yàn)值;函數(shù)處理器,用于使用所述單向函 數(shù)來為所述密碼確定所述校驗(yàn)值;以及存儲(chǔ)模塊,用于將所述校驗(yàn)值存儲(chǔ) 在存儲(chǔ)介質(zhì)中,以便以后取回,其中,所述存儲(chǔ)的校驗(yàn)值的至少一部分具 有非密碼用途。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。 另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述校驗(yàn)值的至少一部分構(gòu)成芯片 序列號(hào)的至少一半。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,系統(tǒng)包括密碼接收器,用于接收 候選密碼;取回模塊,用于從所述存儲(chǔ)介質(zhì)中取回所述校驗(yàn)值,所述函數(shù) 處理器用于使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值,來 確定相應(yīng)的一個(gè)所述輸出值;以及驗(yàn)證模塊,用于將對(duì)應(yīng)于所述候選密碼 的所述一個(gè)輸出值與所述校驗(yàn)值相比較。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。 此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述校驗(yàn)值的所述至少一部分構(gòu)成 芯片序列號(hào)的至少一半。根據(jù)本發(fā)明的再另一個(gè)優(yōu)選實(shí)施例,提供了一種驗(yàn)證系統(tǒng),包括存 儲(chǔ)介質(zhì),用于存儲(chǔ)在密碼驗(yàn)證中使用的存儲(chǔ)值;密碼接收器,用于接收候 選密碼,以便在所述密碼驗(yàn)證中與校驗(yàn)值進(jìn)行核對(duì);取回模塊,用于從所 述存儲(chǔ)介質(zhì)中取回所述存儲(chǔ)值;模式模塊,用于提供模式;函數(shù)模塊,用
于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);函數(shù)處理器,用于使用 所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值來確定相應(yīng)的一個(gè)所 述輸出值;以及驗(yàn)證模塊,用于在考慮到所述模式的情況下,將對(duì)應(yīng)于所 述候選密碼的所述一個(gè)輸出值與所述存儲(chǔ)值相比較。另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,該系統(tǒng)包括重構(gòu)模塊,用于根據(jù)所 述存儲(chǔ)值和所述模式重構(gòu)所述校驗(yàn)值,其中,所述驗(yàn)證模塊用于將對(duì)應(yīng)于 所述候選密碼的所述一個(gè)輸出值與所述校驗(yàn)值相比較。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,該系統(tǒng)包括壓縮模塊,用于壓縮所 述一個(gè)輸出值,以產(chǎn)生不含所述模式的壓縮值,其中,所述驗(yàn)證模塊用于 將所述壓縮值與所述存儲(chǔ)值相比較。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值包括所述模式的指示符。再此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述模式包括按照預(yù)定順序的一 串預(yù)定值。另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值不含完整的所述串。 而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串具有非密碼用途。 此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。 再此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成芯片序列號(hào)的至少一半。另外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成RFID標(biāo)簽的序列號(hào)的至少一部分。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述串構(gòu)成一組配置位的至少一部分。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值的至少一部分具有非密 碼用途。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。 此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述存儲(chǔ)值的所述至少一部分構(gòu)成 芯片序列號(hào)的至少一半。根據(jù)本發(fā)明的再另一個(gè)優(yōu)選實(shí)施例,提供了一種驗(yàn)證系統(tǒng),包括存儲(chǔ)介質(zhì),用于存儲(chǔ)在密碼驗(yàn)證中使用的校驗(yàn)值,其中,所述存儲(chǔ)的校驗(yàn)值的至少一部分具有非密碼用途;密碼接收器,用于接收候選密碼,以便在
所述密碼驗(yàn)證中與所述校驗(yàn)值進(jìn)行核對(duì);取回模塊,用于從所述存儲(chǔ)介質(zhì) 中取回所述校驗(yàn)值;函數(shù)模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的 單向函數(shù);函數(shù)處理器,用于使用所述單向函數(shù),將所述候選密碼用作一 個(gè)所述輸入值來確定相應(yīng)的一個(gè)所述輸出值;以及驗(yàn)證模塊,用于將對(duì)應(yīng) 于所述候選密碼的所述一個(gè)輸出值與所述校驗(yàn)值相比較。而且,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述非密碼用途是用于識(shí)別。此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述校驗(yàn)值的所述至少一部分構(gòu)成 芯片序列號(hào)的至少一半。再此外,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述單向函數(shù)是加密散列函數(shù), 并且其中,所述輸出值是散列值。根據(jù)本發(fā)明的再另一個(gè)優(yōu)選實(shí)施例,提供了一種密碼產(chǎn)生方法,包括 提供模式;提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);確定所述單向 函數(shù)的一個(gè)所述輸入值,以使得相應(yīng)的一個(gè)所述輸出值具有所述模式;提 供所述一個(gè)輸入值,作為在對(duì)所述一個(gè)輸出值的密碼驗(yàn)證中使用的密碼, 所述一個(gè)輸出值是校驗(yàn)值,所述校驗(yàn)值具有長度;確定存儲(chǔ)值,以使得 能夠根據(jù)所述存儲(chǔ)值和所述模式來重構(gòu)所述校驗(yàn)值;并且所述存儲(chǔ)值具有 的長度比所述校驗(yàn)值的長度短;并且在存儲(chǔ)介質(zhì)中存儲(chǔ)所述存儲(chǔ)值,以便 以后取回。根據(jù)本發(fā)明的再另一個(gè)優(yōu)選實(shí)施例,還提供了一種驗(yàn)證方法,包括 提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);提供一個(gè)所述輸入值,作 為在針對(duì)相應(yīng)的一個(gè)所述輸出值的密碼驗(yàn)證中使用的密碼,所述一個(gè)輸出 值是校驗(yàn)值;使用所述單向函數(shù)確定所述密碼的所述校驗(yàn)值;并且在存儲(chǔ) 介質(zhì)中存儲(chǔ)所述校驗(yàn)值,以便以后取回,其中,所述存儲(chǔ)的校驗(yàn)值的至少 一部分具有非密碼用途。根據(jù)本發(fā)明的再另一個(gè)優(yōu)選實(shí)施例,還提供了一種驗(yàn)證方法,包括 存儲(chǔ)在密碼驗(yàn)證中使用的存儲(chǔ)值;接收候選密碼,用于在所述密碼驗(yàn)證中 與校驗(yàn)值進(jìn)行核對(duì);提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);使用 所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值,確定相應(yīng)的一個(gè)所 述輸出值;從存儲(chǔ)介質(zhì)中取回所述存儲(chǔ)值;提供模式;并且在考慮到所述 模式的情況下,將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出值與所述存儲(chǔ)值相比較。根據(jù)本發(fā)明的再另一個(gè)優(yōu)選實(shí)施例,還提供了一種驗(yàn)證方法,包括 存儲(chǔ)在密碼驗(yàn)證中使用的校驗(yàn)值,其中,所述存儲(chǔ)的校驗(yàn)值的至少一部分 具有非密碼用途;接收候選密碼,用于在所述密碼驗(yàn)證中與所述校驗(yàn)值進(jìn) 行核對(duì);從存儲(chǔ)介質(zhì)中取回所述校驗(yàn)值;提供具有多個(gè)輸入值和多個(gè)輸出 值的單向函數(shù);使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值, 確定相應(yīng)一個(gè)所述輸出值;并且將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出值 與所述校驗(yàn)值相比較。
由以下結(jié)合附圖的詳細(xì)說明,將會(huì)更加充分的明白和理解本發(fā)明,其中圖1是根據(jù)本發(fā)明的優(yōu)選實(shí)施例而構(gòu)建及操作的驗(yàn)證系統(tǒng)在基于模式 確定密碼及相關(guān)存儲(chǔ)值時(shí)的半圖形化半框圖式的視圖;圖2是圖1的驗(yàn)證系統(tǒng)在用圖1的模式來驗(yàn)證候選密碼時(shí)的半圖形化 半框圖式的視圖;圖3是圖1的驗(yàn)證系統(tǒng)在與請(qǐng)求裝置一起在優(yōu)選操作模式中操作時(shí)的 框圖;圖4是根據(jù)本發(fā)明的可替換優(yōu)選實(shí)施例而構(gòu)建及操作的驗(yàn)證系統(tǒng)在基 于芯片序列號(hào)來確定密碼及相關(guān)存儲(chǔ)值時(shí)的半圖形化半框圖式的視圖;圖5是圖4的驗(yàn)證系統(tǒng)在為多個(gè)芯片序列號(hào)確定密碼及相關(guān)存儲(chǔ)值時(shí) 的半圖形化半框圖式的視圖;圖6是圖4的驗(yàn)證系統(tǒng)在將存儲(chǔ)值寫入多個(gè)芯片中時(shí)的半圖形化半框 圖式的視圖;圖7是圖4的驗(yàn)證系統(tǒng)在用圖4的芯片序列號(hào)驗(yàn)證候選密碼時(shí)的半圖 形化半框圖式的視圖;圖8顯示圖4的驗(yàn)證系統(tǒng)的模塊布置的框圖;圖9是與圖1的驗(yàn)證系統(tǒng)或圖4的驗(yàn)證系統(tǒng)一起使用的密碼定義模塊 的框圖;圖10是與圖1的驗(yàn)證系統(tǒng)或圖4的驗(yàn)證系統(tǒng)一起使用的密碼驗(yàn)證模塊 的框圖;圖11是根據(jù)本發(fā)明的另一可替換優(yōu)選實(shí)施例而構(gòu)建及操作的驗(yàn)證系統(tǒng) 在基于密碼來確定存儲(chǔ)值及芯片序列號(hào)時(shí)的半圖形化半框圖式的視圖;圖12是根據(jù)本發(fā)明的再另一個(gè)可選優(yōu)選實(shí)施例而構(gòu)建及操作的、基于 密碼來確定芯片序列號(hào)的驗(yàn)證系統(tǒng)的半圖形化半框圖式的視圖;圖13是由圖1的驗(yàn)證系統(tǒng)或圖4的驗(yàn)證系統(tǒng)確定的第一校驗(yàn)值的示意圖;圖14是由圖1的驗(yàn)證系統(tǒng)或圖4的驗(yàn)證系統(tǒng)確定的第二校驗(yàn)值的示意圖;圖15是由圖1的驗(yàn)證系統(tǒng)或圖4的驗(yàn)證系統(tǒng)確定的第三校驗(yàn)值的示意圖;圖16是由圖1的驗(yàn)證系統(tǒng)或圖4的驗(yàn)證系統(tǒng)確定的第四校驗(yàn)值的示意 圖;以及圖17是由圖1的驗(yàn)證系統(tǒng)或圖4的驗(yàn)證系統(tǒng)確定的第五校驗(yàn)值的示意圖。
具體實(shí)施方式
現(xiàn)在參考圖1,它是根據(jù)本發(fā)明的優(yōu)選實(shí)施例而構(gòu)建及操作的驗(yàn)證系統(tǒng) 10在基于模式16來確定密碼12及相關(guān)存儲(chǔ)值14時(shí)的半圖形化半框圖式的 視圖。首先,通常由偽隨機(jī)數(shù)發(fā)生器(未示出)提供樣本密碼26(塊20)。優(yōu)選地, 由產(chǎn)生輸出值18的單向函數(shù)(塊22)來處理密碼26。所述單向函數(shù)優(yōu)選地具有多個(gè)輸入值和輸出值。所述單向函數(shù)優(yōu)選地 是加密散列函數(shù),例如但不限于SHA-1或MD5,輸出值是散列值。然而, 本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,所述單向函數(shù)可以是遵從在發(fā)明內(nèi)容部分 中所述單向函數(shù)定義的任何適合的單向函數(shù)。如果驗(yàn)證系統(tǒng)10不執(zhí)行散列函數(shù),而是執(zhí)行分組密碼,例如但不限于 AES,則所述單向函數(shù)就可以用以下方式之一來實(shí)現(xiàn)。第一個(gè)選擇是加密樣本密碼26,隨后用該加密操作的輸出和樣本密碼 26執(zhí)行異或操作。
第二個(gè)選擇是用樣本密碼26作為密鑰來加密一個(gè)常數(shù)(例如但不限于0)。第三個(gè)選擇是用樣本密碼26作為密鑰來加密一個(gè)常數(shù)(例如但不限于 0),隨后用該加密操作的輸出和樣本密碼26執(zhí)行異或操作。本領(lǐng)域普通技 術(shù)人員會(huì)意識(shí)到,存在許多適合的方式用于根據(jù)分組密碼構(gòu)建單向函數(shù)。已經(jīng)參考驗(yàn)證系統(tǒng)10的樣本密碼26作為函數(shù)的輸入說明了以上各個(gè) 選擇。然而,本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,以上各個(gè)選擇可以與本發(fā)明 的任何優(yōu)選實(shí)施例一起使用。對(duì)于低資源裝置,例如RFID或IRD芯片,可以模擬單向函數(shù),例如 使用以下函數(shù),該函數(shù)將64位輸入X映射到64位輸出Z上,僅作為范例Y=X||X (Y是128位記錄數(shù)(register))換句話說,Y等于X的2個(gè)副本相連接。Y,=Y XOR (Y 5 AND Y《36) XOR (Y《14 OR Y《45)其中"<<"是左循環(huán)移位運(yùn)算符。Y,,=Y, XOR (Y,《34 NAND Y,《41) XOR (Y,《24 NOR Y,《l 1) Y,,,=Y" XOR (Y"《12 NAND Y"《54) XOR (Y,,《28 OR Y" l 1) 有可能以上類型的20次的更多操作會(huì)給出Yfinal。由Yfinal
XORYfmal [64…127]給出64位輸出Z。換句話說,通過用Yfinal的前64位與Yfmal的后64位執(zhí)行XOR操作來給出64位輸出Z。本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,可以適當(dāng)?shù)馗淖冚斎牖蜉敵龅拈L度和/或可以修改該函數(shù)的個(gè)別步驟。隨后,通常將輸出值18與模式16相比較,以確定輸出值18是否具有模式16(塊24)。如果不存在模式匹配,那么就重復(fù)塊20-24的步驟(箭頭28)。 如果存在模式匹配(箭頭30),則優(yōu)選地,將該樣本密碼26指定為密碼12,進(jìn)行發(fā)送以便在針對(duì)輸出值18的密碼驗(yàn)證(塊32)中使用。通常將輸出值18定義為校驗(yàn)值34。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,輸出值18中一部分包括模式16,以致于按照由模式16所定義的,輸出值18通常包括按照預(yù)定順序的特定值。根據(jù)本發(fā)明的可替換優(yōu)選實(shí)施例,模式16定義了輸出值18應(yīng)遵循的模式,例
如,輸出值18的前半部分應(yīng)等于輸出值18的后半部分,或者輸出值18的 前半部分是輸出值18的后半部分的逆,或者輸出值18的前半部分是輸出 值18的后半部分的函數(shù)。本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,模式16可以為 輸出值18定義任何適合的模式。由于校驗(yàn)值34具有模式16,因此僅需在存儲(chǔ)值14中存儲(chǔ)校驗(yàn)值34的 一部分,用于以后的密碼驗(yàn)證使用。因此,優(yōu)選地,存儲(chǔ)值14被確定為使 得能夠根據(jù)存儲(chǔ)值14和模式16來重構(gòu)校驗(yàn)值34(塊38)。因此,存儲(chǔ)值14 是校驗(yàn)值34的壓縮形式。作為第一個(gè)實(shí)例,如果校驗(yàn)值34的前半部分包 括模式16,那么通常只需在存儲(chǔ)值14中存儲(chǔ)校驗(yàn)值34的后半部分。作為 第二個(gè)實(shí)例,如果校驗(yàn)值34的前半部分等于校驗(yàn)值34的后半部分,那么 通常僅需存儲(chǔ)校驗(yàn)值34的一半。存儲(chǔ)值14可選地包括指示符36,其提供 模式16的指示。存儲(chǔ)值14的長度優(yōu)選地比校驗(yàn)值34的長度短。隨后,通常將存儲(chǔ)值14存儲(chǔ)在存儲(chǔ)介質(zhì)40中,以便稍后取回(塊42)。僅作為實(shí)例來說明驗(yàn)證系統(tǒng)10的以下優(yōu)點(diǎn)。如果校驗(yàn)值34具有64位, 模式16具有32位,存儲(chǔ)值14具有32位(加上用于指示符36的一個(gè)或多個(gè) 可選的位),那么校驗(yàn)值34就提供64位的安全性,而存儲(chǔ)值14的長度僅是 32位加上指示符36。存在預(yù)處理成本用來查找密碼12,以使得輸出值18 包括模式16。平均會(huì)用232(約40億)次嘗試來找到給出該模式16的密碼12。 該預(yù)處理需求通常與模式16的尺寸和/或復(fù)雜性成比例。本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,為校驗(yàn)值34和模式16所選擇的尺寸 通常取決于各種因素,僅作為實(shí)例,包括現(xiàn)有技術(shù)處理器的速度, 一個(gè)(或 多個(gè))預(yù)處理裝置的速度, 一個(gè)(或多個(gè))驗(yàn)證裝置的速度,以及單向函 數(shù)的處理時(shí)間和強(qiáng)度?,F(xiàn)在參考圖2,其是圖1的驗(yàn)證系統(tǒng)10在用圖1的模式16驗(yàn)證候選密 碼44時(shí)的半圖形化半框圖式的視圖?,F(xiàn)在更詳細(xì)的說明用于驗(yàn)證候選密碼 44的方法。接收用于在密碼驗(yàn)證期間與校驗(yàn)值34進(jìn)行核對(duì)的候選密碼44(塊46)。 優(yōu)選地,用單向函數(shù),將候選密碼44用作單向函數(shù)的輸入值,來確定 輸出值48(塊50)。通常從存儲(chǔ)介質(zhì)40取回存儲(chǔ)值14(塊52)。 通常根據(jù)存儲(chǔ)值14和模式16來重構(gòu)校驗(yàn)值34(塊54)。存儲(chǔ)值14是校 驗(yàn)值34的壓縮形式。當(dāng)存儲(chǔ)值14包括指示符36時(shí),指示符36優(yōu)選地用于確定模式16的 一個(gè)或多個(gè)方面。指示符36通常不包含在重構(gòu)的校驗(yàn)值34中。最后,優(yōu)選地,將用于候選密碼34的輸出值48與重構(gòu)的校驗(yàn)值34相 比較(塊56)。隨后,通常將該密碼驗(yàn)證的結(jié)果發(fā)送到請(qǐng)求驗(yàn)證的裝置。根據(jù)本發(fā)明的可替換優(yōu)選實(shí)施例,并不根據(jù)存儲(chǔ)值14來重構(gòu)校驗(yàn)值34。 在考慮到利用指示符36的模式16的情況下,將輸出值48與存儲(chǔ)值14相 比較(如果適當(dāng))。例如,檢査輸出值48以確保輸出值48具有利用指示符的 模式16(如果適當(dāng))。隨后將輸出值48壓縮,以產(chǎn)生不含模式16的壓縮值。 隨后將該壓縮值與存儲(chǔ)值14相比較。本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,存在許多其它適合的方式,用于在考 慮到模式16的情況下,將輸出值48與存儲(chǔ)值14相比較?,F(xiàn)在參考圖3, 其是圖1的驗(yàn)證系統(tǒng)10在與請(qǐng)求裝置58 —起在優(yōu)選操作模式中操作時(shí)的 框圖。驗(yàn)證系統(tǒng)10優(yōu)選地包括密碼定義模塊60和密碼驗(yàn)證模塊62。密碼定 義模塊60通常執(zhí)行參考?jí)K20-42(圖l)所述的步驟。密碼驗(yàn)證模塊62通常 執(zhí)行參考?jí)K44-56(圖2)所述的步驟。在已經(jīng)由密碼定義模塊60確定了密碼12后,驗(yàn)證系統(tǒng)10優(yōu)選地向請(qǐng) 求裝置58發(fā)送所分配的密碼12。請(qǐng)求裝置58通常向驗(yàn)證系統(tǒng)10發(fā)送候選密碼44用于驗(yàn)證。驗(yàn)證系統(tǒng) 10的密碼驗(yàn)證模塊62優(yōu)選地處理請(qǐng)求裝置58的驗(yàn)證請(qǐng)求,隨后通常將該 驗(yàn)證的結(jié)果的通知請(qǐng)求裝置58 (箭頭64)。分別參考圖9和10更詳細(xì)的說明與密碼定義模塊60和密碼驗(yàn)證模塊 62具有基本上相同的功能的密碼定義模塊和密碼驗(yàn)證模塊?,F(xiàn)在參考圖4,其是根據(jù)本發(fā)明的可替換優(yōu)選實(shí)施例而構(gòu)建及操作的驗(yàn) 證系統(tǒng)66在基于芯片94的芯片序列號(hào)72來確定密碼68及相關(guān)的存儲(chǔ)值 70時(shí)的半圖形化半框圖式的視圖。應(yīng)注意,如在說明書和權(quán)利要求書中所用的術(shù)語"芯片序列號(hào)"定義 為包括任何適當(dāng)字符的使用,包括字母數(shù)字式和非字母數(shù)字式字符,其用
于識(shí)別芯片。術(shù)語"芯片序列號(hào)"有時(shí)被稱為"芯片ID"。驗(yàn)證系統(tǒng)66基本上與圖1-3的驗(yàn)證系統(tǒng)10相同,除了對(duì)于驗(yàn)證系統(tǒng) 66,優(yōu)選地使用由芯片序列號(hào)72定義的模式來確定密碼68。根據(jù)本發(fā)明的該可替換優(yōu)選實(shí)施例,通常將完整的芯片序列號(hào)72用作 所述模式。然而,本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,可以使用芯片序列號(hào)72 的一部分來定義所述模式,例如芯片序列號(hào)72的一半。芯片序列號(hào)72是所述模式具有非密碼用途的一個(gè)實(shí)例,例如但不限于, 識(shí)別。本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,預(yù)定順序的、預(yù)定值的任何適合的 串都可以用作所述模式的至少一部分,例如但不限于,RFID序列號(hào)(參考圖 13更詳細(xì)的說明)或者配置位(參考圖15更詳細(xì)的說明)。現(xiàn)在更詳細(xì)的說明驗(yàn)證系統(tǒng)66的操作。首先,優(yōu)選地,通常由偽隨機(jī)數(shù)發(fā)生器(未示出)來提供樣本密碼74(塊76)。通常由產(chǎn)生輸出值78的單向函數(shù)來處理該密碼74(塊80)。 隨后,優(yōu)選地,將輸出值80與芯片序列號(hào)72相比較,來確定輸出值 78是否在該輸出值78的適當(dāng)部分中包括芯片序列號(hào)72(塊82)。應(yīng)注意, 優(yōu)選地,需要將芯片序列號(hào)72的包括限于輸出值78的一部分,例如但不 限于輸出值78的開頭、輸出值78的結(jié)尾或在輸出值78中的某個(gè)其它適 當(dāng)?shù)念A(yù)定點(diǎn)處。如果不存在模式匹配,那么通常就重復(fù)塊76-82的步驟(箭頭84)。 如果存在模式匹配(箭頭86),則優(yōu)選J:也,將該樣本密碼74指定為密碼 68,進(jìn)行發(fā)送以便在相對(duì)于輸出值78的密碼驗(yàn)證(塊88)中使用。優(yōu)選地, 將輸出值78指定為校驗(yàn)值90。由于校驗(yàn)值90包括芯片序列號(hào)72,因此通常只有校驗(yàn)值90中的一部 分需要存儲(chǔ)在存儲(chǔ)值70中,以便將來的密碼驗(yàn)證使用。因此,優(yōu)選地,存 儲(chǔ)值70被確定為使得能夠根據(jù)存儲(chǔ)值70和芯片序列號(hào)72來重構(gòu)校驗(yàn)值 90(塊92)。換句話說,存儲(chǔ)值72通常包括校驗(yàn)值90的數(shù)據(jù),但存儲(chǔ)值70 通常不含有芯片序列號(hào)72的完整數(shù)據(jù)串。因此,存儲(chǔ)值70通常比校驗(yàn)值 90短。隨后,優(yōu)選地將存儲(chǔ)值70存儲(chǔ)在芯片94的存儲(chǔ)介質(zhì)96中,以便稍后
取回(塊98)?,F(xiàn)在參考圖5,它是圖4的驗(yàn)證系統(tǒng)66在為多個(gè)芯片序列號(hào)100確定 密碼及相關(guān)存儲(chǔ)值時(shí)的半圖形化半框圖式的視圖。如參考圖1所述的,通常存在與確定密碼相關(guān)的預(yù)處理成本,以使得 輸出值具有預(yù)定模式。當(dāng)大量確定密碼時(shí),例如為大量芯片確定密鑰,其 中每一個(gè)芯片都具有唯一的芯片序列號(hào),所述預(yù)處理成本通常變得更加重 要。因此,通過如下所述的在批處理的基礎(chǔ)上確定密碼,通常能夠更有效 的執(zhí)行預(yù)處理。通常,優(yōu)選地,用偽隨機(jī)數(shù)發(fā)生器(未示出)來產(chǎn)生樣本密碼102(塊104)。通常由產(chǎn)生輸出值106(塊108)的單向函數(shù)來處理樣本密碼102。隨后,通常將輸出值106與存儲(chǔ)在表110中的各個(gè)芯片序列號(hào)100相 比較,以確定輸出值106是否在該輸出值106的適當(dāng)部分中包括任何芯片 序列號(hào)IOO(塊112)。如果在輸出值106與任何芯片序列號(hào)100之間都不存在模式匹配,那 么優(yōu)選地,重復(fù)塊104-112的步驟(箭頭114)。如果在輸出值106與任何芯片序列號(hào)IOO之間存在模式匹配(箭頭116), 則通常就將該樣本密碼102指定為密碼118,用于在相對(duì)于該匹配的芯片序 列號(hào)100的輸出值106的密碼驗(yàn)證中使用。優(yōu)選地,將密碼118寫入到表 110,以便將密碼118與匹配的芯片序列號(hào)100相關(guān)聯(lián)(塊120)。接下來,通常,存儲(chǔ)值122被確定為使得能夠根據(jù)存儲(chǔ)值122和匹配 的芯片序列號(hào)100來重構(gòu)校驗(yàn)值(與輸出值106相同)(塊124)。隨后,優(yōu)選地將存儲(chǔ)值122寫入到表110(塊126)。通常重復(fù)步驟104-126(箭頭128),直到為表110中的每一個(gè)芯片序列 號(hào)100都指定了存儲(chǔ)值和密碼。現(xiàn)在參考圖6,它是圖4的驗(yàn)證系統(tǒng)66在將多個(gè)存儲(chǔ)值130寫到多個(gè) 芯片132中時(shí)的半圖形化半框圖式的視圖。一旦已經(jīng)用存儲(chǔ)值和密碼數(shù)據(jù)填充了表110,就優(yōu)選地將存儲(chǔ)值130寫 入到各自的芯片132中,以使得每一個(gè)芯片132都接收與芯片132的芯片 序列號(hào)100相關(guān)聯(lián)的存儲(chǔ)值130(塊134)。
現(xiàn)在參考圖7,它是圖4的驗(yàn)證系統(tǒng)66在使用圖4的芯片序列號(hào)72驗(yàn) 證候選密碼136時(shí)的半圖形化半框圖式的視圖。接收候選密碼136,用于在密碼驗(yàn)證中相對(duì)于校驗(yàn)值90進(jìn)行核對(duì)(塊 138)。優(yōu)選地,用單向函數(shù),將候選密碼136用作該單向函數(shù)的輸入值,來 確定輸出值140(塊142)。通常從芯片94的存儲(chǔ)介質(zhì)96中取回存儲(chǔ)值70和芯片序列號(hào)72(塊 144)。通常通過在圖7的實(shí)例中將存儲(chǔ)值70與芯片序列號(hào)72相連接,來由 存儲(chǔ)值70和芯片序列號(hào)72重構(gòu)校驗(yàn)值卯(塊146)。最后,優(yōu)選地,將候選密碼136的輸出值140與重構(gòu)的校驗(yàn)值90相比 較(塊148)。根據(jù)本發(fā)明的可替代優(yōu)選實(shí)施例,并不根據(jù)存儲(chǔ)值70和芯片序列號(hào)72 來重構(gòu)校驗(yàn)值90。例如,將輸出值140與存儲(chǔ)值70和芯片序列號(hào)72相比 較?,F(xiàn)在參考圖8,其是顯示圖4的驗(yàn)證系統(tǒng)66的模塊布置的框圖。驗(yàn)證系統(tǒng)66通常包括密碼定義模塊150和存儲(chǔ)值寫入模塊152。通常 將密碼定義模塊150和存儲(chǔ)值寫入模塊152布置在單個(gè)裝置154中。然而, 本領(lǐng)域普通技術(shù)人員會(huì)意識(shí)到,可以將密碼定義模塊150和存儲(chǔ)值寫入模 塊152布置在不同裝置中。密碼定義模塊150優(yōu)選地執(zhí)行參考圖4的塊76-98和/或圖5的塊 104-126所述的步驟。存儲(chǔ)值寫入模塊152優(yōu)選地執(zhí)行參考圖6的塊134所述的步驟,用于 將存儲(chǔ)值130寫入到芯片132。驗(yàn)證系統(tǒng)66通常還包括多個(gè)密碼驗(yàn)證模塊156。每一個(gè)密碼驗(yàn)證模塊 156都優(yōu)選地布置在其中一個(gè)芯片132中。每一個(gè)密碼驗(yàn)證模塊156通常都 執(zhí)行參考圖7的塊138-148所述的步驟。分別參考圖9和IO更詳細(xì)的說明密碼定義模塊和密碼驗(yàn)證模塊,其包 括與密碼定義模塊150和密碼驗(yàn)證模塊156基本相同的功能。現(xiàn)在參考圖9,其是用于與圖1的驗(yàn)證系統(tǒng)10或圖4的任何系統(tǒng)66 —
起使用的密碼定義模塊158的框圖。密碼定義模塊158優(yōu)選地包括模式模塊160、函數(shù)模塊162、函數(shù)處 理器164、密碼模塊166、壓縮模塊168和存儲(chǔ)模塊170。模式模塊160通常用于提供模式。函數(shù)模塊162通常用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù)。 該單向函數(shù)已經(jīng)在上文中定義。該單向函數(shù)通常是加密散列函數(shù),例如但 不限于SHA-1或MD5,或者任何其他適合的函數(shù),例如但不限于參考圖l 所述的函數(shù)。函數(shù)處理器164優(yōu)選地用于查找單向函數(shù)的輸入值,以使得 相應(yīng)的輸出值具有這個(gè)模式。函數(shù)處理器164通常通過重復(fù)性處理來確定 輸入值,所述重復(fù)性處理包括產(chǎn)生樣本密碼,通常為該樣本密碼計(jì)算輸 出值,以及優(yōu)選地將輸出值與模式相比較,如參考圖1和4所述的。密碼模塊166通常用于提供由函數(shù)處理器164所確定的輸入值作為密 碼,用于在相對(duì)于由函數(shù)處理器164所確定的輸出值(被指定為校驗(yàn)值)的密 碼驗(yàn)證中使用。壓縮模塊168通常用于確定存儲(chǔ)值,以使得能夠根據(jù)存儲(chǔ)值和模式 來重構(gòu)校驗(yàn)值;且存儲(chǔ)值的長度比校驗(yàn)值的長度短。優(yōu)選地,存儲(chǔ)模塊170 用于將存儲(chǔ)值存儲(chǔ)在存儲(chǔ)介質(zhì)40(圖l)或存儲(chǔ)介質(zhì)%(圖4)中,以便稍后取回?,F(xiàn)在參考圖10,其是用于與圖1的驗(yàn)證系統(tǒng)10或圖4的驗(yàn)證系統(tǒng)66 一起使用的密碼定義模塊172的框圖。密碼驗(yàn)證模塊172優(yōu)選地包括密碼 接收器174、取回模塊176、模式模塊178、重構(gòu)模塊180、函數(shù)模塊182、 函數(shù)處理器184和驗(yàn)證模塊186。密碼接收器174通常用于接收候選密碼,用于在密碼驗(yàn)證中相對(duì)于校 驗(yàn)值進(jìn)行核對(duì)。取回模塊176通常用于從存儲(chǔ)介質(zhì)40(圖1)或存儲(chǔ)介質(zhì)96(圖 4)中取回存儲(chǔ)值。模式模塊178優(yōu)選地用于提供模式。重構(gòu)模塊180通常用 于根據(jù)存儲(chǔ)值和模式來重構(gòu)校驗(yàn)值。函數(shù)模塊182通常用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù)。 函數(shù)處理器184優(yōu)選地用于使用單向函數(shù),將候選密碼用作相應(yīng)的輸入值, 來確定輸出值。驗(yàn)證模塊186通常用于將候選密碼的輸出值與校驗(yàn)值相比較。
根據(jù)本發(fā)明的可替換優(yōu)選實(shí)施例,并不根據(jù)存儲(chǔ)值來重構(gòu)校驗(yàn)值;如 果適當(dāng)?shù)脑?,?yàn)證模塊186用于在考慮到基于指示符的模式的情況下,將 候選密碼的輸出值與校驗(yàn)值相比較,以致于通常不需要重構(gòu)模塊80。例如, 檢査輸出值,以確保輸出值具有利用指示符的模式(如果適當(dāng)?shù)脑?。隨后, 通常借助于壓縮模塊,例如壓縮模塊168,來壓縮輸出值,以產(chǎn)生不含這個(gè) 模式的壓縮值。隨后,由驗(yàn)證模塊186將壓縮值與存儲(chǔ)值14相比較。會(huì)注意到,當(dāng)在單個(gè)裝置中布置密碼定義模塊158和密碼驗(yàn)證模塊172 時(shí),那么通常將模式模塊178和模式模塊160(圖9)合并為單個(gè)單元;通 常將函數(shù)模塊182和函數(shù)模塊162(圖9)合并為單個(gè)單元;以及通常將函數(shù) 處理器184和函數(shù)處理器164合并為單個(gè)單元。作為介紹,參考圖l-10所述的實(shí)施例假設(shè)校驗(yàn)值的一部分具有預(yù)定模 式,其具有或不具有非密碼用途。與此相反,參考圖11和12所述的實(shí)施 例假設(shè)校驗(yàn)值通常不受預(yù)定模式的限制。不過,在圖11和12中,校驗(yàn)值 的至少一部分具有非密碼用途。在圖11中,優(yōu)選地,通過經(jīng)單向函數(shù)處理 密碼,來確定校驗(yàn)值。然后,通常將校驗(yàn)值的一部分用于非密碼用途,例 如芯片序列號(hào)。在圖12中,優(yōu)選地,將整個(gè)校驗(yàn)值用于非密碼用途。現(xiàn)在參考圖11,其是根據(jù)本發(fā)明的另一個(gè)可替換優(yōu)選實(shí)施例構(gòu)建及操 作的驗(yàn)證系統(tǒng)188在基于密碼196確定存儲(chǔ)值190和芯片序列號(hào)192時(shí)的 半圖形化半框圖式的視圖。通常由偽隨機(jī)數(shù)發(fā)生器(未示出)提供密碼196。優(yōu)選地,將密碼196提供為到單向函數(shù)的輸入,從而產(chǎn)生相應(yīng)的輸出值,用作密碼驗(yàn)證中相對(duì)于 密碼196的校驗(yàn)值198(塊200)。隨后,優(yōu)選地,將密碼196發(fā)給裝置(未示 出),用于稍后的使用(塊206)。然后,通常將校驗(yàn)值198分割為存儲(chǔ)值190和芯片序列號(hào)192(塊208)。 例如,將校驗(yàn)值198的前半部分指定為芯片序列號(hào)192,將校驗(yàn)值198的后 半部分指定為存儲(chǔ)值l卯。因此,在圖11的實(shí)例中,校驗(yàn)值198的一半具 有采用芯片序列號(hào)192形式的非密碼用途(識(shí)別)。優(yōu)選地,將校驗(yàn)值198存儲(chǔ)在芯片212的存儲(chǔ)介質(zhì)210中,作為存儲(chǔ) 值190和芯片序列號(hào)192,用于稍后取回(塊214)。優(yōu)選地,不在存儲(chǔ)介質(zhì) 210中將校驗(yàn)值198存儲(chǔ)為單個(gè)值。
在密碼驗(yàn)證期間,芯片212通常接收候選密碼。候選密碼的驗(yàn)證與參 考圖7所述的驗(yàn)證過程基本上相同?,F(xiàn)在參考圖12,它是根據(jù)本發(fā)明的再另一個(gè)可替換優(yōu)選實(shí)施例構(gòu)建及 操作的驗(yàn)證系統(tǒng)216在基于密碼222為芯片220確定芯片序列號(hào)218時(shí)的 半圖形化半框圖式的視圖。通常由偽隨機(jī)數(shù)發(fā)生器(未示出)提供密碼222。優(yōu)選地將密碼222提供 為到單向函數(shù)的輸入,從而產(chǎn)生相應(yīng)的輸出值,用作密碼驗(yàn)證中相對(duì)于密 碼222的校驗(yàn)值224(塊226)。隨后,通常將密碼222發(fā)給裝置(未示出),用于稍后的使用(塊228)。然后,優(yōu)選地,將芯片序列號(hào)218指定為校驗(yàn)值224的值。通常將芯 片序列號(hào)218存儲(chǔ)在芯片220的存儲(chǔ)介質(zhì)230中,用于稍后在密碼驗(yàn)證期 間取回(塊232)。因此,在圖12的實(shí)例中,整個(gè)校驗(yàn)值198具有采用芯片 序列號(hào)224形式的非密碼用途(用于識(shí)別)。在密碼驗(yàn)證期間,芯片220優(yōu)選地接收候選密碼,其由單向函數(shù)進(jìn)行 處理,從而產(chǎn)生相應(yīng)的輸出值。隨后,通常將與候選密碼相關(guān)聯(lián)的輸出值 與作為校驗(yàn)值224的芯片序列號(hào)218相比較。再次參考圖9和10。會(huì)意識(shí)到,可以分別由圖9和10的密碼定義模塊158和密碼驗(yàn)證模塊 172的一個(gè)或多個(gè)元素來執(zhí)行驗(yàn)證系統(tǒng)188(圖11)和驗(yàn)證系統(tǒng)216(圖12)的 功能。然而,應(yīng)注意,函數(shù)處理器164優(yōu)選地用于在不參考模式的情況下, 用單向函數(shù)來為密碼確定校驗(yàn)值。現(xiàn)在參考圖13,其是由圖1的驗(yàn)證系統(tǒng)10或圖4的驗(yàn)證系統(tǒng)66確定 的校驗(yàn)值234的示意圖。優(yōu)選地,根據(jù)固定模式236來構(gòu)成校驗(yàn)值234,固 定模式236包括按照預(yù)定順序的預(yù)定字符串,以及自由值240,自由值240 由驗(yàn)證系統(tǒng)10或驗(yàn)證系統(tǒng)66的預(yù)處理來確定。在圖13的實(shí)例中,固定模 式236的串是基于RFID標(biāo)簽的序列號(hào)。然而,本領(lǐng)域普通技術(shù)人員會(huì)意識(shí) 到,固定模式236可以是任何適合的固定模式。作為介紹,射頻識(shí)別(RFID)是一種自動(dòng)識(shí)別方法,依賴于使用稱為RFID 標(biāo)簽或應(yīng)答器的裝置來存儲(chǔ)并遠(yuǎn)程取回?cái)?shù)據(jù)。RFID標(biāo)簽是能夠附著到或合 并入產(chǎn)品、動(dòng)物或人中的物體。RFID標(biāo)簽通常包含硅芯片和天線,以使得 標(biāo)簽?zāi)軌蚪邮詹?yīng)答來自RFID收發(fā)機(jī)的射頻查詢。無源標(biāo)簽通常無需內(nèi)部 電源,而有源標(biāo)簽需要電源。RFID標(biāo)簽優(yōu)選地包括密碼保護(hù)的"毀壞"開 關(guān),因此可以破壞標(biāo)簽,或者使其變?yōu)椴豢刹僮?,例如稍后轉(zhuǎn)換為新的芯 片。可以從701 N.34th Street, Suite 300, Seattle, WA98103US的Impinj公司 商業(yè)獲得包含24位和32位的毀壞及訪問密碼的RFID芯片。32位的密碼通常不是很安全。然而,最便宜的RFID標(biāo)簽具有非常有 限的存儲(chǔ)空間。因此,增大密碼的長度通常非常困難??梢詫⒈景l(fā)明的教導(dǎo)用于提供更長的校驗(yàn)值,例如但不限于,64位的 校驗(yàn)值。優(yōu)選地,根據(jù)32位存儲(chǔ)值240(自由值)和固定模式236來構(gòu)成校 驗(yàn)值234,其中固定模式236根據(jù)32位的RFID序列號(hào)來構(gòu)成。由于RFID 中已經(jīng)包括了RFID序列號(hào),因此,校驗(yàn)值234中的通過用RFID序列號(hào)所 提供的安全的額外的32位無需RFID中的任何額外存儲(chǔ)空間。因此,安全 密碼可以利用RFID序列號(hào),以便增加毀壞密碼或RFID標(biāo)簽中任何其它密 碼的安全性?,F(xiàn)在參考圖14,其是由圖1的驗(yàn)證系統(tǒng)10或圖4的驗(yàn)證系統(tǒng)66確定 的校驗(yàn)值238的示意圖。優(yōu)選地根據(jù)兩個(gè)自由值242來構(gòu)成校驗(yàn)值238。通 常由驗(yàn)證系統(tǒng)10或驗(yàn)證系統(tǒng)66來確定自由值242,以便按照某種模式的定 義,將自由值242彼此相關(guān)。例如,自由值242可以彼此相等,自由值242 可以彼此相反,或者自由值242可以通過任何適合的函數(shù)相關(guān)聯(lián)?,F(xiàn)在參考圖15,其是由圖1的驗(yàn)證系統(tǒng)10或圖4的驗(yàn)證系統(tǒng)66確定 的校驗(yàn)值244的示意圖。校驗(yàn)值244通常包括兩個(gè)固定模式,模式246和 模式248,以及自由值250。模式246和模式248可以包括任何適合的固定 模式。作為非限制性實(shí)例,模式246包括20個(gè)0和/或1(20位),模式248 包括構(gòu)成一組配置位(僅作為實(shí)例,為12位)的至少一部分的一個(gè)串。所述 配置位通常構(gòu)成芯片的一次性可編程(OTP)存儲(chǔ)器的一部分。由驗(yàn)證系統(tǒng)10 或驗(yàn)證系統(tǒng)66基于模式246和模式248來確定自由值250。僅作為實(shí)例, 自由值250具有32位。因此,校驗(yàn)值244具有64位?,F(xiàn)在參考圖16,其是由圖1的驗(yàn)證系統(tǒng)10或圖4的驗(yàn)證系統(tǒng)66確定 的校驗(yàn)值252的示意圖。校驗(yàn)值252通常包括兩個(gè)固定模式,模式254和 模式256及自由值258。在校驗(yàn)值252中,固定模式254和固定模式256通 常位于自由值258的任意一側(cè)。模式254和模式256可以包括任何適合的 固定模式。作為非限制性實(shí)例,固定模式254包括16個(gè)0和域1(16位), 固定模式256包括構(gòu)成芯片序列號(hào)(16位)的至少一部分的一個(gè)串。優(yōu)選地, 由驗(yàn)證系統(tǒng)10或驗(yàn)證系統(tǒng)66基于固定模式254和固定模式256來確定自 由值258。僅作為實(shí)例,自由值258具有40位。因此,校驗(yàn)值252具有72 位?,F(xiàn)在參考圖17,其是由圖1的驗(yàn)證系統(tǒng)10或圖4的驗(yàn)證系統(tǒng)66確定 的校驗(yàn)值260的示意圖。校驗(yàn)值260優(yōu)選地包括固定模式262,自由值264 和自由值266。模式266可以包括任何適合的固定模式,例如但不限于,預(yù) 定的0和/或1的串。通常由驗(yàn)證系統(tǒng)10或驗(yàn)證系統(tǒng)66基于固定模式262 來確定自由值264和自由值266。在圖17的實(shí)例中,自由值264僅用于密 碼驗(yàn)證,而自由值266具有非密碼用途,例如但不限于,用于識(shí)別,諸如 芯片序列號(hào)。校驗(yàn)值260的長度優(yōu)選地大于64位,固定模式262的長度優(yōu) 選地小于48位。如果固定模式262過大,則預(yù)處理階段通常就耗費(fèi)過長的 時(shí)間。如果校驗(yàn)值260過短,則就會(huì)危及安全性。意識(shí)到如果希望的話,可以在ROM(只讀存儲(chǔ)器)中實(shí)現(xiàn)本發(fā)明的軟件 組件。如果希望的話,通常用常規(guī)技術(shù)可以在硬件中實(shí)施所述軟件組件。會(huì)意識(shí)到,為了清楚起見,在各個(gè)實(shí)施例的背景中所述的本發(fā)明的各 種特征也可以在單個(gè)實(shí)施例中以組合的方式來提供。相反地,為了簡潔, 也可以分別地或者以任何適合的子組合方式,來提供在單個(gè)實(shí)施例的背景 中所述的本發(fā)明的各種特征。本領(lǐng)域技術(shù)人員還會(huì)意識(shí)到,本發(fā)明不受上 文中具體顯示并說明的內(nèi)容的限制。相反的,本發(fā)明的范圍僅由隨后的權(quán) 利要求書來定義。
權(quán)利要求
1、一種驗(yàn)證系統(tǒng),包括模式模塊,用于提供模式;函數(shù)模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);函數(shù)處理器,用于找到所述單向函數(shù)的一個(gè)所述輸入值,使得相應(yīng)的一個(gè)所述輸出值具有所述模式;密碼模塊,用于提供所述一個(gè)輸入值,作為針對(duì)所述一個(gè)輸出值的密碼驗(yàn)證中使用的密碼,所述一個(gè)輸出值是校驗(yàn)值,所述校驗(yàn)值具有長度;壓縮模塊,用于確定存儲(chǔ)值,以使得能夠根據(jù)所述存儲(chǔ)值和所述模式來重構(gòu)所述校驗(yàn)值;并且所述存儲(chǔ)值具有的長度比所述校驗(yàn)值的長度短;以及存儲(chǔ)模塊,用于將所述存儲(chǔ)值存儲(chǔ)在存儲(chǔ)介質(zhì)中,以便以后取回。
2、 如權(quán)利要求l所述的系統(tǒng),其中,所述存儲(chǔ)值包括所述模式的指示符。
3、 如權(quán)利要求l所述的系統(tǒng),其中,所述模式包括按照預(yù)定順序的一 串預(yù)定值。
4、 如權(quán)利要求3所述的系統(tǒng),其中,所述存儲(chǔ)值不含完整的所述串。
5、 如權(quán)利要求2所述的系統(tǒng),其中,所述串具有非密碼用途。
6、 如權(quán)利要求5所述的系統(tǒng),其中,所述非密碼用途是用于識(shí)別。
7、 如權(quán)利要求6所述的系統(tǒng),其中,所述串構(gòu)成芯片序列號(hào)的至少一半。
8、 如權(quán)利要求6所述的系統(tǒng),其中,所述串構(gòu)成RFID標(biāo)簽的序列號(hào)的至少一部分。
9、如權(quán)利要求5所述的系統(tǒng),其中,所述串構(gòu)成一組配置位的至少一 部分。
10、 如權(quán)利要求1所述的系統(tǒng),非密碼用途。
11、 如權(quán)利要求io所述的系統(tǒng),
12、 如權(quán)利要求IO所述的系統(tǒng), 構(gòu)成芯片序列號(hào)的至少一半。其中,所述存儲(chǔ)值的至少一部分具有其中,所述非密碼用途是用于識(shí)別。 其中,所述存儲(chǔ)值的所述至少一部分
13、 如權(quán)利要求l所述的系統(tǒng),還包括密碼接收器,用于接收候選密碼,所述函數(shù)處理器用于使用所述單向 函數(shù),將所述候選密碼用作一個(gè)所述輸入值,來確定相應(yīng)的一個(gè)所述輸出值;取回模塊,用于從所述存儲(chǔ)介質(zhì)中取回所述存儲(chǔ)值;以及 驗(yàn)證模塊,用于在考慮到所述模式的情況下,將對(duì)應(yīng)于所述候選密碼 的所述一個(gè)輸出值與所述存儲(chǔ)值相比較。
14、 如權(quán)利要求13所述的系統(tǒng),還包括重構(gòu)模塊,用于根據(jù)所述存儲(chǔ) 值和所述模式重構(gòu)所述校驗(yàn)值,其中,所述驗(yàn)證模塊用于將對(duì)應(yīng)于所述候 選密碼的所述一個(gè)輸出值與所述校驗(yàn)值相比較。
15、 如權(quán)利要求13所述的系統(tǒng),其中,所述壓縮模塊用于壓縮所述一 個(gè)輸出值,以產(chǎn)生不含所述模式的壓縮值,所述驗(yàn)證模塊用于將所述壓縮 值與所述存儲(chǔ)值相比較。
16、 如權(quán)利要求13所述的系統(tǒng),其中,所述存儲(chǔ)值包括所述模式的指 示符。
17、 如權(quán)利要求13所述的系統(tǒng),其中,所述模式包括按照預(yù)定順序的 一串預(yù)定值。
18、 如權(quán)利要求17所述的系統(tǒng),其中,所述存儲(chǔ)值不含完整的所述串。
19、 如權(quán)利要求17所述的系統(tǒng),其中,所述串具有非密碼用途。
20、 如權(quán)利要求19所述的系統(tǒng),其中,所述非密碼用途是用于識(shí)別。
21、 如權(quán)利要求20所述的系統(tǒng),其中,所述串構(gòu)成芯片序列號(hào)的至少一半。
22、 如權(quán)利要求20所述的系統(tǒng),其中,所述串構(gòu)成RFID標(biāo)簽的序列號(hào)的至少一部分。
23、 如權(quán)利要求19所述的系統(tǒng),其中,所述串構(gòu)成一組配置位的至少 一部分。
24、 如權(quán)利要求13所述的系統(tǒng),其中,所述存儲(chǔ)值的至少一部分具有 非密碼用途。
25、 如權(quán)利要求24所述的系統(tǒng),其中,所述非密碼用途是用于識(shí)別。
26、 如權(quán)利要求25所述的系統(tǒng),其中,所述存儲(chǔ)值的所述至少一部分 構(gòu)成芯片序列號(hào)的至少一半。
27、 一種驗(yàn)證系統(tǒng),包括函數(shù)模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù); 密碼模塊,用于提供一個(gè)所述輸入值,作為針對(duì)相應(yīng)的一個(gè)所述輸出值的密碼驗(yàn)證中使用的密碼,所述一個(gè)輸出值是校驗(yàn)值;函數(shù)處理器,用于使用所述單向函數(shù)來為所述密碼確定所述校驗(yàn)值;以及存儲(chǔ)模塊,用于將所述校驗(yàn)值存儲(chǔ)在存儲(chǔ)介質(zhì)中,以便以后取回,其 中,所述存儲(chǔ)的校驗(yàn)值的至少一部分具有非密碼用途。
28、 如權(quán)利要求27所述的系統(tǒng),其中,所述非密碼用途是用于識(shí)別。
29、 如權(quán)利要求28所述的系統(tǒng),其中,所述校驗(yàn)值的所述至少一部分 構(gòu)成芯片序列號(hào)的至少一半。
30、 如權(quán)利要求27所述的系統(tǒng),還包括 密碼接收器,用于接收候選密碼;取回模塊,用于從所述存儲(chǔ)介質(zhì)中取回所述校驗(yàn)值,所述函數(shù)處理器 用于使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值,來確定相 應(yīng)的一個(gè)所述輸出值;以及驗(yàn)證模塊,用于將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出值與所述校驗(yàn) 值相比較。
31、 如權(quán)利要求30所述的系統(tǒng),其中,所述非密碼用途是用于識(shí)別。
32、 如權(quán)利要求31所述的系統(tǒng),其中,所述校驗(yàn)值的所述至少一部分 構(gòu)成芯片序列號(hào)的至少一半。
33、 一種驗(yàn)證系統(tǒng),包括存儲(chǔ)介質(zhì),用于存儲(chǔ)在密碼驗(yàn)證中使用的存儲(chǔ)值; 密碼接收器,用于接收候選密碼,以便在所述密碼驗(yàn)證中與校驗(yàn)值進(jìn) 行核對(duì);取回模塊,用于從所述存儲(chǔ)介質(zhì)中取回所述存儲(chǔ)值; 模式模塊,用于提供模式;函數(shù)模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù); 函數(shù)處理器,用于使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值來確定相應(yīng)的一個(gè)所述輸出值;以及驗(yàn)證模塊,用于在考慮到所述模式的情況下,將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出值與所述存儲(chǔ)值相比較。
34、 如權(quán)利要求33所述的系統(tǒng),還包括重構(gòu)模塊,用于根據(jù)所述存儲(chǔ) 值和所述模式重構(gòu)所述校驗(yàn)值,其中,所述驗(yàn)證模塊用于將對(duì)應(yīng)于所述候 選密碼的所述一個(gè)輸出值與所述校驗(yàn)值相比較。
35、 如權(quán)利要求33所述的系統(tǒng),還包括壓縮模塊,用于壓縮所述一個(gè) 輸出值,以產(chǎn)生不含所述模式的壓縮值,其中,所述驗(yàn)證模塊用于將所述 壓縮值與所述存儲(chǔ)值相比較。
36、 如權(quán)利要求33所述的系統(tǒng),其中,所述存儲(chǔ)值包括所述模式的指 示符。
37、 如權(quán)利要求33所述的系統(tǒng),其中,所述模式包括按照預(yù)定順序的 一串預(yù)定值。
38、 如權(quán)利要求37所述的系統(tǒng),其中,所述存儲(chǔ)值不含完整的所述串。
39、 如權(quán)利要求37所述的系統(tǒng),其中,所述串具有非密碼用途。
40、 如權(quán)利要求39所述的系統(tǒng),其中,所述非密碼用途是用于識(shí)別。
41、 如權(quán)利要求40所述的系統(tǒng),其中,所述串構(gòu)成芯片序列號(hào)的至少一半。
42、 如權(quán)利要求40所述的系統(tǒng),其中,所述串構(gòu)成RFID標(biāo)簽的序列號(hào)的至少一部分。
43、 如權(quán)利要求39所述的系統(tǒng),一部分。
44、 如權(quán)利要求33所述的系統(tǒng), 非密碼用途。
45、 如權(quán)利要求44所述的系統(tǒng),
46、 如權(quán)利要求45所述的系統(tǒng), 構(gòu)成芯片序列號(hào)的至少一半。其中,所述串構(gòu)成一組配置位的至少其中,所述存儲(chǔ)值的至少一部分具有其中,所述非密碼用途是用于識(shí)別。 其中,所述存儲(chǔ)值的所述至少一部分
47、 一種驗(yàn)證系統(tǒng),包括存儲(chǔ)介質(zhì),用于存儲(chǔ)在密碼驗(yàn)證中使用的校驗(yàn)值,其中,所述存儲(chǔ)的 校驗(yàn)值的至少一部分具有非密碼用途;密碼接收器,用于接收候選密碼,以便在所述密碼驗(yàn)證中與所述校驗(yàn) 值進(jìn)行核對(duì);取回模塊,用于從所述存儲(chǔ)介質(zhì)中取回所述校驗(yàn)值; 函數(shù)模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù); 函數(shù)處理器,用于使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值來確定相應(yīng)的一個(gè)所述輸出值;以及驗(yàn)證模塊,用于將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出值與所述校驗(yàn)值相比較。
48、 如權(quán)利要求47所述的系統(tǒng),其中,所述非密碼用途是用于識(shí)別。
49、 如權(quán)利要求48所述的系統(tǒng),其中,所述校驗(yàn)值的所述至少一部分 構(gòu)成芯片序列號(hào)的至少一半。
50、 如權(quán)利要求1-49中任意一項(xiàng)所述的系統(tǒng),其中,所述單向函數(shù)是 加密散列函數(shù),并且其中,所述輸出值是散列值。
51、 一種密碼產(chǎn)生方法,包括 提供模式;提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);確定所述單向函數(shù)的一個(gè)所述輸入值,以使得相應(yīng)的一個(gè)所述輸出值 具有所述模式;提供所述一個(gè)輸入值,作為在對(duì)所述一個(gè)輸出值的密碼驗(yàn)證中使用的 密碼,所述一個(gè)輸出值是校驗(yàn)值,所述校驗(yàn)值具有長度;確定存儲(chǔ)值,以使得能夠根據(jù)所述存儲(chǔ)值和所述模式來重構(gòu)所述校 驗(yàn)值;并且所述存儲(chǔ)值具有的長度比所述校驗(yàn)值的長度短;并且將所述存儲(chǔ)值存儲(chǔ)在存儲(chǔ)介質(zhì)中,以便以后取回。
52、 一種驗(yàn)證方法,包括 提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);提供一個(gè)所述輸入值,作為在針對(duì)相應(yīng)的一個(gè)所述輸出值的密碼驗(yàn)證中使用的密碼,所述一個(gè)輸出值是校驗(yàn)值;使用所述單向函數(shù)確定所述密碼的所述校驗(yàn)值;并且 將所述校驗(yàn)值存儲(chǔ)在存儲(chǔ)介質(zhì)中,以便以后取回,其中,所述存儲(chǔ)的校驗(yàn)值的至少一部分具有非密碼用途。
53、 一種驗(yàn)證方法,包括 存儲(chǔ)在密碼驗(yàn)證中使用的存儲(chǔ)值;接收候選密碼,用于在所述密碼驗(yàn)證中與校驗(yàn)值進(jìn)行核對(duì); 提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值,確定相應(yīng) 的一個(gè)所述輸出值;從存儲(chǔ)介質(zhì)中取回所述存儲(chǔ)值; 提供模式;并且 在考慮到所述模式的情況下,將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出 值與所述存儲(chǔ)值相比較。
54、 一種驗(yàn)證方法,包括存儲(chǔ)在密碼驗(yàn)證中使用的校驗(yàn)值,其中,所述存儲(chǔ)的校驗(yàn)值的至少一 部分具有非密碼用途;接收候選密碼,用于在所述密碼驗(yàn)證中與所述校驗(yàn)值進(jìn)行核對(duì);從存儲(chǔ)介質(zhì)中取回所述校驗(yàn)值;提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);使用所述單向函數(shù),將所述候選密碼用作一個(gè)所述輸入值,確定相應(yīng) 一個(gè)所述輸出值;并且將對(duì)應(yīng)于所述候選密碼的所述一個(gè)輸出值與所述校驗(yàn)值相比較。
全文摘要
一種驗(yàn)證系統(tǒng),包括模式模塊,用于提供模式;函數(shù)模塊,用于提供具有多個(gè)輸入值和多個(gè)輸出值的單向函數(shù);函數(shù)處理器,用于找到單向函數(shù)的一個(gè)輸入值,使得相應(yīng)的一個(gè)輸出值具有所述模式;密碼模塊,用于提供該輸入值,作為針對(duì)該輸出值的密碼驗(yàn)證中使用的密碼,該輸出值是校驗(yàn)值,該校驗(yàn)值具有長度;壓縮模塊,用于確定存儲(chǔ)值,以使得能夠根據(jù)所述存儲(chǔ)值和所述模式來重構(gòu)所述校驗(yàn)值;并且所述存儲(chǔ)值具有的長度比所述校驗(yàn)值的長度短;以及存儲(chǔ)模塊,用于將所述存儲(chǔ)值存儲(chǔ)在存儲(chǔ)介質(zhì)中,以便以后取回。還包括了相關(guān)的裝置和方法。
文檔編號(hào)G06F21/31GK101401351SQ200680053862
公開日2009年4月1日 申請(qǐng)日期2006年10月3日 優(yōu)先權(quán)日2006年3月29日
發(fā)明者I·曼廷 申請(qǐng)人:Nds有限公司