CN106572098A - 二维码形式的虚拟钥匙方法及相应的装置、用户终端 - Google Patents

二维码形式的虚拟钥匙方法及相应的装置、用户终端 Download PDF

Info

Publication number
CN106572098A
CN106572098A CN201610936846.5A CN201610936846A CN106572098A CN 106572098 A CN106572098 A CN 106572098A CN 201610936846 A CN201610936846 A CN 201610936846A CN 106572098 A CN106572098 A CN 106572098A
Authority
CN
China
Prior art keywords
key
quick response
response code
data
access control
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.)
Granted
Application number
CN201610936846.5A
Other languages
English (en)
Other versions
CN106572098B (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.)
Shenzhen love animation culture development Co., Ltd.
Original Assignee
雷飏
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 雷飏 filed Critical 雷飏
Priority to CN201610936846.5A priority Critical patent/CN106572098B/zh
Publication of CN106572098A publication Critical patent/CN106572098A/zh
Application granted granted Critical
Publication of CN106572098B publication Critical patent/CN106572098B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • 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
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

一种安全的二维码形式虚拟钥匙生成和操作方法及相应的访问控制装置和用户终端。用户终端生成二维码钥匙字串和对应二维码钥匙图像,其中的二维码钥匙字串包括提示码、加密虚拟钥匙载荷字串;然后显示在用户终端的显示屏上或者打印到纸张上供访问控制装置识别;访问控制装置识别后根据识别出的提示码推算出用于解密的密钥,得以将所述加密虚拟钥匙载荷字串进行解密,得到载荷数据;然后访问控制装置再对载荷数据中的虚拟钥匙相关数据进行核对处理就可以实现开锁等操作。本技术方案解决现有二维码开锁技术方案中的安全性、便利性、灵活性和可扩展性方面的问题。

Description

二维码形式的虚拟钥匙方法及相应的装置、用户终端
技术领域
本发明涉及一种操作访问控制装置的技术,特别是涉及安全地操作具有联网功能的智能访问控制装置的技术和终端。
背景技术
在先前的专利申请201610914471.2中,公开了基于虚拟钥匙和虚拟钥匙包技术的物体访问权限管理方法及相应的后台系统、访问控制装置和用户终端。但是已公开的技术方案只是一个通用虚拟钥匙技术基础框架。
在随后的专利申请201610932849.1中,又公开了基于上述虚拟钥匙技术基础框架的安全技术方案。但该方案中没有使用二维码进行虚拟钥匙数据传递和操作访问控制装置的技术方案。这是因为,二维码是一次性生成的,中间不像蓝牙通讯或NFC近场通讯可以进行参数交换,从而可以做到动态和有针对性的安全数据生成。所以必须进行一定的技术处理。
另外,虽然有些现有技术方案提供通过二维码开启门禁设备或者智能门锁的技术方案,但这些方案在安全性、通用性和可扩展性以及可规模化上均有不足。
发明内容
本发明的一个目的是提供一种安全可靠而且灵活的二维码虚拟钥匙操作访问控制装置进行锁命令操作的方法及应用该方法的装置和用户终端。
该方法具体包括:
在用户终端,生成用于指定访问控制装置的二维码钥匙字串和对应二维码钥匙图像,其中的二维码钥匙字串包括:提示码、加密虚拟钥匙载荷字串;
将二维码钥匙图像输出到输出设备的介质上;
用户将带有二维码钥匙图像的介质靠近访问控制装置的二维码输入设备;
在访问控制装置,二维码输入设备识别出介质上二维码钥匙图像中的二维码钥匙字串;
根据二维码钥匙字串中的提示码参数,推算出第二时间段令牌;
根据第二时间段令牌,对二维码钥匙字串中的加密虚拟钥匙载荷字串参数进行解密,并去字符串化,得到载荷数据;
对载荷数据中的虚拟钥匙相关数据进行核对处理。
在此技术方案中,用于转换成二维码图像的字串包括:加密后的虚拟钥匙相关数据的载荷数据,即加密虚拟钥匙载荷字串;提示码,用于访问控制装置反推出解密载荷数据用的密钥。
提示码是时间段相关的,由时间段令牌得出。时间段令牌是基于固定分钟数为单位的时间计算得出的简单字串,同时间段内的计算结果是相同的。不同的实施中,可以采用不同的时间段间隔,如一分钟、两分钟的间隔或者三分钟。而时间段令牌在一些实施例中,是根据访问控制装置的项目域描述和当前时间来生成,甚至可以再加上访问控制装置的装置标识来增加安全性。优选地,在一些实施例中,计算第一时间段令牌对应提示码的方法是,根据项目域描述产生的规则,在第一时间段令牌中选取两至四个不同位置的符号,得到提示码。
之所以采用这样的设计方案,是考虑到,首先,加密用的密钥必须是动态的,其次,在这种场景下,非对称加密算法不合适,因为没法做公钥交换,所以只能是采用动态密钥的对称加密算法。但是使用的共同动态密钥不可能放在未加密部分,所以就设计了这个动态提示码的方法。这样就不但解决了数据传输的安全性,还意外实现了控制二维码钥匙有效期的作用。
生成的二维码钥匙图像可以显示在用户终端的显示屏上,也可以通过打印机打印到纸张上。一般用户使用用户终端的显示屏将显示的二维码靠近访问控制装置的二维码识别设备即可,非常方便。在一些实施例中,对于访客,物业的保安人员可以给访客生成一个只能临时一次性使用的二维码钥匙图像,并打印到热敏纸上,交给访客,以方便访客通过指定的门禁设备。
通过这些技术手段,可以达到虚拟钥匙数据传递过程中安全的数据动态加密/解密。
优选地,在一些实施例中,用户在用户终端指定访问控制装置的方法包括:
根据定位传感器获得的定位信息,在本地所有虚拟钥匙包中进行查找,找到距离最近的访问控制装置相关信息以及对应的虚拟钥匙记录和虚拟钥匙缀数据,如果没有找到,显示提示信息,处理终止;
用户通过用户交互操作指定;
用户通过用户终端上的摄像输入模块或者二维码识别单元扫描访问控制装置上的装置二维码图像并识别出装置信息,装置二维码图像可以打印在纸介质上也可以显示在访问控制装置的显示屏上。
在一些实施例中,带有二维码识别功能的访问控制装置在安装部署时,记录了安装位置的定位信息,并记录在后台系统的数据库中,当用户终端从后台系统获取虚拟钥匙包数据时,也同时获得了这些访问控制装置相关的信息:装置标识、定位信息、项目域描述、关联虚拟钥匙的虚拟钥匙缀。用户终端通过这些信息,就可以完成访问控制装置的定位识别、二维码钥匙字串的生成,进而生成二维码钥匙图像。由于过程中不需要联网去后台系统查询,所以这个过程可以在没有网络的情况下完成。
在一些实施例中,用户可以通过用户交互界面在虚拟钥匙包中关联的访问控制装置中选择,也可以是通过特定的交互操作动作来自动或手动指定。
在一些实施例中,用户通过扫描装置二维码图像,取得装置信息,这种情况下用户终端需要联网才能正确从后台系统获得装置的全部准确信息,而且这需要该用户已获得该访问控制装置权限的情况下才有用。
优选地,在一些实施例中,用户终端生成用于指定访问控制装置的二维码钥匙字串和对应二维码钥匙图像的步骤包括:
Q1、生成载荷数据,其中所述载荷数据包括用户标识、访问控制装置的装置标识、访问控制装置的项目域密钥、虚拟钥匙缀、时间戳、加密后的虚拟钥匙数据和要对访问控制装置操作的锁命令、第一签名;
Q2、将所述载荷数据进行字符串化处理,得到载荷字串,其中的参数值原来为二进制数据的,转换为字符串形式表示;
Q3、根据访问控制装置的项目域描述,和当前时间,生成第一时间段令牌以及对应的提示码;
Q4、根据第一时间段令牌,对所述载荷字串进行加密,加密结果再进行字符串化,得到加密虚拟钥匙载荷字串;
Q5、将提示码与所述加密虚拟钥匙载荷字串组合成二维码钥匙字串;
Q6、根据所述二维码钥匙字串,计算出二维码图像形式的图像数据,即二维码钥匙图像。
在生成二维码钥匙字串时,一些实施例采用JSON格式的字串形式,一些实施例采用的是URL格式,不同的格式作用和效果是一样的,只是表示形式的区别。通常,在实施例中,二进制参数值的字符串化采用的是Base64编码方式;签名数据为方便核对,也可以采用转成16进制字符串的办法。
优选地,在一些实施例中,用户终端生成载荷数据的步骤包括:
将虚拟钥匙记录加上要对访问控制装置操作的锁命令,组成第一钥匙数据;
使用对称加密算法对第一钥匙数据进行加密,得到第一加密虚拟钥匙;
对载荷数据进行签名计算,得到第一签名,载荷数据包括用户标识、访问控制装置的装置标识,访问控制装置的项目域密钥,虚拟钥匙缀、第一加密虚拟钥匙;
然后将第一签名附加入载荷数据。
对于一些门禁类访问控制装置,第一钥匙数据中的锁命令是可选的,可以不加。对于智能锁装置,通过该锁命令,就可以实现对智能锁的开锁、上锁、反锁操作。在一些实施例中,用户终端的用户通过不同的交互操作方法来确定显示的二维码最终是用于什么操作。
前面提到,提示码的作用是帮助访问控制装置推算出用户终端加密时的时间段,从而可以正确解密出载荷数据。优选地,在一些实施例中,访问控制装置根据提示码推算第二时间段令牌的步骤包括:
T1、取得当前时间,作为令牌时间;
T2、根据项目域描述和令牌时间,生成第二时间段令牌;
T3、根据项目域描述产生的规则,在第二时间段令牌中选取两至三个不同位置的符号,得到核验码;
T4、将核验码与提示码进行比较,如果相同,则返回第二时间段令牌;
T5、否则以预设时间段为单位,分别对当前时间在预设时间阈值前和在预设时间阈值后的各时间段作为令牌时间,回到步骤T2,如果超出前后预设时间阈值仍未找到匹配的时间段,则返回推算失败的结果,其中的预设时间段默认值为一分钟,预设时间阈值默认为15分钟。
之所以要进行以访问控制装置当前时间前后一定预设时间阈值内分钟级时间段计算第二时间段令牌和核验码,是为了避免访问控制装置的时钟时间与用户终端的时钟时间不同步,以及用户把二维码钥匙图像输出到介质到拿到访问控制装置的二维码识别设备之间的时间差对后续解码计算会有影响。
这个时间段阈值的值越小,提示码(和生成的二维码钥匙图像)的有效期也就越短。在一些实施例中,可以根据提示码的长度动态调节时间段阈值,以使二维码钥匙图像的有效期长度控制更灵活。
优选地,在一些实施例中,对载荷数据中的虚拟钥匙相关数据进行核对处理的详细步骤包括:
C1、是否在钥匙权限表有对应用户标识的钥匙权限记录,如果没有就终止核对;
C2、校验第一签名数据,如果校验失败就终止核对;
C3、使用装置私钥对虚拟钥匙缀进行解密得出用户私钥,如果解密失败就终止核对;
C4、使用解密出的用户私钥解密由钥匙权限记录中的虚拟锁芯数据,得到第一锁芯数据,如果解密失败就终止核对;
C5、根据包括虚拟钥匙相关数据在内的数据计算出第一对称密钥,并用来解密第一加密虚拟钥匙数据,得到第一钥匙数据,如果解密失败就终止核对;
C6、对第一锁芯数据和第一钥匙数据中的具体参数进行核对,如果核对不正确就终止核对;
C7、核对成功后根据第一钥匙数据中的命令类型参数向电锁控制接口发送相应的锁命令,如果没有命令类型参数,就发送开锁命令。
这些实施例中的核对处理方法基本与先前专利申请201610932849.1中的核对方法一致。这样可以更好地重用已有的程序代码,保持一致性和安全性。
在一些实施例中,访问控制装置通过专门的二维码扫描识别设备来实现二维码的识别和输入;在一些实施例中,访问控制装置通过摄像头拍摄二维码图像后再进行软件识别。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1 是一种实施例中用户终端生成二维码并在显示屏展示给访问控制装置完成开锁操作的时序图;
图2 是一种实施例中访问控制装置的系统框图;
图3 是一种实施例中用户终端的系统框图;
图4 是一种实施例中用户终端生成二维码钥匙字串和二维码钥匙图像的流程图;
图5 是一种实施例中用户终端生成载荷数据的流程图;
图6 是一种实施例中用户终端生成第一时间段令牌和提示码的流程图;
图7和图8 是一种实施例中访问控制装置根据提示码推算出第二时间段令牌的流程图;
图9 是一种实施例中访问控制装置对载荷数据核对处理的流程图。
具体实施方式
下面的描述被给出以使本领域技术人员能够实现并使用实施例,并且下面的描述是在特定的应用及其要求的情况下提供的。对所公开的实施例的各种修改对本领域技术人员来说应当是显而易见的,并且本文所定义的一般原理在不脱离本公开内容的精神和范围的情况下可以应用于其他实施例和应用。因而,本发明并不限于所示出的实施例,而是应当符合与本文所公开的原理和特征一致的最广泛的范围。
在具体实施方式部分所描述的数据结构和代码通常存储于计算机可读存储介质上,该存储介质可以是能够存储由计算机系统使用的代码和/或数据的任意器件或介质。计算机可读存储介质包括,但不限于,易失性存储器、非易失性存储器、磁存储器件和光存储器件(例如,盘驱动器、磁带、CD(光盘)、DVD(数字通用盘或数字视频盘)或者现在已知的或以后开发的能够存储代码和/或数据的其他介质。
在具体实施方式部分所描述的方法和处理能够被实现为代码和/或数据,该代码和/或数据能够存储于以上所描述的计算机可读存储介质内。当计算机系统读取并执行存储于计算机可读存储介质上的代码和/或数据时,计算机系统执行被实现为数据结构和代码并被存储于计算机可读存储介质内的方法和处理。
而且,本文所描述的方法和处理能够包含于硬件模块或装置内。这些模块或装置可以包括,但不限于,专用集成电路(ASIC)芯片、场可编程门阵列(FPGA)、在特定的时间执行特定的软件模块或一段代码的专用的或共用的处理器、和/或现在已知的或以后开发的其他可编程逻辑器件。当硬件模块或装置被激活时,它们执行包含于它们之内的方法和处理。
图1示出了根据一种实施例中二维码钥匙生成和开锁的过程的时序图。参照图1,用户终端通过获取定位信息,找到距离最近的可用访问控制装置,然后按步骤S1(其中包括子步骤Q1、Q2、Q3、Q4、Q5、Q6)生成用于该访问控制装置的二维码钥匙图像,生成好后,通过用户终端的显示屏输出显示出来(步骤S2)。当用户终端的显示屏靠近访问控制装置的二维码识别单元时,二维码钥匙图像被获取(步骤S3)并识别出来(步骤S4),成为二维码钥匙字串。随后,二维码钥匙字串被解析出提示码和加密虚拟钥匙载荷字串。然后,根据解析出的提示码推算出第二时间段令牌(步骤S5)。根据推算出的第二时间段令牌,对加密虚拟钥匙载荷字串进行解密(步骤S6)。解密的结果做去字符化处理,得到载荷数据(步骤S7)。最后进行载荷数据的核对处理(步骤S8)。该时序图展示的是过程中没有出现错误的情况,以方便理解整体的处理流程。
图2示出了根据一种实施例中访问控制装置200。访问控制装置200可以实现为各种门禁设备、各种智能锁、各种出入闸。参照图2,中央处理单元212负责控制和管理处理器201所有处理单元的工作。网络模块204用于访问控制装置200连接后台系统100,通过登录注册处理单元204完成对后台系统100的登录后,就可以访问后台系统100的服务,并接收来自后台系统100的虚拟钥匙更新消息。如果接收到来自后台系统100的虚拟钥匙更新消息,消息处理单元213将消息交由虚拟钥匙处理单元210进行处理,虚拟钥匙处理单元210先对消息进行校验,校验成功后更新到装置本地存储器202加密保存的虚拟钥匙库中。输入模块203接收来自用户终端300的虚拟钥匙相关数据,接收的虚拟钥匙相关数据交给输入识别处理单元211来处理,识别和处理完成后由虚拟钥匙处理单元210进行进一步的校验和处理。如果收到的虚拟钥匙相关数据核验通过,中央处理单元212向电锁控制接口205发送锁命令,驱动电锁299进行锁命令操作。
访问控制装置200还包括二维码处理单元216,处理二维码基础的生成、识别。而输入识别处理单元211还负责对收到的二维码钥匙字串进行解析、解码处理。虚拟钥匙处理单元210还负责二维码钥匙字串的生成、编码,以及解析出的载荷数据的核对处理。
在一些实施例中,输入模块203包括:NFC近场通讯单元、低功耗蓝牙通讯单元、二维码扫描单元。
图3示出了根据一种实施例中用户终端300。用户终端300可以为各种移动终端、智能手机、平板电脑、笔记本电脑、智能手表、智能眼镜、车载电脑等。参照图3,中央处理单元313负责控制和管理处理器301所有处理单元的工作。网络模块303用于用户终端300连接后台系统100,通过登录注册处理单元316完成对后台系统100的登录后,就可以访问后台系统100的服务,并接收来自后台系统100的虚拟钥匙更新消息。如果接收到来自后台系统100的虚拟钥匙更新消息,消息处理单元314将消息交由虚拟钥匙处理单元311进行处理,虚拟钥匙处理单元311先对消息进行校验,校验成功后更新到装置本地存储器302加密保存的虚拟钥匙库中。输入模块305接收用户的操作输入,输出模块304将反馈输出给用户,用户交互处理单元315通过输入模块305和输出模块304完成与用户的交互,比如虚拟钥匙包的选择和查看、成员管理、虚拟钥匙的管理和添加授权等交互操作,再经虚拟钥匙处理单元311、虚拟钥匙请求单元312、网络连接处理单元317、网络模块303向后台系统100发送虚拟钥匙请求。登录后台系统100后从本地存储器302中解密保存的虚拟钥匙包数据,如果没有找到,就向后台系统100发送获取虚拟钥匙包请求。通过短距通讯模块306,可以把虚拟钥匙数据发送给访问控制装置200,进行锁命令操作。
在此实施例中,二维码处理单元316负责处理二维码的基础生成、识别。虚拟钥匙处理单元311还负责将虚拟钥匙相关数据经加密、编码后转换成二维码钥匙字串,并通过二维码处理单元316转换成二维码钥匙图像。
在一些实施例中,短距通讯模块306包括NFC近场通讯单元、低功耗蓝牙通讯单元。短距通讯处理单元319负责处理这些短距通讯的连接、通讯。
在一些实施例中,可以通过用户交互处理单元315、附件处理单元310和短距通讯模块306完成与短距离无线附件装置399的绑定,然后通过虚拟钥匙单元311、虚拟钥匙请求单元312向后台系统100发送虚拟钥匙请求,授权该短距离无线附件装置可以进行虚拟钥匙开锁操作。
在一些实施例中,虚拟钥匙可以以二维码的形式经输出模块304输出到显示屏幕上,供访问控制装置200的二维码识别单元识别或者摄像头单元拍摄后识别。
在一些实施例中,虚拟钥匙可以以二维码的形式输出到打印装置398,并打印到纸张介质上,供访问控制装置200的二维码识别单元识别或者摄像头单元拍摄后识别。
图4给出了用于例示根据一种实施例中的用户终端通过定位信息自动获得指定访问控制装置,并生成二维码钥匙进行操作的流程图。
首先,在步骤400,获取当前定位信息;然后在步骤402,根据获取的定位信息,在本地虚拟钥匙包中查找距离最近可用访问控制装置。在步骤404,判断是否找到该装置,如果没有,进入步骤406,返回错误提示信息。否则逐一执行步骤Q1、Q2、Q3、Q4、Q5、Q6,得到需要的二维码钥匙图像,最后在步骤408返回成功结果。其中,步骤Q1,生成载荷数据的处理,可以参看图5中的示例流程图;步骤Q2载荷数据字符串化,使用的是Base64编码方式,将二进制数据转成字符串形式;步骤Q3,可以参看图6中的示例流程图;步骤Q4,加密使用的是对称加密算法,优选地使用AES系列算法,密钥以步骤Q3计算出的第一时间段令牌为依据,加密好的结果进行字符串化,即进行Base64编码,得到加密虚拟钥匙载荷字串;步骤Q5,将步骤Q3计算出的提示码和步骤Q4得到的加密虚拟钥匙载荷字串组合成二维码钥匙字串,字串的格式优选的可采用JSON格式和URL格式;步骤Q6,将步骤Q5得到的二维码钥匙字串转换为二维码钥匙图像。
图5给出了用于例示根据一种实施例中的用户终端为指定访问控制装置生成二维码钥匙过程中生成载荷数据处理的的流程图。这部分的计算和处理过程与先前专利申请201610932849.1中的方法基本一致,具体可以参考该专利申请说明书和附图中的详细描述。
首先,在步骤500,将要发送的虚拟钥匙数据和要进行的锁操作命令组合为第一钥匙;然后在步骤502,通过散列算法对(用户标识、装置标识、项目域密钥、时间戳)计算出第一对称密钥。散列算法,可以采用MD5、SHA-1、SHA-256、SM3。然后在步骤504,使用对称加密算法,以第一对称密钥作为密钥,将第一钥匙加密成第一加密虚拟钥匙。对称加密算法,优选的可以采用AES系列算法。然后,在步骤506,将用户标识、装置标识、项目域密钥、时间戳、虚拟钥匙缀,第一加密虚拟钥匙组成载荷数据。接着,在步骤508,使用签名算法,对载荷数据进行签名计算,得到第一签名。签名算法可以用散列算法来实现,也可以用简单的CRC16或CRC32。最后,在步骤510,把计算出的第一签名附加进载荷数据中。处理结束。
图6给出了用于例示根据一种实施例中的用户终端为指定访问控制装置生成二维码钥匙过程中第一时间段令牌和提示码的的流程图。
首先,在步骤600,先从访问控制装置信息中取得项目域描述,项目域描述中包括例项目域密钥和其它跟项目域有关的信息,一般可以通过它进行不同算法、密钥参数的选择和配置调整。然后在步骤602,计算当前时间段。然后在步骤604,通过散列算法计算(项目域密钥、当前时间段、装置标识)的散列值。进入步骤606,将得到的散列值字符串化,就得到第一时间段令牌。
然后,在步骤608,根据步骤604得到的散列值结果,以及项目域描述,生成一个 16× 16 (256)字节的查找表。
接下来的步骤系列计算提示码,包括从做初始化的步骤610和612,到步骤612、614、616、618、620组成的循环体。
图7给出了用于例示根据一种实施例中的访问控制装置根据接收到的二维码钥匙字串中提示码进行第二时间段令牌推算的处理流程图。
首先,在步骤700,获取装置的当前时间,得到令牌时间。然后,调用函数计算并比较提示码800(参见图8),函数的参数是令牌时间和提示码,该函数的处理流程请参看图8。在步骤704,判断函数返回结果是否成功,是的话将直接进入步骤722,返回第二时间段令牌。否则,就要在预设时间阈值范围内进行循环推算,直到找到正确(进入步骤722)的值或者超出预设时间阈值范围后推算失败,返回失败结果(步骤720)。
在检测循环中,先在步骤706进行初始化。然后在步骤708通过调用计算并比较提示码函数800,对当前时间前的时间段与提示码进行测算和比较。在步骤710,判断函数结果是否成功,如果成功,进入步骤722,结束循环处理。否则进入步骤712,继续调用计算并比较提示码函数800,对当前时间后的时间段与提示码进行测算和比较。在步骤714,判断函数结果是否成功,如果成功,进入步骤722,结束循环处理。否则在步骤716准备进入下一时间段。在步骤718,判断,是否超出预设时间阈值,如果没有,循环处理继续,回到步骤708。否则进入步骤720,推算失败。
图8给出了用于例示根据一种实施例中的访问控制装置根据指定时间计算是否与提示码相匹配的处理流程图。该实施例中,此功能作为一个函数计算并比较提示码800供图7的处理流程调用,函数的参数有两个:令牌时间和提示码。令牌时间用于计算出第二时间段令牌和核验码,提示码用来进行比对。
首先,初始化的步骤801、802、804、806、808与图6中的步骤602、604、606、608、612基本一致。循环体中的步骤810、812也与图6中的步骤614、616、618基本一致,区别是计算出的结果要中步骤814立即与提示码中的值进行比较,只要不一致,就进入步骤822,返回失败结果。否则继续进入步骤816,在步骤818,判断是否还要继续处理。如果循环计算下来,得到的核验码与提示码完全一致,将进入步骤820,返回第二时间段令牌。
图9给出了用于例示根据一种实施例中的访问控制装置核对处理载荷数据的流程图。该部分的计算和处理详细细节可以参看先前的专利申请中的说明书和附图中的详细描述。
首先,在步骤900,使用用户标识中钥匙权限表中进行检索,检索的结果作为钥匙权限记录。中步骤902,判断检索结果是否有效,如果没有检索到,将直接到步骤932,返回失败结果。否则继续进入步骤904,进行签名计算,得到核验签名。在步骤906,判断核验签名与第一签名是否相同,如果不同,将直接到步骤932,返回失败结果。否则继续进入步骤908,用非对称加密算法解密出虚拟钥匙缀中用户私钥。在步骤910,判断解密是否成功,如果没有成功,直接进入步骤932,返回失败结果。否则继续进入步骤912,用非对称加密算法解密出钥匙权限记录中的第一加密虚拟钥匙中的第一锁芯。在步骤914,判断解密结果是否正确,如果不正确,则直接进入步骤932,返回失败结果。否则继续进入步骤916,通过散列算法对(用户标识,装置标识,项目域密钥,时间戳)计算出第一对称密钥。然后在步骤918,使用对称加密算法以步骤916得出的第一对称密钥作为密钥,对第一加密虚拟钥匙进行解密,得到第一钥匙。在步骤920,判断解密是否成功,如果失败,直接进入步骤932,返回失败结果。否则继续进入步骤922,判断第一锁芯与第一钥匙是否匹配。如果不匹配,就进入步骤932,返回失败结果。如果匹配,就是核对成功,进入步骤930,使用第一钥匙中的锁命令参数向电锁控制接口205发送相应的锁操作命令。
散列算法可以使用MD5、SHA-1、SHA-256、SM3。签名算法可以使用散列算法,或者是较简单的CRC16和CRC32。非对称加密算法,优选的可以使用RSA、SM2、ECC算法。对称加密算法,优选的,可以使用AES系列算法。
本领域的技术人员应该明白,上述的本发明实施例所提供的装置的各组成部分,以及方法中的各步骤,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。可选地,它们可以用计算装置可执行的程序代码来实现。从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明之较佳实施例,但其并不限制本发明的实施范围,即不偏离本发明的权利要求所作之等同变化与修饰,仍应属于本发明之保护范围。

Claims (18)

1.一种用于用户终端传递虚拟钥匙数据以操作访问控制装置的方法,其特征是,步骤包括:
S1、在用户终端,生成用于指定访问控制装置的二维码钥匙字串和对应二维码钥匙图像,其中的二维码钥匙字串包括:提示码、加密虚拟钥匙载荷字串;
S2、将二维码钥匙图像输出到输出设备的介质上;
S3、用户将带有二维码钥匙图像的介质靠近访问控制装置的二维码输入设备;
S4、在访问控制装置,二维码输入设备识别出所述介质上二维码钥匙图像中的二维码钥匙字串;
S5、根据二维码钥匙字串中的提示码参数,推算出第二时间段令牌;
S6、根据第二时间段令牌,对二维码钥匙字串中的加密虚拟钥匙载荷字串参数进行解密;
S7、上一步骤解密结果去字符串化,得到载荷数据;
S8、对载荷数据中的虚拟钥匙相关数据进行核对处理。
2.根据权利要求1所述方法,其中,用户终端生成用于指定访问控制装置的二维码钥匙字串和对应二维码钥匙图像的步骤包括:
Q1、生成载荷数据,其中所述载荷数据包括用户标识、访问控制装置的装置标识、访问控制装置的项目域密钥、虚拟钥匙缀、时间戳、加密后的虚拟钥匙数据和要对访问控制装置操作的锁命令、第一签名;
Q2、将所述载荷数据进行字符串化处理,得到载荷字串,其中的参数值原来为二进制数据的,转换为字符串形式表示;
Q3、根据访问控制装置的项目域描述和当前时间,生成第一时间段令牌以及对应的提示码;
Q4、根据第一时间段令牌,对所述载荷字串进行加密,加密结果再进行字符串化,得到加密虚拟钥匙载荷字串;
Q5、将提示码与所述加密虚拟钥匙载荷字串组合成二维码钥匙字串;
Q6、根据所述二维码钥匙字串,计算出二维码图像形式的图像数据,即二维码钥匙图像。
3.根据权利要求2所述方法,其中,用户终端生成载荷数据的步骤包括:
将虚拟钥匙记录加上要对访问控制装置操作的锁命令,组成第一钥匙数据;
使用对称加密算法对第一钥匙数据进行加密,得到第一加密虚拟钥匙;
对载荷数据进行签名计算,得到第一签名,载荷数据包括用户标识、访问控制装置的装置标识,访问控制装置的项目域密钥,虚拟钥匙缀、第一加密虚拟钥匙;
然后将第一签名附加入载荷数据。
4.根据权利要求3所述方法,其中,计算第一时间段令牌对应提示码的方法是,根据项目域描述产生的规则,在第一时间段令牌中选取两至四个不同位置的符号,得到提示码。
5.根据权利要求1或2或3或4所述方法,其中,访问控制装置推算第二时间段令牌的步骤包括:
T1、取得当前时间,作为令牌时间;
T2、根据项目域描述和令牌时间,生成第二时间段令牌;
T3、根据项目域描述产生的规则,在第二时间段令牌中选取两至三个不同位置的符号,得到核验码;
T4、将核验码与提示码进行比较,如果相同,则返回第二时间段令牌;
T5、否则以预设时间段为单位,分别对当前时间在预设时间阈值前和在预设时间阈值后的各时间段作为令牌时间,回到步骤T2,如果超出前后预设时间阈值仍未找到匹配的时间段,则返回推算失败的结果,其中的预设时间段默认值为一分钟,预设时间阈值默认为15分钟。
6.根据权利要求5所述方法,其中,对载荷数据中的虚拟钥匙相关数据进行核对处理的详细步骤包括:
C1、是否在钥匙权限表有对应用户标识的钥匙权限记录,如果没有就终止核对;
C2、校验第一签名数据,如果校验失败就终止核对;
C3、使用装置私钥对虚拟钥匙缀进行解密得出用户私钥,如果解密失败就终止核对;
C4、使用解密出的用户私钥解密由钥匙权限记录中的虚拟锁芯数据,得到第一锁芯数据,如果解密失败就终止核对;
C5、根据包括虚拟钥匙相关数据在内的数据计算出第一对称密钥,并用来解密第一加密虚拟钥匙数据,得到第一钥匙数据,如果解密失败就终止核对;
C6、对第一锁芯数据和第一钥匙数据中的具体参数进行核对,如果核对不正确就终止核对;
C7、核对成功后根据第一钥匙数据中的命令类型参数向电锁控制接口发送相应的锁命令,如果没有命令类型参数,就发送开锁命令。
7.根据权利要求1所述方法,其中,所述输出设备包括:显示接口模块、打印机,所述介质包括:显示屏、纸张。
8.根据权利要求1所述方法,其中,所述指定访问控制装置的方法包括:
用户终端根据定位传感器获得的定位信息,在本地所有虚拟钥匙包中进行查找,找到距离最近的访问控制装置相关信息以及对应的虚拟钥匙记录和虚拟钥匙缀数据,如果没有找到,显示提示信息,处理终止;
用户通过用户交互操作指定;
用户通过用户终端上的摄像输入模块或者二维码识别单元扫描访问控制装置上的装置二维码图像并识别出装置信息,装置二维码图像可以打印在纸介质上也可以显示在访问控制装置的显示屏上。
9.一种具有访问控制功能的装置,其特征是,包括:
所述装置通过网络在后台系统注册后由后台系统生成并返回所述装置的装置私钥;
钥匙权限表,记载所述装置可以用于开锁的虚拟钥匙对应的虚拟锁芯,每条记录内容包括:用户标识、使用用户公钥加密的虚拟锁芯数据;
输入模块,用于接收来自用户终端以二维码形式显示的二维码钥匙字串;
处理器,被配置为处理接收、识别、解析二维码钥匙字串,得到虚拟钥匙相关数据并进行虚拟钥匙和虚拟锁芯的核对;
电锁控制接口,虚拟钥匙和虚拟锁芯核对过程成功后,如果收到开锁命令就控制电锁开锁,如果收到上锁命令就控制电锁上锁,如果收到反锁命令就控制电锁反锁;
处理器还被配置为处理来自后台系统的虚拟钥匙更新消息,根据消息参数更新钥匙权限表。
10.根据权利要求9所述装置,其中解析二维码钥匙字串的步骤包括:
根据二维码钥匙字串中的提示码参数,推算出第二时间段令牌;
根据第二时间段令牌,对二维码钥匙字串中的加密虚拟钥匙载荷字串参数进行解密,并去字符串化,得到载荷数据。
11.根据权利要求10所述装置,其中推算出第二时间段令牌的方法由权利要求5中所述方法步骤T1到T4完成。
12.根据权利要求10所述装置,其中对载荷数据中的虚拟钥匙相关数据进行核对处理的详细步骤由权利要求6中所述方法步骤C1到C7完成。
13.根据权利要求9或11或12所述装置,其中,输入模块包括二维码识别单元、摄像头单元。
14.一种便携式用户终端,其特征是,包括处理器,处理器被配置为:
根据权利要求2所述方法中步骤Q1到Q6,生成二维码钥匙图像;
将二维码钥匙图像显示在用户终端的显示屏上;
向后台系统发送获取虚拟钥匙包数据请求,请求返回的虚拟钥匙包数据中包括一个或多个(装置标识、虚拟钥匙缀)元素组以及关联访问控制装置的相关信息,虚拟钥匙缀为使用对应装置标识的装置公钥所加密的用户私钥。
15.根据权利要求14所述用户终端,其中,处理器还被配置为生成载荷数据,详细步骤包括:
将虚拟钥匙记录加上要对访问控制装置操作的锁命令,组成第一钥匙数据;
使用对称加密算法对第一钥匙数据进行加密,得到第一加密虚拟钥匙;
对载荷数据进行签名计算,得到第一签名,载荷数据包括用户标识、访问控制装置的装置标识,访问控制装置的项目域密钥,虚拟钥匙缀、第一加密虚拟钥匙。
16.根据权利要求15所述用户终端,其中,处理器还被配置为计算第一时间段令牌对应提示码,具体步骤包括:根据访问控制装置的项目域描述产生的规则,在第一时间段令牌中选取两至四个不同位置的符号,得到提示码。
17.根据权利要求14所述用户终端,其中,处理器还被配置为将生成的二维码钥匙图像输出到打印机,打印在纸张上。
18.根据权利要求14所述用户终端,其中,处理器还被配置为根据权利要求8所述的方法来指定要生成二维码钥匙的访问控制装置。
CN201610936846.5A 2016-11-01 2016-11-01 二维码形式的虚拟钥匙方法 Active CN106572098B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610936846.5A CN106572098B (zh) 2016-11-01 2016-11-01 二维码形式的虚拟钥匙方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610936846.5A CN106572098B (zh) 2016-11-01 2016-11-01 二维码形式的虚拟钥匙方法

Publications (2)

Publication Number Publication Date
CN106572098A true CN106572098A (zh) 2017-04-19
CN106572098B CN106572098B (zh) 2020-04-03

Family

ID=58534525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610936846.5A Active CN106572098B (zh) 2016-11-01 2016-11-01 二维码形式的虚拟钥匙方法

Country Status (1)

Country Link
CN (1) CN106572098B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685948A (zh) * 2018-12-13 2019-04-26 深圳市万物联有限公司 一种基于移动设备动态二维码访客方法
CN110009785A (zh) * 2019-04-09 2019-07-12 周鹏 一种基于加密二维码和ipv6的智能锁控制技术
CN110927758A (zh) * 2019-10-31 2020-03-27 的卢技术有限公司 一种车辆钥匙自动找回方法和系统
CN111355680A (zh) * 2018-12-04 2020-06-30 李舒云 密钥的分发、领取方法、电子终端及存储介质
CN111937347A (zh) * 2018-09-20 2020-11-13 株式会社图形系统 钥匙照片电子相册、钥匙照片电子相册化程序以及钥匙照片电子相册化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130251149A1 (en) * 2012-03-23 2013-09-26 Nvidia Corporation Method and system for wireless transmission of content
CN103646455A (zh) * 2013-12-24 2014-03-19 杨密凯 一种智能锁装置及其使用方法、电子钥匙的配制方法
CN103955975A (zh) * 2014-04-22 2014-07-30 广州闪购软件服务有限公司 基于手机的动态二维码门禁系统
CN104463546A (zh) * 2014-12-23 2015-03-25 韶关市英诺维科技设备有限公司 一种二维码锁在物联管理的应用
CN104933793A (zh) * 2015-06-11 2015-09-23 宁波飞拓电器有限公司 一种基于数字签名的二维码电子钥匙实现方法
CN105069868A (zh) * 2015-07-21 2015-11-18 杭州晟元数据安全技术股份有限公司 一种基于手机动态安全二维码识别智能小区云系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130251149A1 (en) * 2012-03-23 2013-09-26 Nvidia Corporation Method and system for wireless transmission of content
CN103646455A (zh) * 2013-12-24 2014-03-19 杨密凯 一种智能锁装置及其使用方法、电子钥匙的配制方法
CN103955975A (zh) * 2014-04-22 2014-07-30 广州闪购软件服务有限公司 基于手机的动态二维码门禁系统
CN104463546A (zh) * 2014-12-23 2015-03-25 韶关市英诺维科技设备有限公司 一种二维码锁在物联管理的应用
CN104933793A (zh) * 2015-06-11 2015-09-23 宁波飞拓电器有限公司 一种基于数字签名的二维码电子钥匙实现方法
CN105069868A (zh) * 2015-07-21 2015-11-18 杭州晟元数据安全技术股份有限公司 一种基于手机动态安全二维码识别智能小区云系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111937347A (zh) * 2018-09-20 2020-11-13 株式会社图形系统 钥匙照片电子相册、钥匙照片电子相册化程序以及钥匙照片电子相册化方法
CN111355680A (zh) * 2018-12-04 2020-06-30 李舒云 密钥的分发、领取方法、电子终端及存储介质
CN109685948A (zh) * 2018-12-13 2019-04-26 深圳市万物联有限公司 一种基于移动设备动态二维码访客方法
CN110009785A (zh) * 2019-04-09 2019-07-12 周鹏 一种基于加密二维码和ipv6的智能锁控制技术
CN110927758A (zh) * 2019-10-31 2020-03-27 的卢技术有限公司 一种车辆钥匙自动找回方法和系统
CN110927758B (zh) * 2019-10-31 2023-09-26 的卢技术有限公司 一种车辆钥匙自动找回方法和系统

Also Published As

Publication number Publication date
CN106572098B (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
US20230231718A1 (en) Method of using one device to unlock another device
CN108055235B (zh) 一种智能锁的控制方法、相关设备及系统
CN111478917B (zh) 一种为访问控制装置和用户终端提供网络服务的后台系统
US9740849B2 (en) Registration and authentication of computing devices using a digital skeleton key
US8930700B2 (en) Remote device secure data file storage system and method
US9858401B2 (en) Securing transactions against cyberattacks
CN106572098A (zh) 二维码形式的虚拟钥匙方法及相应的装置、用户终端
US8775794B2 (en) System and method for end to end encryption
CN106161032A (zh) 一种身份认证的方法及装置
US9165148B2 (en) Generating secure device secret key
CN104868998B (zh) 一种向电子设备供应加密数据的系统、设备和方法
CN109587518A (zh) 图像传输装置、操作图像传输装置的方法以及片上系统
JP2004501458A (ja) 安全なバイオメトリック認証/識別方法、バイオメトリックデータ入力モジュールおよび検証モジュール
CN1808975B (zh) 一种网络帐号防盗系统及其方法
CN113761488A (zh) 一种内容网络版权溯源加密系统及加密方法
CN110445774B (zh) IoT设备的安全防护方法、装置及设备
JPH11282998A (ja) 利用者カード、通信端末機、通信サーバ、通信システム、および、通信システムの利用者認証方法
JPH1079732A (ja) ネットワークセキュリティシステムおよびネットワークセキュリティ方法
KR20200043855A (ko) Dim을 이용한 드론 인증 방법 및 장치
JP2003208406A (ja) サービス提供システム、認証装置及び認証プログラムを記録したコンピュータ読み取り可能な記録媒体
CN116248280B (zh) 免密钥发行的安全模组防盗用方法、安全模组及装置
JP2022077529A (ja) 通信装置、通信方法、及びプログラム
KR101575992B1 (ko) 펌웨어 이벤트로그의 안전한 저장이 가능한 기계장치 및 이의 이벤트로그 저장방법
CA3227615A1 (en) Techniques and systems to perform authentication and payment operations with a contactless card to provide items and services
CN117240464A (zh) 一种基于SRAMPUF的eSIM数据保护方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200311

Address after: Room 4305, block a, union Plaza, 5022 Binhe Avenue, Fushan community, Futian street, Futian District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen love animation culture development Co., Ltd.

Address before: 100029 Beijing city Chaoyang District North Shaoyaoju shi'ao B International Center No. 101 block 2109

Applicant before: Lei Yang

GR01 Patent grant
GR01 Patent grant