CN111886616A - 在用于液态食品的包装上提供唯一代码 - Google Patents
在用于液态食品的包装上提供唯一代码 Download PDFInfo
- Publication number
- CN111886616A CN111886616A CN201980019025.7A CN201980019025A CN111886616A CN 111886616 A CN111886616 A CN 111886616A CN 201980019025 A CN201980019025 A CN 201980019025A CN 111886616 A CN111886616 A CN 111886616A
- Authority
- CN
- China
- Prior art keywords
- code
- data
- counter
- random
- payload
- 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.)
- Pending
Links
- 235000021056 liquid food Nutrition 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 108
- 238000004519 manufacturing process Methods 0.000 claims description 56
- 238000005192 partition Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 239000000463 material Substances 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 238000002679 ablation Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 241000196324 Embryophyta Species 0.000 description 34
- 230000008569 process Effects 0.000 description 20
- 238000004806 packaging method and process Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000000969 carrier Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000007688 Lycopersicon esculentum Nutrition 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- CDBYLPFSWZWCQE-UHFFFAOYSA-L Sodium Carbonate Chemical compound [Na+].[Na+].[O-]C([O-])=O CDBYLPFSWZWCQE-UHFFFAOYSA-L 0.000 description 1
- 240000003768 Solanum lycopersicum Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000013405 beer Nutrition 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 239000006071 cream Substances 0.000 description 1
- 235000013365 dairy product Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 235000015203 fruit juice Nutrition 0.000 description 1
- 235000011389 fruit/vegetable juice Nutrition 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 235000019198 oils Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 235000015067 sauces Nutrition 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 235000021055 solid food Nutrition 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 235000013547 stew Nutrition 0.000 description 1
- 235000012976 tarts Nutrition 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 235000014101 wine Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0833—Tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/224—Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
- G06V30/2247—Characters composed of bars, e.g. CMC-7
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Factory Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
用包含表示代码结构和/或代码生成方法的未加密代码定义数据([E],[G])的报头部分(40)以及包含加密的有效载荷数据([EP])的有效载荷部分(41)来生成用于标记液态食品包装的唯一代码。加密确保对代码进行充分的加密,以使猜测和欺诈性代码生成变得困难。可以将在加密之前的有效载荷数据定义为在每个代码中都是唯一的,从而也使该代码唯一。还可以将在加密之前的有效载荷数据进行结构化,以使其能够高效地搜索数据库中的代码。当从包装中读取时,可以通过以下方式来处理代码:提取代码定义数据([E],[G]),标识有效载荷部分(41),提取加密的有效载荷数据([EP]),通过解密来重新创建代码,并基于有效载荷数据或其一个或多个子集在数据库中搜索代码。
Description
技术领域
本发明总体上涉及用于液态食品的包装的制造,尤其涉及在这种包装上提供代码。
背景技术
全世界每天消耗数十亿升水、牛奶、果汁和其他液态食品。大部分液态食品以纸基包装(也称为硬纸包装)分发。生产这些包装以保护内部液态食品的营养价值和味道。基础技术极大地促进了液态食品在世界范围内的包装和分配。
众所周知的是,为这种和其他类型的用于液态食品的包装提供代码,例如,以指示相应包装中的液态食品的有效期限或原产地。此类代码通常以纯文本形式应用在包装上,以便消费者可以阅读和理解。
迄今为止,还没有用于在包装上提供代码以唯一标识每个包含液态食品的单独包装的广泛采用的、最佳且稳健(robust)的技术。
发明内容
本发明的目的是至少部分地克服现有技术的一个或多个限制。
另一个目的是提供一种技术,该技术使得能够为包装提供全球唯一的代码。
另一个目的是提供这样一种技术,该技术减轻了欺诈性生成有效代码的风险和/或阻止了基于另一代码或通过使用随机机制来猜测有效代码的努力。
这些目的中的一个或多个以及可能从下面的描述中出现的其他目的至少部分地通过产生代码的方法、计算机可读介质、代码、根据独立权利要求处理代码的系统和方法、由从属权利要求限定的其实施方案来实现。
本发明的第一方面是一种生成代码以唯一标识用于液态食品的包装的方法。所述方法包括:获取表示所述代码的结构和生成所述代码的方法中的至少一种的代码定义数据;获取对每个包装唯一的有效载荷数据;对所述有效载荷数据运算预定义的加密算法以生成所述加密的有效载荷数据;将所述代码定义数据包括在预定义的报头部分中,所述预定义的报头部分用于相应的包装的所述代码的未加密数据;并且将所述加密的有效载荷数据包括在所述相应的包装的所述代码的预定义的有效载荷部分中。
另外,在一些实施方案中,所述运算所述预定义的加密算法包括:选择加密密钥,并且,所述方法还包括:将表示所选择的所述加密密钥的密钥标识数据包括到所述预定义的报头部分中。
另外,在一些实施方案中,所述选择加密密钥包括:获取随机数,并且基于所述随机数,在预定义的加密密钥集中选择所述加密密钥,其中,所述密钥标识数据代表所选择的所述加密密钥。
另外,在一些实施方案中,所述密钥标识数据还表示所述预定义的加密密钥集的版本号。
另外,在一些实施方案中,所选择的所述加密密钥是私钥。
另外,在一些实施方案中,由所述代码定义数据表示的方法包括所述预定义的加密算法。
另外,在一些实施方案中,所述方法还包括:对所述加密的有效载荷数据运算哈希函数以生成哈希(hash)数据,并且将所述哈希数据包括作为所述报头部分的可读子部分。
另外,在一些实施方案中,所述哈希数据被生成为数字签名。
另外,在一些实施方案中,所述方法还包括:获取表示地理位置的位置数据,并将所述位置数据包括在所述有效载荷数据中,以便对源自所述地理位置处的生产单位的所有包装都通用。
另外,在一些实施方案中,所述位置数据指示生产者、制造厂、生产线和生产设施中的至少一个。
另外,在一些实施方案中,所述方法进一步包括:获取索引数据,所述索引数据使得能够将顺序地生成的代码分组;并且将所述索引数据包括在所述有效载荷数据中。
另外,在一些实施方案中,所述获取所述索引数据包括:获取至少一个顺序计数器的当前值,该至少一个顺序计数器被配置为随着时间的推移输出递增或递减的顺序值。
另外,在一些实施方案中,获取所述索引数据以包括由多个顺序计数器输出的当前值的组合。
另外,在一些实施方案中,获取所述索引数据的至少一部分以表示当前时间。
另外,在一些实施方案中,所述方法还包括:为每个包装获取随机数据,并且将所述随机数据包括在所述有效载荷数据中。
另外,在一些实施方案中,所述获取所述随机数据包括从随机计数器获取随机值,该随机计数器被操作以将属于相互唯一值的预定范围的值以随机顺序间歇地排列,然后以所述随机顺序一个接一个地至少输出所述值的子集。
另外,在一些实施方案中,所述方法还包括:从随机计数器获取用于每个包装的随机值,所述随机计数器被配置成生成属于预定范围并且在预定义时间段内相互唯一的随机值,所述预定义时间段是针对所述当前时间的最小时间单位;并且将所述随机值包括在所述有效载荷数据中。
另外,在一些实施方案中,所述代码是根据批次生成请求生成的,并且,所述至少一个顺序计数器包括批次计数器,其中,所述方法还包括:针对每个批次生成请求递增或递减所述批次计数器,并且其中,所述获取所述索引数据还包括获取所述批次计数器的当前值。
另外,在一些实施方案中,所述至少一个顺序计数器包括包装计数器,其中,所述方法还包括针对每个包装递增或递减所述包装计数器,并且其中所述获取所述索引数据还包括获取所述包装计数器的当前值。
另外,在一些实施方案中,所述方法由包括在相同代码生成器组中的第一代码生成器执行,所述方法还包括:获取将所述第一代码生成器与所述组内的其他代码生成器区分的冗余数据,并且将所述冗余数据包括在所述报头部分和所述有效载荷数据中的至少一个中。
另外,在一些实施方案中,所述加密的有效载荷数据和所述代码定义数据被包括在所述代码中作为相应的二进制值序列。
另外,在一些实施方案中,所述方法还包括:用所述代码标记所述包装。
另外,在一些实施方案中,所述标记包括:将所述代码嵌入到数据载体中,所述数据载体在用于所述液态食品的所述包装中的一个上,在待形成所述包装中的所述一个的容器部分的片状材料上,或在待与所述容器部分组合的元件上。
另外,在一些实施方案中,所述标记还包括:将所述代码转换成适于嵌入到所述数据载体中的格式。
另外,在一些实施方案中,所述标记包括:控制打印机或消融设备以标记表面部分,或者将所述代码存储在电子标签中以进行无线标识。
另外,在一些实施方案中,所述方法进一步包括将所述代码存储在数据库中,其中所述数据库和/或所述数据库的分区基于所述代码的所述有效载荷数据选择以用于进行存储。
本发明的第二方面是一种包括计算机指令的计算机可读介质,所述计算机指令当由处理器执行时,使所述处理器执行根据第一方面或其任何实施方案所述的方法。
本发明的第三方面是一种通过第一方面或其任何实施方案所述的方法生成的代码。
本发明的第四方面是一种系统,其包括至少一个设备,该至少一个设备被配置为执行第一方面或其任何实施方案的方法。
本发明的第五方面是一种在从包装中读取通过根据第一方面或其实施方案中的任一个所述的方法生成的代码之后处理所述代码的方法,该方法包括:从所述代码中提取所述代码定义数据,根据所述代码定义数据标识所述有效载荷部分,从所述代码中提取所述加密的有效载荷数据,对所述加密的有效载荷数据运算预定义的解密算法以生成所述有效载荷数据,以及根据所述有效载荷数据或其一个或多个子集在数据库中搜索所述代码。
本发明的第六方面是在从包装中读取代码之后处理代码的方法,该第六方面适用于其中在报头部分中包括上述哈希数据的所有实施方案。该方法包括:从代码的报头部分提取哈希数据;从代码的有效载荷部分提取加密的有效载荷数据;对加密的有效载荷数据运算哈希函数以生成当前的哈希数据;以及如果当前的哈希数据不同于所述哈希数据,则拒绝所述代码。根据以下详细描述、所附权利要求书以及附图,本发明的实施方案的其他目的以及特征、方面和优点将显而易见。
附图说明
图1A是用于液态食品的包装的制造和分配链的概图,而图1B是这种包装的示意图。
图2是根据本发明的实施方案的用于用唯一代码标记包装的示例性系统的框图。
图3是实现图2中的系统的一个或多个部件的机器的框图。
图4A示出了根据本发明的实施方案生成的代码的示例性结构,而图4B示出了有效载荷数据的示例性结构及其用于为代码生成加密的有效载荷数据的用途。
图5是根据本发明的实施方案的用于生成有效载荷数据的结构的框图。
图6示出了在代码生成期间的代码的示例性实例。
图7A-7B示出了根据本发明实施方案的包括在有效载荷数据中的示例性参数。
图8是根据本发明的实施方案的用于生成唯一代码和标记包装的示例性过程的流程图。
图9是处理从包装读取的代码的示例性方法的流程图。
图10A-10B示出了用于存储根据本发明的实施方案生成的代码的示例性数据库结构。
图11是图2中系统的变型的框图。
具体实施方式
现在将在下文中参考附图更充分地描述本发明的实施方案,在附图中示出了本发明的实施方案中的一些但不是全部。实际上,本发明可以以许多不同的形式来实施,并且不应被解释为限于在此阐述的实施方案。相反,提供这些实施方案是为了使本公开可以满足适用的法律要求。贯穿全文,相同的附图标记表示相同的元素。
而且,应理解,在可能的情况下,本文描述和/或考虑的本发明的任何实施方案的任何优点、特征、功能、设备和/或操作方面可以包括在本文描述和/或考虑的本发明的其他任何实施方案,和/或反之亦然。另外,在可能的情况下,除非另有明确说明,否则本文中以单数形式表达的任何术语也意在包括复数形式和/或反之亦然。如本文所使用的,“至少一个”应意指“一个或多个”,并且这些短语旨在是可互换的。因此,即使在本文也使用短语“一个或多个”或“至少一个”,术语“一个(a)”和/或“一个(an)”也应表示“至少一个”或“一个或多个”。如本文中所使用的,除非上下文另外由于表达语言或必要的暗示而需要,否则词语“包括”或诸如“包含”或“含有”的变体以包括性含义使用,即,指定存在所述的特征,但不排除在本发明的各种实施方案中其他特征的存在或增加。
为了简洁和/或清楚起见,可能没有详细描述众所周知的功能或构造。除非另有定义,否则本文中使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员通常所理解的含义相同的含义。
图1A是用于液态食品包装的制造和分配链的示意图。液态食品是指在室温下为非固态或可倾倒的任何食品,包括饮料,例如果汁、葡萄酒、啤酒、苏打水、以及乳制品、酱油、油、奶油、蛋挞、汤等,以及还有包括在液体中的固体食品,例如豆类、水果、西红柿、炖菜等。所示的链包括用于制造包装原料的制造阶段1,用于制造包含液态食品的包装的填充阶段2,分配包含液态食品的包装的分配阶段3,向消费者提供包装的零售阶段4,以及由消费者处理包装并消耗液态食品的消费阶段5。
在制造阶段1中,用于包装的片材在转换制造厂(工厂)10中制造。该片材通常是纸基的,并以卷筒11的形式提供给填充阶段2。在所示示例中,阶段1进一步包括专门的制造厂(工厂)12,其制造用于包装的盖13,盖13通常由塑料材料制成。如果包装形成为没有盖,则在阶段1中不存在制造厂12。还可想到的是,阶段1包括制造用于包装的特定部件的附加制造厂。
在填充阶段2中,填充制造厂(工厂)14对片材11、盖13和液态食品进行操作以提供包含液态食品的包装。例如,填充工厂14处的生产线可将片材11形成为容器,将液态食物填充至容器中,并密封容器以形成包装。生产线还可以将盖13附接到容器上。图1B示出了由填充工厂14生产的包装16的示例。阶段2可以进一步包括包装的外部处理15,例如,码垛,然后进入分配阶段3。
应当理解,制造链通常可以涉及许多不同的转化工厂10,加盖工厂12和填充工厂14,它们可以全球分布。工厂10、12、14中的每一个可以包括多个生产线。
本申请人已经确定需要用唯一的代码标记每个装有液态食品的包装。因此,每个代码在如图1A所示的制造链中的工厂10、12、14的整个生态系统中应该是唯一的,至少在预定义的使用寿命内如此。该代码可以应用于图1A中所示的工厂10、12、14中的任一个中的包装。例如,转换工厂10可以在片材11上的预定位置处施加代码,以便代码位于填充工厂14生产的每个包装16上。在另一个示例中,盖工厂12可以向每个盖13施加代码。在又一示例中,填充工厂14将代码施加到片材11、盖13、中间容器或包装16上。应当理解,包装16可以包含多于一个的这样的唯一代码,例如一个在盖13上,一个在包装16上。还可以想到的是,在随后的处理15(例如,码垛)中,向包装或包装组提供唯一的代码。
如图1B所示,代码被施加到包装16上,被嵌入到数据载体17中,其可以通过任何已知的向制品提供代码的技术来实现。在一示例中,数据载体17被印刷到包装16上,例如,作为人类可读符号(例如字符)的序列,或机器可读图形符号,例如一个或多个条形码或2D代码(DataMatrix,QR码等)。在另一示例中,数据载体是电子标签,其中代码被存储并且能够通过与例如标签的无线通信来检索,例如根据用于此目的的任何常规标准,例如NFC,RFID,BLE等来实现。
在每个包装上提供唯一的代码可以实现许多不同的应用,包括在整个制造和分配链中跟踪和追踪包装(图1A),验证包装的真实性,链接到与该包装有关的Web内容以供消费者或零售人员访问,将代码与促销活动和促销彩票相关联,导致在阶段1-5(图1A)中使用的机器(例如在填充工厂14中的任何设施,运输车辆中的冷却系统,仓库卡车,机器人,冰箱等)自动动作。
所有这些应用的共同之处在于,每个生成的代码不仅会在包装上标记出来,而且还会存储在数据库中(任选地与其他数据关联)。在应用的执行期间访问数据库并搜索特定代码。认识到搜索速度是应用实现的重要方面。鉴于每年要生产大量包含液态食品的包装,鉴于将要生成大量代码,这是一项具有挑战性的任务。例如,2016年售出了超过1,880亿(109)个利乐(Tetra)包装。
本申请人已经确定了包装的唯一代码的以下期望特征:
1)启用非常多的唯一代码,通常超过1012
2)启用紧凑的数据载体,其配合在生态系统内生产的包装的最小尺寸上
3)最小化欺诈代码生成的风险
4)最小化猜测有效代码的风险
5)启用快速拒绝错误代码
6)能够高效并且快速地搜索数据库中的代码
7)启用可伸缩的代码结构和代码长度
8)启用必要的鲁棒性和维护特性,以确保大规模持续、高效的全球工业运营。
产生代码的一种可能的技术将是:将每个代码生成为连续数字序列中的数字。但是,这样的代码将至少无法实现特征3)和4)。
用于生成代码的另一种可想到的技术将是:将每个代码生成为随机或伪随机数,其长度使得唯一代码的数量大大超过要标记的包装数量。尽管这样的代码可以实现特征3)和4),但是很难与特征5)和6)结合使用。
以下将举例说明的本发明的实施方案是基于这样的见解,即通过生成包括报头部分和有效载荷部分的代码来启用所有特征1)-8),其中有效载荷中的数据部分被加密而报头部分中的数据未被加密。加密可确保对代码进行充分的加密,以使猜测和欺诈性代码生成变得困难。此外,有效载荷部分中的数据可以被定义为在加密之前在每个代码中是唯一的,从而也使代码唯一。更进一步,有效载荷部分中的数据可以在加密之前被构造,以便能够有效地搜索数据库中的代码。更进一步,报头部分还可以包含用于实现代码结构和代码长度的可伸缩性的信息,用于实现快速拒绝的信息,用于对有效载荷部分进行解密的信息等。
更进一步,有效载荷部分可以被生成为在加密之前表示将代码添加到包装的生产单位的属性。例如,有效载荷部分可以指示生产单位(工厂、生产线、生产设施等)的地理位置和每个包装的时间戳中的至少一个。这是确保有效载荷部分在生态系统中唯一的可靠且透明的方式。
在图2中示意性地示出了系统20的示例性实施方案,其被配置用于代码生成和包装标记。系统20包括控制单元21、代码生成器22和标记设备23。控制单元21被配置为从代码生成器22获取代码(CODE)并生成控制信号(CTRL),控制信号(CTRL)用于使标记设备23将代码提供给制品,例如提供给片材11、盖13或包装16。如根据前文可以理解的,标记设备23可以是打印机、消融设备或将代码嵌入到电子标签中的装置,该电子标签可以由标记设备23附着到制品上,也可以预先附着在制品上。在所示的示例中,控制单元21具有输入界面24或连接至输入界面24,该输入界面24可以包括MMI(人机界面),该MMI使操作员能够手动输入输入数据和/或控制系统的操作。替代地或附加地,输入界面24可以包括用于通过有线或无线连接从外部控制器接收输入数据或控制数据的接收器。
控制单元21可操作以生成针对来自代码生成器22的一个或多个代码的请求(REQ),该代码生成器响应于该请求而生成一个或多个代码,并将该代码提供给控制单元21。控制单元21或代码生成器22(如图2所示)可以进一步被配置为将每个代码输入数据库26中,可选地与附加数据相关联。还可以想到,这样的附加数据与系统20分开地被添加到数据库26。
图2中的系统20可以被实现用于在线生成代码或用于离线(逐批)生成代码。在这样的在线实施方案中,代码在工厂10、12、14中的生产期间实时生成,并且代码生成器22通常位于工厂10、12、14中。代码生成器22可以被配置为对于来自控制单元21的每个输入请求REQ返回单个唯一代码。如本文中所使用的,“请求”表示可以使代码生成器生成代码的任何类型的信号。在离线实施方案中,控制单元21在生产之前将请求REQ发送给代码生成器以获取批次的代码。根据实现方式,请求可以包含生产单位(工厂、生产线、生产设施等)的标识符以及要生成的代码数。响应于该请求,代码生成器22生成并返回批次的唯一代码。在离线实施方案中,代码生成器可以但不必位于远离生产单位的位置,例如在网络连接的服务器系统中,该服务器系统可以配置为通过通信网络生成代码并将代码传输到生态系统中的不同工厂中。
申请人目前打算在填充工厂14中实现在线实施方案,而在转化工厂10和盖工厂12中实现离线实施方案。
图3是可以表示代码生成器22的机器30的示意图。机器30包括通信模块31,该通信模块31根据一个或多个合适的协议来定义用于数据通信的一个或多个界面。机器30进一步包括一个或多个处理器32,例如,中央处理单元(CPU),图形处理单元(GPU),数字信号处理器(DSP),一个或多个程序专用集成电路(ASIC),现场可编程门阵列(FPGA)或其任意组合。机器30还包括系统存储器33,系统存储器33可以包括易失性和/或非易失性存储器形式的计算机存储器,例如只读存储器(ROM)、随机存取存储器(RAM)和闪存。存储器33可以存储计算机指令34(例如软件或程序代码),其用于使机器30执行本文所讨论的任何一种方法。指令34可以在计算机可读介质35上被提供给机器30,该计算机可读介质35可以是有形(非暂时性)产品(例如,磁性介质、光学介质、只读存储器、闪存、数字磁带等)或传播的信号。可以使用已知方法通过受限和受约束访问来保护指令34。当由处理器32执行时,指令34可以使处理器32执行本文所讨论的方法中的任何一种。应当理解,控制单元21也可以由相应的机器30实现,但是,利用不同的计算机指令。还可以想到的是,控制单元21和代码生成器22被共同地实现在机器30上。
可以想到通过云计算来实现代码生成器22,其中,代码生成器22的功能由任意数量的协作计算机系统或服务器上的资源来执行。在这种实现方式中,协作计算机系统共同对应于图3中的机器30。
图4A示出了根据本发明生成的代码的结构的实施方案。该代码包括报头部分40和有效载荷部分41。有效载荷部分41保存加密的有效载荷数据[EP]。报头部分40是未加密的,因此在不需要加密密钥即可访问其内容的意义上是可读的。然而,可以想到的是,报头部分40或其一部分被混淆处理。术语“模糊处理”(有时表示为“混淆处理”或“模糊化”)是指一种过程,如果该过程所应用的算法未知,则该过程应用于数据集,以有意使得访问该数据集是困难的。另一方面,术语“加密”是指一种过程,该过程应用于数据集,以要求秘诀(例如密钥)以使得能在合理的时间内访问数据集,即使该过程所应用的算法是已知的也如此。
在图4A的示例中,报头部分40包括五个子部分,其分别保存编码数据[E]、生成器数据[G]、随机密钥选择器[R]、密钥版本[K]和哈希数据[H]。编码数据[E]是代码定义数据,并且在所有代码中具有固定和预定义的位置和范围。编码数据[E]的值因此指示代码的结构和长度,其中不同的值指示不同的结构和/或长度。该结构可以包括报头部分40和有效载荷部分41的范围,以及包括在报头部分40中的子部分的类型、位置和范围。编码数据[E]的提供使得代码在结构和长度上可伸缩。可伸缩性是有利的,因为它使得代码的结构和长度适合于匹配特定数据载体的编码能力,或者适合于最终将来不可预见的用途和应用。在当前优选的实施方案中,编码数据[E]还指示工厂在生产链中的位置,该工厂已经用代码标记了包装,例如以便在转换工厂10、加盖工厂12和填充工厂14之间进行区分。生成器数据[G]也是代码定义数据,并且指示代码是如何生成的,即遵循的过程和步骤。例如,生成器数据[G]的值可以指示该代码是否源于在线或离线实施方案、使用的加密算法(密码)等。生成器数据[G]的提供增加了代码生成过程的多功能性。随机密钥选择器[R]指定用于加密有效载荷数据的加密密钥。通过提供随机密钥选择器[R]使得能够在生成代码时在预定义的加密密钥集之间进行随机选择。这通过允许在代码之间使用不同的加密密钥来提高安全性,并且还将可变性引入报头部分40中,从而使得破解代码和代码生成过程更加困难。密钥版本[K]指定在代码生成过程中使用的预定义的加密密钥集的版本。密钥版本[K]的提供使得可以更新所述预定义的加密密钥集,以提高安全性,并且具有向后和向前的兼容性。哈希数据[H]是有效载荷部分41中加密的有效载荷的哈希值或包含该值。哈希数据[H]的提供使得能够快速拒绝错误代码,从而减少了在数据库中搜索代码的需要,即使快速拒绝可能会错误地批准一定数量的错误代码也如此。通过使用可直接从报头部分40读取的哈希数据[H],无需解密加密的有效载荷[EP]即可进行快速拒绝。在一个实施方案中,哈希数据[H]是数字签名或包括数字签名。数字签名的提供使得能够对代码进行认证,从而使得能够以高精度快速地拒绝错误代码。
应当注意,[R]和[K]都必须是已知的,以标识用于生成特定代码的加密密钥。因此,[R]和[K]共同形成“密钥标识数据”。然而,应注意,如果仅使用单个加密密钥,则可替代地在不使用[R]的情况下生成代码,和/或如果仅使用一个或多个密钥的单个版本,则可在不使用[K]的情况下生成代码。
尽管在图4A中未示出,则报头部分40可以包括附加数据,例如,超链接。还应当注意,报头部分40和有效载荷部分41都不需要是代码中的连续部分,如图所示。取而代之的是,报头部分40可以被分成与有效载荷部分41或其子集交替的子集。然而,目前认为图4A中的结构优化了代码生成和从包装读取的代码的处理。
在下面的示例中,代码作为二进制值(位)序列生成。在不对本发明进行限制的当前优选实施方案中,代码由80位组成,其中报头部分40包含16位,有效载荷部分41包含64位。在该非限制性示例中,[E]是2位,[G]是1位,[R]是2位(即,在预定义集中的四个不同的加密密钥),[K]是2位(即,预定义集的最多4个不同版本),[H]为8位。
图4B示意性地示出了以下步骤:对有效载荷数据[P]运行加密算法F以生成用于包括在代码的有效载荷部分41中的加密的有效载荷数据[EP]。可以使用任何可以想到的加密算法F,包括其中将私有加密密钥用于加密和解密的任何对称加密算法,以及利用成对的公共和私有加密密钥的任何非对称算法。在一个非限制性实施方案中,加密算法是分组密码,例如Blowfish、DES、IDEA、RC5或AES。加密对有效载荷数据进行加扰并消除其结构。通常,加密用于保护包含在有效载荷部分41中的数据,以使得难以基于另一代码来猜测有效代码,并且最小化欺诈性代码生成的风险。
图4B还指示可以包括在有效载荷数据[P]中的各种类型的参数。在所示的示例中,有效载荷数据[P]包括表示地理位置的位置数据[A],通常是将代码添加到包装中的生产单位的地理位置。应当注意,位置数据[A]可以间接地表示地理位置,例如,通过指出某个具有已知地理位置的生产商、工厂、生产线或生产设施来表示地理位置。在图4B中,有效载荷数据[P]还包括索引数据[B],该索引数据[B]使得能够对顺序生成的代码进行分组。如将在下面进一步举例说明的,位置数据[A]和/或索引数据[B]可以用于提高搜索数据库中的代码的速度。如图4B所示,有效载荷数据[P]还包括随机数据[C],其将不可预测的可变性引入有效载荷数据[P]。这种不可预测的可变性使得对代码进行反向工程更加困难,从而降低了生成欺诈性代码的风险。
通常,在工业环境中,尤其是大批量生产时,停顿会导致高昂的产量损失,并且应避免这种情况。因此,可能需要复制生产设施并实现所谓的热插拔,即能够从主设备切换到备用设备,而基本上不会停产。这也适用于图2中的代码生成器。图11示出了图2中的系统的变型,其具有两个代码发生器22、22A。尽管在图11中未示出,但控制单元21连接到如图2所示的标记设备23。代码生成器22、22A在结构和功能上是相同的,这意味着它们使用完全相同的方法来生成具有相同结构和长度的代码。代码生成器22用作主生成器,而代码生成器22A是备用生成器(如虚线箭头所示)。控制器28连接到代码生成器22、22A,以通过开关控制信号(SWC)控制从一个到另一个的切换。当从一个代码生成器切换到另一个代码生成器时,可能难以以足够的精度同步两个代码生成器22、22A,以避免两个代码生成器22、22A结合切换生成相同的代码。为了克服这个问题,有效载荷数据[P]还包括冗余数据[D],如图4B所示。冗余数据[D]代表已生成代码的特定代码生成器。因此,代码生成器22、22A被配置为将不同的冗余数据[D]输入到代码中。因此,由代码生成器22、22A生成的代码将固有地不同,并且使得热插拔成为可能,而没有生成重复代码的风险。热插拔例如可以在主代码生成器22发生故障或对主代码生成器22进行定期维护的情况下进行操作。除了可以进行热插拔之外,提供冗余数据[D]还可以使两个或多个代码生成器能并行运行以将代码提供给控制单元21。
在一种变型中,冗余数据[D]被替代地或附加地包括在报头部分40中。
作为对图4B的进一步评论,可以注意到,有效载荷数据[P]包括空框,以指示有效载荷数据[P]可以包含附加数据。
图5示出了用于生成有效载荷数据[P]的结构的示例,例如在代码生成器(图2中的22)内生成。该结构的核心是有效载荷生成器50,其从一组数据提供器51-57接收或获取当前数据值,并将这些数据值合并到有效载荷数据[P]中,例如,如图4B所示的结构。数据提供器51提供上述位置数据[A]。在上述在线实施方案中,位置数据[A]可以被预定义并存储在存储器中。数据提供器51因此可以是存储器(参见图3中的33)。在上述离线实施方案中,位置数据[A]的至少一部分可以被包括在由代码生成器23接收到的批次请求REQ中,并且数据提供器51可以被配置为根据批次请求检索位置数据[A]。在图5中,顺序计数器52-55提供索引数据[B]的各个部分[B]1-[B]4。如本文所使用的,“顺序计数器”表示以可预测的顺序输出值的计数器。具体地说,图5中的每个顺序计数器52-55都可操作以产生从开始值到结束值随时间推移而递增或递减的输出值。如本文所用,“递增”表示(以任何步长)增加,而“递减”表示(以任何步长)减小。在非限制性示例中,顺序计数器52-55输出以1为步长递增或递减的值。每个计数器52-55还可以以预定的模数进行操作,以使输出值从最终值翻转到起始值。索引数据[B]被形成为包括来自顺序计数器52-55的输出值的组合,例如[B]=[B]1[B]2[B]3[B]4。在代码中提供至少一个顺序计数器的输出值使得能够对连续代码进行分组,从而将使得能够将代码分组存储在数据库26(图2)中,从而有助于数据库的搜索。每个计数器52-55可以代表与将代码添加到包装的生产单位处的制造过程有关的物理量。在一个示例中,计数器52-55中的一个或多个可以代表用于制造的时间参数,使得索引数据[B]包含用于相应包装的时间戳。这种时间计数器的组可以共同操作以便以不同时间单位(例如年、月、周、日、时、分、秒中的一个或多个)表示当前时间。
在另一示例中,计数器52-55之一可以是包装计数器,其输出在生产单位标记的包装的计数。包装计数器通常在不应用预定义模数的情况下将其输出值从起始值递增或递减。在在线实施方案中,对于每个被标记的包装(例如,对于给图2中的代码生成器22的每个输入REQ),包装计数器的输出值可以递增。在特定的变型中,包装计数器与时间计数器配合,以便每当时间计数器的值改变时都将其重置为其初始值。优选地,时间计数器表示可用时间计数器中的最小时间单位。如果最小时间单位是秒,则包装计数器的输出值因此将提供亚秒级的分辨率,并且每秒重置一次。在离线实施方案中,对于在批次代码中生成的每个代码,包装计数器的输出值可以递增或递减。下面参考图7A-7B给出计数器的其他示例。
从前述内容可以理解,顺序计数器52-55可以与代码生成过程同步或与其无关地递增/递减。同步操作的示例包括上述对于标记的每个包装或所生成的每个代码的包装计数器的改变。另一方面,上述时间计数器被自动触发以更新其输出值,从而表示当前时间。
在图5的示例中,随机计数器56提供随机数据[C]。随机计数器56可操作以输出预定范围内的随机值,并且优选地可操作以与代码生成过程同步地改变其输出值。在一个实施方案中,随机计数器56被配置为在预定时间段内提供无重复的随机值,即,随机值在预定时间段内相互是唯一的。在一种实现方式中,随机计数器56可以以随机顺序排列属于相互唯一的值的预定范围的所有值,并且以随机顺序逐一输出这些值或其子集。在特定的变型中,每当时间计数器的值改变时,随机计数器56就与时间计数器协调,以被重置(即,以随机顺序重新排列值)。优选地,时间计数器表示可用时间计数器中的最小时间单位。如果最小时间单位是秒,则随机计数器56的输出值由此提供亚秒分辨率。可以认识到,在在线实施方案中,这种随机计数器56可以亚秒分辨率代替上述包装计数器。
图5中的数据提供器57提供了上述冗余数据[D],其可以被预定义并存储在存储器中。数据提供器57因此可以是存储器(参见图3中的33)。
可以通过专用硬件、专用软件或其组合来实现上述计数器52-56。如果代码生成器是在计算机上实现的,则可以通过计算机上现有的支撑函数(例如操作系统中包含的支撑函数)来实现时间计数器。
图7A示出了在线实施方案中(例如当在图1的填充工厂14中产生代码时)的有效载荷数据[P]中的参数/数据字段的示例。在所示示例中,位置数据[A]包括生产者ID、工厂ID、生产线ID和设施ID。生产者ID标识操作填充工厂14的生产者。工厂ID标识填充工厂14,生产线ID标识生产线,并且设施ID标识将代码添加到包装中的设施,例如,填充机、纸板包装机或码垛机。在所示示例中,代码被设计为处理4095个不同的生产者,每个生产者的255个不同的工厂,每个工厂内的63条生产线以及8个不同的设施。在所示的示例中,索引数据[B]表示当前时间,并且包括年、日、时、分和秒,其中年是通过当前年模8给出的。相应数据字段中的值由相应的如参考图5所述的时间计数器生成。有效载荷数据[P]还包括提供如参考图5所述的亚秒分辨率的包装计数器。包装计数器值如果由顺序计数器(参见图5中的计数器52-55)产生,则可以被包括在索引数据[B]中,或者如果由随机计数器(参见图5中的计数器56)产生,则可以被包括在随机数据[C]中。
图7B示出了离线实施方案中(例如当转换工厂10或加盖工厂12根据要求批次生成代码时)的有效载荷数据[P]中的参数/数据字段的示例。在所示的示例中,位置数据[A]包含标识该工厂的生产单位ID。在所示示例中,索引数据[B]的一部分表示当前时间,并且包括年和月。这些参数的值可以由相应的时间计数器生成,如参考图5所述的。有效载荷数据[P]还包括请求编号和包装计数器,它们也可以是由相应的顺序计数器生成的索引数据[B]。例如,在当前年和当前月中,对于从某个工厂(即生产单位ID的给定值)接收到的每个批次请求,可以递增或递减请求编号。为了提供请求编号,图5中被提供。可以看出,对于每个工厂,图5中的结构包括一个顺序批次计数器,其中,无论月计数器何时翻转到从其初始值开始计数,顺序批次计数器都被重置为其初始值(例如0)。类似地,对于相对于请求编号的相应值(即对于某个批次)生成的每个代码,可以对包装计数器进行递增或递减。为了提供包装计数器,可以看出,对于每个批次计数器,图5的结构包括顺序包装计数器,其中,无论相关联的批次计数器的值何时改变,顺序包装计数器都被重置为其初始值(例如0)。或者,如图7B所示,请求编号和包裹计数器中的至少一个可以是随机数据[C]。除了每个顺序计数器都被替换为随机计数器外,用于生成请求编号和/或包装计数器的随机值的结构可以与用于生成请求编号和/或包装计数器的顺序值的结构相同,如上所述。可以将请求编号的随机计数器配置为在月值的每次更改时重置,而将包装计数器的随机计数器配置为在请求编号值的每次更改时重置。
在图7B的示例中,该代码旨在处理1000个不同的工厂,每月超过500 000个的批次请求,每个请求超过1.34亿个包装。在图7B中,有效载荷数据[P]还包括主发生器服务器形式的冗余数据[D],主发生器服务器可以设置为0或1。
图8是在图2的系统中执行的过程的流程图。该过程涉及用于生成代码的一部分,其对应于准备步骤801-803和随后的步骤804-813,步骤804-813对于要生成的每个代码重复。步骤801-813由图2的系统中的代码生成器22执行。该过程还涉及用于将代码添加到包装中的另一部分,其对应于步骤814-816,其由控制单元21和标记设备23共同执行,在该示例中,标记设备23是打印机。该过程还涉及将代码存储在数据库中的步骤817,其中步骤817可以由控制单元21或代码生成器22执行。
更详细地看准备步骤,步骤801获取与要生成的代码的结构和长度相对应的编码数据[E]的值,步骤802获取与生成代码时要遵循的程序和步骤相对应的生成器数据[G]的值,并且步骤803获取与用于加密有效载荷数据[P]的加密密钥的当前版本相对应的密钥版本[K]的值。[E]、[G]和[K]的这些值将被输入到当前执行该过程期间生成的所有代码中。在步骤804,将[E]、[G]和[K]的值包括在代码的报头部分40中。图6示出了在执行图8中的过程期间代码的实例61-66,其中填充的部分/子部分表示它包含值。可以理解,步骤804对应于图6中的实例61、62和63。
执行随后的步骤805-807以选择加密密钥。步骤805从随机数生成器获取随机数,该随机数生成器优选地被配置为生成密码安全的随机数。然后,步骤806基于随机数,在预定义的加密密钥(例如,加密密钥)集中选择加密密钥,例如通过使用在随机数和加密密钥之间提供关联性的查找表或函数进行。在步骤806中,预定义的加密密钥集由密钥版本[K]给出。步骤807设置随机密钥选择器[R]以代表所选择的加密密钥,并将[R]包括在报头部分40中(图6中的实例64)。例如,预定义的加密密钥集的每个版本中的加密密钥可以由相应的数字指定,并且步骤807可以将加密密钥选择器[R]设置为该数字。
步骤808获取有效载荷数据[P],并且可以由图5中的有效载荷生成器50执行。在所示的示例中,步骤808包括获取位置数据[A]的第一子步骤808A,获取索引数据[B]的第二子步骤808B以及获取随机数据[C]的第三子步骤808C。如图所示,子步骤808B可以包括获取多个顺序计数器之一的当前值的动作808B1(参见图5中的52-55),而子步骤808C可以包括获取多个随机计数器之一(参见图5中的56)的当前值的动作808C1。尽管在图8中未示出,步骤808还可以获取冗余数据[D]。但是,应注意,至少[C]和[D]是可选的,目的是使代码在生态系统内唯一。步骤808还涉及根据当前代码结构,通过排列[A]-[D](在已经获取[A]-[D]的程度上)来形成有效载荷数据[P]。然后,过程进行到步骤809,其对有效载荷数据[P]进行加密函数(图4B中的F)运算,以生成加密的有效载荷数据[EP]。步骤810将[EP]包括在代码的有效载荷部分41中(图6中的实例65)。步骤811在[EP]上运算哈希函数以生成哈希数据[H]。可以使用任何可能的哈希函数,例如非密码哈希函数,例如Pearson哈希。步骤812在报头部分40中包括[H](图6中的实例66)。该代码完成,并且步骤813输出该代码,随后该过程返回到步骤804以生成另一个唯一代码。
步骤814对由步骤813输出的每个代码进行操作以对其进行代码转换。如上所述,该代码由一系列位值组成。代码转换涉及将代码转换为适合于编码到数据载体中的格式。在将一系列位值编码为2D代码的示例中,已知将位值转码为字母数字字符。举例来说,图6中的实例67示意性地表示由代码转换产生的一系列字母数字字符C0-C15。代码转换在标记对象的领域中是众所周知的,因此将不再详细描述。步骤815以表示字符C0-C15的2D代码的形式生成数据载体,并且步骤816将数据载体打印到片状材料、盖或包装上。
图9是根据本发明的实施方案的例如通过图8中的过程来处理已经从已经用代码标记的包装上读取的代码的方法的流程图。用于读取不同类型的数据载体的设备在本领域中是众所周知的,并且将不进一步描述。取决于实现方式,该读取可能导致原始生成的代码,例如作为位序列或转码数据,例如字母数字字符序列,然后将其转码回底层的原始代码。
在图9的方法中,步骤901输入已经从包装中读取的代码。步骤902从代码中读取编码数据[E]。如上所述,编码数据[E]在所有代码中均具有固定且预定的位置。基于[E]的值,对于该方法,已知代码中所有相关部分和子部分的位置。随后,步骤903然后可以读取生成器数据[G]以确定代码的语法以及在生成代码时使用的任何函数。然后,该方法通过步骤904-907对代码执行快速拒绝检查,其中步骤904读取哈希数据[H],步骤905读取加密的有效载荷数据[EP],步骤906通过使用预定义的哈希函数来计算[EP]的哈希,该哈希函数对于所有代码可以固定或基于[G]可以进行标识,并且步骤907将计算出的哈希与[H]比较。如果步骤907发现不匹配,则该方法前进至步骤908,该步骤908终止该方法。该代码因此被拒绝。否则,该方法前进到步骤909,该步骤909从代码中读取随机密钥选择器[R]和密钥版本[K]。基于此,步骤910获取相应的加密密钥,随后,步骤911通过使用加密密钥和预定义的加密算法对[EP]进行解密,该预定义的加密算法对于所有代码可以固定或基于[G]可以进行标识。由此,步骤911重新创建有效载荷数据[P],并且步骤912从有效载荷数据[P]读取位置数据[A]和索引数据[B]中的至少一个,或[A]和/或[B]中的特定数据字段[参见图7A-7B]。一个或多个结果值允许步骤913访问并搜索在数据库中的代码。然后,步骤914输出搜索结果,例如,已找到代码的确认、未找到代码的消息、与数据库中的代码关联的任何信息等。
现在将参考图10A-10B给出关于如何访问位置数据[A]和/或索引数据[B]可以改善数据库管理和数据库搜索的一些非限制性示例。图10A示出了数据库26的示例,该数据库已被划分(由虚线表示)为用于存储在离线实施方案中生成的代码的第一分区(顶部)和用于存储在在线实施方案中生成的代码的第二分区(底部)。通过如由位置数据[A](参见图7B中的生产单位ID)所给定的工厂对第一分区进行子分区(用虚线表示)。在图10A中,每个这样的子分区包括成堆的圆柱体,其中每个圆柱体代表针对相应的批次请求生成的批次代码。在各个子分区内,可通过索引数据[B]搜索批次。例如,给定图7B中的索引数据[B],每批次中的代码包含年、月和请求编号的相同组合。
通过如位置数据[A](参见图7A中的生产者ID和工厂ID)所给定的生产者和工厂对第二分区进行子分区(用虚线表示)。图10A示出了生产者2的工厂1的子分区,如由位置数据[A](参见图7A中的生产线ID)所给定的生产线进一步分区。每个这样的进一步的分区包括成堆的圆柱体,其中每个圆柱体代表针对生产年份和生产日期(参见图7A中的年和日)的特定组合生成的代码组。因此,在各个另外的分区内,可通过索引数据[B]搜索所述组。
回到图8,认识到步骤817在发送代码以存储在数据库26中时还优选地发送与在特定数据库26中存储代码有关的[A]和/或[B]参数的值。
基于图10A,技术人员认识到,位置数据[A]和/或索引数据[B]的提供允许数据库被配置为具有适应于特定数据库约束(取决于实现方式和提供者)的可变的分区粒度级别。
在图10B的示例中,图10A中的数据库26已被分为一个数据库26A和一个数据库26B,数据库26A存储了欧洲生产的包装的代码,而数据库26B存储了北美生产的包装的代码。对欧洲和北美进行的分离通过各自工厂的地理位置给出。
因此,如图10B所示,位置数据[A]的提供使得能进行分布式存储,该分布式存储可以通过减少数据传输时间来进一步加速搜索。此外,它还可以减少每个位置的数据存储量,并具有成本和性能优势。在数据存储需要在地理上进行本地化以符合国家法规/法律的情况下,它还提供了另一个优势。
Claims (30)
1.一种生成代码以唯一标识用于液态食品的包装(16)的方法,所述方法包括:
获取表示所述代码的结构和生成所述代码的方法中的至少一种的代码定义数据([E],[G]),
获取对每个包装(16)唯一的有效载荷数据([P]),
对所述有效载荷数据([P])运算预定义的加密算法(F)以生成所述加密的有效载荷数据([EP]),
将所述代码定义数据([E],[G])包括在预定义的报头部分(40)中,所述预定义的报头部分(40)用于相应的包装(16)的所述代码的未加密数据,
并且将所述加密的有效载荷数据([EP])包括在所述相应的包装(16)的所述代码的预定义的有效载荷部分(41)中。
2.根据权利要求1所述的方法,其中,所述运算所述预定义的加密算法包括:选择加密密钥,其中,所述方法还包括:将表示所选择的所述加密密钥的密钥标识数据([R],[K])包括到所述预定义的报头部分(40)中。
3.根据权利要求2所述的方法,其中,所述选择加密密钥包括:获取随机数,并且基于所述随机数,在预定义的加密密钥集中选择所述加密密钥,其中,所述密钥标识数据([R],[K])代表所选择的所述加密密钥。
4.根据权利要求2或3所述的方法,其中,所述密钥标识数据([R],[K])还表示所述预定义的加密密钥集的版本号。
5.根据权利要求2-4中任一项所述的方法,其中,所选择的所述加密密钥是私钥。
6.根据权利要求2-5中任一项所述的方法,其中,由所述代码定义数据([E],[G])表示的方法包括所述预定义的加密算法(F)。
7.根据前述权利要求中任一项所述的方法,其还包括:对所述加密的有效载荷数据(EP)运算哈希函数以生成哈希数据(H),并且将所述哈希数据(H)包括作为所述报头部分(40)的可读子部分。
8.根据权利要求7所述的方法,其中,所述哈希数据([H])被生成为数字签名。
9.根据前述权利要求中任一项所述的方法,其还包括:获取表示地理位置的位置数据(A),并将所述位置数据(A)包括在所述有效载荷数据(P)中,以便对源自所述地理位置处的生产单位的所有包装都通用。
10.根据权利要求9所述的方法,其中,所述位置数据(A)指示生产者、制造厂、生产线和生产设施中的至少一个。
11.根据前述权利要求中任一项所述的方法,其进一步包括:获取索引数据(B),所述索引数据使得能够将顺序地生成的代码分组;并且将所述索引数据(B)包括在所述有效载荷数据(P)中。
12.根据权利要求11所述的方法,其中,所述获取所述索引数据(B)包括:获取至少一个顺序计数器(52-55)的当前值,该至少一个顺序计数器被配置为随着时间的推移输出递增或递减的顺序值。
13.根据权利要求12所述的方法,其中,获取所述索引数据([B])以包括由多个顺序计数器(52-55)输出的当前值的组合。
14.根据权利要求11至13中的任一项所述的方法,其中,获取所述索引数据([B])的至少一部分以表示当前时间。
15.根据权利要求11至14中任一项所述的方法,其还包括:为每个包装(16)获取随机数据(C),并且将所述随机数据(C)包括在所述有效载荷数据(P)中。
16.根据权利要求15所述的方法,其中,所述获取所述随机数据(C)包括从随机计数器(56)获取随机值,该随机计数器(56)被操作以将属于相互唯一值的预定范围的值以随机顺序间歇地排列,然后以所述随机顺序一个接一个地至少输出所述值的子集。
17.根据权利要求14所述的方法,其还包括:从随机计数器(56)获取用于每个包装(16)的随机值([C]),所述随机计数器(56)被配置成生成属于预定范围并且在预定义时间段内相互唯一的随机值,所述预定义时间段是针对所述当前时间的最小时间单位;并且将所述随机值([C])包括在所述有效载荷数据([P])中。
18.根据权利要求11-17中任一项所述的方法,其中,所述代码是根据批次生成请求生成的,并且其中,所述至少一个顺序计数器(52-55)包括批次计数器,其中,所述方法还包括:针对每个批次生成请求递增或递减所述批次计数器,并且其中,所述获取所述索引数据([B])还包括获取所述批次计数器的当前值。
19.根据权利要求11至18中任一项所述的方法,其中,所述至少一个顺序计数器(52-55)包括包装计数器,其中,所述方法还包括针对每个包装(16)递增或递减所述包装计数器,并且其中所述获取所述索引数据(B)还包括获取所述包装计数器的当前值。
20.根据前述权利要求中任一项所述的方法,其由包括在相同代码生成器(22、22A)组中的第一代码生成器(22)执行,所述方法还包括:获取将所述第一代码生成器与所述组内的其他代码生成器区分的冗余数据([D]),并且将所述冗余数据([D])包括在所述报头部分(40)和所述有效载荷数据([P])中的至少一个中。
21.根据前述权利要求中任一项所述的方法,其中,所述加密的有效载荷数据([EP])和所述代码定义数据([E],[G])被包括在所述代码中作为相应的二进制值序列。
22.根据前述权利要求中任一项所述的方法,其还包括:用所述代码标记所述包装(16)。
23.根据权利要求22所述的方法,其中,所述标记包括:将所述代码嵌入到数据载体(17)中,所述数据载体在用于所述液态食品的所述包装(16)中的一个上,在待形成所述包装(16)中的所述一个的容器部分的片状材料(11)上,或在待与所述容器部分组合的元件(13)上。
24.根据权利要求23所述的方法,其中,所述标记还包括:将所述代码转换成适于嵌入到所述数据载体(17)中的格式。
25.根据权利要求22至24中任一项所述的方法,其中,所述标记包括:控制打印机或消融设备(23)以标记表面部分,或者将所述代码存储在电子标签(17)中以进行无线标识。
26.根据前述权利要求中任一项所述的方法,其进一步包括将所述代码存储在数据库(26;26A,26B)中,其中所述数据库(26;26A,26B)和/或所述数据库(26;26A,26B)的分区基于所述代码的所述有效载荷数据([P])选择以用于进行存储。
27.一种包括计算机指令(34)的计算机可读介质(35),所述计算机指令(34)当由处理器(32)执行时,使所述处理器(32)执行根据前述权利要求中任一项所述的方法。
28.一种通过根据权利要求1-26中任一项所述的方法生成的代码。
29.一种系统(20),其包括至少一个设备(21、22),其被配置为执行权利要求1-26中任一项所述的方法。
30.一种在从包装中读取通过根据权利要求1-26中任一项所述的方法生成的代码之后处理所述代码的方法,该方法包括:
从所述代码中提取所述代码定义数据([E],[G]),
根据所述代码定义数据([E],[G])标识所述有效载荷部分(41),
从所述代码中提取所述加密的有效载荷数据([EP]),
对所述加密的有效载荷数据([EP])运算预定义的解密算法以生成所述有效载荷数据([P]),以及
根据所述有效载荷数据([P])或其一个或多个子集([A],[B])在数据库(26;26A,26B)中搜索所述代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18161668 | 2018-03-14 | ||
EP18161668.1 | 2018-03-14 | ||
PCT/EP2019/055654 WO2019175003A1 (en) | 2018-03-14 | 2019-03-07 | Providing unique codes on packages for liquid food |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111886616A true CN111886616A (zh) | 2020-11-03 |
Family
ID=61655621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980019025.7A Pending CN111886616A (zh) | 2018-03-14 | 2019-03-07 | 在用于液态食品的包装上提供唯一代码 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11669927B2 (zh) |
EP (1) | EP3540664A1 (zh) |
JP (1) | JP2021517768A (zh) |
CN (1) | CN111886616A (zh) |
BR (1) | BR112020017654A2 (zh) |
WO (1) | WO2019175003A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023503835A (ja) | 2019-11-14 | 2023-02-01 | テトラ ラバル ホールディングス アンド ファイナンス エス エイ | 液状食品パッケージの一意的マーキングコードを生成し格納すること |
JP2023503836A (ja) | 2019-11-14 | 2023-02-01 | テトラ ラバル ホールディングス アンド ファイナンス エス エイ | 液状食品のパッケージ用のマーキングコードのためのデータベースシステム |
US11991281B1 (en) * | 2023-10-31 | 2024-05-21 | Massood Kamalpour | Systems and methods for digital data management including creation of storage location with storage access id |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080011841A1 (en) * | 2005-02-03 | 2008-01-17 | Yottamark, Inc. | System and Method of Detecting Product Code Duplication and Product Diversion |
US20080075073A1 (en) * | 2006-09-25 | 2008-03-27 | Swartz Troy A | Security encapsulation of ethernet frames |
CN102426640A (zh) * | 2010-11-19 | 2012-04-25 | 微软公司 | 用于产品验证和激活的安全软件产品标识符 |
CN104247369A (zh) * | 2012-02-22 | 2014-12-24 | 高通股份有限公司 | 用于使设备标识符变模糊的方法和设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1264882A (zh) * | 2000-04-04 | 2000-08-30 | 张念录 | 一种新的商品防伪标记印刷与识别系统 |
JP4043828B2 (ja) | 2001-04-19 | 2008-02-06 | 松下電器産業株式会社 | ライセンス管理システム、ライセンス管理装置及び中継装置 |
EP1645992A1 (en) * | 2004-10-08 | 2006-04-12 | Philip Morris Products S.A. | Methods and systems for marking, tracking and authentication of products |
US7309011B2 (en) * | 2004-10-29 | 2007-12-18 | Symbol Technologies, Inc. | Method of authenticating products using hardware compatibility flag |
US7614546B2 (en) | 2005-02-03 | 2009-11-10 | Yottamark, Inc. | Method and system for deterring product counterfeiting, diversion and piracy |
US20090065568A1 (en) * | 2007-09-07 | 2009-03-12 | Elliott Grant | Systems and Methods for Associating Production Attributes with Products |
US9436770B2 (en) * | 2011-03-10 | 2016-09-06 | Fastechnology Group, LLC | Database systems and methods for consumer packaged goods |
CN102194173B (zh) * | 2011-06-18 | 2014-04-16 | 浙江大学 | 用于蔬菜追溯的编码方法及所用编码系统 |
WO2015197494A1 (en) | 2014-06-23 | 2015-12-30 | Philip Morris Products S.A. | Method and system for marking manufactured items to detect unauthorised refilling |
US20150379524A1 (en) * | 2014-06-25 | 2015-12-31 | Kezzler As | Method and system for authenticating physical items |
CN105139057A (zh) * | 2015-08-21 | 2015-12-09 | 许泽人 | 生成商品标识码的方法、具有商品标识码的商品、包装罐及灌装商品的生产工艺 |
CN105184083A (zh) * | 2015-09-14 | 2015-12-23 | 南京延长科技有限公司 | 一种用于药械全程质量追溯的数字身份编码及其编码方法 |
CN106250941A (zh) * | 2016-07-20 | 2016-12-21 | 奥瑞金包装股份有限公司 | 二维码处理方法、装置及系统 |
-
2019
- 2019-03-07 WO PCT/EP2019/055654 patent/WO2019175003A1/en active Application Filing
- 2019-03-07 US US16/979,625 patent/US11669927B2/en active Active
- 2019-03-07 JP JP2020548815A patent/JP2021517768A/ja active Pending
- 2019-03-07 EP EP19161178.9A patent/EP3540664A1/en active Pending
- 2019-03-07 CN CN201980019025.7A patent/CN111886616A/zh active Pending
- 2019-03-07 BR BR112020017654-0A patent/BR112020017654A2/pt unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080011841A1 (en) * | 2005-02-03 | 2008-01-17 | Yottamark, Inc. | System and Method of Detecting Product Code Duplication and Product Diversion |
US20080075073A1 (en) * | 2006-09-25 | 2008-03-27 | Swartz Troy A | Security encapsulation of ethernet frames |
CN102426640A (zh) * | 2010-11-19 | 2012-04-25 | 微软公司 | 用于产品验证和激活的安全软件产品标识符 |
CN104247369A (zh) * | 2012-02-22 | 2014-12-24 | 高通股份有限公司 | 用于使设备标识符变模糊的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
BR112020017654A2 (pt) | 2020-12-22 |
JP2021517768A (ja) | 2021-07-26 |
EP3540664A1 (en) | 2019-09-18 |
WO2019175003A1 (en) | 2019-09-19 |
US20210042870A1 (en) | 2021-02-11 |
US11669927B2 (en) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669927B2 (en) | Providing unique codes on packages for liquid food | |
US11004029B2 (en) | Method and system for storing and retrieving packaging and re-packaging relations | |
CN103646331B (zh) | 基于加密条码标识的酒类防伪溯源方法 | |
RU2698768C2 (ru) | Способ и система для маркировки готовых изделий с целью обнаружения несанкционированного повторного заполнения | |
JP6683603B2 (ja) | 製造物認証システム及び製造物認証方法 | |
US20140252077A1 (en) | Anti-counterfeiting system and method | |
CN101501680A (zh) | 用于阻止产品伪造、转移和盗版的方法和系统 | |
CN103825885A (zh) | 一种互联网内容加密发布方法及系统 | |
CN103886469A (zh) | 一种产品二维码生成及查询系统 | |
CN102800243A (zh) | 一种防伪环形码及其编码方法 | |
WO2018204319A1 (en) | Authentication system for use with pharmaceuticals | |
CN1866320A (zh) | 防伪包装方法及装置 | |
CN101410876B (zh) | 打印方法 | |
CN112749982A (zh) | 一种基于二维码的防伪系统和方法 | |
CN114493630A (zh) | 一种基于工业互联网的白酒产品溯源方法及设备 | |
CN105354606A (zh) | 由二维码与可变信息所构成的标签、生成方法与生成系统 | |
EP3822897A1 (en) | Generating and storing unique marking codes for liquid food packages | |
US11907781B2 (en) | Database system for marking codes for liquid food packages | |
CN113919848A (zh) | 一种基于二维码的家具溯源系统 | |
CN110245965B (zh) | 用于雪糕棒的数据处理系统的安全方法及带有二维码的雪糕棒 | |
US9076188B2 (en) | Method and system for shipment authentication | |
CN105023136A (zh) | 商品的二维码操作方法及装置 | |
Vans et al. | Progressive Barcode Applications | |
RU2787209C2 (ru) | Способ и система для маркировки готовых изделий с целью обнаружения несанкционированного повторного заполнения | |
CN113111989A (zh) | 一种产品序列号的生成与识别系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |