光通信装置以及相应的防伪方法和系统与流程

文档序号:18010904发布日期:2019-06-26 00:03阅读:208来源:国知局
光通信装置以及相应的防伪方法和系统与流程
本发明属于光信息
技术领域
,更具体地涉及一种光通信装置及相应的防伪方法和系统。
背景技术
:条形码和二维码已经被广泛采用来对信息进行编码。当用特定设备或软件扫描这些条形码和二维码时,相应的信息就会被识别出来。然而,条形码和二维码的识别距离很受限制。例如,对于二维码而言,当用手机摄像头对其进行扫描时,该手机通常必须置于一个比较近的距离内,该距离通常只是二维码的宽度的15倍左右。因此,对于远距离识别(例如相当于二维码宽度的200倍的距离),条形码和二维码通常不能实现,或者必须定制非常大的条形码和二维码,但这会带来成本的提升,并且在许多情形下由于其他各种限制是不可能实现的。而且,条形码和二维码也很容易被仿制和替代,安全性不好,不适用于安全性要求较高的场景。技术实现要素:因此,本发明的目的在于克服上述现有技术的缺陷,提供一种具有防伪功能的光通信装置及相应的防伪方法和系统。本发明的目的是通过以下技术方案实现的:一方面,本发明提供了一种光通信装置,包括至少一个光源和控制器,所述控制器控制所述光源发出不同的光以传递不同信息,其中所述控制器还被配置为:从预先设定的多个变换函数中选择一个变换函数;将与所述光通信装置关联的防伪码和函数验证码作为输入提供给所选择的变换函数;以及控制所述光源传递所述光通信装置的标识符和所述变换函数的输出值。在上述光通信装置中,所述控制器还可被配置为控制所述光源在传递所述光通信装置的标识符和所述变换函数的输出值的同时传递所述变换函数的标识符。在上述光通信装置中,所述控制器可被配置为基于当前时间信息来选择变换函数。在上述光通信装置中,所述控制器可被配置为通过建立当前时间信息与变换函数的标识符之间的映射来基于当前时间选择变换函数。在上述光通信装置中,所述控制器还可被配置为将光通信装置的当前时间信息与所述防伪码和函数验证码一起作为输入提供给所选择的变换函数。在又一个方面,本发明提供了一种光通信装置防伪系统,包括上述的光通信装置和服务器;其中服务器,其被配置为:接收经由图像采集设备对所述光通信装置进行图像采集获得的信息;从所述信息提取光通信装置的标识符并基于所述标识符确定与该光通信装置对应的函数验证码和防伪码;将除所述标识符之外的其余信息作为输入提供给多个逆变换函数进行处理,并从其处理结果中包含所确定的函数验证码的逆变换函数的输出中提取防伪码;通过将所提取的防伪码与该光通信装置对应的防伪码进行比较来验证所述光通信装置是否合法。在上述系统中,多个光通信装置可共享同一函数验证码,或者不同光通信装置可共享不同的函数验证码。在上述系统中,所述光通信装置可被配置为基于当前时间信息来选择变换函数;所述服务器可被配置为:基于服务器的当前时间估计所述光通信装置的当前时间;以及基于所估计的光通信装置的当前时间来选择要用来对收到的信息进行处理的多个逆变换函数。在上述系统中,所述光通信装置可定期地或不定期地与所述服务器进行时间同步。在上述系统中,所述光通信装置还可被配置为控制所述光源在传递所述光通信装置的标识符和所述变换函数的输出值的同时传递所述光通信装置的当前时间信息;所述服务器还可被配置为:从所接收的信息中提取时间信息以与所述光通信装置进行时间同步。在又一个方面,本发明还提供了一种光通信装置防伪系统,包括服务器、光通信装置及与所述光通信装置可通信地耦合的防伪装置,其中:所述光通信装置包括至少一个光源和控制器,所述控制器控制所述光源发出不同的光以传递不同信息;所述防伪装置被配置为:从预先设定的多个变换函数中选择一个变换函数;将与所述光通信装置关联的防伪码和函数验证码作为输入提供给所选择的变换函数;以及将所述变换函数的输出值提供给所述光通信装置,并指示所述光通信装置发布该输出值与所述光通信装置的标识符;所述服务器被配置为:接收经由图像采集设备对所述光通信装置进行图像采集获得的信息;从所述信息提取光通信装置的标识符并基于所述标识符确定与该光通信装置对应的函数验证码和防伪码;将除所述标识符之外的其余信息作为输入提供给多个逆变换函数进行处理,并从其处理结果中包含所确定的函数验证码的逆变换函数的输出中提取防伪码;以及通过将所提取的防伪码与该光通信装置对应的防伪码进行比较来验证所述光通信装置是否合法。在又一个方面,本发明提供了一种用于光通信装置的防伪方法,包括:步骤s1),对于待发布标识信息的光通信装置,从多个变换函数中选择一个变换函数,将与该光通信装置的标识符关联的防伪码和函数验证码作为输入提供给所选择的变换函数;步骤s2),通过该光通信装置呈现其标识符及该变换函数的输出值;步骤s3),由认证服务器从通过图像采集设备获得的光通信装置传递的信息中提取光通信装置的标识符,并基于该标识符确定与该光通信装置对应的函数验证码和防伪码;步骤s4),由认证服务器将除所述标识符外的其余信息作为输入提供给多个逆变换函数进行处理,并从其处理结果中包含所确定的函数验证码的逆变换函数的输出中提取防伪码;步骤s5),将所提取的防伪码与该光通信装置对应的防伪码进行比较以验证该光标签的合法性。上述方法中,在步骤s1)可通过建立光通信装置当前时间信息与变换函数的函数标识符之间的映射来选择变换函数。上述方法中还可包括:由认证服务器估计所述光通信装置的当前时间;基于所估计的当前时间通过所述映射获得函数标识符;以选择以该函数标识符为中心的一定范围内的函数标识符对应的多个逆变换函数来对所述信息进行处理。上述方法中,在步骤s1)所述输入中还可包括光通信装置的当前时间信息。在上述方法中,还可包括定期地对光通信装置与认证服务器进行时间同步。附图说明以下参照附图对本发明实施例作进一步说明,其中:图1为根据本发明一个实施例的光通信装置防伪系统结构示意图;图2为根据本发明一个实施例的用于光通信装置的防伪方法流程示意图。具体实施方式为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。在本发明的一个实施例中提供了一种光通信装置,其能够通过发出不同的光来传输不同的信息。该光通信装置在本文中也被称为“光标签”,两者在整个本申请中可以互换使用。该光通信装置包括至少一个光源和控制器,控制器用于控制所述光源发出的不同的光来传递不同的信息。其中控制器可以通过改变光源发出的光的属性来使得光源发出不同的光。光的属性可以是光学成像器件(例如cmos成像器件)能够感知的任何属性;例如其可以是光的强度、颜色、波长等人眼可感知的属性,也可以是人眼不可感知的其他属性,例如在人眼可见范围外的电磁波长的强度、颜色或波长改变,或者是上述属性的任一组合。因此,光的属性变化可以是单个属性发生变化,也可以是两个或更多个属性的组合发生变化。当选择光的强度作为属性时,可以简单地通过选择开启或关闭光源来实现。在下文中为了简单起见,以开启或关闭光源来改变光的属性,但本领域技术人员可以理解,用于改变光的属性的其他方式也是可行的。在该光标签中可以使用各种形式的光源,只要其某一可被光学成像器件感知的属性能够以不同频率进行变化即可。光源中可以包括各种常见的光学器件,例如导光板、柔光板、漫射器等。例如,光源可以是一个led灯、由多个led灯构成的阵列、显示屏幕或者其中的一部分,甚至光的照射区域(例如光在墙壁上的照射区域)也可以作为光源。该光源的形状可以是各种形状,例如圆形、正方形、矩形、条状、l状等。在一个实施例中,该光标签的控制器可以控制每个光源发出的光的属性,以便传递信息。例如,可以通过控制每个光源的开启和关闭来表示二进制数字信息的“0”或“1”,从而该光标签中多个光源可以用于表示一个二进制数字信息序列。如本领域技术人员可以理解的,每个光源不仅可以用于表示一个二进制数,还可以用于表示三进制或更大进制的数据。例如,可以通过将光源所发出的光的强度设置为从三种或更多种水平中进行选择,或者通过将光源所发出的光的颜色设置为从三种或更多种颜色中进行选择,甚至通过采用强度与颜色的组合,来使得每个光源能表示三进制或更大进制的数据。因此,相比于传统二维码,本发明的光标签可以显著提高数据编码密度。在又一实施例中,该光标签的控制器可以控制光源以一定频率改变其所发出的光的属性,因此,本发明的光标签可以在不同的时间表示不同的数据信息,例如,不同的二进制数字信息序列。如此,当使用光学成像设备对本发明的光标签进行连续拍摄时(例如,以30帧/秒的速率),其每一帧图像都可以用于表示一组信息序列,从而相比于传统的静态二维码,可以进一步显著地提高其数据编码密度。在本申请的实施例中,可以使用本领域常见的光学成像设备或图像采集设备对光标签进行成像,从每帧图像确定所传递的信息,例如二进制数据1或数据0信息序列,从而实现光标签向光学成像器件的信息传递。光学成像设备或图像采集设备可以包括图像采集元件、处理器和存储器等。光学成像设备或图像采集设备例如可以是具有拍摄功能的智能移动终端,包括手机、平板电脑、智能眼镜等,其可以包括图像采集装置和图像处理模块。用户在距离光标签视距范围内通过肉眼发现光标签,通过使移动终端成像传感器朝向光标签,扫描该光标签并进行信息捕获与判读处理。当光标签的控制器控制光源以一定频率改变其所发出的光的属性时,移动终端的图像采集频率可以被设置为大于或等于光源的属性变换频率的2倍。通过对所采集的图像帧进行解码操作,可以完成识别解码的过程。在一个实施例中,为了避免图像帧的重复、遗漏等,可以在光标签所传递的信息中包括序列号、校验位、时间戳等。根据需要,可以在多个图像帧中给出起始帧或结束帧,或者二者兼有,用于指示多个图像帧的一个完整周期的开始或结束位置,该起始帧或结束帧可以被设定为显示某个特殊的数据组合,例如:全0或全1,或者任何不会与实际可能显示的信息相同的特殊组合。以cmos成像器件为例,当通过cmos成像器件拍摄光源的连续的多帧图像时,可以通过控制器进行控制,使得光源的工作模式之间的切换时间间隔等于cmos成像器件一个完整帧成像的时间长度,从而实现光源与成像器件的帧同步。假定每个光源每帧传输1比特的信息,那么对于30帧/每秒的拍摄速度,每个光源每秒钟可以传递30比特的信息,编码空间达到230,该信息可以包括例如,起始帧标记(帧头)、光标签的id、口令、验证码、网址信息、地址信息、时间戳或其不同的组合等等。可以按照结构化方法,设定上述各种信息的顺序关系,形成数据包结构。每接收到一个完整的该数据包结构,视为获得一组完整数据(一个数据包),进而可以对其进行数据读取和校验分析。表1给出根据本发明的一个实施例的示例数据包结构:表1帧头属性字段(可选)数据字段校验位帧尾相比于传统的二维码,根据本发明实施例的光标签通过发出不同的光来传递信息,其具有远距、可见光条件要求宽松、指向性强、可定位的优势,并且光标签所传递的信息可以随时间迅速变化,从而可以提供大的信息容量。因此,光标签具有更强的信息交互能力,从而可以为用户和商家提供巨大的便利性。为了基于光标签向用户和商家提供对应的服务,每个光标签都分配有唯一标识符(id),该标识符用以由光标签的制造者、管理者及使用者等唯一地识别或标识光标签。在很多情况下,光标签需要发布其标识符,而使用者通过扫描光标签得到其标识符,以访问基于该光标签提供的服务。期间可能存在由于光标签发布的标识信息被截获、伪造或替代而带来的各种安全隐患。图1示出了根据本发明的一个实施例的光标签防伪系统,其包括光标签30和认证服务器40。光标签30中通常包括有控制器和光源,控制器用于控制光源发出不同的光来传递不同的信息。用户10可以使用图像采集设备20(例如手机)对光标签30进行图像采集以获得光标签30传递的信息,并通过认证服务器40对光标签30的合法性进行鉴别。每个光标签30的标识信息包括两个部分:该光标签的标识符及与该标识符对应的防伪码。光标签30在每次发布其标识信息时,标识符以明文方式发送,而对应的防伪码需经设定的变换函数进行变换后传输。只有知道该变换函数的验证方(例如认证服务器40)才能对收到的信息正确地进行逆变换,从而获得光标签的防伪码,以验证光标签的合法性。其中预先设定的变换函数仅对于光标签30及认证服务器40可见,而对于图像采集设备、用户、商家及其他基于光标签的服务提供者保密。在本发明的实施例中,对于变换函数的具体形式不进行限制,可以采用能使得防伪码发生改变的任意函数或变换规则。例如,按照一定的规则打乱防伪码中各元素的次序,对于防伪码中某些位置进行反转处理等等。优选地,可以选择现有的各种对称加密或非对称加密算法来对防伪码进行加密。例如,光标签以其密钥对防伪码进行加密,而认证服务器可以以同一密钥对收到的信息进行解密。认证服务器可以将通过经逆变换处理得到的防伪码与在服务器保存的光标签id对应的防伪码进行比较,如果二者一致,则确认该光标签合法。在一些实施例中,可以是一组光标签共享一个防伪码,不同组的光标签使用不同的防伪码。在一些实施例中,也可以是不同光标签使用不同的防伪码。在一个实施例中,可以给每个光标签分配两个或更多个变换函数。光标签在每次发布其标识信息时,可以按照预先设定的规则选择其中一个变换函数来对其防伪码进行变换,以使得光标签在每次发布标识信息时都呈现的是不同的编码信息,以防止对光标签的伪造或替代。例如,可以依次序轮流或随机抽取的方式来选择其中一个变换函数,并将该变换函数的标识符与光标签的标识信息一起发布,从而验证方可以通过变换函数的标识符来选择与其对应的逆变换函数。在又一个实施例中,验证方可以通过函数验证码来选择对应的逆变换函数。该函数验证码可以是由验证方和光标签预先约定的一个固定值。光标签在每次发布其标识信息时,利用选择的变换函数来对其防伪码与函数验证码一起进行变换,该变换函数的输出值与光标签的标识符一起进行发布。该函数验证码可以位于防伪码之前或之后。验证方以其存储的所有逆变换函数依次对收到的信息进行处理,当某个逆变换函数的输出值中包括正确的函数验证码时,则确定该逆变换函数是与光标签使用的变换函数相对应的,从而通过该逆变换函数获得的防伪码可以进一步用来检测光标签的合法性。在该实施例中,光标签在发布其标识信息时发送的数据包可包括帧头、数据字段、校验位及帧尾。如表2所示,该数据字段包含的是以明文形式出现的标识符和以防伪码和函数验证码为输入,经变换函数处理后的输出值。在一些实施例中,所有的光标表2签可以共享同一个函数验证码。在一些实施例中,可以是一组光标签共享一个函数验证码,不同组的光标签使用不同的函数验证码。在一些实施例中,也可以是不同光标签使用不同的函数验证码。但对于同一光标签,其不同的变换函数对应的是同一函数验证码。继续参考图1,在一些实施例中,认证服务器40可以具有与用于光标签的一个或多个变换函数相对应的逆变换函数,并为每个变换函数及其相应逆变换函数分配唯一的函数标识符。上述信息例如可以存储在如表3所示的函数表中。表3函数标识符变换函数逆变换函数在一个优选的实施例中,光标签30在每次发布其标识信息时,基于当前的时间信息来从多个变换函数中选择变换函数。例如,可以通过建立当前时间信息与变换函数的函数标识符之间的映射来根据当前时间选择变换函数。例如,如果光标签当前时刻为11月3日15点30分8秒,则光标签的当前时间信息可以记为(15*60+30)*60+8=55808秒,或15*60+30=480分或30*60+8=1808秒。又例如,也可以用光标签运行的相对时间来表示当前时间,通过计算光标签进入系统运行的时刻与当前时刻的差值可以知道光标签运行了多长时间。假定该差值恰好为50天,则其光标签当前时间信息可以记为4320000秒,如果该差值为50天3小时40分钟38秒,则光标签当前时间信息可记为4333238秒。假定系统中变换函数为n个,那么利用光标签当前时间信息t对n取余就可以建立光标签当前时间信息与变换函数的函数标识符之间的映射,即函数标识符i=tmodn。这样,光标签每次选择的变换函数随时间的不同而不断发生变化。应指出,上述建立当前时间信息与变换函数的函数标识符之间的映射仅是举例进行示意性说明,而非进行任何限制,也可以采用其他数学方法建立二者之间的映射方式。相应地,认证服务器40可以采用与光标签端类似的处理方式估计和表示光标签的当前时间信息,并以相同映射方式获得函数标识符,以便选择与光标签端采用的变换函数相对应的逆变换函数。例如在上述的以光标签运行的相对时间表示其当前时间信息的实施例中,认证服务器40可以对于每个光标签进入系统运行的时刻都有相应记录,因此可以通过将这些时刻与服务器的当前时间相比较来计算各个光标签运行了多长时间,从而可以得到对光标签当前时间信息的估计。在上述的基于光标签的当前时刻表示其当前时间信息的实施例中,可以直接利用服务器的当前时间估计光标签的当前时间信息。即便服务器的时间与光标签时间可能不完全同步而是存在一定偏差,但服务器可以先根据所估计的光标签当前时间信息以相同映射方式获得一个函数标识符,接着可以以该函数标识符为基础,选取该函数标识符及其前面或后面的一个或几个函数标识对应的逆变换函数对收到的信息进行相应逆变换,其处理结果中包含正确的函数验证码的逆变换函数就是与光标签使用的变换函数相对应的那个函数,从其输出中提取出的防伪码就是光标签发送的防伪码。与上面提到的遍历所有逆变换函数的方式相比,基于所估计的光标签当前时间信息选取逆变换函数可以大大减少了需要进行尝试的逆变换函数的个数,从而提高了处理速度并节省了计算资源。在又一个实施例中,可以定期地通过现有的时钟同步技术来对光标签和服务器的时间进行同步,这样服务器所估计的光标签当前时间信息会更准确,从而可以进一步减少需要进行尝试的逆变换函数的个数,计算速度更快。在又一个实施例中,可以设定一个光标签有效时间长度,如果距离进行上次时间同步已经过去的时间超过了该有效时间长度,则需要强制进行光标签和服务器之间的时间同步。例如,可设定光标签有效时间为距离上次同步时间60天,如果光标签60多天都没有与服务器进行时间同步,则认为该光标签已经失效,需要进行时间同步之后才能继续使用该光标签。在该实施例中,光标签与服务器之间的时间偏差的范围是可以估计的。这是因为时钟每天的偏移为固定的,所以当设定了光标签有效时间(即需要强制进行光标签和服务器时间同步的间隔)时,光标签与服务器之间的最大时间偏差也是可以确定的。例如:如果假设系统中时钟的偏移为1秒/天,并约定光标签有效时间为距离上次同步时间60天,那么光标签与服务器之间的最大的时间偏差则为60秒。设光标签时间和服务器的时间分别为:t_l和t_s,则二者之间满足:t_s-60s<=t_l<=t_s+60s。因此,假设光标签与服务器之间的最大时间偏差为t_e,服务器端估计的光标签的当前时间所在范围为[t_s-t_e,t_s+t_e],即光标签当前时间满足t_s-t_e<=t_l<=t_s+t_e。优选地,可以选择合适的单调函数h,使得h(t_s-t_e)<=h(t_l)<=h(t_s+t_e),从而可通过该函数对上述时间范围进行转换以更好地建立时间与函数标识符之间的映射。例如:令或即对x/(t_e)的商进行上取整或下取整运算,则得到:t_s/(t_e)-1<=t_l/(t_e)<=t_s/(t_e)+1。如果光标签端和服务器端都是以该h(x)的结果与函数标识符之间建立映射,则在服务器端最多三次尝试就可获得与光标签使用的变换函数对应的正确的逆变换函数。例如仍以上述示例进行说明:假设最大时间偏差t_e为60s;自变量x表示光标签当前时间,例如当前取值为12000002s;在h(x)的结果与函数标识符之间建立映射关系g;则光标签端选择的函数标识符为g(h(x))=g([12000002/60])=g(2000000)。而在服务器端估计的光标签当前时间t_s为12000000s;考虑到二者之间的偏差,实际的光标签当前时间应该在范围[12000000-60,12000000+60]中,使用函数h(x)对该时间范围进行转换,可得到[2000000-1,2000000+1],这样,服务器端分别获得g(2000000)、g(2000000-1)和g(2000000+1)对应的函数标识符,尝试三次就确定与光标签使用的变换函数对应的正确的逆变换函数。在又一个实施例中,可以选择更合适的h(x)使得h(t_s-t_e)和h(t_s+t_e)尽可能相等,从而可以使服务器端能更快速地确定对应的逆变换函数。例如令或则可以缩小h(t_s-t_e)和h(t_s+t_e)之间的距离。在又一个实施例中,光标签在发布标识信息的同时还可以发布有关光标签当前时间的时间同步信息,服务器可以利用这些时间同步信息及时地与光标签进行时间同步,从而能更准确地估计光标签的当前时间。在该实施例中,光标签在发布其标识信息时发送的数据包如表4所示,其包括帧头、数据字段、校验位及帧尾;其中该数据字段包含的是以明文形式出现的标识符和以防伪码、时间同步信息和函数验证码为输入,经变换函数处理后的输出值。其中时间同步信息可以用于对光标签和服务器进行时间同步,例如可以用于校正服务器上对于光标签当前时间的估计,使得服务器能更准确地估计光标签的当前时间。在一些实施例中,时间同步信息可以包含光标签的当前时间信息tl,服务器端记录收到该时间同步信息时的服务器时间ts,则光标签和服务器之间的同步时间偏差为(tl-ts)。并且每次收到时间同步信息可以用于不断校正该同步时间偏差。考虑到每个光标签与服务器的时间偏差以及与服务器的同步时刻(即收到光标签时间同步信息的时刻)都可能不一致,服务器端可以维护如表5所示的以光标签id为索引的同步时间偏差表。服务器每次获得来自光标签的时间同步信息时对表5进行相应的更新。表4表5光标签id1同步时间偏差1最近同步时刻1………光标签idi同步时间偏差i最近同步时刻i在表5中,以光标签id作为索引,每次获得来自光标签的时间同步信息时,服务器更新该光标签的同步时间偏差,并将最近同步时刻修改为收到该时间同步信息时的服务器当前时间。在上述设置光标签的有效时间长度以及光标签与服务器之间的最大时间偏差t_e的实施例中,光标签在发布标识信息时携带的时间同步信息可以等于光标签的当前时间除以t_e的余数。类似地,服务器端收到该时间同步信息时,也计算服务器当前时间/t_e的余数,则表5中与该光标签对应的同步时间偏差可以更新为该收到的时间同步信息减去该余数。这样就可以进一步减少发布该时间同步信息所需要的位数以节省带宽资源。继续参考图1,在又一些实施例中,图1所示的系统中还可包括能够与光标签30通信的防伪装置。上述与光标签相关的变换处理等功能不是由光标签控制器来进行的,而是可以由能够与光标签30进行通信的防伪装置(例如智能手机、计算机等)来实现。该防伪装置可从多个变换函数中选择其中一个变换函数来对防伪码和函数验证码以及时间信息等进行变换,然后将变换后的信息提供给光标签以进行呈现或发布。当用户10使用图像采集设备20采集了光标签的图像并对该图像进行解码后,可以获得光标签所传递的信息。用户10可以通过图像采集设备20将该信息传递到认证服务器40。当认证服务器40收到来自图像采集设备20的信息时,可以通过该信息中的光标签标识符从上表5中获得该光标签对应的同步时间偏差和最近同步时刻,则估计的光标签端时间的范围应该满足:服务器端当前时间+同步时间偏差+(服务器端当前时间-最近同步时刻)*每天固定时钟偏移<=光标签端时间<=服务器端当前时间+同步时间偏差-(服务器端当前时间-最近同步时刻)*每天固定时钟偏移接着,如上文介绍的使用设定好的h(x)对该时间范围进行转换,以h(x)的结果作为输入提供给映射函数g以得到函数标识符,从而认证服务器40可遍历这样得到的各个函数标识符对应的逆变换函数,直到逆变换函数的输出中出现与光标签id对应的正确的函数验证码为止。接着,认证服务器40可以从该正确的函数验证码对应的逆变换函数的输出中提取出防伪码来验证该防伪码的合法性,并提取出时间同步信息对如表5所示的相应光标签id对应的同步时间偏差进行更新。通常认证服务器可以维护与每个光标签关联的防伪码和函数验证码的相关信息,例如表6所示。服务器可以将从逆变换函数的输出中提取的函数验证码与表6中同一光标签对应的函数验证码进行匹配,如果二者一致,则可以确定该逆变换函数为与该光标签采用的变换函数对应的那个逆变换函数。然后服务器将从该逆变换函数的输出信息中提取的防伪码与表6中保存的同一光标签标识符对应的防伪码进行比对,如果二者一致,则确定该光标签为合法光标签,则返回确认信息或返回相应防伪码,以便于能基于光标签标识符及其防伪码提供或访问基于光标签的服务。表6光标签标识符防伪码函数验证码现参考图2,其示出了根据本发明的一个实施例的光标签防伪方法的流程示意图。在步骤s1)对于待发布标识信息的光标签,从多个变换函数中选择一个变换函数,将与该光标签的标识符关联的防伪码和函数验证码作为输入提供给所选择的变换函数。其中光标签的防伪码和函数验证码是预先设定的,仅对光标签和认证服务器可见。在步骤s2)通过该光标签呈现其标识符和该变换函数的输出值。如上文介绍的,光标签传递的信息可以通过图像采集设备对光标签进行图像采集并对采集的图像信息进行解码来获得,例如可通过用户携带的手机获取光标签传递的信息。当验证该光标签是否合法需要通过认证服务器来进行;例如,可以将获取的光标签传递的信息发送给认证服务器40。在步骤s3)由认证服务器从通过图像采集设备获得的光标签传递的信息中提取光标签的标识符,并通过该标识符确定与该光标签关联的函数验证码和防伪码。在步骤s4)由认证服务器将除光标签标识符之外的其余信息作为输入提供给选定的多个逆变换函数,选择其输出中包括在步骤s3)所确定的函数验证码的逆变换函数为该光标签对应的逆变换函数,从该逆变换函数的输出中提取防伪码。步骤s5)将所提取的防伪码与步骤s3)所确定的该光标签的防伪码进行比较,如果二者一致,则确认该光标签是合法的。如上文提到的,在一些实施例中,所有的光标签可以共享同一个函数验证码和防伪码。在一些实施例中,不同组的光标签使用不同的函数验证码和不同的防伪码。在一些实施例中,也可以是不同光标签使用不同的函数验证码和不同的防伪码。但对于同一光标签,其相应的多个变换函数对应的是同一函数验证码。在一个优选的实施例中,在步骤s1)在每次发布其标识信息时,可以基于当前的时间信息来从多个变换函数中选择变换函数。如上文介绍的可以通过建立当前时间信息与变换函数的函数标识符之间的映射来根据当前时间选择变换函数。在该实施例中,还包括步骤s4’)在服务器端估计光标签的当前时间,并且采用与光标签端相同的映射方式,基于所估计的光标签当前时间获得函数标识符,以便选择与光标签端采用的变换函数相对应的逆变换函数。如上文所述的,即便服务器的时间与光标签时间可能不完全同步而是存在一定偏差,但服务器可以先根据所估计的光标签当前时间信息以相同映射方式获得一个函数标识符,接着可以以该函数标识符为基础,选取该函数标识符及其前面或后面的一个或几个函数标识对应的逆变换函数对收到的信息进行相应逆变换,其逆变换结果中包含正确的函数验证码的逆变换函数就是与光标签使用的变换函数相对应的那个函数,从其输出中提取出的防伪码就是光标签发送的防伪码。与上面提到的遍历所有逆变换函数的方式相比,基于所估计的光标签当前时间信息选取逆变换函数可以大大减少了需要进行尝试的逆变换函数的个数,从而提高了处理速度并节省了计算资源。在又一个实施例中,该方法还可以包括对光标签和服务器的时间进行同步的步骤,这样服务器所估计的光标签当前时间信息会更准确,从而可以进一步减少需要进行尝试的逆变换函数的个数,计算速度更快。在又一个实施例中,可以设定一个光标签有效时间长度,如果距离进行上次时间同步已经过去的时间超过了该有效时间长度,则需要强制进行光标签和服务器之间的时间同步。例如,可设定光标签有效时间为距离上次同步时间60天,如果光标签60多天都没有与服务器进行时间同步,则认为该光标签已经失效,需要进行时间同步之后才能继续使用该光标签。如上文介绍的,当设定了光标签的有效时间时,光标签与服务器之间的时间偏差的范围是可以估计的。假设系统中时钟偏移为1秒/天,并约定光标签有效时间为距离上次同步时间60天,那么光标签与服务器之间的最大的时间偏差则为60秒。设光标签时间和服务器的时间分别为:t_l和t_s,则二者之间满足:t_s-60s<=t_l<=t_s+60s。因此,假设光标签与服务器之间的最大时间偏差为t_e,服务器端估计的光标签的当前时间所在范围为[t_s-t_e,t_s+t_e],即光标签当前时间满足t_s-t_e<=t_l<=t_s+t_e。如上文讨论的,可以选择合适的单调函数h,使得h(t_s-t_e)<=h(t_l)<=h(t_s+t_e),从而可通过该函数对上述时间范围进行转换以更好地建立时间与函数标识符之间的映射。例如:令或即对x/(t_e)的商进行上取整或下取整运算,则得到:t_s/(t_e)-1<=t_l/(t_e)<=t_s/(t_e)+1。如上文介绍的,如果光标签端和服务器端都是以该h(x)的结果与函数标识符之间建立映射,则在服务器端最多三次尝试就可获得与光标签使用的变换函数对应的正确的逆变换函数。在又一个实施例中,还可以在发布标识信息的同时还发布有关光标签当前时间的时间同步信息,以便服务器可以利用这些时间同步信息及时地与光标签进行时间同步,从而能更准确地估计光标签的当前时间。例如光标签在发布其标识信息时,以该光标签的防伪码、函数验证码及时间同步信息作为输入提供给选择的变换函数。如上文结合表5所述,在一些实施例中,时间同步信息可以包含光标签的当前时间信息tl。该方法还可包括由认证服务器记录收到该时间同步信息时的服务器时间ts作为最近同步时刻,并计算该光标签和服务器之间的同步时间偏差,即tl-ts;以及根据每次收到时间同步信息更新该光标签对应的同步时间偏差和最近同步时刻。在这些实施例中,还包括由认证服务器根据收到的信息中的光标签标识符提取对应的同步时间偏差和最近同步时刻来估计光标签端时间。如上文介绍的,所估计的光标签端时间的范围应该满足:服务器端当前时间+同步时间偏差+(服务器端当前时间-最近同步时刻)*每天固定时钟偏移<=光标签端时间<=服务器端当前时间+同步时间偏差-(服务器端当前时间-最近同步时刻)*每天固定时钟偏移。本发明的防伪方法可以适用于任何能够用于传递信息的光标签(或光源)。例如,本发明的防伪方法可以适用于基于cmos的滚动快门效应而通过不同的条纹来传递信息的光源(例如在中国专利公开cn104168060a中所描述的光通信装置),也可以使用于如专利cn105740936a中所描述的光标签。另外,本发明的防伪方法也可以适用于光标签(或光源)的阵列。本说明书中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个说明书中各地方的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是非逻辑性的或不能工作。在本申请中为了清楚说明,以一定的顺序描述了一些示意性的操作步骤,但本领域技术人员可以理解,这些操作步骤中的每一个并非是必不可少的,其中的一些步骤可以被省略或者被其他步骤替代。这些操作步骤也并非必须以所示的方式依次执行,相反,这些操作步骤中的一些可以根据实际需要以不同的顺序执行,或者并行执行,只要新的执行方式不是非逻辑性的或不能工作。虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1