專利名稱:用于銷售點裝置的可驗證電子日志及其使用方法
一般而言,本發(fā)明涉及銷售點系統(tǒng),特別涉及用于以這種交易為基礎(chǔ)的裝置的日志。本發(fā)明還涉及使用銷售點系統(tǒng)的方法。
在銷售點或通常稱作結(jié)帳線或柜臺的地方發(fā)生面對面的零售交易。正是在這個地方,顧客為購買的物品付款,通常用現(xiàn)金、支票、充值或記帳卡。為提高銷售效率,現(xiàn)今許多零售商使用電子裝置以簡化和提供交易記錄。這種銷售點系統(tǒng)可以包括一個掃描儀用于讀入編碼的產(chǎn)品信息,一個終端用于人工送入交易信息和存儲現(xiàn)鈔,一個顯示器用于顯示交易信息和一臺打印機(jī),它可用于產(chǎn)生商務(wù)報告記錄或日志以及給顧客的打印數(shù)據(jù)。
作為結(jié)帳過程的一部分,通常要把購買的每個物品的售價送入銷售點終端。每個物品的價格及總價由銷售點打印機(jī)打印在顧客收據(jù)上,還可用這同一臺銷售點打印機(jī)打印在單獨的日志上。通常還確定應(yīng)付稅款并打印在顧客收據(jù)上。然后這顧客收據(jù)從打印機(jī)提供給顧客。
在兩站銷售點打印機(jī)的情況中,第二打印機(jī)站保持所有銷售交易的日志記錄。這提供了核算銷售活動的書面記錄,如日記記錄覆蓋的日志日段期間的毛銷售量和收集的稅款。這一信息可由例如稅務(wù)機(jī)關(guān)用來確定一零售商是否向稅務(wù)機(jī)關(guān)提交了從顧客那里收集的全部稅款。
在政府機(jī)構(gòu)從零售日志信息中受益的地方,如通過增值稅法或銷售稅法,各稅法經(jīng)常規(guī)定打印收據(jù)的格式和內(nèi)容并規(guī)定收集銷售數(shù)據(jù)的安全方法。已知通過提供一個會計打印機(jī),(如國際商用機(jī)器公司(IBM,Armonk,紐約)生產(chǎn)的3F打印機(jī))來響應(yīng)這種“會計”要求。借助這種會計打印機(jī),一個具有專用非易失隨機(jī)存取存儲器(NVRAM)和電子可編程只讀存儲器(EPROM)的安全(即破壞易顯或抗破壞的外殼)邏輯卡可以在物理上和邏輯上放在銷售點終端和產(chǎn)生顧客收據(jù)和日志記錄的銷售點打印機(jī)之間。
利用會計打印機(jī),如3F型打印機(jī),可以把銷售點終端連接到一個會計底層裝置,它被固定在銷售點打印機(jī)上,并通過通信鏈路(如串行通信鏈路)控制全部打印功能。
圖1中顯示這種會計底層裝置的一個例子。銷售點終端10通過通信鏈路22與會計底層裝置24相連。會計打印機(jī)20本身又包括會計底層裝置24和兩站打印機(jī)26。會計底層裝置24包括會計處理器28或其他控制裝置以控制日志和打印操作。會計底層裝置24進(jìn)一步包括由電池支持的(非易失的)隨機(jī)存取存儲器30用于存儲日志期間的中間銷售和稅收總量。如圖1中所示,會計底層裝置24進(jìn)一步包括單獨的程序EPROM32和會計存儲器EPROM34。提供一個單獨的會計存儲器EPROM34,封裝在環(huán)氧樹脂中,用于永久存儲數(shù)據(jù),它通常包括若干個每日日志時間段的每日銷售和稅收總量,這取決于會計存儲器EPROM34的容量。然后,程序EPROM32可用于由會計處理器28使用的程序信息或數(shù)據(jù)值。圖1中還顯示一個日時間時鐘36,它可用于跟蹤交易和日志時間段。
兩站打印機(jī)26由會計處理器28控制。第一打印站提供顧客收條站,它的打印由會計處理器28控制,它保證提供給顧客的銷售收據(jù)在其上面有與特定交易相關(guān)的正確數(shù)據(jù)。第二打印站提供日志站,它按逐個交易記錄銷售數(shù)據(jù)和每日報告。來自打印機(jī)26日志站的紙日志通常被順序存儲,以用于遵循各種稅務(wù)機(jī)關(guān)會計法規(guī)的稅收結(jié)算。
具有會計稅收法規(guī)的各個國家已表現(xiàn)出對于以數(shù)字電子日志記錄替代當(dāng)前的日志紙帶存儲系統(tǒng)的興趣。這種轉(zhuǎn)變可以減少零售商的裝備、消耗品和記錄處置與存儲的費用。它能允許使用較低價格的單站打印機(jī)和使紙張消耗減半。盡管零售商和會計機(jī)關(guān)可能認(rèn)識到電子日志的潛在好處,但始終擔(dān)心這種電子日志文件會容易地被想要欺騙政府的最終用戶進(jìn)行修改。
已經(jīng)提出了一種解決方案,它們依賴于會計打印機(jī)裝置的作法,但使用電子日志。這一作法利用一個“檢查和”,它是用由會計打印機(jī)外部不知道的密鑰防護(hù)的會計存儲器中存儲的全部數(shù)據(jù)計算出來的。然后可將整個日志數(shù)據(jù)塊從會計底層裝置24傳送到銷售點終端10,而不是保持在受防護(hù)的會計打印機(jī)中。然而,這一作法不能解決這樣一個可核實的電子日志系統(tǒng)的所有問題。例如,為了證明銷售點終端中的數(shù)據(jù)有效,必須把這些數(shù)據(jù)反饋到能從會計存儲器得到相應(yīng)檢查和的會計底層裝置并與一個新的檢查和比較,這個新的檢查和是根據(jù)由銷售點終端下載的數(shù)據(jù)產(chǎn)生的。再有,取決于向銷售點終端往返傳送的日志單元的大小,在會計底層裝置中可能需要大量非易失隨機(jī)存取存儲器。此外,在會計存儲器EPROM中保持更長時間段的數(shù)據(jù)可能是必要的,因為潛在的核實方法需要增大會計存儲器EPROM的大小。最后,這一作法受到的限制是它不容易允許日志記錄的遠(yuǎn)程確認(rèn)。
本發(fā)明的目的是提供一種能緩解上述問題的技術(shù)。
根據(jù)本發(fā)明,我們提供了一種方法,用于為銷售點裝置提供一個可驗證的電子日志系統(tǒng),包含接收與交易有關(guān)的交易信息;把交易信息存儲在一個隨機(jī)存取存儲器中;響應(yīng)一個日志更新事件,根據(jù)隨機(jī)存取存儲器中包含的交易信息確定一個數(shù)據(jù)簽字;響應(yīng)該日志更新事件,把隨機(jī)存取存儲器中包含的交易信息傳送到與該隨機(jī)存取存儲器分離的日志存儲器的第一部分;以及響應(yīng)該日志更新事件,把數(shù)據(jù)簽字傳送到日志存儲器的第二部分。
也是根據(jù)本發(fā)明,我們提供了一個帶有可驗證的電子日志系統(tǒng)的銷售點裝置,包含接收交易信息的裝置;確定日志更新事件的裝置,與接收裝置相連并配置成存儲交易信息的隨機(jī)存取存儲器;響應(yīng)日志更新事件,根據(jù)隨機(jī)存取存儲器的內(nèi)容確定一數(shù)據(jù)簽字的裝置;具有被配置成存儲交易信息的第一部分和被配置成存儲數(shù)據(jù)簽字的第二部分的日志存儲器;以及響應(yīng)該日志更新事件,將交易信息從隨機(jī)存取存儲器傳送到日志存儲器第一部分和將數(shù)據(jù)簽字從確定數(shù)據(jù)簽字裝置傳送到日志存儲器第二部分的裝置。
本發(fā)明的一個最佳實施例提供一個用于銷售點裝置的可驗證電子日志系統(tǒng)。它維護(hù)一個電子日志文件以替代兩站銷售點打印機(jī)的日志打印站。交易信息存儲在一個非易失隨機(jī)存取存儲器中。根據(jù)隨機(jī)存儲存儲器中的內(nèi)容,為日志確定一個數(shù)據(jù)簽字。交易信息和數(shù)據(jù)簽字被傳送到單獨的日志存儲器。日志存儲器可以例如駐留在銷售點終端上,可通過參考也被傳送和保持在電子日志文件中的數(shù)據(jù)簽字來檢測對日志交易信息的破壞。最好是數(shù)據(jù)簽字被加密,例如用一種共享密鑰加密方案,而且相應(yīng)的公用密鑰從該裝置傳送并存儲在電子日志文件中,該裝置(例如會計底層裝置)在交易信息被創(chuàng)建時便跟蹤這交易信息。最好使用一種散列技術(shù),從而可以利用一個較小的NVRAM支持產(chǎn)生一個日志時段電子日志文件的交易信息集。于是,數(shù)據(jù)簽字是一個消息提要的加密版本,它是一個滑動值,反映出在一個日志期間送到電子日志文件中的交易信息的總量。
在本發(fā)明的一個實施例中,提供了一種為銷售點裝置提供可驗證電子日志系統(tǒng)的方法。接收與交易有關(guān)的交易信息,如零售額和那些銷售之上的稅收。交易信息存儲在位于銷售點裝置內(nèi)的隨機(jī)存取存儲器中。響應(yīng)一個日志更新事件,根據(jù)隨機(jī)存取存儲器中包含的信息,確定一個數(shù)據(jù)簽字。然后,響應(yīng)該日志更新事件,將隨機(jī)存取存儲器中包含的交易信息傳送到與該隨機(jī)存取存儲器分離的日志存儲器第一部分中。日志存儲器最好保持在一個銷售點終端中,該終端例如通過一通信網(wǎng)絡(luò)與銷售點裝置相連。響應(yīng)該日志更新事件,將數(shù)據(jù)簽字傳送到日志存儲器第二部分。
在本發(fā)明的方法方面的又一些實施例中,交易信息還傳送給一個打印機(jī)供打印,例如打印顧客銷售收據(jù)。該打印機(jī)可以是一個會計打印機(jī),銷售點裝置可以是一個集成到該打印機(jī)中的會計處理器卡。交易信息可以包括這些交易的銷售量信息,而且在接收交易信息后可跟著基于銷售量計算應(yīng)交稅款。另一種作法是交易信息可包括應(yīng)交稅款。
在本發(fā)明的又一方面,可響應(yīng)一個日志時段的完成而產(chǎn)生日志更新事件。另一種作法是,利用散列技術(shù)之類的技術(shù),可在隨機(jī)存取存儲器中存儲了預(yù)先確定的交易信息量時產(chǎn)生日志更新事件,此時可通過覆蓋先前存儲的交易信息來重新使用隨機(jī)存取存儲器存儲增加的交易信息。在一個日志時段可以產(chǎn)生多個日志更新事件,于是根據(jù)散列函數(shù)對該日志時段的每個日志更新事件重復(fù)存儲交易信息、確定數(shù)據(jù)簽字、傳送交易信息、傳送數(shù)據(jù)簽字和重用隨機(jī)存取存儲器各項操作,從而周期性地把存儲在隨機(jī)存取存儲器中的交易信息塊傳送到日志存儲器,同時把數(shù)據(jù)簽字確定為與該日志時段收到的交易信息相關(guān)聯(lián)的一個滑動值。
在本發(fā)明的又另一方面中,可通過使用一個共享密鑰對數(shù)據(jù)簽字加密來提供安全性。然后可響應(yīng)多個日志更新事件中的至少一個,將共享密鑰傳送到日志存儲器的第三部分。然后可對可驗證電子日志系統(tǒng)進(jìn)行檢查。本發(fā)明的實施例中利用加密數(shù)據(jù)簽名進(jìn)行的檢查操作包括使用日志存儲器第三部分中的共享密鑰對日志存儲器第二部分中的數(shù)據(jù)簽字進(jìn)行解密。此外,使用散列技術(shù),由日志存儲器第一部分中的交易信息確定驗證數(shù)據(jù)簽字。驗證數(shù)字簽字與解密的數(shù)據(jù)簽字比較,以確定日志存儲器第一部分中的交易信息是否已被修改過從而不同于該日志時段從隨機(jī)存取存儲器傳送的交易信息。
盡管上面主要針對本發(fā)明的方法方面描述了本發(fā)明,但也提供了系統(tǒng)和計算機(jī)程序產(chǎn)品。例如,提供了具有可驗證電子日志系統(tǒng)的銷售點裝置,它包括接收交易信息的裝置和確定日志更新事件的裝置。一個隨機(jī)存取存儲器與接收裝置相連,被配置成存儲交易信息。一個響應(yīng)日志更新事件的裝置根據(jù)隨機(jī)存取存儲器的內(nèi)容確定數(shù)據(jù)簽字。還提供了一個日志存儲器,它有第一部分配置成存儲交易信息和第二部分配置成存儲數(shù)據(jù)簽字。日志存儲器與隨機(jī)存取存儲器是分離的,而且最好是位于銷售點裝置的遠(yuǎn)處并在通信方面與銷售點裝置相連,例如通過通信網(wǎng)絡(luò)。提供了一個響應(yīng)日志更新事件的裝置,用于將交易信息從隨機(jī)存取存儲器傳送到日志存儲器的第一部分,和將數(shù)據(jù)簽字從確定數(shù)據(jù)簽字裝置傳送到日志存儲器的第二部分。
于是,本發(fā)明的一個最佳實施例提供了一個可驗證電子日志系統(tǒng),它可用于替代打印的日志記錄。這為遠(yuǎn)程檢查日志提供了降低的費用和增強(qiáng)的能力,這種遠(yuǎn)程檢查例如是由稅務(wù)機(jī)關(guān)在一計算機(jī)通信網(wǎng)絡(luò)上進(jìn)行的,同時仍保持檢測破壞行為的能力??梢岳矛F(xiàn)已存在的硬件,如現(xiàn)有的會計打印裝置,來有利地實現(xiàn)本發(fā)明。
圖1是傳統(tǒng)會計打印機(jī)裝置的方框圖;圖2是根據(jù)本發(fā)明一個實施例的可驗證電子日志的方框圖;圖3是說明根據(jù)本發(fā)明一個實施例創(chuàng)建可驗證電子日志文件的操作的流程圖;圖4是根據(jù)本發(fā)明的一個實施例的包括散列處理的可驗證電子日志方框圖;圖5是根據(jù)本發(fā)明的一個實施例的可驗證電子日志銷售點裝置的方框圖;圖6是說明根據(jù)本發(fā)明的一個實施例的驗證操作的流程圖。
下文中將參考附圖更充分地描述本發(fā)明,在這些附圖中顯示了本發(fā)明的最佳實施例。然而,本發(fā)明可以以許多不同的形式實現(xiàn),不應(yīng)認(rèn)為是限定于這里提出的實施例;相反,提供這些實施例只是為了使本說明更詳盡和完全,和向本領(lǐng)域技術(shù)人員充分地通報本發(fā)明的范圍。如本領(lǐng)域技術(shù)人員將會理解的那樣,本發(fā)明可以作為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品來實現(xiàn)。因此,本發(fā)明可以采取硬件實施例、軟件實施例或把軟件與硬件方面結(jié)合的實施例的形式。
本發(fā)明提供電子日志方法和系統(tǒng),它保持對打印的或記為日志的交易信息(如銷售和稅收數(shù)據(jù))的控制。最好是,用標(biāo)準(zhǔn)的數(shù)據(jù)安全性算法提供數(shù)據(jù)安全性。更具體地說,利用共享密鑰方法,如RSA數(shù)據(jù)安全公司提供的那種方法。對于每個銷售點裝置,產(chǎn)生公用(或共享)的和私人的密鑰并存儲在它的安全存儲器中。創(chuàng)建了一個電子日志文件,如在與該銷售點裝置關(guān)聯(lián)的銷售點終端處創(chuàng)建,其日志內(nèi)容由銷售點裝置(如一個會計邏輯電路)控制。
對于本發(fā)明的一個具體實施例,其電子日志文件或存儲器的各部分示于圖2。電子日志文件50包括第一部分52,它含有交易信息的未加密列表,例如要打印到紙卷上和/或當(dāng)前會計打印機(jī)日志站上的數(shù)據(jù)。一個數(shù)據(jù)簽字存儲在電子日志文件50的第二部分54。數(shù)據(jù)簽字最好是一個加密的值,用于證明來自部分52的打印數(shù)據(jù)未曾被改變。打印機(jī)公用或共享密鑰存儲在部分56中,用于對數(shù)據(jù)簽字解密以驗證數(shù)據(jù)完整性。最后,在所示實施例中,一個打印機(jī)序列號存儲在電子日志存儲器50的部分58中,以證明對各自裝置而言在部分56中的公用(共享)打印機(jī)密鑰是正確的。由于公用/私人密鑰加密算法的使用是公知的,這里將不再進(jìn)一步描述它們的操作,只是描述與本發(fā)明的方法和系統(tǒng)中共享密鑰的特定應(yīng)用有關(guān)的內(nèi)容。
如這里將進(jìn)一步描述的那樣,根據(jù)本發(fā)明的方法和系統(tǒng),使用電子日志存儲器50將提供一個能證明破壞行為的電子日志。所造成的日志數(shù)據(jù)的提供方式既能由零售商自由地使用以產(chǎn)生它自己的報告,又能被例如稅務(wù)機(jī)關(guān)檢查。再有,這種檢查既可由政府機(jī)關(guān)使用特殊設(shè)施遠(yuǎn)程進(jìn)行,又可由使用含有此可驗證電子日志文件的裝置(如銷售點(POS)終端)現(xiàn)場進(jìn)行。
現(xiàn)在將參考圖3的流程圖,接下來參考圖6的流程圖,描述本發(fā)明的操作。將會理解,所示流程圖的每一塊以及在流程圖中若干塊的組合,都能由計算機(jī)程序指令實現(xiàn)。這些程序指令可提供給一個處理器以產(chǎn)生一個機(jī)器,從而由處理器上執(zhí)行的這些指令建立起實現(xiàn)流程圖的一塊或多塊中指定功能的裝置。這些計算機(jī)程序指令可由一處理器執(zhí)行,使由該處理器完成一系列操作步驟以產(chǎn)生一個由計算機(jī)實現(xiàn)的過程,從而使該處理器上執(zhí)行的這些指令提供實現(xiàn)流程圖的一塊或多塊中指定功能的步驟。
因此,流程圖所示各塊支持為實現(xiàn)指定功能的各裝置的組合、為實現(xiàn)指定功能的各步驟的組合以及為實現(xiàn)指定功能的程序指令裝置。還應(yīng)該理解,流程圖的每一塊以及流程圖中多塊的組合,能由專用的基于硬件的系統(tǒng)實現(xiàn),它完成指定的功能或步驟,或者由專用硬件和計算機(jī)指令的組合來實現(xiàn)。
現(xiàn)在參考圖3的流程圖,在銷售點操作過程中。本發(fā)明的銷售點裝置(如會計處理器卡)按已知的程序產(chǎn)生打印和日志數(shù)據(jù)(塊100)。這種交易信息部分地按已知程序處置,即向銷售點打印機(jī)發(fā)送顧客收據(jù)信息(塊102)。然而,日志數(shù)據(jù)暫存和存儲在銷售點裝置的NVRAM中,而不是象當(dāng)前所作的那樣傳送到兩站打印機(jī)的打印機(jī)日志站(塊102)。
然而,希望限制銷售點裝置(如會計底層裝置)的NVRAM中保持的數(shù)據(jù)量。通過限制電子日志系統(tǒng)所需緩存器的大小,可減少NVRAM的費用以及單個數(shù)據(jù)傳送到銷售點終端或傳送到在其上保持電子日志文件的其他上游裝置所需要的時間。因此,為使能周期性地清除含有日志交易信息當(dāng)前緩存區(qū)的NVRAM,使用了散列技術(shù)。已知的存儲器管理散列技術(shù)允許緩存的存儲器內(nèi)容塊被相繼傳送而保持一個小的滑動值,有時把該值稱作消息提要,它在數(shù)學(xué)上唯一地對應(yīng)于整個被傳送的信息內(nèi)容。根據(jù)本發(fā)明對這種散列技術(shù)的應(yīng)用進(jìn)一步示于圖4。
在圖3的塊104中,銷售點裝置確定一個散列塊是否已滿。如果該散列塊尚未滿,當(dāng)收到額外的交易信息時操作返回塊100。在塊106,一旦一個散列塊已滿,或者一個日志時段結(jié)束但有部分充滿的散列塊,則銷售點裝置處理器(例如會計底層裝置的會計處理器)對此數(shù)據(jù)塊散列,以在塊106創(chuàng)建一個滑動提要。然后該會計處理器將原始數(shù)據(jù)從該散列塊發(fā)送到銷售點終端或要保持該電子日志文件的其他裝置,并從本機(jī)NVRAM中刪除該塊,如塊108中所示。
如塊110所示,銷售點終端或其他日志保持裝置把最近接收的數(shù)據(jù)塊追加到電子日志文件50的打印數(shù)據(jù)部分52上。在塊112,該系統(tǒng)確定是否一個日志時段已經(jīng)完成,它將觸發(fā)關(guān)閉當(dāng)前使用的電子日志文件50。如果未完成,則操作返回塊100至塊112,繼續(xù)接收和散列交易信息。
如果該日志時段完成了,則會計處理器通過對消息提要加密來建立一個數(shù)據(jù)簽字值(塊114),然后將數(shù)據(jù)簽字和打印機(jī)公用或共享密鑰傳送出去供存儲在電子日志文件/存儲器50的各相應(yīng)部分54、56中(塊115)。在不使用加密的實施例中,消息提要本身作為數(shù)據(jù)簽字在塊115被傳送,而沒有公用或共享密鑰要傳送。一個裝置標(biāo)識,如產(chǎn)生裝置的序列號,也可被傳送。
在塊116,接收用的銷售點終端或保持該電子日志文件的其他上游裝置將收到的數(shù)據(jù)簽字和打印機(jī)公用密鑰追加到電子日志文件50的打印數(shù)據(jù)上。這便完成了一個日志時段并關(guān)閉該電子日志文件50。在包括傳送裝置標(biāo)識的實施例中,該標(biāo)識也被追加上去。
應(yīng)用于本發(fā)明的數(shù)據(jù)散列操作進(jìn)一步示意性顯示在圖4中。如圖4中所示,非易失隨機(jī)存取存儲器120包括一部作為電子日志緩存區(qū)122進(jìn)行操作,部分124保持與散列功能126關(guān)聯(lián)的消息提要,而數(shù)據(jù)塊通過電子日志緩存區(qū)122傳送。如圖4中所示,散列塊#1至#N相繼傳送通過電子日志緩存區(qū)122,它們被傳送到銷售點終端上的電子日志文件50,并進(jìn)一步傳送通過散列功能126以更新滑動的消息提要124。NVRAM120和散列功能126被包括在銷售點終端118中。如圖4中所示,散列功能126使用當(dāng)前滑動消息提要124和要被傳送的最近的散列塊#X以產(chǎn)生更新過的消息提要,它本身又作為滑動的消息提要迭代存儲在非易失隨機(jī)存取存儲器120的部分124中。
現(xiàn)在參考圖5,圖中根據(jù)本發(fā)明,對于銷售點裝置118的實施例,進(jìn)一步顯示了在一個日志時段結(jié)束時用于建立簽字和完成文件的塊114至116中所示操作。在圖5所示實施例中,在銷售點終端發(fā)生的關(guān)閉操作造成一個被關(guān)閉的電子日志存儲器或文件,從而使用這里描述的真實性技術(shù)不能檢測出來的任何改變都不會發(fā)生。在圖5所示實施例中,打印機(jī)私人密鑰132、打印機(jī)公用密鑰134和打印機(jī)序列號136都存儲在電子可編程只讀會計存儲器130中。在日志時段的末尾,加密算法138使用打印機(jī)私人密鑰132和消息提要124產(chǎn)生一個數(shù)據(jù)簽字,它存儲在電子日志文件150的數(shù)據(jù)簽字部分54。打印機(jī)公用密鑰134和打印機(jī)序列號136分別被傳送和分別存儲在電子日志文件50的部分56和58。
圖中所示實施例使用會計存儲器和非易失RAM130、120,由此可見,本發(fā)明的系統(tǒng)和方法能使用硬件實現(xiàn),如先前參考圖1描述的會計底層裝置24。在這種情況中,可對隨機(jī)存取存儲器提供一部分專門用作NVRAM120。再有,會計存儲器EPROM34可用于存儲對消息提要進(jìn)行加密時使用的加密信息,以提供加密的數(shù)據(jù)簽字。
如本領(lǐng)域技術(shù)人員將會理解的那樣,前面在圖2、4和5中描述的本發(fā)明可以由硬件、軟件或二者的組合來提供。盡管在圖4和5中描述的銷售點裝置118的各部件部分地作為分離元件,但在實踐中可以由包括輸入、輸出端和運行軟件代碼的微處理器實現(xiàn),由傳統(tǒng)的或混合的集成電路實現(xiàn),由分離元件實現(xiàn),或由這些的組合實現(xiàn)。例如,存儲器120可以包含在一處理器中,例如會計處理器28(圖1)。類似地,各種操作,例如散列功能126和加密算法138,可以在處理器(如圖1的會計處理器28)中實現(xiàn)。更一般地說,如前所述,根據(jù)本發(fā)明進(jìn)行的操作可在已存在的會計底層裝置24的硬件中實現(xiàn),當(dāng)這樣配置時,它提供了根據(jù)本發(fā)明的銷售點裝置。
現(xiàn)在參考圖6,現(xiàn)在將對本發(fā)明的一個實施例描述檢驗可驗證電子日志系統(tǒng)的操作。在塊150,通過應(yīng)用同意的加密算法138(圖5),利用日志存儲器中包含的共享密鑰,對日志存儲器中包含的數(shù)據(jù)簽字進(jìn)行解碼。在塊152,利用同意的散列功能126,由電子日志數(shù)據(jù)部分52中包含的交易信息確定一個驗證數(shù)據(jù)簽字。最后,在塊154,將驗證數(shù)據(jù)簽字與解密后的數(shù)據(jù)簽字進(jìn)行比較,以確定在日志存儲器中的交易信息是否已被修改,因而不同于在該日志時段期間由獲取銷售點裝置(如會計底層裝置)的隨機(jī)存取存儲器原始傳送的數(shù)據(jù)。如果這兩個值不匹配,則表明電子日志50的部分52中的打印數(shù)據(jù)未被驗證,表明部分52中的數(shù)據(jù)曾被破壞過。
本發(fā)明的可驗證電子日志方法和系統(tǒng)使能在銷售點終端產(chǎn)生安全的會計日志文件,對此日志數(shù)據(jù)的任何破壞都能檢索出來。根據(jù)本發(fā)明進(jìn)行的操作一般在當(dāng)前已經(jīng)制造的會計底層裝置的硬件設(shè)計結(jié)構(gòu)內(nèi)實現(xiàn),其優(yōu)點是不需要這種會計底層裝置包括產(chǎn)生紙日志的兩站打印能力。再有,根據(jù)本發(fā)明進(jìn)行的操作利用散列和對電子日志文件的上游保持,從而允許維持已存在的會計存儲器大小。交易信息不需要寫入會計裝置的電子可編程只讀存儲器中,因為該日志文件可由會計底層裝置單元遠(yuǎn)程保持和驗證。然而,可以繼續(xù)使用會計存儲器以提供已知的會計打印裝置目前提供的那些功能。因此,當(dāng)本發(fā)明的方法與使用如圖1所示的會計存儲器EPROM裝置同時實現(xiàn)時,給定大小的會計存儲器EPROM34的壽命不受生成電子日志活動的影響。
本發(fā)明的方法和系統(tǒng)進(jìn)一步提供了改進(jìn)的能力,使得電子日志可放在或者是銷售點終端中或者是如網(wǎng)絡(luò)計算機(jī)之類的裝置中,它可遠(yuǎn)離該終端但可以與該終端或使用網(wǎng)絡(luò)接口的會計底層裝置相連。因此,不僅可以在不使用會計底層裝置或打印機(jī)的情況下實現(xiàn)驗證操作,而且甚至可以從遠(yuǎn)離銷售點終端的地方或保持電子日志的其他地方來實現(xiàn)驗證操作。
權(quán)利要求
1.一種為銷售點裝置提供可驗證電子日志系統(tǒng)的方法,包含接收與交易相關(guān)的交易信息;把交易信息存儲在隨機(jī)存取存儲器中;響應(yīng)一日志更新事件,根據(jù)隨機(jī)存取存儲器中包含的交易信息確定一個數(shù)據(jù)簽字;響應(yīng)該日志更新事件,將隨機(jī)存取存儲器中包含的交易信息傳送到與該隨機(jī)存取存儲器分離的一個日志存儲器的第一部分中;以及響應(yīng)該日志更新事件,將該數(shù)據(jù)簽字傳送到該日志存儲器的第二部分中。
2.根據(jù)權(quán)利要求1的方法,進(jìn)一步包含將交易信息傳送到打印機(jī)供打印的步驟。
3.根據(jù)前面任何一個權(quán)利要求的方法,其中交易信息包括關(guān)于各交易的銷售量信息,其中的接收步驟后跟根據(jù)該銷售量信息計算應(yīng)付稅款的步驟。
4.根據(jù)前面任何一個權(quán)利要求的方法,其中的交易信息包括應(yīng)付稅款。
5.根據(jù)前面任何一個權(quán)利要求的方法,進(jìn)一步包含響應(yīng)一日志時段的完成而產(chǎn)生日志更新事件的步驟。
6.根據(jù)前面任何一個權(quán)利要求的方法,進(jìn)一步包含當(dāng)在隨機(jī)存取存儲器中存儲了預(yù)先確定的交易信息量時產(chǎn)生日志更新事件的步驟,而且其中的傳送交易信息步驟后跟通過覆蓋先前存儲的交易信息來重新使用該隨機(jī)存取存儲器存儲再增加的交易信息的步驟。
7.根據(jù)權(quán)利要求6的方法,其中產(chǎn)生日志更新事件的步驟包含在一日志時段內(nèi)產(chǎn)生多個日志更新事件的步驟,而且其中根據(jù)散列技術(shù)在該日志時段內(nèi)對每個日志更新事件重復(fù)進(jìn)行存儲交易信息、確定數(shù)據(jù)簽字、傳送交易信息、傳送數(shù)據(jù)簽字和重新使用隨機(jī)存取存儲器的步驟,從而周期性地將存儲在隨機(jī)存取存儲器中的交易信息塊傳送到日志存儲器,同時把數(shù)據(jù)簽字確定為與日志時段內(nèi)收到的交易信息相關(guān)聯(lián)的一個滑動值。
8.根據(jù)前面任何一個權(quán)利要求的方法,其中確定數(shù)據(jù)簽字的步驟后跟下列步驟使用一共享密鑰對數(shù)據(jù)簽字加密;以及響應(yīng)多個日志更新事件中的至少一個,將共享密鑰傳送到日志存儲器的第三部分。
9.根據(jù)權(quán)利要求8的方法,其中傳送共享密鑰的步驟后跟檢查可驗證電子日志系統(tǒng)的步驟。
10.根據(jù)權(quán)利要求9的方法,其中檢查可驗證電子日志系統(tǒng)的步驟包含下列步驟使用該日志存儲器第三部分中的共享密鑰對該日志存儲器第二部分中的數(shù)據(jù)簽字解密;使用散列技術(shù),由該日志存儲器第一部分中的交易信息確定一個驗證數(shù)據(jù)簽字;以及將驗證數(shù)據(jù)簽字與解密的數(shù)據(jù)簽字進(jìn)行比較,以確定在該日志存儲器第一部分中的交易信息是否已被修改而不同于在該日志時段從隨機(jī)存取存儲器傳送出去的交易信息。
11.一種具有可驗證電子日志系統(tǒng)的銷售點設(shè)備,包含接收交易信息的裝置;確定日志更新事件的裝置;與接收裝置相連并被配置成存儲交易信息的隨機(jī)存取存儲器;響應(yīng)日志更新事件以根據(jù)隨機(jī)存取存儲器內(nèi)容確定數(shù)據(jù)簽字的裝置;日志存儲器,有第一部分被配置成存儲交易信息和第二部分被配置成存儲數(shù)據(jù)簽字;以及響應(yīng)日志更新事件以把交易信息從隨機(jī)存取存儲器傳送到日志存儲器第一部分和把數(shù)據(jù)簽字從確定數(shù)據(jù)簽字裝置傳送到日志存儲器第二部分的裝置。
12.根據(jù)權(quán)利要求11的系統(tǒng),進(jìn)一步包含接口裝置,以把銷售點裝置連到被配置成打印多個交易信息的銷售點打印機(jī)。
13.根據(jù)權(quán)利要求11或12的系統(tǒng),其中可編程日志存儲器包含在銷售點裝置內(nèi)。
14.根據(jù)權(quán)利要求11至13中任何一個的系統(tǒng),其中可編程日志存儲器位于遠(yuǎn)離銷售點裝置的地方,而且這的傳送裝置進(jìn)一步包含網(wǎng)絡(luò)接口裝置用于把銷售點裝置在通信上連接到遠(yuǎn)離銷售點裝置的計算機(jī)。
15.根據(jù)權(quán)利要求11至14中任何一個的系統(tǒng),其中的交易信息包含應(yīng)付稅款。
16.根據(jù)權(quán)利要求11至15中任何一個的系統(tǒng),其中產(chǎn)生日志更新事件的裝置包含響應(yīng)一日志時段的完成而產(chǎn)生日志更新事件的裝置。
17.根據(jù)權(quán)利要求11至16中任何一個的系統(tǒng),其中產(chǎn)生日志事件的裝置包含當(dāng)在隨機(jī)存取存儲器中存儲了預(yù)先確定的交易信息量時產(chǎn)生日志更新事件的裝置,而且進(jìn)一步包含散列裝置,通過覆蓋先前存儲的交易信息來重新使用隨機(jī)存取存儲器存儲再增加的交易信息。
18.根據(jù)權(quán)利要求11至17中任何一個的系統(tǒng),其中產(chǎn)生日志事件的裝置包含在一日志時段內(nèi)產(chǎn)生多個日志更新事件的裝置,而且進(jìn)一步包含散列裝置以響應(yīng)這多個日志更新事件中的每一個,將存儲在隨機(jī)存取存儲器中的交易信息塊傳送到日志存儲器,同時把數(shù)據(jù)簽字確定為與日志時段內(nèi)收到的交易信息相關(guān)聯(lián)的一個滑動值。
19.根據(jù)權(quán)利要求18的系統(tǒng),進(jìn)一步包含利用共享密鑰對數(shù)據(jù)簽字加密的裝置,該可編程日志存儲器進(jìn)一步包含第三部分,它被配置成存儲該共享密鑰,而且進(jìn)一步包含響應(yīng)該日志時段期間這多個日志更新事件中的至少一個,將共享密鑰傳送到這第三部分的裝置。
20.根據(jù)權(quán)利要求18的系統(tǒng),進(jìn)一步包含接口裝置用于允許訪問日志存儲器,其中的日志存儲器可以被檢查該可驗證電子日志系統(tǒng)的用戶來驗證,作法是使用共享密鑰對數(shù)據(jù)簽字解密并將解密的數(shù)據(jù)簽字與由日志存儲器第一部分中的交易信息產(chǎn)生的驗證數(shù)據(jù)簽字進(jìn)行比較。
21.根據(jù)權(quán)利要求11至20中任何一個的系統(tǒng),其中的日志存儲器是一個電子可編程的只讀存儲器裝置,其中的隨機(jī)存取存儲器是一個非易失隨機(jī)存取存儲器。
22.為銷售點裝置維持一可驗證日志系統(tǒng)的計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品包含一計算機(jī)可用存儲器介質(zhì),有計算機(jī)可讀程序代碼裝置包含在該介質(zhì)中,該計算機(jī)可讀程序代碼裝置包含接收與交易相關(guān)的交易信息的計算機(jī)可讀程序代碼裝置;確定日志更新事件的計算機(jī)可讀程序代碼裝置;把交易信息存儲在隨機(jī)存取存儲器中的計算機(jī)可讀程序代碼裝置;響應(yīng)該日志更新事件,根據(jù)隨機(jī)存取存儲器中包含的交易信息確定一個數(shù)據(jù)簽字的計算機(jī)可讀程序代碼裝置;響應(yīng)該日志更新事件,將隨機(jī)存取存儲器中包含的交易信息傳送到與該隨機(jī)存取存儲器分離的一個日志存儲器的第一部分中的計算機(jī)可讀程序代碼裝置;響應(yīng)該日志更新事件,將該數(shù)據(jù)簽字傳送到該日志存儲器的第二部分中的計算機(jī)可讀程序代碼裝置。
全文摘要
一個銷售點裝置有一個可驗證日志系統(tǒng),它保持一個電子日志文件以替代使用日志打印站。首先將交易信息存儲在一個非易失隨機(jī)存取存儲器中。根據(jù)該隨機(jī)存取存儲器的內(nèi)容,為一日志確定一個數(shù)據(jù)簽字。交易信息和數(shù)據(jù)簽字二者被傳送到一個單獨的日志存儲器。該日志存儲器可以駐留在例如銷售點終端上,并可通過參考也傳送到并保持在該電子日志文件中的數(shù)據(jù)簽字檢測出對日志交易信息的破壞行為。最好是用例如共享密鑰加密技術(shù)對該數(shù)字簽字加密,而且相關(guān)聯(lián)的公共密鑰也從一裝置(例如會計底層裝置)傳送到并存儲在該電子日志文件中,當(dāng)建立交易信息時。該裝置追蹤該交易信息。最好使用散列技術(shù),從而可以利用較小的NVRAM(非易失隨機(jī)存取存儲器)來支持為一個日志時段的電子日志文件產(chǎn)生交易信息集。因此,數(shù)據(jù)簽字是一消息提要的加密版,該消息提要是一個滑動值,反映一日志時段期間傳送到該電子日志文件的交易信息總和。
文檔編號G07G1/12GK1320253SQ9981152
公開日2001年10月31日 申請日期1999年9月17日 優(yōu)先權(quán)日1998年9月30日
發(fā)明者阿爾博托·肯德, 羅伯特·佛坦伯里, 維恩·胡卡比 申請人:國際商業(yè)機(jī)器公司