背景技術:
許多系統(tǒng)具有系統(tǒng)的運行所必備的可替換部件??商鎿Q部件常常是包含隨著系統(tǒng)的每次使用而被耗減的可消耗材料的設備。此類系統(tǒng)可包括例如使用可替換電池的蜂窩電話、從可替換供應設備分配藥物的醫(yī)療系統(tǒng)、從可替換供應盒分配流體(例如,墨)或調色劑的打印系統(tǒng)等。驗證可替換供應設備是來自合法制造商的可信設備可以幫助系統(tǒng)用戶避免與有缺陷和/或偽造設備的非故意使用相關聯(lián)的問題。
附圖說明
現(xiàn)在將參考附圖以示例的方式描述本實施例,在所述附圖中:
圖1示出了圖示出適合于認證可替換供應設備的示例性通用認證系統(tǒng)的部件的框圖;
圖2示出了存儲在可替換供應設備上的表征數(shù)據(jù)的示例;
圖3示出了體現(xiàn)為噴墨式打印系統(tǒng)的認證系統(tǒng)的示例;
圖4示出了示例性噴墨式打印供應盒的透視圖;
圖5示出了示例性供應認證過程的流程圖。
遍及各圖,相同的參考標號指定相似但不一定相同的元件。
具體實施方式
如上所述,驗證可替換供應設備的可信性以便在某些系統(tǒng)中使用可以幫助系統(tǒng)用戶避免與有缺陷和/或仿造設備的非故意使用相關聯(lián)的問題。例如,在采用可消耗調色劑或墨盒的打印系統(tǒng)中,無意中用仿造墨盒替換該墨盒可以導致范圍從質量差的打印輸出到可損壞打印系統(tǒng)的有泄漏墨盒的各種問題。
對可替換設備進行認證的在先方法包括采用涉及到使用在可替換設備(例如,可消耗墨和/或調色劑盒)和主機設備(例如,打印機)上的智能卡或安全微控制器所知的秘密密鑰的強認證。如果可替換設備可以向由主機發(fā)出的質詢提供證明其包含適當密鑰的響應,則主機將推斷該設備是原始制造商的,并且然后對該設備進行認證。這種認證方法的一個弱點是其依賴于系統(tǒng)保存秘密密鑰的能力。如果攻擊者可以從主機或可替換設備恢復一個或者多個密鑰,則它可以將被盜密鑰儲存在智能卡或微控制器中,使得其然后產(chǎn)生將如同那些設備是來自原始制造商的可信設備一樣地對質詢進行響應的可替換設備。典型地,一旦一個或者密鑰受到損壞,則可以用在廉價的標準微控制器上運行的固件來模擬不可信(即,偽造)可替換設備的質詢響應及其它功能。
在本文中公開了一般地通過定時質詢響應來提供可替換系統(tǒng)設備的穩(wěn)健認證的認證系統(tǒng)和供應認證過程。諸如打印機之類的主機向被附加到可替換設備(諸如可消耗墨或調色劑盒)的安全微控制器發(fā)出密碼定時質詢。該質詢請求可消耗設備(即,在可消耗設備上的微控制器)基于由主機/打印機供應的數(shù)據(jù)執(zhí)行許多數(shù)學運算。打印機監(jiān)視可消耗設備要完成任務所花費的時間量,并獨立地驗證由設備提供的響應。如果該響應和在計算響應的同時經(jīng)歷的時間兩者都滿足打印機的預期,則打印機將斷定設備是可信設備。如果響應或在計算響應的同時經(jīng)歷的時間(或兩者)不滿足打印機的預期,則打印機將會斷定該設備不是可信設備。
來自質詢的數(shù)學運算是由具體地針對此類運算設計的專用硬件邏輯在可消耗設備的微控制器內執(zhí)行的。專用邏輯能夠比另外可以由執(zhí)行固件的標準微控制器實現(xiàn)的明顯更快地通過執(zhí)行數(shù)學計算來實現(xiàn)質詢響應。因此,其中微控制器包括(一個或多個)被盜密鑰的非可信/偽造可替換設備可能能夠實現(xiàn)正確的質詢響應。然而,此類偽造設備不能在主機設備預期的時間幀內實現(xiàn)質詢響應。
在示例性實施方式中,打印機供應盒包括用以接收定時質詢并通過在落在預期時間窗內的質詢響應時間內提供質詢響應來啟用盒的認證的微控制器。在另一實施方式中,盒還包括將響應于定時質詢而執(zhí)行數(shù)學計算的微控制器上的專用硬件邏輯。執(zhí)行數(shù)學計算在預期時間窗內產(chǎn)生質詢響應。
在另一示例性實施方式中,可替換供應設備包括微控制器。該微控制器與主機設備一起導出會話密鑰,并從主機設備接收指定隨機種子、會話密鑰以及計算周期的時間相關質詢。可替換設備還包括將執(zhí)行質詢計算等于該計算周期的次數(shù)的微控制器內的專用邏輯,其中,第一計算使用隨機種子和會話密鑰來產(chǎn)生輸出,并且每個后續(xù)計算使用前一次計算的輸出。
在另一示例性實施方式中,一種認證系統(tǒng)包括主機設備、被集成到主機設備中的控制器以及可在控制器上執(zhí)行以發(fā)布密碼定時質詢并在供應設備在落于預期時間窗內的質詢響應時間內提供質詢響應時對供應設備進行認證的認證算法。
在另一示例性實施方式中,一種認證系統(tǒng)包括具有控制器和存儲器的打印機。該認證系統(tǒng)還包括存儲在存儲器中且可在控制器上執(zhí)行以發(fā)出密碼定時質詢并在盒在預期時間窗內提供對應于預期響應的質詢響應時對打印供應盒進行認證的認證算法。
在另一示例性實施方式中,非臨時處理器可讀介質存儲表示指令,在指令在被處理器執(zhí)行時促使處理器識別供應設備,并向該供應設備發(fā)布密碼定時質詢。該定時質詢請求對包括會話密鑰、隨機種子以及計算計數(shù)的數(shù)據(jù)執(zhí)行數(shù)學計算。該指令還促使處理器在質詢響應時間內從供應設備接收質詢響應,并在質詢響應與預期響應匹配且質詢響應時間落在預期時間窗內時對供應設備進行認證。
示例實施方式
圖1示出了圖示出適合于認證可替換供應設備的示例性通用認證系統(tǒng)的部件的框圖。認證系統(tǒng)100包括主機設備102和可替換供應設備104。主機設備102包括通常包括標準計算系統(tǒng)的部件的控制器106,所述部件諸如處理器(CPU)108、存儲器110、固件以及用于控制認證系統(tǒng)100的一般功能并與供應設備104通信并控制供應設備104的其它電子裝置。存儲器110可以包括易失性(即,RAM)和非易失性(例如,ROM、硬盤、軟盤、CD-ROM等)存儲器部件,其包含以算法、程序模塊、數(shù)據(jù)結構、JDF等形式提供計算機/處理器可讀編碼指令和/或數(shù)據(jù)的存儲的非臨時計算機/處理器可讀介質。供應設備104包括微控制器112(即,智能卡),其還包括處理器(CPU)114和存儲器116。
一般地,在主機設備102上電時,主機設備102和供應設備104使用標準密碼算法118通過標準密碼技術建立安全通信。例如,執(zhí)行密碼算法118(即,在處理器108上),主機設備102可以請求供應設備104的唯一ID 120并通過密碼關系來確定設備的“基本密鑰”122。使用基本密鑰122,主機設備和供應設備可以導出使得能夠實現(xiàn)用于當前通信交換的安全通信的秘密“會話密鑰”124。主機設備102每當其被上電時且每當安裝了新供應設備104時以這種方式確定基本密鑰122?;久荑€122保持相同且不改變。然而,每當在主機設備102與供應設備104之間進行通信交換時導出新的且不同的會話密鑰124。
在一個實施例中,存儲器110包括可在控制器106的處理器108上執(zhí)行以確定可替換供應設備104的可信性的認證算法126。供應設備104在其對由認證算法126發(fā)出的密碼定時質詢128正確地進行響應時且當其對質詢的響應130是在預期時間窗內完成時被確定為是可信的。因此,其質詢響應130值正確但其質詢響應時間131并未落在預期時間窗內的供應設備104被確定為是不可信的。同樣地,其質詢響應時間131落在預期時間窗內但其質詢響應130值不正確的供應設備104被確定為是不可信的。因此,供應設備104的可信性取決于其在落在預期時間窗內的質詢響應時間131(即,它要提供響應130所花費的時間)內提供對密碼定時質詢128的正確響應130。
由主機設備102上的認證算法126發(fā)出的密碼定時質詢128包括用以執(zhí)行結合了某些質詢參數(shù)的特定數(shù)學計算的請求。該數(shù)學計算將被執(zhí)行特定次數(shù)。密碼定時質詢128包括或伴隨有這些質詢參數(shù),這些質詢參數(shù)包括導出的會話密鑰、由控制器106在主機設備102上生成的隨機種子號以及指示將執(zhí)行計算的次數(shù)的計算計數(shù)或周期。數(shù)學計算使用該會話密鑰并開始對隨機種子號的運算。每次計算的結果或輸出被反復地反饋到下一計算直至已達到計算計數(shù)為止。數(shù)學計算的最后結果或輸出提供質詢響應130,其將是在特定質詢響應時間131內實現(xiàn)或計算的。由認證算法126例如通過在發(fā)布質詢時開始定時序列且一旦供應設備104完成質詢響應130并向主機設備102返回質詢響應130就停止該定時序列來測量質詢響應時間131。質詢響應時間131是臨時值,其在某些實施方式中可在與由主機確定的時間窗的比較之前或期間暫時地駐留于主機設備102上的存儲器110的易失性部件中和/或處理器108內。主機102上的認證算法126確定質詢響應130和質詢響應時間131是否是正確的(即,預期的),并且然后因此對供應設備104進行認證。
仍參考圖1,供應設備104上的微控制器112包括用于從密碼定時質詢128執(zhí)行數(shù)學計算的專用硬件質詢邏輯132。專用質詢邏輯132在微控制器112上被特別地設計并制造成最佳地執(zhí)行特定數(shù)學算法。在一個示例性實施方式中,數(shù)學計算包括定義被優(yōu)化以在專用邏輯132中非??焖俚剡\行的操作序列的基本函數(shù)。該數(shù)學計算或函數(shù)被迭代許多次,每次迭代的輸出是到下一次迭代的輸入的一部分。因此,雖然一個或多個操作數(shù)隨著數(shù)學計算的每次迭代而改變,但數(shù)學計算本身并不改變。另外,伴隨定時質詢128的質詢參數(shù)值可隨著每個定時質詢128而改變。由認證算法126向供應設備104發(fā)布的每個定時質詢128可具有用于會話密鑰的不同值、由控制器106在主機設備102上生成的隨機種子號以及計算計數(shù)或周期。因此,針對每個定時質詢128,由質詢參數(shù)值來確定質詢響應130和質詢響應時間131。更具體地,會話密鑰、隨機種子以及計算計數(shù)全都影響質詢響應值130,而計算計數(shù)還通過經(jīng)由專用質詢邏輯132改變數(shù)學計算的迭代次數(shù)而影響質詢響應時間131。
如上所述,認證算法126確定質詢響應130和質詢響應時間131是否是正確或預期的。這是通過將質詢響應130和響應時間131與正確或預期值相比較而完成的。在不同實施方式中,算法126以不同方式確定正確或預期值。在一個實施方式中,例如,算法126檢索并訪問存儲在供應設備104上的表征數(shù)據(jù)134。可以用數(shù)字簽名來保護表征數(shù)據(jù)134并使用標準密碼操作來驗證。表征數(shù)據(jù)134根據(jù)與定時質詢128一起提供的計算計數(shù)來提供質詢響應時間131應落入的預期時間窗。因此,在如圖2中所示的一個示例中,表征數(shù)據(jù)134可以包括將不同計算計數(shù)值與不同時間窗相關聯(lián)的數(shù)據(jù)表。僅僅以示例的方式,此類關聯(lián)可能指示對于10,000的計算計數(shù)(即,其中將執(zhí)行數(shù)學計算10000次)而言,預期質詢響應時間131將落在50-55毫秒的時間窗內。在另一示例中,可能通過諸如斜率截距公式y(tǒng)=mx+b之類的數(shù)學關系來提供表征數(shù)據(jù)134。因此,對于給定計算計數(shù)值x而言,可以確定預期時間y。然后可以由主機102上的認證算法126例如通過使用預期時間y,+/-5%來確定時間窗。
在另一示例性實施方式中,認證算法126通過向主機設備控制器106上的專用參考邏輯136發(fā)布密碼定時質詢128來確定用于質詢響應130的正確或預期值??刂破?06上的參考邏輯136對供應設備104上的專用硬件邏輯132進行鏡像,并且因此在控制器106上被特別地設計并制造成最佳地從定時質詢128執(zhí)行數(shù)學計算。因此,當認證算法126向供應設備104發(fā)布定時質詢128時,其還向參考邏輯136發(fā)布定時質詢128。參考邏輯136以與上文關于供應設備104上的專用硬件邏輯132所討論的相同方式從質詢執(zhí)行數(shù)學計算。響應于定時質詢128,參考邏輯136完成質詢并在參考時間內提供參考響應??梢詫⒖柬憫獣r間窗定義成例如在參考時間的某個百分比(例如,+/-5%、+/-10%)內。認證算法126然后可以使用參考響應和參考響應時間窗作為預期值以與質詢響應130和質詢響應時間131相比較。如果質詢響應130與參考響應匹配且質詢響應時間131落在參考響應時間窗內,則算法126確定供應設備104是可信設備。
圖3示出了體現(xiàn)為噴墨式打印系統(tǒng)300的認證系統(tǒng)100的示例。一般地,打印系統(tǒng)300包括與一般認證系統(tǒng)100相同或類似的部件,并且關于可替換噴墨式供應盒的認證以相同或類似方式運行。在示例性實施方式中,噴墨式打印系統(tǒng)300包括具有控制器106的打印引擎302、安裝組件304、體現(xiàn)為墨供應盒306的一個或多個可替換供應設備104以及向噴墨式打印系統(tǒng)300的各種電氣部件提供電力的一個或多個電源308。打印系統(tǒng)300另外包括介質傳送組件310。
圖4示出了表示可替換供應設備104的示例性噴墨式供應盒306的透視圖。除一個或多個打印頭312之外,噴墨盒306包括微控制器112、一組電接觸400以及墨(或其它流體)供應室402。在一些實施方式中,盒306可具有儲存一個色彩的墨的供應室402,并且在其它實施方式中,其可具有每個儲存不同色彩的墨的許多室402。電接觸400可以從控制器106向打印頭312上的噴嘴314載送電信號以引起液滴的噴射。電接觸400還在控制器106與微控制器112之間載送電信號以促進噴墨式打印系統(tǒng)300內的盒306的認證。在一個示例性實施方式中,微控制器112位于被打印頭312共享的硅基板上。在另一示例性實施方式中,微控制器112作為獨立智能卡位于盒306上的別處。微控制器112類似于且包括在圖1中示出并在上文討論的微控制器112的相同一般部件(在圖4中并未全部示出)。因此,盒306上的微控制器112包括存儲器116和專用質詢邏輯132,其以與上文關于圖1和2的認證系統(tǒng)100所討論的相同的一般方式運行。
參考圖3和4,打印頭312通過多個孔口或噴嘴314朝著打印介質316噴射墨或其它流體的液滴從而打印到打印介質316上。打印介質316可以是任何類型的適當片材或卷材,諸如紙張、卡片材料、透明體、聚脂薄膜、聚酯、膠合板、泡沫板、織物、帆布等??梢詫⒋蛴☆^312配置成以多種方式通過噴嘴314噴射墨。例如,熱噴墨打印頭通過使電流通過加熱元件以產(chǎn)生熱并將發(fā)射室內的墨的一小部分蒸發(fā)而從噴嘴噴射液滴。氣泡迫使墨滴通過噴嘴314。在另一示例中,壓電噴墨打印頭使用壓電材料致動器來產(chǎn)生迫使墨滴從噴嘴出來的壓力脈沖。噴嘴314通常沿著打印頭312布置成一列或者多列或陣列,使得墨從噴嘴314的適當定序的噴射促使字符、符號和/或其它圖形或圖像隨著噴墨盒306和打印介質316相對于彼此移動而被打印在打印介質316上。
安裝組件304將噴墨盒306相對于介質傳送組件310定位,并且介質傳送組件310將打印介質316相對于噴墨盒306定位。因此,在噴墨盒306與打印介質316之間的區(qū)域中鄰近于噴嘴314定義打印區(qū)318。在一個實施方式中,打印引擎302是掃描式打印引擎302。同樣地,安裝組件304包括用于使噴墨盒306相對于介質傳送組件310移動以掃描打印介質316的托架。在另一實施方式中,打印引擎302是非掃描式打印引擎302。同樣地,安裝組件304將噴墨盒306相對于介質傳送組件310固定在規(guī)定位置處,而介質傳送組件310將打印介質316相對于噴墨盒306定位。
如上文關于圖1的認證系統(tǒng)100所述,控制器106通常包括標準計算系統(tǒng)的部件,諸如處理器(CPU)108、存儲器110、固件及其它電子裝置。在圖3的噴墨式打印系統(tǒng)300中,控制器106同樣地采用此類部件以便控制打印系統(tǒng)300的一般功能并用于與噴墨盒306、安裝組件304以及介質傳送組件310通信并對其進行控制。因此,控制器106從諸如計算機之類的主機系統(tǒng)接收數(shù)據(jù)320,并臨時地將數(shù)據(jù)320存儲在存儲器110中。通常,數(shù)據(jù)320被沿著電子、紅外、光學或其它信息傳輸路徑發(fā)送到噴墨式打印系統(tǒng)300。數(shù)據(jù)320表示例如要打印的文檔和/或文件。同樣地,數(shù)據(jù)320形成用于噴墨式打印系統(tǒng)300的打印作業(yè),包括一個或多個打印作業(yè)命令和/或命令參數(shù)。使用數(shù)據(jù)320,控制器106控制噴墨盒306從噴嘴314噴射墨滴。因此,控制器106定義在打印介質316上形成字符、符號和/或其它圖形或圖像的噴射墨滴的圖案。噴射墨滴的圖案由來自數(shù)據(jù)320的打印作業(yè)命令和/或命令參數(shù)確定。
除管理噴墨式打印系統(tǒng)300的一般打印功能之外,控制器106執(zhí)行認證算法126以確定噴墨式供應盒306是否是可信設備。打印系統(tǒng)300上的此認證過程與上文關于圖1的一般認證系統(tǒng)100所述的過程類似。圖5是打印系統(tǒng)300或其它認證系統(tǒng)100上的示例性認證過程500的流程圖,其確定諸如噴墨式供應盒306之類的可替換供應設備104是否是可信設備。過程500與上文關于圖1-4所討論的示例性實施方式相關聯(lián),并且在此類實施方式的相關討論中可以發(fā)現(xiàn)在過程500中示出的步驟的細節(jié)??蓪⑦^程500的步驟體現(xiàn)為算法,該算法包括存儲在諸如圖1和3的存儲器110之類的非臨時計算機/處理器可讀介質上的編程指令。在不同的示例中,通過由處理器、諸如圖1和3的處理器108進行此類編程指令的讀取和執(zhí)行來實現(xiàn)過程500的步驟的實施方式。過程500可包括多于一個實施方式,并且過程500的不同實施方式可不采用在圖5的流程圖中提出的每個步驟。因此,雖然在流程圖內按照特定順序提出了過程500的步驟,但其提出順序并不意圖是關于實際上可實現(xiàn)各步驟的順序或關于是否可實現(xiàn)所有步驟的限制。例如,過程500的一個實施方式可能是通過執(zhí)行許多初始步驟而不執(zhí)行一個或多個后續(xù)步驟來實現(xiàn)的,而過程500的另一實施方式可能是通過執(zhí)行所有步驟而實現(xiàn)的。
現(xiàn)在主要參考圖1、3和5,認證過程500在塊502處開始,在那里,所示的第一步驟將識別可替換供應設備。識別可替換供應設備通常在主機設備上電或向主機設備插入新的供應設備時發(fā)生,諸如當打印系統(tǒng)被開啟時或者當在打印系統(tǒng)中替換墨或調色劑打印供應盒時。當在每個打印作業(yè)開始時對供應設備上電時,也可以識別可替換供應設備。認證過程500在塊504處繼續(xù),在那里發(fā)布密碼定時質詢。該定時質詢被從諸如打印設備之類的主機設備發(fā)布并被發(fā)送到諸如打印供應盒之類的供應設備。定時質詢包括用以執(zhí)行涉及到某些質詢參數(shù)的特定數(shù)學計算的請求,所述質詢參數(shù)包括在主機設備與供應設備之間導出的會話密鑰、由主機設備生成的隨機種子號以及指示將執(zhí)行計算的次數(shù)的計算計數(shù)或周期。在發(fā)布定時質詢時,主機設備可開始定時序列以監(jiān)視接收質詢響應要花費的時間量,如在塊506處所示。
在一些實施方式中,還可將定時質詢發(fā)送到主機設備上的參考邏輯,如在塊508處所示。當定時質詢被發(fā)送到主機設備上的參考邏輯時,在一定量的經(jīng)歷參考時間內從該邏輯接收參考響應,如在塊510處所示。在塊512處,可通過包括一定百分比的圍繞參考時間的范圍來確定參考時間窗。例如,可將參考時間窗確定成是參考時間,參考時間的加或減5%。在一些實施方式中,作為向主機設備上的參考邏輯發(fā)送定時質詢的替換,主機設備檢索并訪問存儲在供應設備上的表征數(shù)據(jù),如塊514處所示。在另一實施方式中,可將表征數(shù)據(jù)硬編碼到主機設備的存儲器中。表征數(shù)據(jù)包括用于從供應設備接收質詢響應的預期時間窗,其與不同計算計數(shù)值相關聯(lián)。
如塊516處所示,認證過程500包括從供應設備接收質詢響應。該質詢響應是在可以例如通過主機設備上的時間測量確定的某個質詢響應時間內接收到的。過程500在塊518處通過將質詢響應與預期響應相比較而繼續(xù)。預期響應可以是從主機設備上的參考邏輯接收到的參考響應。在塊520處,還將質詢響應時間與預期響應時間窗相比較以確定質詢響應時間是否落在預期時間窗內。該預期時間窗可以是參考時間窗或者從存儲在供應設備上或別處的表征數(shù)據(jù)檢索的預期時間窗。
認證過程500在塊522處繼續(xù),當來自供應設備的質詢響應與預期值匹配且質詢響應時間落在預期時間窗內時主機設備認證供應設備。在過程500的塊524處,當質詢響應并未與預期值匹配或者質詢響應時間落在預期時間窗外面或兩者時,主機設備確定供應設備并不是可信的。