CN101410876B - 打印方法 - Google Patents

打印方法 Download PDF

Info

Publication number
CN101410876B
CN101410876B CN2007800112359A CN200780011235A CN101410876B CN 101410876 B CN101410876 B CN 101410876B CN 2007800112359 A CN2007800112359 A CN 2007800112359A CN 200780011235 A CN200780011235 A CN 200780011235A CN 101410876 B CN101410876 B CN 101410876B
Authority
CN
China
Prior art keywords
data
composition
gondola
security code
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007800112359A
Other languages
English (en)
Other versions
CN101410876A (zh
Inventor
保罗·劳尔
史蒂芬·大卫·斯潘瑟
马克·罗伯特·福克斯
詹姆斯·克里斯多夫·巴切尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Claricom Ltd
Original Assignee
Claricom Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Claricom Ltd filed Critical Claricom Ltd
Publication of CN101410876A publication Critical patent/CN101410876A/zh
Application granted granted Critical
Publication of CN101410876B publication Critical patent/CN101410876B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65CLABELLING OR TAGGING MACHINES, APPARATUS, OR PROCESSES
    • B65C9/00Details of labelling machines or apparatus
    • B65C9/46Applying date marks, code marks, or the like, to the label during labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C11/00Arrangements, systems or apparatus for checking, e.g. the occurrence of a condition, not provided for elsewhere
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/12Card verification
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/12Card verification
    • G07F7/122Online card verification

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于打印数据项的方法和装置。该方法包括在打印机接收来自外部数据源的所述数据项的第一成分;在所述打印机生成所述数据项的第二成分;以及通过打印所述第一和第二成分来打印所述数据项。

Description

打印方法
技术领域
本发明涉及用于生成用以包含在打印图像中的数据项的方法和装置,并且还涉及用于验证这样的数据的方法。更具体地,而非排他性地,本发明涉及用于生成用以包含在打印图像中的安全码并且验证这样的安全码的方法和装置。本发明的各方面还涉及用于确认存储在数据库中的数据的方法和装置,以及用于生成图像模板的方法和装置。
背景技术
已经知道伪造商品的生产和分发是影响大范围商品的严重问题。
迄今为止,已经提出了各种用于检测伪造商品的方法。一般而言,这些方法的某些涉及包含产品上的或者与这样的产品相关联的包装上的安全码。这样的安全码通常采用字母数字串的形式。为了判断特定产品是真品还是赝品,消费者或者商标所有者或者零售商将安全码输入到验证系统中(例如经由因特网)。验证系统使用算法来处理所输入的安全码并且还使用数据库中存储的某些信息,以判断所输入的安全码是否有效,因此判断其所应用的产品是否是真品。消费者或者商标所有者或者零售商然后以适当的方式被告知。
WO00/23954(Elliott)描述了一种上述常见类型的验证方法。在Elliott的验证方法中,通过加密应用于产品的公共数据(例如,批次(batch)号)以及安全码的生成者和验证者二者知道的私人数据二者来生成安全码。为了实现验证,用户将安全码与出现在商品上的预定公共数据(例如,批次号)一起输入到验证系统中。验证系统然后将所输入的公共数据与所存储的私人数据一起加密以生成验证码,将该验证码与安全码进行比较以判断所处理的产品是真品还是赝品。
在WO00/23954中描述了,假设使用唯一的安全码改善了伪造品检测方法的鲁棒性,那么将唯一的安全码应用于每个产品是有利的。
然而,如果将唯一的数据应用于沿生产线通过的多个产品的每个,那么将出现问题。具体地,在这样的生产线上工作的打印机(有时称作编码器)通常需要以高速运转。打印机的每种特定构造和型号具有有限的最大吞吐速度,其以该有限的最大吞吐速度来针对给定应用打印所需信息。然而,如果针对数据将被打印于其上的每个产品都需要接收新数据,那么这些吞吐速度通常被大大减小。该速度减小是因为打印系统除执行打印操作外还必需执行通信和图像再呈现(re-rendering)操作。因此,给定的打印机可能不再足够快以将唯一的安全码打印到每个特定产品上。
此外,应用并且验证安全码的某些现有技术方法在速度、可量测性以及安全性方面是不完善的。具体地,期望尽可能快地执行安全码验证,然而通过使用在现有技术中描述的某些方法,这是很困难的。此外,某些现有技术方法将得益于在数据传输以及存储两方面的安全性的改善。
本发明的目的之一在于消除或者减轻在上文中列出的问题的至少一些问题。
发明内容
根据本发明的第一方面,提供了一种用于打印数据项的方法和装置。该方法包括在打印机接收来自外部数据源的所述数据项的第一成分(component);在所述打印机生成所述数据项的第二成分;以及通过打印所述第一和第二成分来打印所述数据项。
本发明尤其适用于安全码的打印。这样的安全码可以被应用于商品和/或它们的包装。当如此应用时,这样的安全码可以被消费者、品牌所有者或者执行人员使用以判断应用了安全码的商品是可信的还是伪造的。这样的安全码还具有多种的其他用途。例如,这样的的安全码可用于跟踪灰色进口,从而定位与跨国交易有关的问题。这样的安全码还能够允许执行所谓的“跟踪查询(track-and-trace)”操作。这样的安全码还可用于唯一地标识产品组中的产品。也就是,这样的安全码可用于标识产品的特定实体。
术语“打印机”在此用于指示被配置为导致数据出现在对象上的任何设备,例如通过标记该对象。该术语因此包括诸如热转印(thermaltransfer)、激光和喷墨打印机之类的传统打印设备,以及诸如蚀刻设备之类的其他标记设备。该术语还包括这样的系统,其中衬底被照射以导致数据出现在衬底上。例如,低功率的激光可以直射到衬底上以导致衬底改变状态,该状态改变以不同颜色的形式可见。该衬底可以被处理以导致对照射敏感。术语“打印”用于指示导致数据出现在对象上的任何操作。
生成所述第二成分可以包括读取诸如由所述打印机保持的计数值或时钟值之类的机器生成码的值。
该方法还包括在所述打印机接收多个第一成分;以及在所述打印机生成多个第二成分;其中第二成分的生成比所述第一成分的接收更加频繁。以这种方式,在可接收第一成分的速度受限的情况下,以这种方式来使用第一和第二成分使得唯一的数据项能够比针对每个数据项来提供唯一的第一成分的情况更快地被生成。
可以通过加密用于生成第二数据的第一数据来生成第一成分,所述第一成分包括所述第二数据。
第二成分可以被打印为所述第一成分的后缀或前缀。可替代地,第一成分可以包括多个字符,并且打印所述数据项可以包括在所述第一成分的两个相邻字符之间打印所述第二成分。
可以使共用的第一成分与多个不同的第二成分相关联来打印多个数据项。所述多个数据项的每一个可以是唯一的。
可以向数据仓库提供每个数据项。可以存储指示与特定第一成分相关联的第二成分的数据。可以存储指示与用于生成特定第一成分的第一数据相关联的第二成分的数据。
存储指示与用于生成特定第一成分的第一数据相关联的第二成分的数据可以包括:当每个第一成分被提供到所述打印机时,读取所述机器生成码的值;以及基于所述机器生成码的所述值,生成指示与每个第一成分相关联的所述第二成分的值范围的数据。可以在所述读取之后使所述机器生成码重置(reset)。
可以在第一个第一成分被提供到所述打印机之前将所述机器生成码的第一值读取并重置;并且可以在第二个第一成分被提供到所述打印机之前将所述机器生成码的第二值读取并重置。与用于生成所述第一个第一成分的第一数据相关联的所述机器生成码的值可以由所述第二值确定。
与用于生成所述第一个第一成分的第一数据相关联的所述机器生成码的值可以是在零和所述第二值之间的范围内的值。
存储指示与用于生成所述第一成分的第一值的第一数据相关联的第二成分的数据可以包括:
(a)读取所述机器生成码的第一值;
(b)将所述第一成分的所述第一值发送到所述打印机;
(c)将所述第一成分的所述第二值发送到所述打印机;
(d)读取所述机器生成码的第二值;
(e)将由所述机器生成码的所述第一值和所述机器生成码的所述第二值所确定的所述机器生成码的多个值与所述第一成分的所述第一值相关联。
在某些实施例中,步骤(c)还包括:在发送所述第一成分的所述第二值之前,从所述打印机读取所述机器生成码的第三值。该方法还可以包括:
(f)将所述第一成分的第三值发送到所述打印机;
(g)从所述打印机读取所述机器生成码的第四值;以及
(h)将由所述第二成分的所述第三值和所述第二成分的所述第四值确定的所述第二成分的多个值与所述第一成分的所述第二值相关联。
与所述第一成分的所述第一值关联的所述第二成分的所述多个值可以是由所述第二成分的所述第一与第二值界定的范围内的值。与所述第一成分的所述第二值关联的所述第二成分的多个值可以是由所述第二成分的所述第三与第四值界定的范围内的值。该方法还可以包括:从所述第二成分的所述第二值减去所述第二成分的所述第一值以确定多个值的第一数目。
针对多个计数值的每一个的数据项可以被存储,并且该方法还包括:当确定所述多个值的第一数目时,增加与所述第一数目关联的数据项;以及增加一个或多个与小于所述第一数目的值相关联的数据项。
与所述第一成分关联的所述第二成分的多个值可以是由所述第一成分的所述第一值和所述多个值的第一数目确定的范围内的值。该方法还可以包括:从所述第二成分的所述第四值减去所述第二成分的所述第三值以确定多个值第二数目。该方法可以包括存储所述多个值的第一和第二数目中的最大值。
上文中提出的该方法的步骤(b)还包括生成所述第一成分的所述第一值,所述第一成分的所述第一值是利用所述第二成分的所述第一值来生成的。可以在上文中提出的该方法的步骤(c)和(d)之间应用延迟。上文中提出的该方法的步骤(b)还包括:与所述打印机通信以确定所述第一成分的所述第二值应该何时被发送到所述打印机。
外部数据源可以连接到所述数据仓库,并且所述外部数据源可以向所述数据仓库提供数据。外部数据源向所述数据仓库提供用于生成每个第一成分和每个相关联的第二成分的第一数据的详细信息(details)。外部数据源可以向所述数据仓库提供每个第一成分和每个相关联的第二成分的详细信息。数据可以经由局域网和/或经由因特网被提供给数据仓库。
本发明的另一方面提供了一种用数据项标记对象的方法,该述方法包括:在标记设备接收来自外部数据源的所述数据项的第一成分;在所述标记设备生成所述数据项的第二成分;以及通过用所述第一和第二成分标记所述对象来打印所述数据项。
本发明还提供了一种为被配置为打印数据项的打印机提供数据的方法,所述方法包括:向打印机发送所述数据项的第一成分,所述打印机被配置为生成所述数据项的第二成分,并被配置为通过打印所述第一和第二成分来打印所述数据项。
本发明还提供了一种用于打印数据项的方法和装置,该方法包括:在打印机生成所述数据项的第一成分;利用机器生成码的值在所述打印机生成所述数据项的第二成分;以及通过打印所述第一和第二成分来打印所述数据项。该方法还包括在所述打印机生成多个第一成分;在所述打印机生成多个第二成分。第二成分的生成可以比所述第一成分的生成更加频繁。
机器生成码可以是由所述打印机保持的计数值或时钟值。数据项可以是安全码。
本发明还提供了一种用于生成包括第一与第二成分的安全码的方法装置,所述方法包括:
(a)从第二存储器读取所述安全码的第二成分的第一值;
(b)将所述安全码的第一成分的第一值发送到第一存储器;
(c)将所述安全码的第一成分的第二值发送到所述第一存储器;
(d)从所述第二存储器读取所述第二成分的第二值;以及
(e)使由所述第二成分的所述第一值和所述第二成分的所述第二值所确定的所述第二成分的多个值与所述第一成分的所述第一值相关联。
本发明因此提供了使安全码的第一成分和第二成分同步的异步方法。
步骤(c)还可以包括:
在发送所述第一成分的所述第二值之前,从所述第二存储器读取所述第二成分的第三值;
并且其中所述方法还包括:
(f)将所述第一成分的第三值发送到所述第一存储器;
(g)从所述第二存储器读取所述第二成分的第四值;以及
(h)将由所述第二成分的所述第三值和所述第二成分的所述第四值确定的所述第二成分的多个值与所述第一成分的所述第二值相关联。
从所述第二存储器读取所述第二成分的值可以包括:从所述第二存储器读取数据;以及从所述数据得到所述第二成分的所述多个值。以这种方式,第二成分的值不必准确地基于在所述第二存储器中存储的数据,而是替代地,可以从在所述第二存储器中存储的数据得到。
第一和第二存储器可以由打印设备提供。读取和发送可以是从所述打印设备外部的设备执行的。
可替代地,所述读取和所述发送在所述打印设备内被内部地执行。在这种情况下,可以在打印设备内完全地执行上文中所提出的方法。
根据本发明的另一方面,提供了一种用于生成包括第一和第二成分的安全码的方法和装置,其中特定第一成分将与所述第二成分的多个值相关联。该方法包括接收所述第二成分的第一值,并且加密所述第二成分的所述值以生成用于所述第一成分的值。
第二成分可以是计数成分。第二成分的第一值可以是与所生成的第一成分相关联的初始计数值。
根据本发明的一个方面,还提供了一种用于验证安全码的方法和装置,所述安全码包括计数成分。该方法包括:识别与所述计数成分的值相关联的数据项,所述数据项表示多个所生成的具有所述计数成分的所述值的安全码;以及确认所述数据项。如果所述确认成功,则生成表示成功确认的数据并且修改所述数据项。如果所述确认不成功,则生成表示不成功的确认的数据。
还提供了一种生成用于验证安全码的数据库的方法和装置。每个安全码包括第一成分和第二成分,所述第二成分是计数成分。该方法包括:针对所述计数成分的至少某些值定义各个数据项;生成多个具有共用的第一成分和不同计数成分的多个安全码;以及基于所述计数成分的值来更新数据项。
本发明的另一方面提供了一种用于验证安全码的方法和装置。该方法包括:处理所述安全码以生成第一成分和第二成分;并且彼此独立地验证所述第一和第二成分。
本发明还提供了一种解密与产品相关联的安全码的方法,该方法包括:接收第一数据项和所述安全码作为输入;取回与所述第一数据项相关联的解密手段;以及利用所取回的解密手段解密所述安全码的至少一部分以生成经解密的数据。第一数据项可以与产品相关联,并且更具体地,可以于产品所关联的批次相关联。
通过与特定批次所关联的数据一起存储解密手段,本发明令人惊讶地实现了安全性和存储需求之间的良好平衡。具体地,如果针对每个产品存储不同的解密手段,那么出现非常大的数据存储需求。相反,如果仅单个解密手段被用于解密所有的安全码,那么安全性被折衷。因此,通过基于批次来存储解密手段,实现了有效的折衷。
解密手段可以包括解密密钥,或者可替代地可以包括一个或多个解密规则。
该方法还可以包括利用所存储的数据验证所述经解密的数据;以及生成指示所述验证结果的数据。
安全码和第一数据项可以与制品(article)关联。该关联可以采用各种形式。例如,安全码和所述第一数据项可以被编码在制品自身或其包装上。这样的编码可以涉及以人为可读的形式将安全码和第一数据项打印在制品或其包装上。可替代地,可以以机器可读的形式在制品或其包装上提供安全码和第一数据项。适当的机器可读形式包括条码和RFID标签。
验证所述经解密的数据包括将所述经解密数据的至少一部分与所述数据和所述解密手段所关联的第二数据项相比较。第一数据项、第二数据项和所述解密手段可以被存储在数据库中。数据库可以存储多个第一数据项,每个第一数据项与各自的解密手段和各自的第二数据项相关联。
安全码可以通过利用加密手段加密初始数据而生成。
加密手段和解密手段可以相同或者不同。例如,在加密和解密手段是密钥的实施例中,密钥可以相同,或者可替代地可以不同并且构成一对从而使得应用该对的第一密钥将初始数据转换为经加密的数据,并且对经加密的数据应用该对的第二密钥将生成所述初始数据。
本发明还提供了一种验证安全码的方法,包括:向服务器发送所述安全码和第一数据项,服务器被配置为接收第一数据项和所述安全码作为输入,被配置为取回与所述第一数据项相关联的解密手段,并且被配置为利用所取回的解密手段解密所述安全码的至少一部分以生成经解密的数据并用以利用所存储的数据来验证所述经解密的数据。该方法还包括从所述服务器接收指示所述验证结果的数据并且向用户显示指示所述验证的所述结果的数据。
本发明还提供了一种验证安全码的方法。该方法包括:
从客户端向服务器发送第一数据项和所述安全码;
在所述服务器从所述客户端接收所述第一数据项和所述安全码;
在所述服务器取回与所述数据相关联的解密手段;
利用所取回的解密手段解密所述安全码的至少一部分以在所述服务器生成经解密的数据;
利用在所述服务器存储的数据验证所述经解密的数据;
生成指示在所述服务器的所述验证结果的数据;
从所述服务器向所述客户端发送指示所述验证结果的数据;
在所述客户端接收指示所述验证结果的数据;以及
在所述客户端显示指示所述验证结果的数据。
本发明的一个方面还提供了一种生成安全码的方法和装置。该方法包括:利用加密手段加密初始数据以生成安全码;使解密手段与第一数据项相关联,所述解密手段可用于解密所述安全码的至少一部分以生成所述初始数据;以及存储与所述第一数据项相关联的所述解密手段。
根据本发明,还提供了一种用于确认数据库中的数据的方法,所述数据与由预定系统所执行的多个操作相关联。该方法包括:从所述预定系统获得表示所执行的操作的数目的数据;从数据库获得表示所执行的操作的数目的数据;判断从所述预定系统获得的所述数据和从所述数据库获得的所述数据是否满足预定关系。
本发明还提供了一种生成定义打印数据布局(layout)的图像模板的方法,所述图像模板包括与安全码相关联的第一字段和与第一数据项相关联的第二字段,基于所述图像模板,所述第二字段根据待被打印在打印图像中的数据被调节以接收用于填充所述第二字段的数据。该方法包括:生成被存储在所述图像模板中的、表示所述第一字段和所述第二字段之间关联的数据。
本发明的另一方面提供了一种用于配置用以验证应用于产品的安全码的数据库的方法,其中所述数据库存储与用于验证操作的所述安全码相关联的数据,该方法包括:
接收多个数据集,每个数据集包括与应用于产品的各个批次的安全码相关联的数据;
将所述多个数据集的每一个存储在所述数据库中;
提供标识至少某些所述批次的详细信息;
响应于所述提供接收输入数据,所述输入数据指示针对特定批次的验证操作是否被使能;
基于所述输入数据将数据存储在所述数据库中。
本发明还提供了一种控制从多个设备访问数据库的方法,所述方法包括:存储标识所述多个设备的数据;向用户提供所述数据;接收用户输入,所述用户输入指示由指定设备发送到所述数据库的数据是否被允许。
本发明的另一方面提供了一种用于打印多个数据项的方法,每个数据项包括第一和第二成分,该方法包括:向所述打印机发送多个第一成分;以及向所述打印机发送多个第二成分。打印机被配置为通过打印各第一和第二成分来打印数据项,并且其中所述第二成分的发送比所述第一成分的发送更加频繁。
以上提出了本发明的各个方面。应理解,本发明的各个方面可以被实现为方法、装置和系统。此外,可以提供用于实现本发明各个方面的适当计算机程序。相应地,本发明的各个方面提供承载这样的程序的载体。这样的数据载体包括有形载体以及通信线路。
关于本发明一个方面而描述的特征可以适当地应用于本发明的其他方面。
附图说明
现将通过参考作为示例的附图来描述本发明的实施例,其中:
图1是在本发明实施例中使用的计算机网络的示意性示图;
图1A到图1D是适用于图1的计算机网络的打印机的示意性示图;
图2是示出利用图1的计算机网络在本发明实施例中执行的处理的概述的流程图;
图3是进一步详细示出图2的处理的一部分的流程图;
图4是进一步详细示出图1的打印机之一及其相关联的吊舱的示意性示图;
图5是本发明实施例中的应用于产品的安全码的示意性示图;
图6是本发明实施例中的应用于产品的图像;
图7是示出图4的吊舱和打印机之间的通信的顺序图;
图8是在本发明实施例中使用的数据库的示意性示图;
图8A是图8的数据库的表格的替代实现方式的示意性示图;
图9和图10是在图4中的吊舱处存储的数据的示意性示图;
图11是示出图8的吊舱和数据库之间的通信的流程图;
图11A是示出在图11的处理中执行的审核处理的流程图;
图12是本发明实施例中被应用于待验证的产品的图像;
图13是示出利用图1的计算机网络而执行的验证操作的流程图;
图14,图15和图16是示出呈现给用户的验证结果的网页;
图17是解密安全码以生成私人数据的示意性示图;
图18是进一步详细示出图13的处理的一部分的流程图;
图19是示出图1中的验证服务器和因特网之间的通信的示意性示图;
图20是示出URL与图1的安全数据库之间的映射的示意性示图;
图21是示出可用于使所存储的数据能够用于验证的网页的屏幕截图(screenshot);
图22是示出可用于使能或禁止所存储的数据用于验证的网页的屏幕截图;
图23是示出提供与验证尝试有关的数据的网页的屏幕截图;
图24是用于配置各个吊舱的网页的屏幕截图;
图25是示出涉及在图1中示出的吊舱的通信的示意性示图;
图26是在图25中示出的吊舱的替代实施例的示意性示图;
图27是在图25中示出的吊舱的替代实施例的示意性示图;
图28是由图25的吊舱所提供的图形用户界面的示意性示图;
图29到图39是由吊舱提供的图形用户界面的示意性示图;以及
图40是可用于生成图像模板的图形用户界面的屏幕截图。
具体实施方式
现参考图1,示出被配置为将数据打印到沿生产线通过的产品上的计算机网络。可以看到,打印头(printhead)1被配置为将数据打印到沿生产线2通过的产品上。在图1中示出,瓶子3起初具有空白标签4。在由箭头5所表示的打印操作被打印头1执行之后,句文信息被打印到标签4上。应理解,在本发明的替代实施例中,句文信息可以被直接打印到瓶子3上而非被打印到粘附于瓶子3上的标签上。
由打印机6提供打印头1,该打印机6还包括打印控制器7。打印控制器7负责把将被打印到沿生产线2通过的产品上的数据提供给打印头1。这样的产品通常包括诸如饮料瓶或罐、瓶子上的标签、药用泡罩包装(pharmaceutical blister)或者纸箱之类的消费商品。可以看到,打印机6与吊舱(pod)8通信,该吊舱8可操作用于将经打印控制器7处理过的数据提供给打印机6。吊舱8还被配置为控制打印机6的操作,这将在下文中进一步详细描述。可以看到,打印机6和吊舱8之间的通信包括RS232串行通信。应理解,打印机6和吊舱8之间的其他形式的通信可以被类似地使用。吊舱8还与生产线2所关联的控制器进行通信。这使吊舱8能够控制产品沿生产线2的移动。
在本发明的优选实施例中,打印头1是一种本领域中为人熟知的类型的喷墨打印头。在本发明的替代实施例中,可以使用其他类型的打印头。具体地,在本发明的某些实施例中,打印头1是一种本领域中为人熟知的类型的激光打标“打印头”。实际上,应理解,在该文档中提到的“打印”和“打印头”意欲广泛地指代用于将信息标记在产品上的任何手段。因此,虽然诸如喷墨打印机、热转印打印机和激光打印机之类的为人熟知的打印机全部落入术语“打印机”的范围之内,但是诸如例如蚀刻之类的其他标记方法也落入术语“打印机”的范围之内。
已经描述了打印机6的一种配置。图1A到图1D示出可以适当用于本发明实施例中的各种打印机配置。图1A示出打印机600。打印机600由两个物理单元601和602构成。单元601包括电机控制部分603,该电机控制部分603包括机械打印组合件及其相关联的控制。因此,在热转印打印机中,电机控制部分603将包括用于驱动在供应和接收卷轴之间的一卷胶带(tape)的电机,以及用于移动打印头以导致墨水将从墨带被转移到要打印的衬底上的动力装置。单元601还包括图像处理部分604,该图像处理部分604被配置为接收图像数据并且向电机控制部分603发出适当的信号以导致打印操作被执行。单元601还包括通信电子设备605(COMMS),该通信电子设备605使得单元601、602能够经由通信链路606进行通信。
单元602包括人机界面607和图像呈现部分608。因此,定义将要打印的图像的数据被单元602接收,并且在被递送到通信电子设备609之前被图像呈现部分608处理。这使得适当的数据能够被递送到601。
图1B示出替代的打印机配置610。打印机610再一次包括两个物理单元611、612。在这两个物理单元之间,提供与参考图1A所描述的功能相同的功能。然而,在此,电机控制部分613、图像处理部分614和图像呈现部分615全部由单元611提供。单元611还具有通信电子设备616,该通信电子设备616使得能够经由通信链路617与单元612进行通信。单元612提供人机界面618和通信电子设备619,以使得能够通过通信链路617进行通信。因此,通过前述描述可以看出,虽然在该情况下除人机界面618外的所有功能都由单元611提供,但是打印机610仍包括两个物理单元611、612。
在图1C中示出替代打印机620。打印机620再一次包括两个物理单元621、622,其一起提供与图1A中的单元601和602以及图1B中的单元611、612相同的功能。
在打印机620中,第一单元621提供电机控制部分623和实现经由通信链路625的通信的通信电子设备624。单元622提供人机界面626以及图像呈现部分627和图像处理部分628。单元622还提供实现经由通信链路625的通信的通信电子设备629。
在图1A、1B和1C的每个打印机中,应理解,各电机控制部分603、613、623可以采用任何便利的形式。也就是,在打印机利用热转印技术来进行打印的情况下,电机控制部分可以采用上述形式。然而,打印机可以适当地是喷墨打印机,在该情况下,适当的喷墨打印硬件被设置。
图1D示出替代打印机630。再一次地,打印机630包括两个物理单元631、632,其具有实现其间通信的通信链路633。打印机630是激光打印机,并且相应地单元631包括激光管634以及经由通信链路633实现与单元632的通信的通信电子设备635。这样的通信使用单元632的通信电子设备636。单元632提供均具有上述类型的人机界面637、图像呈现部分638和图像处理部分639。
因此,从对图1A到图1D的描述中可以看出,适用于本发明实施例中的打印机可以采用任何适当的形式,并且可以分布在多个物理单元之间。可替换地,在本发明的某些实施例中,打印机可以采用单个物理单元的形式。
现返回参考图1,可以看到,示意性图示还示出具有相关联的打印机10和吊舱11的第二生产线9。还提供了具有相关联的打印机13和吊舱14的第三生产线12。可以看到,吊舱8、11、14连接到工厂网络15。打印数据服务器17a和桌上型PC 17b也连接到工厂网络15。一般而言,利用在桌上型PC 17b上运行的软件来准备将要打印的图像的图像模板定义属性。以这种方式创建的图像模板被存储在打印数据服务器17a中。这样的图像模板然后可以经由工厂网络15被提供给吊舱8、11、14。
从图1中还可以看出,工厂网络15连接到因特网16。这使得数据能够从吊舱8、11、14被发送到其中设置了工厂网络15的、工厂外的其他计算机。具体地,可以看出,提供安全数据库19的验证服务器18连接到因特网16。此外,多个计算设备20被示出为接入因特网16。应理解,在本发明的实施例中,任何适当的计算设备可以被用于接入因特网16。然而,可以看到,在图1的图示中,多个计算设备20包括桌上型计算机21、膝上型计算机22、掌上计算机23和移动电话24。
图1示出三个吊舱8、11和14连接到工厂网络15,吊舱8、11和14的每个与各自的打印机6、10和13相关联。应理解,在本发明的不同实施例中,可以将不同数目个吊舱(具有相关联的打印机)连接到工厂网络15。在以下的描述中,通过参考吊舱8和相关联的打印机6来描述本发明的实施例。应理解,吊舱11和14及其相关联的打印机的操作是类似的。
如上所述,在当今社会上,伪造商品的生产和分发是影响大范围商品的严重问题。图1的计算机网络可以用于将安全码应用于这样的商品,并且用于验证这样的码以判断商品是否是伪造的。在图2中示出在图1的计算机网络上可操作的一般过程。图2的过程包括独立的阶段:第一阶段25考虑生成并应用安全码,而第二阶段26考虑验证安全码。
第一阶段25涉及在步骤S1确定安全码,并且在步骤S2将该安全码应用于产品。在本发明的实施例中,如将在下文中描述的,通过吊舱8和打印控制器7彼此结合地工作来生成安全码。以这种方式生成的安全码被打印头1应用于沿生产线2行进的产品。需要用于确认这样的安全码的数据被提供给验证服务器18并且被存储在安全数据库19中以用于后续的验证操作。
图2的第二阶段涉及在步骤S3接收安全码作为输入,并且在步骤S4验证该安全码。现再次参考图1,可以看到,产品27具有打印在标签28上的安全码。该安全码被人为地从标签上读取,并且被输入到多个计算设备20之一中。这导致相应计算设备和验证服务器18之间的通信,该通信判断所输入的安全码是否有效。
图3进一步详细示出图2的第一阶段25的处理。在以下的描述中,将提到公共数据和私人数据。一般而言,公共数据是有权使用其真实性有待验证的产品的任何个人均可容易得到的数据。公共数据通常被打印到产品本身上,或者被打印到与产品相关联的标签或者包装上。可替代地或者附加地,公共数据可以被打印到多个产品的容器的包装(例如,含有12个瓶子的箱子)上。相反,私人数据并不是有权使用产品的个人可获得的,而是控制对这样的数据的访问以使其仅可用于生成将被应用于产品的安全码的机构,以及执行验证操作的机构。
一般而言,在图3中示出的处理由吊舱8来执行。然而,应理解,在本发明的替代实施例中,可以在另一设备或者设备的组合上执行类似处理,或者在打印机6内的硬件和/或软件模块内或者在打印机6内的打印控制器7内执行类似处理。
现参考图3,在步骤S5,确定将与所生成的安全码相关联的公共数据。虽然该公共数据可以采用任何适当的形式,但是使用批次号形式的公共数据通常很方便(假设出于其他目的,批次号通常被打印在包装上)。批次号可以或者经由工厂网络15被提供给吊舱8或者可替代地经由适当的用户界面被输入到吊舱8,或者以预定的方式被计算(例如,通过使用Julian日期和时间戳)。
在步骤S6,确定将要使用的私人数据。再一次地,虽然该私人数据可以采用任何便利的形式,但是通常采用吊舱已知然而第三方很难确定的数据形式。适当的私人数据包括与针对特定产品批次的处理开始有关的精确的时间信息。其他适当的私人数据包括随机或者伪随机地生成的编号、唯一的批次标识符或者这样的数据组合。应理解,第三方很难正确地确定这样的数据。
在步骤S6获得了私人数据后,在步骤S7,私人数据被压缩。在步骤S7压缩了私人数据后,在步骤S8,获得适当的加密密钥。加密密钥可以以任何适当的方式获得。在本发明的一个实施例中,使用了3DES加密算法。在.NET开发平台的3DES库中提供了该算法的实现方式。.NET3DES库提供功能以使得能够生成加密密钥,并且这样的功能被用于获得适当的加密密钥,并且在步骤S9,利用在步骤S8获得的密钥加密经压缩的数据。在步骤S10,以这种方式加密的数据被转换为字母数字形式,并且在步骤S11,被吊舱8经由数据通信链路提供给打印控制器7。该安全码然后可以被打印头1打印到沿生产线2通过的产品上。
打印了安全码后,各数据被临时地本地存储在吊舱8处。该数据包括在步骤S6确定的私人数据、在步骤S5确定的公共数据和可用于解密通过步骤S10而生成的安全码的解密密钥。在步骤S12,存储该数据。周期性地,通常在针对特定批次的产品的处理结束时,将数据从吊舱8的本地数据存储器传输到验证服务器18。该传输发生在步骤S13。
在陈述了用以生成安全码的处理的概述之后,现将详细描述该过程的各部分。首先,已经指出私人数据可以采用任何便利的形式。在本发明的优选实施例中,所选择的私人数据是多个数据项的组合。具体地,私人数据包括以DDMMYYYY形式表示的批次开始日期,其中DD指示天、MM指示月并且YYYY指示年,以及hh:mm:ss:ms形式的批次开始时间,其中hh指示小时数,mm指示分钟数,ss指示秒数,并且ms指示毫秒数。私人数据另外包括后缀计数和安全码计数。在下文中将更详细地描述后缀码和安全码计数的性质和目的。
本发明的优选实施例加密七个字节的数据。因此必需压缩所确定的私人数据,并且在步骤S7执行这样的压缩。通常,如果所确定的私人数据包括大约12个字节的数据,那么从步骤S7输出的经压缩的数据包括七个字节的数据。
在本发明的优选实施例中,在步骤S9执行的加密使用3DES算法,所述加密使用针对每个批次的产品而个别生成的加密密钥。也就是,在步骤S8,针对将对其应用安全码的每个批次的产品来生成新的加密密钥。3DES加密算法采用7个字节的经压缩数据,并且生成8个字节的经加密数据。在步骤S10,这8个字节的经加密数据被转换为字母数字形式,从而导致13个字符的字母数字文本,该字母数字文本通过使用打印机已知的适当通信协议被发送到打印机。
虽然已经通过参考图3描述了安全码的生成和应用,但是还将通过参考后续示图来详细描述该过程的各个特征。
图4是进一步详细示出打印机6和相关联的吊舱8的示意性示图。可以看到,吊舱8包括控制器29和数据存储器30。还可以看到,打印机6的打印控制器7包括处理器31。处理器31与串行接口32通信,该串行接口32基于吊舱8和打印控制器7之间的通信来提供RS232。处理器31还与数字输入/输出(I/O)接口33通信,该数字I/O接口33还提供处理器31和如上所述的生产线2的控制器之间的通信。处理器31还与存储器34通信,该存储器34存储用于定义将要打印的数据的图像模板。处理器还与计数器35通信,该计数器35可以提供将被插入到由图像模板所提供的计数器字段中的数据。在下文中将进一步详细描述计数器的使用。在图4中可以看到,处理器31与打印头1通信从而导致打印操作发生。
一般而言,由操作者来选择将被存储在存储器34中的图像模板。这样的选择可以在打印机6处本地地执行,或者可替代地,通过连接到工厂网络15的设备远程地执行,或者可替代地,利用吊舱8来执行。通常,“选择模板”命令被用于向打印控制器7提供适当的模板选择命令。针对产品批次运行的持续时间,打印机通常使用单个模板。该模板被存储在存储器34中,并且该模板定义将要打印的图像的格式。
存储在存储器34中的图像模板不仅定义每个字段的大小和字体以及每个字段相对于其他字段的打印偏移量,而且定义将被打印在每个字段中的数据的性质,该数据性质可以是固定的或者可以根据打印的不同而不同。这些字段被处理器31处理以生成将被打印的图像。
现参考图5,示出了在本发明优选实施例中使用的安全码的格式。所示出的安全码包括第一成分36和第二成分37。一般而言,第一成分36是利用上述类型的加密算法生成的,而第二成分37是由计数器35自动生成的。这将在下文中进一步详细描述。
图6示出由打印头1打印在沿生产线2通过的产品的包装上的示例图像。图6的示例图像包括在图5中示出的类型的安全码。图6的图像基于经过适当格式化的上述类型的图像模板。
图6的图像包括4个字段。第一字段38是包含“固定数据”的字段,这在生产批次期间是不会改变的。在这种情况下,固定文本是文本“使用至:(Use By:)”。
第二字段39是包含日期数据的字段。该日期可以是用户在批次开始时输入的,或者可替代地是由处理器利用内部实时时钟自动计算得到的。在数据是由处理器31计算得到的情况下,打印日期数据可能在某些预定时间处自动改变,例如在午夜时自动改变。
图6的图像的第三和第四字段40、41一起表示安全码。第三字段40是插入字段,有时被称作远程数据字段。在该字段中打印的数据经由串行接口32被处理器31接收,并且该数据由吊舱8提供。第四字段是计数字段。该打印数据由打印控制器7利用计数器35在内部生成。操作者可以例如在批次开始时将计数器35重置到零。还应注意,计数器35可以采用诸如数字、字母或者字母数字之类的任何便利的形式,计数器的性质由存储在存储器34中的图像模板来指定。每个计数增量的大小可以被编程到计数器35中。在在此描述的示例中,计数器35是2个数位的数字计数器,其每打印一次计数增大1并且一旦到值99就循环(wrap around)到0。
应注意,创建存储在存储器34中的模板以有意地使计数字段41对齐相邻的插入字段40,从而使得计数字段41用作插入字段40的后缀,并且字段40、41一起形成安全码。应理解,可以使用字段40、41的其他布置来获得类似结果。
通过使用如由6的图像所示例化的、在图5中示出的类型的安全码,应理解,假设在计数器35“循环”之前,用于字段40的新的插入数据被处理器31接收并且被处理器31处理,那么打印头1将以不同的安全码来打印沿生产线2的每个产品。
在该示例中,假设当接收到第一个插入数据时,计数器字段被设置为值00。只要在100次打印(因此,计数器计数到99)被打印完之前,替换插入数据被接收并处理,那么利用存储在存储器34中的模板被打印的所有产品将通过字段40的插入数据和字段41中的计数数据被唯一地标识,所述模板被配置为生成在图6中示出的类型的图像。也就是,每个产品将具有唯一的安全码。
已经一般地描述了:图1的吊舱8生成安全码并且将安全码提供给打印机6以进行打印。这些安全码被包括在在图打印机6中示出的插入字段40中并且此后被称作插入数据。假设期望在每个产品上包含唯一的安全码,那么使用被配置为接收加密插入数据的插入字段40以及计数字段41的上述方法使得唯一的码能够更容易地被应用于产品,而无需个别地针对每个产品来生成唯一地经加密的插入数据。也就是,对于利用在图3中示出的方法而生成的并且被包含在字段40中的单个插入数据,使用计数字段41使得一组经加密的数据能够提供多个唯一的安全码。然而,应理解,出于后续验证的目的,验证服务器18和安全数据库19需要知道那些计数值被有效地与特定插入数据关联。假设由计数器35来生成将被包含在字段41中的计数值,而由吊舱8来生成将被包含在字段40中的插入数据,那么必需认真控制吊舱8和打印控制器7之间的通信,从而确保适当的计数值被吊舱8获得并且随后经由工厂网络15和因特网16被提供给验证服务器18。在本发明的某些实施例中,这被同步地实现。具体地,在特定时间,由吊舱8将新的插入数据提供给打印控制器7。在该时间处,打印机计数器的值被获得,并且因此可以推论所有更小的计数器的值与前一插入数据相关联。如果每次提供新的插入数据时重置计数值,那么以这种方式可以确定:通过在提供新的插入数据时获得计数值,可以获得与每一项插入数据相关联的计数值。现将通过参考图7来描述这一点。
现参考图7,可以看到,所示出的处理包括作为在吊舱8处执行的处理的第一部分42,和作为在打印机6处执行的处理的第二部分43。还可以看到,图7示出计数数据44,该计数数据44示出作为绝对计数值和作为后缀值的两个计数器35的值。也就是,虽然到了99计数器可以继续计数到100,但是后缀将在值00处继续(假设后缀被限定为两个数位)。通过将绝对计数值除以100并且采用作为结果得到得余数,可以根据绝对值得到后缀值。也就是:
后缀计数器=绝对值MOD100;
因此,在基于从打印机获得的计数值的操作在下文中被描述的情况下,应理解,上述类型的MOD操作在值被处理之前被执行。
现参考图7,在步骤S20,在发送将被包含在插入字段40中的插入数据之前,吊舱8请求计数器35的当前值。响应于步骤S20的处理,打印机在步骤S21发送当前计数值,并且该计数值在步骤S22被吊舱8接收。该值被表示为A1,为0。在步骤S22接收到计数值后,插入数据在步骤S23被生成。插入数据的生成涉及加密如上所述的私人数据。上文中指出私人数据包括具有上述格式的批次开始日期和批次开始时间。还指出了私人数据包括后缀计数。现在可以看出,该后缀计数是在生成插入数据之前由吊舱8从打印机获得的计数器35的值。也就是,在步骤S23生成的安全码涉及对计数值A1的加密。此外,私人数据包括在上文中被称作“安全码计数”的数据,这是已经执行了的不同加密的次数。该安全码计数确保利用唯一的数据来生成将被插入到插入字段40中的每个数据项。应理解,对于给定批次,批次开始日期和批次开始时间不会改变。还应理解,有可能对于两次加密操作,读取自打印机6的计数值可能具有相同的值。因此,需要安全码计数以确保在该批次内将要加密的私人数据是唯一的。
在步骤S23生成适当的插入数据后,在步骤S24,该插入数据被提供给打印机。在步骤S25,该插入数据被打印机接收,并且随后被插入到插入字段40中用于打印。在预定延迟(通常为1秒)之后,在步骤S26,吊舱8再次请求计数器35的值,响应于该请求,打印机在步骤S27发送计数器35的值,并且所发送的计数值在步骤S28被接收。在下文中将描述在步骤S28所获得的计数值(被表示为B1并且是7)的使用。
期望在发生了预定次数的打印操作之后,提供将被包含在插入字段40中的新数据。吊舱8被配置为通过与串行接口32进行通信来规律地轮询打印机6,判断何时发生了该次数的打印操作。可以以一秒的时间间隔来有效地执行这样的轮询。该轮询在步骤S29被执行,并且涉及从打印机6获得所执行的打印操作次数的详细信息。打印操作的预定次数,例如60或70被选择,从而确保新的插入数据在计数器“循环”之前被提供。
当轮询操作确定已经执行了期望次数的打印操作时,在步骤S30,吊舱8再次请求计数器35的值。在步骤S31,计数器35的值被发送到吊舱8,并且在步骤S32,所发送的计数器的值(被表示为A2并且为60)被吊舱8接收。在获得了计数器35的值之后,在步骤S33生成用于插入字段40的另一插入数据项。该插入数据通过加密私人数据而生成,该私人数据包括通过在步骤S32处接收的计数器35的值而确定的后缀计数。在步骤S34,所生成的插入数据被发送到打印机,并且在步骤S35被打印机接收。在预定的延迟(通常为1秒)之后,在步骤S36,吊舱8请求计数器35的值,并且计数器35的值在步骤S37被发送到吊舱8。所发送的计数值(现在被表示为B2并且是64)在步骤S38被吊舱接收。
至此为止通过参考图7而描述的处理使得吊舱8能够确定可以与利用计数值A1而生成的插入数据相关联的计数值的数目。也就是,可以与在步骤S24被发送到打印机的插入数据相关联的计数器35的值。在步骤S39确定与在步骤S24发送的数据相关联的计数值的数目,其中从在步骤S38获得的计数器的值(B2)中减去在步骤S22获得的计数器的值(A1)的计算被执行。在该情况下,可以看到,该计算的结果是64。
从图7中可见,步骤S39的计算确定在步骤S24处发送插入数据的时间之前的时间与在提供了另一插入数据之后的时间之间的计数差值。因此,利用这些值,可以安全地假设不多于所计算的计数值的数目被与在步骤S24处发送的插入数据相关联。也就是,已知当使用在步骤S24提供的数据时,计数器可能已经在不高于在步骤S22所获得的值的值处开始,并且已经发现假定使不迟于在步骤S38接收的计数值与在步骤S24处发送的数据相关联是安全的,因为在步骤S34预见新数据,尤其是因为在步骤S34和S36之间施加了延迟。
从图7可以看出,当在步骤S34提供插入数据时,计数器35实际上具有值61,从而使得61个计数值与在步骤S24提供的插入数据相关联。因为步骤S39的计算确定至多64个计数值与在步骤S24提供的插入数据相关联,所以可以看到,所有61个实际计数值可以被如下所述地验证。然而,如果使用了在步骤S32获得的计数值,那么60个计数值将被确定为与在步骤S24提供的插入数据相关联,因此基于第六十一个计数值对具有安全码的产品进行正确验证是不可能的。然而,应注意,在所描述的实施例中,具有第六十二、第六十三和第六十四个值的安全码将被正确的验证,因此添加某些不安全性。也就是说,因为将正确验证的附加计数值的数目较小,所以安全性的丢失最小,并且通过在下文中描述的附加的验证方法被进一步减轻。
继续描述图打印控制器7,从步骤S39的计算开始,在步骤S40,类似于在上文中通过参考步骤S29而描述的操作的轮询操作被执行。当确定已经执行了足够次数的打印操作时,在步骤S41,请求计数器35的值,并且该计数器的值在步骤S42从打印机被发送到吊舱8。在步骤S43,所发送的计数值(在该情况下A3为22)在吊舱处被接收。在步骤S44,利用在步骤S43接收的计数值来生成将被包含在字段40中的另一插入数据,并且以这种方式生成的安全码在步骤S45从吊舱8被发送到打印机6并在步骤S46被打印机接收。在预定的延迟(通常为1秒)之后,在步骤S47,吊舱8请求来自打印机的计数器35的值,并且在步骤S48,该值从打印机被发送到吊舱。在步骤S49,所发送的计数器35的值被吊舱接收。在步骤S50,执行计算以确定与在步骤S34提供的插入数据相关联的计数值的范围。再一次地,可以看到,该计算基于在插入数据从吊舱8被发送到打印机6之前从打印机获得的计数值,并且基于在另一插入数据已经由吊舱提供给了打印机之后获得的计数器值。以这种方式,可以确定不多于所计算的数目个计数值与在步骤S34发送的插入数据相关联。
在下文中进一步详细描述验证方法和适当数据的存储。然而,应注意,当验证在图6的图像中所包括的类型的安全码时,需要两个步骤的过程。第一步骤验证插入字段40的值,而第二步骤验证计数字段41的值。在所描述的实施例中,对计数字段41的验证基于从第一步骤获得的数据。一般而言,诸如在图7的步骤S39和S50示出的那些计算之类的计算生成多个与特定插入数据相关联的计数值。在本发明的优选实施例中,与插入字段40的多个不同值相关联的计数值数目被算出,并且计数值的最大数目被存储。假设用于生成特定插入数据的私人数据包含初始计数值(例如,用于在步骤S23生成的插入数据的值A1),那么出于验证的目的,可以通过使用被包含在私人数据中的计数值(在步骤S23生成插入数据的情况下是A1)和与特定插入数据相关联的计数值数目(即在步骤S39计算的值)来计算绝对计数值。在下文中将进一步详细描述该过程。对于将通过使用图1的计算机网络来执行的验证操作,应理解,上述类型的适当数据需要从验证服务器18可获得。如下文所述,这样的数据因此被提供给验证服务器。
在描述从吊舱8到验证服务器18的数据传输之前,描述利用验证服务器18来访问的安全数据库19的结构。从图8中可以看出,数据库包括多个表格,现在来描述这些表格。吊舱表50存储将数据发送到验证服务器18的吊舱的详细信息。可以看到,该表格具有用作主键(primary key)并且作为特定吊舱的唯一标识符的podid(吊舱id)。吊舱表50还包括与吊舱有关的各种详细信息。具体地,FactoryID(工厂ID)字段用作引用工厂表51的外键(foreign key)。以这种方式,吊舱表50的记录标识工厂表51的记录,从而使得能够获得吊舱位于其中的工厂的详细信息。吊舱表50还包括指示吊舱的句文名称的PodName(吊舱名)字段,以及指示吊舱位于其上的生产线的句文描述的LineName(生产线名)字段。Seria1Number(序列号)字段包括吊舱的序列号,而MacAddress(Mac地址)字段指定吊舱的MAC地址。Lastuploadeddate(最新上载日期)字段存储指示数据最后一次被特定吊舱提供给验证服务器18的日期的数据。SWversion(SW版本)字段指示吊舱目前运行的软件版本。
优选地,以加密的形式将数据从吊舱发送到验证服务器18。为了实现这一点,PodDecryptkey(吊舱解密密钥)存储将被应用以解密由特定吊舱提供的数据的密钥。吊舱表50还包括指示由特定吊舱生成的插入数据项的数目的TotalSecCodesGeneratedbyPod(由吊舱生成的安全码总数)字段,并且还包括指示由该吊舱执行了的打印操作次数的TotalPrintEver(打印总次数)字段。
工厂表51包括用作该表主键的FactoryID(工厂ID)字段,以及CustomerID(客户端ID)字段,该客户端ID字段引用客户端表52的记录从而使得工厂表51中代表工厂的记录能够与其细节被存储在客户端表52中的客户端相关联。Name(名称)字段用于存储工厂名称,并且还提供了以地址(Address)、电话号码(Telephone)和传真号(Fax)的形式来存储工厂联络详细信息的字段。
客户端表52包括用作主键的CustomerID(客户端ID)字段,以及客户端SageRef字段,该字段可以用于使由验证服务器存储的数据与特定客户端的适当帐户数据相关联。
在本发明的某些实施例中,期望使特定的安全码与被分发到世界的特定国家和地区的商品相关联。以这种方式,有可能跟踪在没有预料的国家内出现的商品。以这种方式,所谓的“灰色进口(grey import)”可以被识别。为了使得这样的跟踪能够实现(如在下文中所述的),提供了以用作主键的标识符和包含国家名称的字段的形式存储国家详细信息的国家表53。
由吊舱8提供给验证服务器18的数据存储在批次表54中。批次表的每条记录具有batchID(批次ID)字段形式的主键。podid字段标识描述负责提供与特定批次有关的数据的吊舱的吊舱表50的记录。Country(国家)字段标识指示该批次的商品将被分发到的国家的国家表53的记录。publicData(公共数据)字段用于标识特定批次的上述类型的公共数据。Start(开始)和End(结束)字段用于指示特定批次开始和结束的日期和时间信息。Size(大小)字段指示特定批次内产品的数目,而TotalSC字段标识由吊舱8提供给打印机以用在安全码中的插入数据项的数目。WithinCount(范围内计数)字段用于指示与该批次的特定插入数据值相关联的计数值的最大数目。应注意,虽然将以利用多个插入数据项而生成的安全码来标记整个批次,其中每个插入数据项可能与不同数目的计数值相关联,但是针对该批次存储单个值。也就是,例如在图7的实例中可以看到,在步骤S24提供的插入数据与至多64(在步骤S39计算得到)个计数值相关联,而在步骤S34提供的插入数据与至多70(在步骤S50计算得到)个计数值相关联。在这种情况下,WithinCount字段将被设置为70以指示至多70个产品可以用相同的插入数据然而不同的计数值来标记,从而产生唯一的安全码。
批次表54还包括用于存储用以解密特定批次的安全码的解密密钥的Dkey(解密密钥)字段。batchAuthorised(批次授权)字段用于指示特定批次的数据是否能够被验证。Country字段引用上述的国家表53的记录。InvalidPodID(无效吊舱ID)字段用于指示批次表的特定记录是否包括从目前不能验证其标识的吊舱接收到的数据。
实例寄存器表(instance registers table)55具有用作主键并且引用批次表54的batchID字段。在下文中进一步详细描述该表的操作,然而应注意,一般而言,Val1到Va110字段的每个指示与多个计数值的每个相关联的插入数据项的数目。BelowMini(最小值以下)和AboveMax(最大值以上)字段用于存储与由Val1到Val10字段所容纳的值范围之外的计数值有关的数据。在本发明的替代实施例中,实例寄存器表采用如图8A所示的形式。在此可以看到,针对两个数位的计数器的每个值提供所述字段,从而使得不再需要BelowMini和AboveMax字段。
最后,图8的数据库包括验证表58,该表用于存储指示已经执行了的验证操作的数据。verifyid(验证id)字段用作验证表58的主键,而batchID字段用作引用批次表54的记录的外键。SecurityCode(安全码)字段存储在验证操作期间由用户输入的安全码,而publicData字段存储由用户输入的与安全码结合的公共数据。returnedstatus(返回状态)字段指示验证操作返回了成功或失败。个别请求验证的详细信息还以verifierIP(验证者IP)地址和verifierLocation(验证者定位)的形式被存储。
在上文中,已经一般地描述了用于执行验证操作的数据库的结构。图9和图10示出在数据被发送到验证服务器18之前,被临时地本地存储在吊舱8的数据。可以看到,在图9中示出的数据包括与特定批次有关的数据。该数据被上载到批次表54。数据包括公共数据和加密密钥。吊舱ID字段标识吊舱。在图9的表格中存储的其他数据包括目的地数据,和用作将被加密的私人数据的批次开始日期和时间的数据。还存储了指示批次结束日期和时间的数据。如在上文中已经描述的并且如在下文中将进一步详细描述的,还存储了指示批次内的产品数目的数据,指示所生成的插入数据项的总数的数据,以及指示计数值的值的数据。
在图10中示出的表格存储将被上载到图8的实例寄存器表55的数据。可以看到,batchID字段被用作实例寄存器表的主键。图10的表包括多个字段,每个字段指示与特定数目的计数器值相关联的插入值的数目。也就是,如果插入数据项被提供给打印机并且诸如在步骤S39或步骤S50执行的计算之类的计算确定62个计数值可以与该插入数据项相关联,那么与上至62并且包括62的值(被表示为60)相关联的所有字段的值被增大。类似地,假设在步骤S39确定在步骤S24提供的插入数据可以与至多64个计数值相关联,那么与上至64并且包括64的值(被表示为61)相关联的字段的值被增大。如下文中进一步详细描述的,使用实例寄存器表提供改善的验证安全性。
在上文中已经指出,将数据从吊舱8上载到验证服务器18。图11是示出在该数据传输期间执行的处理的流程图。在S70,到达批次打印操作结束。在步骤S71,利用存储在吊舱8的加密密钥来加密图9所示类型的数据。在步骤S72,执行了该加密后,将数据从吊舱8上载到验证服务器18。通过参考图1,应理解,这涉及经由工厂网络15然后向前经由因特网60到达验证服务器18的数据传输。
一旦接收到数据,验证服务器在步骤S73检验MAC地址(数据从那里被上载)是否出现在吊舱表50中。以这种方式,仅来自经识别的吊舱的数据可以被添加到图8的数据库。如果步骤S73的检验确定MAC地址未被包含在吊舱表50中,那么在步骤S74,将批次表54中的invalidPodID字段设置为假,并且处理然后在步骤S75继续。如果步骤S73的检验确定所提供的MAC地址出现在吊舱表50中,那么处理直接从步骤S73前进到步骤S75。在步骤S75,执行审核(auditing)以确认在安全数据库中存储的数据。在步骤S76,从吊舱表50获得与上载吊舱相关联的解密密钥,并且所取回的数据利用该取回的密钥被解密。在步骤S76,利用所接收的数据适当地填充批次表54的字段,包括存储所接收的解密密钥。在步骤S78,指示特定吊舱所生成的插入数据项的数目的吊舱表50中的数据被更新。
将数据添加到如上所述的各个表格后,在步骤S78,吊舱表50的podSCgen字段被更新以指示由特定吊舱生成了更多的安全码。在下文中描述在验证操作中对这一点的使用。以上述方式更新了数据库后,出于备份的目的,在步骤S79创建XML文件,并且该XML文件然后被提供给被配置为执行备份操作的适当计算机网络。
现通过参考图11A来进一步详细描述在图11的步骤S75执行的审核。一般而言,该审核检验考虑确保在图8的数据库中存储的数据与在特定吊舱处存储的数据一致。通过吊舱将指示操作次数的数据发送到服务器,并且服务器相对于存储在数据库中的数据来验证该接收数据,来实现该审核检验。以这种方式,提供了安全机制以避免并非真的由吊舱创建的数据被写入数据库。
在图11的步骤S750,服务器从吊舱接收指示已经由该吊舱生成的插入数据项的总数的数据。在步骤S751,接收指示自数据最后一次被上载到服务器起所生成的插入数据项的数目的数据。通过从在步骤S750接收的值中减去在步骤S751接收的值,应该已经被上载到服务器的插入数据项的总数可以被算出,并且该计算在步骤S752被执行。在步骤S753,获得指示在数据库中存储的并且与特定吊舱相关联的插入数据项数目的数据。在步骤S754,比较在步骤S752计算得到的值和在步骤S753从数据库获得的值。这些值应该是相等的。如果这些值不相等,那么可以确定存在不一致性并且可以向用户提供适当的警报。应理解,可以以任何适当的方式执行在步骤S754的比较。例如,可以从在步骤S753从数据库读取的值中减去在步骤S752计算得到的值,并且可以执行检验来判断该计算的结果是否确实为零。
可以以任何便利的方式来存储在数据库中存储并且在步骤S753被读取的数据。例如,在图8的数据库中,可以看到,吊舱表50包括用于该目的的TotalSecCodesGeneratedbyPod字段。在本发明的替代实施例中,可以通过存储与每次打印任务相关联的插入数据项的数目,并且相加与特定吊舱所关联的所有打印任务相关联的插入数据项的数目来获得指示由该吊舱生成的插入数据项的总数的数据,来存储该数据。应理解,上述方法需要用于吊舱标识的机制。可以使用任何适当的标识,例如使用吊舱的MAC地址。
如在上文中指出的,优选地在批次结束时将数据从吊舱发送到验证服务器。通常,吊舱将尝试连接到验证服务器,并且如果这样的尝试不成功,吊舱将在预定的时间间隔再次尝试连接。应理解,吊舱通常具有有限的存储空间,因此如果吊舱检测到快要充满该存储空间,那么它可以向用户呈现消息并且数据可以在到达批次结束之前被发送到服务器。在优选实施例中,在开始针对特定批次的处理之前,吊舱执行检验以判断其是否具有足够的存储空间。
已经描述了安全码的生成,在这样的操作期间生成的数据,以及将这样的数据发送到验证服务器,现在通过参考后续图示来描述该数据在验证中的使用。图12示出本发明实施例中的被应用于产品的实例图像。通过参考该图像来描述验证操作。图12的图像具有类似于图6的图像的一般形式。然而,在图12的图像的情况下,第一字段65包括固定数据(批次号(Batch No))。第二字段66包括批次号。批次号或者采用由吊舱将数据提供给打印机6的插入字段的形式,或者可替代地采用用户利用适当界面将数据直接输入到打印机的插入字段的形式。图12的图像还包括插入字段67和计数字段68。字段67、68一起定义上述类型的安全码69。也就是,数据被吊舱8加密并且被提供给打印机用于包含在字段67中,而打印机内的计数器为计数字段68提供计数值。以上述方式来执行安全码69的生成。在上述的实施例中,被应用于产品的并且被存储在图8的数据库中的公共数据是出现在字段66中的批次号。
图13是示出当图12所示的安全码69将被验证时所执行的处理的流程图。在步骤S79,用户将来自字段66的公共数据和安全码69提供给验证服务器18(图1)。通过经由因特网16将这样的数据从计算设备20之一发送到验证服务器18来实现该步骤。
假设利用插入数据67和计数值68来生成安全码,那么应理解,如上所述,假设规律地充分提供插入数据,则每个产品将以唯一的安全码被打印。在步骤S86,在验证表58(图8)中创建针对记录中的验证结果的每个请求。如现在所描述的,这些记录被用于检测对单个安全码的重复验证。
在步骤S80,进行检验以判断由用户输入的安全码是否已经被包括在验证表的记录的安全码字段中。如果确定安全码没有被包括在验证表58中,那么处理从步骤S80前进到步骤S81。
然而,如果步骤S80的检验确定由用户输入的安全码之前已经被验证过,那么处理从步骤S80前进到步骤S82,其中如图14所示的类型的消息被显示给用户。从图14中可以看到,用户被通知该码先前已经被验证过,并且区域70指示该码已经被验证过的次数。为了提供该数据,需要步骤S80的检验对验证表58内的、具有对应于由用户输入的安全码的安全码字段的记录进行计数。在步骤S82显示了图14所示的类型的消息后,处理从步骤S82前进到步骤S83,其中验证操作的记录被存储在验证表58中。
如果处理在步骤S81继续,在接收到作为输出的公共数据和安全码后,安全码首先被处理以辨别计数字段68和插入字段67。如在上文中提及的,分别执行针对这两个字段的验证。在步骤S81执行该辨别。在步骤S84,所输入的安全码的插入数据从其字母数字表示被转换为字节表示(这是当插入数据被生成时,在图3的步骤S10执行的处理的逆处理)。
在步骤S85,验证服务器查询图8的数据库。该查询涉及识别在publicdata字段中具有与从字段66输入的数据相匹配的值的批次表54的行。如果正在确认真品,那么该查询将导致将字段66的批次号用作公共数据的一个或多个记录被找到。这在步骤S86被检测到。如果没有记录被定位,那么可以确定所验证的产品不是真品,并且相应地,在步骤S87向用户显示适当的消息。图15示出可以在步骤S87向用户显示的网页,其指示验证未成功。在这种情况下,在步骤S83,图8的验证表58被更新以指示失败的认证。在这种情况下,用于认证操作的唯一的标识符被存储在verifierID字段中,而batchID具有零值。由用户输入的公共数据和安全码被存储在publicdata和securitycode字段中,而returnedstatus字段指示该认证结果。VerifierIP和verifierLocation字段存储与请求认证的个人有关的详细信息。
如果步骤S86的检验确定查询返回了一个或多个行,那么处理在步骤S88继续。在此,插入数据被利用解密密钥而解密,并且作为结果的解密数据被解压缩。从图8的批次表54获得适当的密钥。这通过定位用于利用步骤S86的查询中的publicdata字段而取回的批次标识符的密钥来实现。
在步骤S88执行了解密和解压缩后,处理在步骤S89继续,其中执行检验以判断经解密的数据是否与在数据库中存储的私人数据相匹配。具体地,将作为如上所述的私人数据的成分的批次开始日期和时间与批次表54中的相应数据进行比较。如果没有检测到匹配,那么可以确定利用公共数据所取回的并且至此为止所处理的批次表的记录不允许安全码被验证。因此,处理前进到步骤S90,其中通过步骤S85的查询而取回的另一行被设置用于处理。假设还存在另一个这样的行,那么处理返回到步骤S86然后前进到步骤S88。然而,如果所有所取回的行都已经被处理,那么可以确定所输入的安全码是无效的,并且相应地,处理从步骤S90前进到步骤S86然后前进到如上所述的步骤S87。
如果在步骤S89的检验成功,那么处理前进到步骤S89a。在此,进行检验以判断通过解密而获得的安全码计数值是否小于或等于针对该批次的批次表54的TotalSC字段的值。如果检验不成功那么处理从步骤S89前进到步骤S90并且前进到如上所述的步骤S86。
然而,如果步骤S89a的检验成功从而使得所取回的数据与从解密操作获得的数据相匹配,那么处理在步骤S91处继续。在此,以将在下文中进一步详细描述的方式来验证计数字段68。如果该验证不成功,那么处理从步骤S91前进到步骤S90然后前进到如上所述的步骤S86。然而,如果该验证成功,那么处理从步骤S91前进到步骤S92,其中报告成功验证的消息被显示给用户。图16示出显示适当消息的页面。
在上文中已经指出,在步骤S91验证后缀码。现进一步详细描述该过程。然而,在描述该过程之前,参考图17。在此,为清楚起见,更详细地示出图12的图像内所包括的安全码69的处理。具体地,可以看到,插入字段67经过在图13中示出的操作后,生成具有批次开始日期和时间71、后缀计数72和安全码计数73的形式的私人数据。此外,如下文所述,计数值68也可用于验证操作中。
现参考图18,描述对计数68的验证。在步骤S95获得计数值68,并且在步骤S96获得后缀计数值(表示为I)。该后缀计数值是作为加密对象的私人数据的一部分,并且通过解密操作获得,作为如图17所示的后缀计数72。在步骤S97,通过从批次表54(图8)获得WithinCount字段的值,来获得与插入数据项相关联的计数值的最大数目。该计数值的最大数目被表示为II。在步骤S98,执行这样的加法运算:将后缀计数72的值(I)与在步骤S97获得的、与插入数据项相关联的计数值的最大数目(II)相加。在步骤S99,进行检验以判断加法的结果是否小于99。步骤S99的检验判断在打印插入数据项的过程期间,计数器是否“循环”。如下文中所述的,对计数值的验证根据计数值是否循环而不同。
如果计数器没有循环(也就是,如果步骤S98的和未产生大于99的值),那么处理从步骤S99前进到步骤S100。在此,进行检验以判断所提供的出现在字段68中的计数值是否大于在步骤S96获得的后缀计数72。也就是,如果计数值不大于后缀计数72,那么可以确定计数值不可能有效。然而,如果计数值大于后缀计数值72,那么处理前进到步骤S101,其中进行检验以确保计数值小于在步骤S98生成的和的值。再一次,如果计数值不满足该不等式,那么可以确定该计数值无效。如果步骤S100或者步骤S101的检验失败,那么处理根据需要直接从步骤S100或者步骤S101前进到步骤S102,其中处理返回到假设经处理的数据不允许验证被成功执行的图13的步骤S89。处理然后如参考图13所描述的那样继续。
然而,如果计数值满足在步骤S100或者步骤S101两处指定的不等式,那么处理在步骤S103处继续。在此,从所提供的计数字段68中减去后缀计数72。假设仅当计数器尚未循环时发生该处理线路,那么应理解,步骤S103的减法提供近似指示特定插入数据的应用情况的值。具体地,在步骤S104,与在步骤S103生成的值相关联的实例寄存器表的记录被定位,并且执行检验以判断其具有大于零的值。如果所定位的实例寄存器具有大于零的值,那么可以推论计数字段68通过了验证检验,然后处理前进到步骤S105,其中实例寄存器被减小以示出已经执行了验证操作,并且然后前进到步骤S106,其中处理前进到图13的步骤S91并且以上述的方式继续。
然而,如果步骤S104的检验判断实例寄存器不具有大于零的值,那么从其计数值的观点出发,可以推论被呈现用于验证的安全码无效。应理解,所呈现的安全码不可能是重复的,因为已经在图13的步骤S80执行了检验。
在上文中描述了步骤S99执行检验以判断在插入数据被提供的过程期间计数值是否循环。通过参考上述步骤S101到S108而描述的处理假设计数值没有循环。如果计数值循环了,那么处理从步骤S99前进到步骤S109。在此,进行检验以判断所提供的计数器值是否具有大于在步骤S96获得的后缀值的值。如果是(假设计数器值循环了),那么可以安全的设想计数值介于后缀计数的值和99之间。假设该部分的验证操作已经成功完成,那么处理从步骤S109前进到步骤S103,其中处理如上所述地继续。
如果步骤S109判断计数值不大于在步骤S96获得的后缀计数的值,那么不能够确定安全码一定无效。具体地,如果该计数值发生在计数值循环之后,那么它可能小于后缀计数的值。因此处理从步骤S109前进到步骤S110。在此,执行检验以判断所呈现计数值是否具有这样的值,该值小于在步骤S96获得的后缀计数值和在步骤S97获得的被应用于特定插入数据的计数值的最大数目的和,该和从其自身减去100以反映计数器在值99处的循环。如果计数值不满足步骤S110的不等式,那么处理前进到步骤S102,其中失败被如上所述地报告。也就是,假设计数值并非介于后缀计数器的值和99之间,并且此外也没有介于零值和在步骤S110处执行的计算的值之间,那么可以推论该计数值无效。
然而,如果步骤S110的不等式被满足,那么处理从步骤S110前进到步骤S111。在可以执行涉及实例寄存器的步骤S104的检验之前,首先必需通过将计数值与100相加并且减去在步骤S96获得的后缀计数,来计算实际的值。因为从步骤S99和步骤S109的输出可以看出计数器已循环,并且所验证的计数值发生在循环之后,所以需要该计算。步骤S111的计算正确地计算了实际值,该实际值然后可以被用于在步骤S104,以如上所述的方式来查询实例寄存器表。
从通过参考图18而陈述的描述可以看出,对计数值的验证不仅取决于计数值,而且取决于被包括在插入数据中的经加密的后缀计数。从图18的示图还可以看出,不仅通过确保计数值落入(由后缀计数和被应用于特定插入数据的计数值的最大数目来限定的)预定范围内,并且还通过参考被存储在数据库中的实例寄存器,来验证计数值。因为在大约预定数目的打印之后提供新的插入数据,所以应理解,特定范围的实例寄存器通常存储较大数目,然而,该相对较小范围以外的范围将仅是所出现实例的较小数目,例如,如果生产吞吐量激增或者相反生产吞吐量延迟。批次表仅存储特定插入数据的实例的最大数目。也就是,如果用两个不同的插入数据项来打印某一特定批次,每个插入数据项具有与其相关联的计数实例的不同数目,那么仅实例的最大数目被存储在批次表中。如果不使用实例寄存器,那么当对于多个插入数据项这些值实际上无效的时候,大量(通过参考特定插入数据的计数值的最大数目而定义的)无效计数值将被正确地验证。通过保持实例寄存器表,并且当发生验证时减小该表的记录,可以预期在应用于大多数插入数据项的范围之外的实例寄存器将被减小,并且该减小可以通过图18的处理被识别。
为了帮助理解,现在给出两个计数值验证的例子。
首先,假设被提供用于验证的码是ABC92,其中ABC是经加密的数据并且92是计数值。首先,值ABC被解密并且这生成后缀计数值3。因此,通过参考图18,在步骤S95,获得值92而在步骤S96获得值3。在步骤S97获得计数值的最大数目是97,并且对于当前处理的批次其是90。在步骤S98,加法运算被执行从而相加3和90得到93。步骤S99的检验导致处理前进到步骤S100。步骤S100的检验确保所给出的值92大于在步骤S96获得的值(3)。假设该检验被满足,那么处理前进到步骤S101,其中进行检验以确保所给出的计数值92小于所述等于93的和。处理因此从步骤S101前进到步骤S103,其中从计数值92中减去后缀计数值3从而生成值89。这指示所给出的安全码是插入数据ABC的第八十九个实例。在步骤S104,进行检验以判断实例寄存器89是否具有大于零的值。如果是,那么在步骤S105减小实例寄存器,并且在步骤S106成功因此被报告。
作为另一示例,假设所给出的验证码是DEF12。在此,计数值是12,并且DEF当被解密时显示后缀计数值70。因此,在步骤S95获得的计数值是12,并且在步骤S96获得的后缀计数值是70,并且当数据库被查询时,针对该批次的与插入数据项相关联的计数值的最大数目是60。步骤S98因此相加60和70从而生成130。因为该值大于99,所以处理从步骤S99前进到步骤S109。因为所给出的计数值是12,所以显然12不大于70,因此处理从步骤S109前进到步骤S110。在步骤S110,将计数值(12)与30进行比较。因为12小于30,所以在步骤S110指定的不等式被满足,并且处理从步骤S110前进到步骤S111。步骤S111的计算生成值42。可以看出这是适当的,计数器值12在安全码DEF的使用的第四十二个实例处被与该安全码相关联。生成了该值后,实体寄存器被查询从而以所描述的方式来执行验证。
前述描述说明了安全码如何被生成并且被应用到产品,以及数据如何被存储在数据库中并且随后被用于执行验证操作。应理解,确保验证数据库的安全性被维护以确保第三方不能够欺骗性地将数据输入到数据库中,从而导致具有非真的安全码的商品被正确地验证,这是很重要的。由验证服务器18(图1)提供的数据库19具有本领域中的技术人员熟知的多个安全机制,所述安全机制意欲使未经授权的个人很难访问和修改数据库。在上文中已经描述了这些安全机制的某些,例如在数据被输入到批次表54中之前,对吊舱的MAC地址的确认。
为了提供附加的安全性,返回参考图8的数据库,可以观察到批次表包括指示在特定批次期间已经生成了的数据项的数目的TotalSC字段。此外,吊舱表50具有存储由特定吊舱生成的插入数据项的数目的TotalSecCodesGeneratedByPod字段。如果数据库一致,那么可以看出,具有对应于特定吊舱的podid的批次表54的记录中的TotalSC字段的和一定与针对该吊舱的吊舱表记录中的TotalSecCodesGeneratedByPod字段的值相同。如果不是这样,那么可以推论数据库中存在不一致性,这可能指示对数据库的欺骗性的修改。
可以通过在每个吊舱处记录已经由该吊舱生成的插入数据项的数目,来提供附加的安全性。可以将存储在特定吊舱中的该值与对应于该吊舱的吊舱表50的记录相比较,并且所生成的插入数据项的值应该匹配。再一次地,任何不一致都指示有可能欺骗性地访问了验证数据库,或者通过吊舱进行了篡改。
在本发明的优选实施例中,当数据从吊舱被上载到安全数据库时,吊舱发送指示在特定批次期间已经生成的数据项的数目的数据,以及指示该吊舱已经生成了的数据项的总数的数据。当该数据被接收到时,从数据项的总数中减去在目前正在处理的批次中生成的数据项的数目。可以确定,该减法的结果应该等于从上述的吊舱表50和批次表54获得的值。该类型的审核可以在图11的步骤S75处执行。
图19示出连接到因特网16的验证服务器18的示例配置。可以看到,验证服务器18具有有两个开放端口的防火墙80。第一开放端口允许经由端口80的传统web浏览器的访问,而第二端口允许利用安全套接字层协议(一种加密数据传输以防止第三方拦截经由因特网发送的数据的技术)的访问。验证服务器18还包括服务器软件81。该服务器与特定域名相关联并且提供对各种URL的访问。第一主URL通过端口80可访问,而另一验证URL也通过端口80可访问。该验证URL用于接收使得验证操作能够被执行的数据。服务器软件81还提供仅经由安全套接字层可访问的两个URL。它们是私有URL和上载URL。这些URL被用于将敏感信息发送到验证服务器18以及用于发送用以生成插入数据的私人数据和相关联的加密密钥。
图20是示出经由验证服务器18而访问的数据库19可经由主URL85和验证URL86访问的示意性示图,这两个URL均可通过如参考图19所描述的验证服务器18的端口80访问。类似地,可通过验证服务器18的端口443访问的私有URL87和上载URL88也可用于访问数据库19。
在本发明的某些实施例中,验证服务器18可以由验证服务供应商来操作。该验证服务提供商可以向多个品牌所有者提供安全码认证服务。这些品牌所有者的每个可能希望通过其自己的网站向其客户端提供认证服务。因此,品牌所有者很可能希望客户端为了执行验证操作而访问www.brand1.com 90形式的URL,其中该网址是该品牌所有者的主页,并且品牌所有者提供对用户可以输入公共数据和安全码以导致认证操作被执行的页面的访问。这样的页面将导致数据被发送到验证URL86从而使得验证操作能够发生。
在本发明的替代实施例中,验证服务供应商的域提供所有被用于接收请求验证的信息的网页。在图20的示图中,可以看到,由验证服务器18来提供URL brand1.domain.com 91、brand2.domain.com 92和brand3.domain.com 93的每个,并且每个都导致数据被发送到验证URL86以使得验证操作能够被执行。应理解,可以使用各种可替代的配置以使得验证操作能够发生。
在本发明的优选实施例中,客户端能够通过上述类型的网址来执行验证而无需预先注册。然而,可能期望使得其他类别的用户仅在注册之后能够执行验证操作。该类别的用户可以包括执行人员、品牌所有者和批发商。
现返回参考图19和图20,已指出私有URL经由验证服务器18来提供对安全数据库19的访问。这样的访问通过端口443经由安全套接字层被执行。私有URL为品牌管理者提供到安全数据库19的连接,从而各种操作可以发生。现在通过参考图21到图24来描述被提供用于使这样的操作能够发生的网页。
首先参考图21,提供了这样的网页,该网页为品牌所有者提供显示存储在安全数据库19中的、该品牌所有者的批次的详细信息的用户界面。可以看到,图21的界面包括三个批次95的数据。对于每个批次,批次id(Batch ID)被显示,同样生产线和工厂的标识被显示。批次开始和批次结束日期也被包括作为在该批次内包含的多个项。提供了使能批次复选框96,从而允许品牌管理者使批次能够用于验证。在选择了将被使能(enable)用于验证的批次后,授权按钮97被用于将适当数据存储在安全数据库中。
提供使批次能够用于验证的用户界面为系统提供了附加的安全性。具体地,在批次内的任何产品可以被验证之前,品牌所有者必须验证与该批次相关联的数据库内的数据是确实可信的,并且因此使其能够用于验证。这给出了防止第三方尝试欺骗性地将数据输入到数据库中的另一阻障,因为附加地,他们将需要确保这样的数据被使能用于验证。在这样的情况下,上述的验证操作被修改以涉及检验将被处理的数据已经被使能用于验证。
图21的界面还包括一对单选按钮(radio button)98,其指示关于上载,批次是否应该被自动使能。因此可能是这样的情况:品牌管理者决定不需要通过个别的批次使能来提供附加的安全性,因此关于上载对批次的自动使能应该被允许。另一组单选按钮99提供这样的选项,例如当与他们的产品有关的批次数据被上载时,品牌管理者可以被电子邮件通知。如果批次数据将被手动地使能用于验证那么这是尤其有价值的,因为它确保品牌管理者知道数据库中存在尚未被使能的数据。
具体地,图21的界面被用于使批次能够用于验证。可以看到,区域100为用户提供各种选项,所述选项可以用于导航到用户界面的其他部分。批次纵览选项101是可选择的以显示如图22所示的界面。
现参考图22,所显示的界面包括品牌管理者负责的多个批次的数据。可以看到在图22中,呈现了三个批次的数据。对于每个批次,批次验证列102使得对该批次内产品的验证操作能够根据需要被使能或者被禁止。也就是,与吊舱2有关的数据103目前被禁止用于验证,因此“使能”选项可以被选择以使这样的验证操作能够被执行。使能和禁止各批次的数据的能力是有价值的,因为从验证操作的观点来看,它使得与已经被召回的产品批次有关的数据能够被禁止。
区域100还提供验证纵览选项104,其可以被选择以导致显示如图23所示的用户界面。图23的用户界面呈现已经执行了的验证操作的详细信息。对于每个验证操作,由用户输入的安全码和与关于该安全码执行了的验证操作有关的详细信息一起被显示。例如,第一验证操作105的详细信息包括安全码,被识别为与该安全码相关联的批次号,以及执行验证操作的日期和时间、所提供的响应和用户所在的国家方面的验证操作详细信息。按钮106被设置用于使得用户能够获得与执行了验证操作的用户有关的进一步的详细信息。可以看到,与所执行的进一步验证操作有关的数据107导致验证失败。在这种情况下,没有批次号可以被显示,因为安全码不能够被验证。然而,提供了日期和时间、所提供的响应和用户国家方面的验证操作详细信息,同样提供了用于导致显示进一步的用户数据的按钮。
通过私有URL提供的用户界面还包括如图24所示的屏幕。图24的屏幕包括与可以从其取回将被存储到验证数据库中的数据的吊舱有关的数据。可以看到,提供了每个吊舱的详细信息,同时一起提供了与其工厂和生产线的位置有关的数据。此外,显示了与数据最后一次被上载的日期有关的数据。提供了按钮108,从而使得用户能够使能或者禁止对特定吊舱的操作。例如如果吊舱失窃,那么可使用该功能以阻止未经授权的第三方使用该吊舱来将非真的数据输入到验证服务器18中。
返回参考图1到图4,现将进一步详细描述吊舱8的操作及其通信性能。
图25示出操作吊舱8的第一种方式,吊舱8与打印机6通信,并且打印机6包括能够将数据打印到沿生产线2通过的产品上的打印头1。在图25所示的配置中,利用桌上型PC111来创建图像模板。所创建的图像模板被存储在可以连接到吊舱8的可拆卸存储设备112中。适当的存储设备是USB存储棒。在将图像模板存储到可拆卸存储设备112上后,该可拆卸存储设备与吊舱8接合从而导致图像模板从可拆卸存储设备112被发送到吊舱8的存储器。随后,图像模板可以从吊舱8提供给打印机6。所创建的图像模板将包括上述类型的插入字段,并且在如上所述的预定时间间隔处,吊舱8将以加密数据的形式提供将被包含在图像模板的插入字段中的数据。
从图25的示图中还可以看到,经由网桥110,吊舱8仍具有到因特网16的网络连接性。这使得吊舱8能够将用于生成安全码的数据发送到验证服务器18以用于后续的验证操作。
图26示出吊舱8的另一种配置。在此,吊舱8及其通信性能实质上与如上文中参考图1所描述的相同。也就是,吊舱8连接到工厂网络15,工厂网络15接着连接到因特网16。打印数据服务器17a也连接到工厂网络15,并且以这种方式图像模板从打印数据服务器17a被下载到吊舱8。操作实质上与通过参考图25所描述的相同,只是数据经由工厂网络15被提供给吊舱8,而非使用可拆卸存储设备112。
在优选实施例中,吊舱8设有操作系统。在如图25所示的配置中,在吊舱内运行
Figure G2007800112359D00391
 XP嵌入式操作系统是目前优选的。在如图26所示的配置中,在吊舱8上运行
Figure G2007800112359D00392
 CE操作系统是优选的。当然应理解,可以适当地使用其他操作系统。
已经通过参考图25和图26描述了吊舱8的两种配置。在图26中示出的配置的优点在于,打印数据服务器17a可以存储多个图像模板,这些图像模板在被需要的情况下以及在被需要时,可以容易地被下载到吊舱8。然而,在图25中示出的配置对于某些应用是优选的,因为安装更容易并且整体安全性增强。
通过参考图25和图26而描述的吊舱配置假设打印机6被配置为从吊舱8接收用于定义将要执行的打印操作的图像模板文件。然而,并不总是这样的情况。某些打印机被用户配置为利用由打印机提供的界面来指定将要执行的打印操作格式。图27示出本发明实施例的示意性示图,其中打印机6设有用户界面113。在这种情况下,利用用户界面113来指定将要打印的图像的格式。在这种情况下,必须限制由用户生成的图像的性质。具体地,可以指定所所生成的图像必须包括能够从吊舱8接收插入数据的插入字段,所述插入数据用于以如上所述的方式来形成安全码的加密部分。通常,需要根据字段格式及其名称来应用各种限制从而确保由吊舱8提供的插入数据被打印机6恰当地处理。
因为在每个打印机处个别地创建图像模板,此外因为由打印机提供的用于这样的图像创建操作的界面通常是十分粗糙的,所以可能认为在图27中示出的实施例是不利的。也就是说,许多广泛使用的打印机的确以这种方式来指定打印操作,然而应注意,假设以从吊舱8接收的数据能够被恰当处理的方式指定了待打印的图像,那么可以在这样的打印机上采用本发明。
在本发明的其他实施例中,可以利用由吊舱8提供的界面来设计图像模板。因此设计的模板然后由吊舱8提供给打印机6。可替代地,图像模板文件可以经由工厂网络15提供给吊舱8。这样的数据可以从连接到因特网16的计算机发出,因特网16接着连接到工厂网络15。在本发明的替代实施例中,可以在利用适当的通信链路临时地连接到吊舱的计算机上生成图像模板。
现在描述在图25所示的本发明实施例中的由吊舱8所提供的用户界面。图28示出由吊舱8提供的用户界面的一般结构。可以看到,提供了多个屏幕,并且通过适当的箭头示出用户可以在这些屏幕之间移动的路线。可以看到,提供了主页屏幕120,并且该主页屏幕在图29中被示出。可以看到,该屏幕包括标识吊舱所关联的工厂和生产线的第一区域121,和提供吊舱的当前状态信息的第二区域122。区域122可以附加地示出与打印机的当前状态有关的数据。区域123显示与当前打印任务有关的数据。可以看到,该数据包括打印任务开始的日期和时间、打印项的数目和最大生产线速度。如果打印机目前正在进行打印操作,那么停止按钮124可以用于结束该打印操作。屏幕120的区域125提供当前正在打印的任务的任务代码。工作按钮126可以被选择以显示工作选择屏幕127。
在图28中示出主页屏幕120和任务选择屏幕127之间的这种关系。在图30中示出任务选择屏幕127。在此,显示工厂名称和生产线名称的第一区域121再次被包括,同样以上述方式显示状态信息的第二区域122也被包括。此外,设置了后退按钮128,其当被选择时将导致前一所显示的屏幕被再次显示。主页按钮129是可选择的以导致主页屏幕120被显示,并且再一次地,在图28中示出该关系。任务选择屏幕127提供用户可选择的任务列表130,用户可以从该列表中进行选择。吊舱8优选地设有触摸屏界面。相应地,触摸屏提供向上按钮131和向下按钮132,这些按钮用于滚动任务列表130。当期望工作被突出显示时,OK按钮133被选择并且该任务然后被选择用于打印。
可能从列表130中选出的任务需要用户输入将经由吊舱8来输入的日期。因此,如果所选择的图像模板具有这样的需求,那么选择任务选择屏幕127内的OK按钮133导致显示如图31所示的用户输入日期屏幕134。区域135向用户指示将被输入的日期,而日历区域136用于选择期望日期。在选择了适当日期后,OK按钮137被选择以导致再次显示任务选择屏幕127。还提供了删除按钮138。当已经利用用户输入日期屏幕134输入了适当的日期数据时,任务选择屏幕127被再次显示。
从任务列表130中选出的任务可能需要用户输入句文数据。在这样的情况下,用户输入批次/批(lot)号屏幕139被显示。该屏幕被示出在图32中,并且该屏幕与任务选择屏幕127之间的关系被示出在图28中。可以看到,用户输入批次/批号屏幕139提供区域140,利用显示在吊舱8上的虚拟QWERTY键盘141将文本输入该区域140中。当利用虚拟QWERTY键盘141输入适当的数据时,该数据出现在区域140中。设置了OK按钮142和删除按钮143。当OK按钮142被选择时,任务选择屏幕127被再次显示。
此外,从任务列表130中选出的某些任务可能需要用户选择将被包含在待打印的图像内的数据项。在这种情况下,如图33所示,挑选列表屏幕145被显示。挑选列表屏幕145提供用户利用向上按钮147和向下按钮148来导航的挑选列表,此外还设置了OK按钮149和删除按钮150。因此,任务选择屏幕130、用户输入日期屏幕134、用户输入批次/批号屏幕139和挑选列表屏幕145共同为用户提供可用于选择图像模板并且还可用于在打印操作发生之前输入该图像模板所需的数据的界面。
当在任务选择屏幕127(图30)内完成了任务选择操作时,概要屏幕152被显示。在图28中示出任务选择屏幕127和概要屏幕152之间的这种关系。概要屏幕152被示出在图34中。可以看到,概要屏幕152包括呈现所选择的任务的详细信息的区域153,以及开始按钮154和删除按钮155。如果删除按钮被选择,那么主页屏幕120被再次显示。然而,如果开始按钮被选择,那么图像模板被下载到打印机6。这导致显示在图35中示出的配置屏幕156,该配置屏幕156包括指示至此为止已发送到打印机的数据量的状态条157。还提供了关闭按钮158。当配置完成时,主页屏幕120被再次显示,如图28所示。
现返回参考图29到图35,可以看出,在每个屏幕的右上角设置了设置按钮160。从任一个所描述的屏幕中选择设置按钮160导致显示在图36中示出的设置屏幕161。该设置屏幕可用于利用文本框162来配置工厂名称和生产线名称,即在所有所描述的屏幕中都包括的、出现在通过参考图29而描述的第一区域121中的输入数据。利用虚拟QWERTY键盘将数据输入到文本框162中,该虚拟QWERTY键盘通过键盘按钮163被导致显示。更新数据库按钮164可用于本发明这样的实施例中,其中吊舱8从数据库接收图像模板(例如在图26中示出的实施例)。在这种情况下,更新数据库按钮164导致图像模板从打印数据服务器17a被下载到吊舱8。打印机通信按钮165是可选择的以导致显示在图37中示出的打印机设置屏幕166。
现参考图37,设置了多个下拉框167,这些下拉框用于配置吊舱8和打印机6之间的通信。应用按钮168和删除按钮169被设置用于或者接受或者删除利用该屏幕所做出的改变。选择应用按钮168或删除按钮169导致设置屏幕161将被再次显示。
如果设置屏幕161(图36)的网络设置按钮170被选择,那么在图38中示出的屏幕171被显示。该屏幕使得吊舱8的各个网络连接参数能够被指定。设置了指示IP地址设置应该被自动检测的复选框172。如果没有选择该复选框,那么IP地址、子网络和网关信息被输入到适当的文本框173中。类似地,复选框174用于指示DNS信息是否应该被自动检测。如果该框未被选择,那么文本框175被用于指定适当的DNS数据。再一次地,设置了应用按钮176和删除按钮177,选择这些按钮导致设置屏幕161被再次显示。
再次参考图36,设置屏幕161设置了诊断按钮178,当选择该诊断按钮178时,导致显示在图39中示出的诊断屏幕179。可以看到,诊断屏幕179包括多个按钮,所述多个按钮用于在吊舱8和打印机6之间的RS232通信以及涉及吊舱8的因特网通信两个方面诊断潜在的错误。
考虑RS232诊断,所提供的按钮总的示出吊舱是否能够开放其RS232端口,该端口目前是开放的还是关闭的,以及除上一次数据接收的时间以及上一次接收的字节数之外,任何数据是否已经被接收。RS232测试按钮180导致吊舱8尝试连接到打印机并且发送状态消息,同时等候对该状态消息的响应。
因特网诊断示出吊舱是否具有网络连接,其是否能够连接到预定的域,其是否能够看到其DNS服务器,以及其是否能够看到不太可能处于下游的已知web服务器(例如,www.google.com或者www.bbc.co.uk),按下因特网连接测试按钮181导致吊舱尝试连接到在counterfight.com域处的上载服务器。如果该尝试失败,那么它将尝试连接到不太可能不可用的公共服务器(例如,www.nasa.gov或者google.com)。如果该尝试失败,那么它将尝试联系DNS服务器。如果该尝试失败,那么它将识别是否存在网络连接。诊断屏幕179提供了删除按钮,该按钮在被选择时导致设置屏幕161被再次显示。
现再次参考图36,可以看到,设置屏幕161还包括应用按钮185和删除按钮186。这些按钮导致吊舱再次显示上述的主页屏幕120。
前述描述已经一般地描述了吊舱8的界面如何能够运行。具体描述的界面是触摸屏界面。然而,应理解,可以对所提供的用户界面做出各种修改。还应理解,界面并非必需是触摸屏界面。作为替代,在本发明的某些实施例中,可以提供可替代的用户界面。
上文中已经描述了图像模板通常在桌上型PC上被创建并且被提供给吊舱8。图40是从已知为CLARiSOFT的图像模板设计包中得到的屏幕截图,该已知为CLARiSOFT的图像模板设计包由Claricom Limited of 4William Lee Buiding,Highfields Science Park,University Boulevard,Nottingham,NG72RQ制作。在所示出的屏幕截图中,CLARiSOFT用户界面提供按钮190,选择该按钮190来将安全码字段191插入到图像模板中。当按钮190用于将安全码字段添加到图像模板时,用户被提示使被包括在图像模板内的其他数据项与安全码字段相关联。该其他字段将被用作公共数据。以这种方式,在图40中示出的用户界面为用户提供将上述类型的安全码添加到图像模板的便利方式。具体地,提供了涉及选择安全码的插入和使该安全码与图像模板内的另一字段简单关联的单个操作。此外,利用图40的界面来生成图像模板被视为是有利的,因为它使得图像模板能够指定所有的与安全码有关的所需信息,包括其与预定公共数据的关系。应注意,将被用作公共数据的字段可以采用任何便利的形式。例如,该字段可以是被配置为接收由用户利用适当的输入设备而输入的数据或者可替代地从外部设备接收的数据的字段。在本发明的优选实施例中,软件被配置为仅允许安全码字段与存储对于整个批次作为常量的数据的字段相关联。应理解,如上所述,与安全字段相关联的字段,并且更具体地存储于其中的数据需要被上载到数据库用于验证。
以上已经描述了本发明的优选实施例。然而,应理解,可以对所描述的实施例做出各种修改而不会背离如随附权利要求书所定义的本发明的精神和范围。在此,在上文中提及将安全码应用于商品或者产品,这样的提及意欲包括通过将安全码打印到该商品或产品上来将其直接应用于商品或产品,或者可替代地,通过将安全码打印到与该商品或产品相关联的包装上来实现。可替代地,可以将安全码打印到已经固定了的或者将被粘附于产品或商品的标签上。术语“产品”和“商品”意欲被广义地理解以包括将与安全码相关联的任何事物。然而,在大多数情况下,这样的商品和产品很可能是消费商品和产品,这并不是一定的情况。对于高价值产品以及基于烟草和酒精的产品,目前认为安全码的应用是尤其有利的。
在上述的本发明实施例中,已经说明了:打印机使用包括插入字段的图像模板,并且与打印机相关联的吊舱向打印机提供插入数据(以加密数据的形式)以形成安全码的一部分。合理地大范围使用的某些打印机不能沿在本申请中所描述的类型的串行通信接口来接受这样的插入数据项。在这种情况下,替换上文中所陈述的处理可能是必需的,所述处理涉及通过提供新图像模板的处理来呈现新的插入数据,该模板包括已经被填充的字段(该字段包括已经被插入的数据)。
上文中已经描述了利用加密来生成安全码的一部分的优选方法。然而,可以使用替代方法。具体地,上述方法涉及加密生成安全码的个人已知的私人数据并且随后将其存储在数据库中。然而,除了这样的私人数据外,将被打印到产品上的公共数据可以被附加地加密。在WO00/23954(Elliott)中描述了用于这样的加密的适当技术,该专利申请的内容通过引用被接合于此。
上文中已经说明了在本发明实施例中优选地使用在图5中示出的一般类型的两部分的安全码,其中通过在吊舱加密数据并且将经加密的数据提供到打印机来生成第一成分,并且通过读取由打印机生成的计数值来生成第二成分。已经说明了以这种方式进行操作克服了延迟,所述延迟可能由于针对每个将要发生的打印操作来呈现新的插入数据而被施加。然而,使用在此描述的类型的两部分的安全码并不局限于这样的情况。实际上,如果打印机自身被配置为生成将形成安全码的一部分的加密数据,那么使用计数值可以仍是有益的,因为打印机通常能够比生成新的加密数据更快地生成新的计数值。类似地,可以从外部设备将第一和第二成分二者发送到打印机。如果单个第一分量于多个第二分量相关联,那么可以通过相对频繁地发送第二分量并且相对不频繁地发送第一分量来生成唯一的数据项。以这种方式,可以向打印机提供唯一的数据项而无需针对每个打印操作都提供唯一的数据项。
上述吊舱8可以采用任何便利的形式。例如,吊舱8可以被设置为运行适当软件的PC(例如,平板PC(tablet PC))的形式。可替代地,吊舱8可以被设置为利用定制的硬件。在本发明的替代实施例中,在打印机6内实现以上参考吊舱8而描述的功能。这可以通过为打印机6提供用以提供该功能的适当硬件和/或软件来实现。在这样的实施例中,执行吊舱功能的打印机的模块与打印机的其他模块之间的通信将类似于打印机内电存储器部分之间的通信,而非经由RS232或者类似的串行通信链路。
在所描述的实施例中,在图1中示出的打印机6、10、13的每个具有相关联的吊舱8、11、14。在本发明的替代实施例中,单个吊舱可以被配置为控制多个打印机。
上述的本发明实施例使用了被打印在产品或者与产品相关联的包装上的、人为可读信息形式的安全码和关联公共数据。在本发明的替代实施例中,以机器可读信息的形式提供安全码和/或关联公共数据。可以以RFID标签或者一维或二维条码的形式来提供这样的机器可读信息。当将要执行验证操作时,通过适当的读取器来读取这样的机器可读信息。应理解,以这样的方式提供安全码和/或公共数据的优点在于,它降低了输入数据错误的风险。然而,它需要执行验证操作的用户有权使用适当的设备来读取机器可读信息。
上述的本发明实施例使用了3DES加密算法。然而,应理解,可以使用任何适当的加密机制。在某些实施例中,不采用上述类型的加密密钥。作为替代,由指示数据应该如何被操作以实现加密和解密的一组规则来指定加密和解密操作。例如,一个这样的规则组可以指定明文数据的位应该如何被重新排列以提供加密,并且类似地,可以指定经加密数据的位应该如何被重新排列以提供原始的明文数据。

Claims (14)

1.一种用于打印安全码的方法,所述方法包括:
在打印机接收来自外部数据源的所述安全码的第一成分;
在所述打印机生成所述安全码的第二成分;以及
通过打印所述第一和第二成分来打印所述安全码;
其中使共用的第一成分与多个不同的第二成分相关联以打印多个安全码。
2.如权利要求1所述的方法,其中生成所述第二成分包括读取机器生成码的值。
3.如权利要求2所述的方法,其中所述机器生成码是由所述打印机保持的计数值或时钟值。
4.如权利要求1所述的方法,还包括:
在所述打印机接收多个第一成分;以及
在所述打印机生成多个第二成分;
其中第二成分的生成比所述第一成分的接收更加频繁。
5.如权利要求1所述的方法,其中通过加密第一数据来生成第二数据以生成所述第一成分,所述第一成分包括所述第二数据。
6.如权利要求1所述的方法,其中打印所述安全码包括打印所述第二成分作为所述第一成分的后缀。
7.如权利要求1所述的方法,其中打印所述安全码包括打印所述第二成分作为所述第一成分的前缀。
8.如权利要求1所述的方法,其中所述第一成分包括多个字符,并且其中打印所述安全码包括在所述第一成分的两个相邻字符之间打印所述第二成分。
9.如权利要求1所述的方法,其中所述多个安全码的每一个是唯一的。
10.如权利要求1所述的方法,还包括向数据仓库提供每个所述安全码。
11.如权利要求1所述的方法,还包括存储指示与特定第一成分相关联的第二成分的数据。
12.如权利要求1所述的方法,还包括存储指示与用于生成特定第一成分的第一数据相关联的第二成分的数据。
13.一种用安全码标记对象的装置,所述装置包括:
用于从外部数据源接收所述安全码的第一成分的装置;
用于生成所述安全码的第二成分的装置;以及
用于通过用所述第一和第二成分标记所述对象而用所述安全码标记所述对象的装置;
其中所述装置被配置为使共用的第一成分与多个不同的第二成分相关联以标记多个安全码。
14.一种生成用于验证安全码的数据库的方法,每个安全码包括第一成分和第二成分,所述第二成分是计数成分,并且所述方法包括:
针对所述计数成分的至少某些值定义各个数据项;
生成多个具有共用的第一成分和不同计数成分的多个安全码;
基于所述计数成分的值来更新数据项。
CN2007800112359A 2006-01-27 2007-01-26 打印方法 Expired - Fee Related CN101410876B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB0601700.8 2006-01-27
GBGB0601700.8A GB0601700D0 (en) 2006-01-27 2006-01-27 Printing Method
US74767906P 2006-05-19 2006-05-19
US60/747,679 2006-05-19
GB0610008.5 2006-05-19
GB0610008A GB2435954B (en) 2006-01-27 2006-05-19 Printing method
PCT/GB2007/000263 WO2007085841A1 (en) 2006-01-27 2007-01-26 Printing method

Publications (2)

Publication Number Publication Date
CN101410876A CN101410876A (zh) 2009-04-15
CN101410876B true CN101410876B (zh) 2012-06-06

Family

ID=36061010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800112359A Expired - Fee Related CN101410876B (zh) 2006-01-27 2007-01-26 打印方法

Country Status (5)

Country Link
US (1) US20090083848A1 (zh)
EP (2) EP2600324A3 (zh)
CN (1) CN101410876B (zh)
GB (2) GB0601700D0 (zh)
WO (1) WO2007085841A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361294B2 (en) * 2007-05-31 2016-06-07 Red Hat, Inc. Publishing tool for translating documents
US10296588B2 (en) * 2007-05-31 2019-05-21 Red Hat, Inc. Build of material production system
US8156416B2 (en) * 2008-05-12 2012-04-10 Xerox Corporation Securing printed output
US8140852B2 (en) * 2008-06-16 2012-03-20 International Business Machines Corporation Authenticating serialized commodities
US20130290360A1 (en) * 2012-04-30 2013-10-31 John Cunningham Consumable identifier
KR101566882B1 (ko) * 2014-02-07 2015-11-06 (주)이글로벌시스템 암호화된 데이터베이스 모니터링과, 대량 복호화 차단을 위한 시스템 및 그 방법
WO2017071765A1 (en) * 2015-10-29 2017-05-04 Hewlett-Packard Indigo B.V. Allocation of designs to products
CN108427543B (zh) * 2018-02-01 2021-07-20 厦门盈趣科技股份有限公司 一键打印方法和一键打印系统
US11765604B2 (en) 2021-12-16 2023-09-19 T-Mobile Usa, Inc. Providing configuration updates to wireless telecommunication networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2465233A1 (en) * 2001-10-31 2003-05-08 Atlas Elektronik Gmbh Navigation system for determining the course of a vehicle
CN1541124A (zh) * 2001-04-13 2004-10-27 ���˶ٵϿ�ɭ��˾ 可预充注的皮内输递装置
TW200426718A (en) * 2003-05-16 2004-12-01 Fast Accurate Developments Ltd Recognition system and method thereof for merchandise fraud protection

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302810A (en) * 1979-12-28 1981-11-24 International Business Machines Corporation Method and apparatus for secure message transmission for use in electronic funds transfer systems
US4776011A (en) * 1983-10-24 1988-10-04 Sony Corporation Recursive key schedule cryptographic system
US4969188A (en) * 1987-02-17 1990-11-06 Gretag Aktiengesellschaft Process and apparatus for the protection of secret elements in a network of encrypting devices with open key management
US6267670B1 (en) * 1997-03-21 2001-07-31 Walker Digital, Llc System and method for performing lottery ticket transactions utilizing point-of-sale terminals
US5390251A (en) * 1993-10-08 1995-02-14 Pitney Bowes Inc. Mail processing system including data center verification for mailpieces
US5592561A (en) * 1994-04-14 1997-01-07 Moore; Lewis J. Anti-counterfeiting system
GB9505433D0 (en) * 1995-03-17 1995-05-03 Neopost Ltd Postage meter system and verification of postage charges
US5754653A (en) * 1995-07-26 1998-05-19 Canfield; Henry A. Coding formula for verifying checks and credit cards
JPH09330333A (ja) * 1996-06-12 1997-12-22 Hitachi Ltd 検査結果の自動検証方法
US6005945A (en) * 1997-03-20 1999-12-21 Psi Systems, Inc. System and method for dispensing postage based on telephonic or web milli-transactions
US5974150A (en) * 1997-09-30 1999-10-26 Tracer Detection Technology Corp. System and method for authentication of goods
AUPP053597A0 (en) * 1997-11-25 1997-12-18 Canon Information Systems Research Australia Pty Ltd Device and method for authenticating and certifying printed documents
GB2342743B (en) * 1998-10-17 2003-05-14 Nicholas Paul Elliot Verification method
JP2001092617A (ja) * 1999-09-20 2001-04-06 Canon Inc サーバ装置および情報処理装置およびデータ処理方法および記憶媒体
US7216110B1 (en) * 1999-10-18 2007-05-08 Stamps.Com Cryptographic module for secure processing of value-bearing items
US7107453B2 (en) * 2000-05-25 2006-09-12 Hewlett-Packard Development Company, L.P. Authenticatable graphical bar codes
US6820201B1 (en) * 2000-08-04 2004-11-16 Sri International System and method using information-based indicia for securing and authenticating transactions
GB0030154D0 (en) * 2000-12-11 2001-01-24 En Squared Ltd Improvements relating to public-key encryption
US6629098B2 (en) * 2001-01-16 2003-09-30 Hewlett-Packard Development Company, L.P. Method and system for validating data submitted to a database application
NZ568261A (en) * 2001-10-26 2009-09-25 Int Barcode Corp Method and apparatus for applying bar code information to products during production
GB2398910B (en) * 2001-11-29 2005-09-07 Niel Eben Viljoen Method and system for operating a banking service
US7225166B2 (en) * 2002-03-22 2007-05-29 Neopost Technologies Remote authentication of two dimensional barcoded indicia
KR100477645B1 (ko) * 2002-05-25 2005-03-23 삼성전자주식회사 일련번호 발생 방법 및 그 장치
US7134022B2 (en) * 2002-07-16 2006-11-07 Flyntz Terence T Multi-level and multi-category data labeling system
US7234163B1 (en) * 2002-09-16 2007-06-19 Cisco Technology, Inc. Method and apparatus for preventing spoofing of network addresses
JP3861050B2 (ja) * 2002-12-27 2006-12-20 キヤノン電子株式会社 2次元コード処理方法、および2次元コード処理装置
US8543411B2 (en) * 2003-11-05 2013-09-24 United Parcel Service Of America, Inc. Systems and methods for detecting counterfeit pharmaceutical drugs at the point of retail sale
JP4322164B2 (ja) * 2004-04-28 2009-08-26 シャープ株式会社 ネットワーク機器管理システム及びネットワーク機器管理装置
US7788482B2 (en) * 2004-05-10 2010-08-31 Scientific Games International, Inc. System and method for securing on-line documents using authentication codes
CN101002217A (zh) * 2004-05-18 2007-07-18 西尔弗布鲁克研究有限公司 医药产品跟踪

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541124A (zh) * 2001-04-13 2004-10-27 ���˶ٵϿ�ɭ��˾ 可预充注的皮内输递装置
CA2465233A1 (en) * 2001-10-31 2003-05-08 Atlas Elektronik Gmbh Navigation system for determining the course of a vehicle
TW200426718A (en) * 2003-05-16 2004-12-01 Fast Accurate Developments Ltd Recognition system and method thereof for merchandise fraud protection

Also Published As

Publication number Publication date
EP1977400A1 (en) 2008-10-08
GB0601700D0 (en) 2006-03-08
GB2435954B (en) 2008-03-05
GB2435954A (en) 2007-09-12
EP2600324A3 (en) 2013-11-06
US20090083848A1 (en) 2009-03-26
WO2007085841A1 (en) 2007-08-02
CN101410876A (zh) 2009-04-15
EP2600324A2 (en) 2013-06-05
GB0610008D0 (en) 2006-06-28

Similar Documents

Publication Publication Date Title
CN101410876B (zh) 打印方法
US12067440B2 (en) Systems and methods for generating secure tags
US6934842B2 (en) Identification code management method and management system
JP6683603B2 (ja) 製造物認証システム及び製造物認証方法
CN101501680B (zh) 用于阻止产品伪造、转移和盗版的方法和系统
US9010654B2 (en) Monitoring moving articles
US20070215685A1 (en) System and Method of Product Identification Using a URL
US20070205258A1 (en) System and Method of Product Information Coding and Authentication
US9087225B2 (en) Integraded package authentication system and method thereof
CN105096134A (zh) 用于验证数字实体及聚合对象来源的安全方案的系统及方法
EP2936409B1 (en) Method and system for marking an item, an item so marked and a method and system for authenticating a marked item
WO2009032059A2 (en) Data management
CN104094298A (zh) 用于验证和管理产品分销的系统和方法
US10700868B2 (en) Security systems and methods for electronic devices
WO2012020291A2 (en) System for checking the authenticity of articles
CN103875005A (zh) 用于验证通信装置和安全通信装置的系统
US20060265584A1 (en) Communication system for traceability monitoring
JP2007164290A (ja) 判定システム、生成装置、判定装置及び判定方法等
JP2013200588A (ja) 印刷システムおよびプリンター
JP6678972B1 (ja) 情報管理装置とそのプログラム
JP2007166519A (ja) 判定システム、生成装置、判定装置及び判定方法等
JP2024001573A (ja) 生産設備情報管理システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120606

Termination date: 20150126

EXPY Termination of patent right or utility model