WO2020013723A1 - Method and system for authorizing a user on the basis of the user's digital key - Google Patents

Method and system for authorizing a user on the basis of the user's digital key Download PDF

Info

Publication number
WO2020013723A1
WO2020013723A1 PCT/RU2018/000449 RU2018000449W WO2020013723A1 WO 2020013723 A1 WO2020013723 A1 WO 2020013723A1 RU 2018000449 W RU2018000449 W RU 2018000449W WO 2020013723 A1 WO2020013723 A1 WO 2020013723A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
digital key
digital
key
control controller
Prior art date
Application number
PCT/RU2018/000449
Other languages
French (fr)
Russian (ru)
Inventor
Владимир Игоревич ПОТАПОВ
Сергей Валерьевич РЫКОВ
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 Владимир Игоревич ПОТАПОВ
Publication of WO2020013723A1 publication Critical patent/WO2020013723A1/en

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications

Definitions

  • Prior art centralized access control systems consist typically of a control center in which access is controlled by software.
  • the software includes means for creating digital keys, with which it is allowed to open various access points in accordance with the installed access control program, for which these points contain reading means that are connected to the control means of the access device so that when reading Digital key access is allowed or denied based on program code.
  • the programmed key and user identification means may be embodied in the form of magnetic, electronic, contact or proximity cards or keys that are provided to each user so that they can open doors using readers.
  • These access control systems must support the exchange of data between readers, keys, and a control center. Depending on the type of system, they are divided into two basic types: wired and stand-alone.
  • readers are connected to the control center via a communication network so that when an electronic key is found in the reader, the latter asked the control center if it can open the door, and if so, the control center registers the opening operation in its database and writes the key code, specific door, date and time of opening. Communication between the reader and the control center can be established periodically to exchange this data.
  • Patent application US20050174214A1 “Access control system” is known from the prior art, Applicant: Salto Systems SL, published: 08/11/2005.
  • This technical solution includes reading means for means encoding keys and user identification means, including means for storing the identification code of the reader itself, said reading means being connected to control means of opening means for opening an access device to a certain place, which opens or prohibits opening an access device while reading encoded keys and user identification means.
  • the disadvantage of this technical solution is the interaction of authorization means (key carriers) with the access administration subsystem through an authorization means reader connected to a data network, since smart cards are supposed to be used.
  • authorization tools digital key carriers
  • the specified patent does not indicate a method for verifying the authenticity of information transmitted between subsystems, which significantly reduces the security of the system.
  • the technical task or problem to be solved in this technical solution is to provide control and management of user access to the object by using a digital key.
  • the technical result manifested in solving the above technical problem is to increase the security of user authorization for controlling distributed controllers that are not connected to a data network.
  • a secure distributed access control system is formed in which the controllers are not connected to the data network, and the interaction between the controllers and the administration subsystem is through digital key carriers connected to the data network.
  • An additional technical result manifested in solving the above problem is the implementation of verified guest access by users by sending temporary digital keys to the user's smartphone.
  • This technical result is achieved by implementing a user authorization method based on his digital key, in which at least one digital key of at least one user is generated in the digital key issuing and administration subsystem; transmitting the generated at least one digital key of at least one user from the subsystem for issuing and administering digital keys to the digital key holder; carry out authorization of the digital key carrier on the control controller when the user approaches the predetermined signal range of the access control device to which the control controller is connected; in case of successful authorization, at least one command is sent from the digital key carrier to at least one control controller; check the right to execute the received at least one command through the control controller, and if the command is allowed by rights, the control controller executes it, otherwise it refuses to execute.
  • a digital key of the user generates a hash function MD5 and / or SHA-1, and / or SHA-256, and / or RIPEMD128, and / or RIPEMD-160, and / or CRC-32.
  • a digital user key is generated by combining the data blocks of the connection methods to the controller, the client's cryptographic key, and token.
  • the digital key carrier is a mobile phone or smartphone, or tablet, or wearable device, or key fob.
  • the specified technical result is achieved by implementing a user authorization system based on its digital key, which contains a subsystem for issuing and administering digital keys, configured to generate a digital user key and store the master key in its database; transmitting the generated at least one digital key to the at least one user to the digital key carrier; at least one digital key carrier, made with the possibility of sending at least one command to at least one control controller in case of successful authorization on this control controller; at least one control controller configured to authorize the digital key carrier when the user approaches the predetermined range of the signal of the control controller connected to the access control device; checking the rights to execute at least one command received from the digital key carrier, and if the command is authorized by rights, the control controller executes it, otherwise it refuses to execute.
  • a user authorization system based on its digital key, which contains a subsystem for issuing and administering digital keys, configured to generate a digital user key and store the master key in its database; transmitting the generated at least one digital key to the at least one user to the digital key carrier; at least one digital key carrier
  • FIG. 1 shows an example implementation of a user authorization system based on its digital key, where 100 is a digital key carrier (mobile user communication device), 110 is a subsystem for issuing and administering digital keys, 120 is a control controller,
  • 100 is a digital key carrier (mobile user communication device)
  • 110 is a subsystem for issuing and administering digital keys
  • 120 is a control controller
  • step 201 transmitting digital keys from the subsystem 110 for issuing and administering digital keys to the digital key carrier 100;
  • step 202 data transmission (records of user access) from the controller 120 to the control 110 subsystem of the issuance and administration of digital keys;
  • step 203 authorizing the digital key carrier 100 on the control controller 120 and transmitting commands, receiving data from the control controller 120 (user access records);
  • step 204 transmitting the digital keys from the control controller 120 to the digital key carrier 100;
  • step 205 transfer of digital keys between digital key carriers (permanent and temporary guest keys); step 206: devices controlled by the control controller, the commands for which the digital key carrier can transmit.
  • FIG. 2 shows an example of the implementation of generating a digital user key for a control controller 120 in the form of a block diagram
  • FIG. 3 shows an example of the implementation of generating a HelloRequest greeting message on a digital key medium 100 for sending to the control controller 120;
  • FIG. 4 shows an example implementation of a HelloRequest greeting message verification upon receipt by the controller 120 of the message from the digital key carrier 100.
  • FIG. 5 shows an example implementation of a user authorization method based on his digital key in the form of a block diagram, where a digital key is generated in the subsystem for issuing and administering digital keys.
  • This technical solution can be implemented on a computer or other data processing device in the form of an automated system or computer-readable medium containing instructions for performing the above method.
  • the technical solution can be implemented in the form of a distributed computer system, the components of which are cloud or local servers.
  • a system means a computer system or an automated system (AS), a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), a computerized control system, and any other devices capable of performing a given, clearly defined sequence of computational operations (actions, instructions).
  • AS automated system
  • CNC number of computers
  • PLC programmable logic controller
  • An instruction processing device is understood to mean an electronic unit or an integrated circuit (microprocessor) executing machine instructions (programs).
  • the command processing device reads and executes machine instructions (programs) from one or more data storage devices.
  • Storage devices may include, but are not limited to, hard disks (HDDs), flash memory, ROM (read only memory), solid state drives (SSDs), optical drives, and cloud storage.
  • a program is a sequence of instructions for execution by a computer control device or an instruction processing device.
  • a controller is a control device in electronics and computer engineering.
  • a digital signature key is a secret data element specific to a subject and used only by that subject in the process of generating a digital signature.
  • Cryptographic salt is a string of random data that is fed to the input of the hash function along with the original data.
  • the main task of salt is to modify the message, which greatly complicates the selection of the signature key using pre-built rainbow tables.
  • ESD Electronic signature
  • EDS Electronic digital signature
  • CPU Digital signature
  • the digital key contains user cryptographic key data, client rights, authenticated by the subsystem 110 for issuing and administering digital keys.
  • a digital key defines possible ways to connect to an access control device that is connected to a control controller 120.
  • the connection methods for example, via the Bluetooth, Bluetooth LE, WIFI, NFC, etc. data transfer protocols
  • the identifier of the control controller 120, the network address of the controller 120 of the control, and the connection channel identifier (UUID) are obtained .
  • the unique identifier of the controller 120 controls can be both numeric and symbolic, without limitation.
  • the digital key data may include a user's cryptographic key and a random binary sequence, by which the client’s rights are generated, certified by the digital key issuing and administration subsystem 110, by generating a signed token.
  • Client rights may contain a digital key identifier, a user identifier in the system, a sign of user administrative rights, the time the rights began, the time the rights expired, a random binary sequence, digital signature. The start time of the rights and the end time of the rights allows you to generate temporary digital keys that are valid for a given period of time.
  • an electromagnetic lock an electromechanical lock, a barrier, a gate, a turnstile, a barrier, a lock cabin can be used.
  • the compact design of the access control device allows it to be installed, for example, on a door frame, in parking lots, in residential complexes, in hotels, offices, gyms, conference rooms, at staff entrances, and night entrances for guests.
  • the access control controller 120 is for controlling and controlling access, for example, an access control device using a smartphone and is a microprocessor-based electronic device.
  • the control controller 120 can be used to control access through doors, barriers, turnstiles and other means of restricting access both independently and as part of an Access Control and Management System (ACS).
  • ACS Access Control and Management System
  • the term “controller” may mean a microcontroller, or simply some concept in the narrow sense of hardware in the form of a controller.
  • the microcontroller can be placed in such a way that its functions will be separated, for example, the controller part (control) will be separated from the computing part located in another chip.
  • the control controller 120 may be provided with an erasure-protected internal memory, preferably an EEPROM type. To achieve an acceptable level of security, the control controller 120 may also include a boot module (operating system loader) to control unauthorized interference in the downloadable application of the control controller 120.
  • the bootloader of the operating system can be located in the protected part of the controller’s processor memory, which is read-only, and it starts after each reset of the device to its original (zero) state. The bootloader performs a monitoring function, monitoring whether the operating system or application programs have changed as a result of unauthorized interference.
  • the bootloader After each reset to zero, the bootloader calculates the hash function value (digital signature) based on the contents of the external flash memory of the program in which the operating system and application programs are stored. Then it compares the result with a value that is stored in external EEPROM memory. If the data matches, the bootloader transfers control to the operating system. If the data does not match, the loader reduces the number of failed attempts registered by the counter by one, and then stops the operation. In the event that the counter reaches a value of zero, the start of the controller 120 controls becomes impossible.
  • the hash function value digital signature
  • the specified memory can store the operating system (as the beginning and end of the addressed area), despite the fact that the value of the hash function for the memory capacity (digital signature) is stored in the controller when the operating system and application (application program) are first saved. In the future, it will be impossible to change this data.
  • a conventional microcontroller based on a microprocessor of 8 bits, 16 bits, 32 bits or 64 bits can be used as a control controller.
  • an external directional antenna is used. Users can open the control controller 120 in three ways:
  • the antennas for both directions should be directed to the approaching cars and spaced as far as possible.
  • the control controller 120 will be triggered, the antenna of which will be closer to the smartphone.
  • control controller 120 When installing the control controller 120 at the entrance, users can also open the control controller 120 in three ways:
  • an antenna is installed outside the entrance, thereby opening the door automatically when entering the entrance from the street.
  • an exit button or a motion sensor connected to the control controller 120 is used to exit the staircase.
  • control controller 120 When installing the control controller 120 in the office, variants of the control controller 120 in the housings may be used to mount a wall that uses a directional or omnidirectional antenna. A variant of the controller 120 controls in the housing on the wall is installed outside the room next to the door. [0047] In the case of using the housing on the wall, users can open the controller in the following ways:
  • a method for authorizing a user based on his digital key, as shown in FIG. 5 may include the following steps.
  • Step 501 generating at least one digital key of at least one user in the digital key issuing and administration subsystem.
  • the digital key issuing and administration subsystem 110 comprises at least one communication module, which may be a mobile communication modem, supporting such communication modes as GSM, GPRS, EDGE, CDMA, EVDO, UMTS, LTE, WiFi and satellite communications , or it can be a fixed line modem supporting fixed line networks such as an ADSL network or a cable network.
  • a mobile communication modem supporting such communication modes as GSM, GPRS, EDGE, CDMA, EVDO, UMTS, LTE, WiFi and satellite communications
  • it can be a fixed line modem supporting fixed line networks such as an ADSL network or a cable network.
  • the various embodiments of the digital key issuing and administration subsystem 110 described herein can be implemented in any computer system or environment that has any number of memory blocks or memory devices and any number of applications and processes running on any number of memory devices.
  • This environment includes, but is not limited to, an environment where the server computers and client computers are provided in a network environment or in a distributed computing environment having remote or local storage.
  • computing systems can be connected to each other by wire or wireless data channels, local networks or global networks.
  • networks are connected to the Internet, which provides an infrastructure for widely distributed computing and covers a large number of different networks, although any network infrastructure can be used for illustrative means of communication inherent in the methods described in various embodiments.
  • a variety of network topologies and network infrastructures can be used, for example, client-server, peer-to-peer or mixed architectures.
  • client-server architecture in particular in a network system, the client is typically a computer that accesses the shared network resources provided by another computer, such as a server.
  • the servers can be web servers with which clients communicate via any of a variety of known protocols, for example, a hypertext transfer protocol (HTTP).
  • Servers can also act as clients, etc., which can serve as a characteristic of a distributed computing environment.
  • HTTP hypertext transfer protocol
  • the generation of digital keys is carried out on the control controller 120.
  • any hash functions satisfying the selected level of cryptographic strength can be used to generate digital keys, for example: MD5, SHA-1, SHA-256, RIPEMD128, RIPEMD-160, CRC-32, and others, not limited to .
  • encryption functions any block and / or stream symmetric encryption algorithms known from the prior art can be used, for example: AES, DES, 3DES, RC4, etc.
  • a user digital key is generated for the control controller 120 according to the following algorithm.
  • a master key is a binary sequence, the length of which depends on the selected hash function and encryption algorithm (for example, 64, 128, 256, 512, 1024, 2048 bits).
  • a client key modifier also called the term “salt” in cryptography is formed in the subsystem 110 for issuing and administering digital keys, which is a random binary sequence.
  • the RC4, ISAAC, SEAL, SNOW algorithm, the Blum – Blum – Shub algorithm, as well as counters with cryptographic hash functions or cryptographic block ciphers instead of an output function can be used.
  • pseudo-random number generators can be used: generators with multiple shift registers, generators with non-linear transformations, A5 / x majority encryption generators.
  • the pseudo random number generator may be implemented in hardware in the processor of the digital key issuing and administration subsystem 110.
  • a hash function is used and the client key is determined.
  • the client key token data is generated by combining ( or in other words concatenation) of the data blocks of the parameters included in it (recording sets of rows one after another).
  • the Signature electronic digital signature is determined, which is a binary sequence obtained by calculating the hash function of the client key token data and the master key of the control controller 120.
  • the client’s rights (token) are generated, certified by the digital key issuing and administration subsystem 110, by combining the client key token data and its digital signature, which can subsequently be encrypted using the master key of the control controller 120.
  • a digital key is created as a combination of data blocks of the following parameters, each representing a numerical or symbolic sequence: connection methods to the controller, client cryptographic key, token.
  • Step 502 transmitting the generated at least one digital key to at least one user from the digital key issuing and administration subsystem to the digital key holder.
  • At least one digital key of the at least one user is respectively generated from the control controller to the digital key carrier.
  • the digital key carrier 100 is authorized, which may be a user’s mobile communication device (mobile phone, smartphone, tablet, and so on) on the control controller 120.
  • a HelloRequest message is sent from the digital key medium 100 to the control controller 120.
  • the control controller 120 may be installed adjacent to a user access point, which may be a door, a barrier, a turnstile, a gate, or the like, without being limited.
  • a HelloRequest greeting message is generated on the digital key medium 100 for sending to the control controller 120 as follows, as shown in FIG. 3.
  • the helloSalt parameter is generated — a random binary sequence that is also called a welcome message salt.
  • the greeting message data is generated (as part of the “handshake” process) as a concatenation of data blocks of the following parameters: message identifier from the beginning of the session (the session opens with the first HelloRequest message sent), client rights authenticated by the digital key issuing and administration subsystem 110, current system time, carrier name 100 digital keys.
  • a transport packet is formed as a concatenation of the greeting message data blocks and the packet header (Header).
  • Header contains an indication of the type of message, for example, a greeting message, or a command to execute, or settings, etc., not limited to.
  • an electronic digital signature is generated for a given transport packet by using the hash function of the network packet data and the hash function of the client key and salt as previously defined.
  • Digital signature is also a binary sequence.
  • the final HelloRequest message is generated as the sum of the data blocks of the transport packet header (Header), greeting message data, and digital signature. Message example:
  • the salt is “V1U0WEs4NGI5N0tl”
  • the current time is 98876623775
  • the name of the digital key carrier is “smart1234”
  • the digital signature is equal to the following value “BwoEYfmkX1kdl19GD7kPwMUJ5nNtFUZ5VklyAXohnuA”. [0084] Thus, the generated HelloRequest message is sent by the digital key medium 100 to the control controller 120.
  • Step 503 the digital key carrier is authorized on the control controller as the user approaches the predetermined range of the signal of the control controller.
  • the controller 120 When the HelloRequest message, it first checks the rights of the client (token), as shown in FIG. 4 as follows. Calculates the digital signature value by determining the hash function from the master key and token data. If the calculated Signature digital signature value matches the one received in the token, then the controller trusts the client’s rights, otherwise HelloRequest is rejected. In an exemplary embodiment, this step is as follows.
  • the client rights received in HelloRequest verified by the digital key issuing and administration subsystem 110, are as follows.
  • the client key consists of a token
  • the client key salt has a value of “ZhbVC8vnmOaOTSd”.
  • the unique client identifier in the system is “8dAIHdWTBk2jwKfDAOuWJQ”.
  • the start time of the right is 1418122051, and the end time of the right is 1428122051.
  • additional parameters are checked, such as a salt, a unique identifier of the user, whether the user is an administrator, the start time of the rights, the end time of the rights. If the current time is outside this period, then the user does not have the necessary rights to control the controller 120 controls. If the user has additional administrator rights, then he is allowed an extended list of operations with the controller 120 management, including configuration and updating.
  • the HelloRequest value is checked in the same way, as shown above.
  • a salt (modifier) is generated for the session as a random binary sequence. Then, a response message is formed as a concatenation of the blocks of the unique identifier of the message from the beginning of the session, the state of the executive devices (for the access control device, these are the states “Open” and “Closed”) and salt of the session.
  • the network packet is formed as a concatenation of the response message and the header of the network packet (Header), after which a digital signature is generated for the network packet by obtaining the hash value from the network packet of the response message and the hash value from the client key and salt.
  • the final HelloResponce response message is sent by the control controller 120 to the digital key carrier 100.
  • the digital key carrier 100 verifies the HelloResponce response message by determining a digital signature and computing a hash function from the network response message packet and a hash value from the client key and salt, which is a binary sequence. If a certain digital signature value matches the one received in HelloResponce, then the digital key holder 100 trusts HelloResponce, otherwise the message is rejected.
  • Step 504 in case of successful authorization, at least one command is sent from the digital key carrier to at least one control controller.
  • the digital key medium 100 may send commands to the controller 120.
  • Commands for the controller 120 controls can be formed as follows.
  • the session key is calculated as a hash from the session salt and hash values from the client key and salt, which is a binary sequence.
  • a command is created that contains the field T, which stores the time elapsed from the moment of connecting the digital key carrier 100 to the control controller 120 (or any other moment shifted by a predetermined time) until the command is sent. This time protects against attacks by intercepting a message and sending it later.
  • the set of required fields may vary.
  • a network packet is created containing the command and the packet header (Header), for which a digital signature is generated by determining the hash value from the session key and network packet.
  • the final command is sent by the digital key carrier 100 to the control controller 120.
  • Step 505 the rights to execute the received at least one command are checked by the control controller.
  • the command Upon receipt of a command, the command is checked on the control controller 120.
  • the controller verifies the digital signature of the command as follows. Determine the hash value from the session key and network packet. If the calculated digital signature value matches the one received in the command, then the control controller 120 trusts the command, otherwise the execution of the command is rejected. Also, the controller 120 controls checks the time of sending the command. The time T received in the command from the digital key carrier 100 is compared with the time T2 calculated in the controller 120. If the difference between T2 and T is greater than the set value, the command is rejected.
  • the controller 120 controls checks the rights to execute the command.
  • the controller compares the command with the rights allowed in the client’s rights, certified by the subsystem 110 for issuing and administering digital keys. If the team allowed by rights, the controller 120 controls it, otherwise it refuses to execute.
  • authorization and verification of the digital key medium 100 is carried out using message encryption, which consists of several stages: authorization, sending a command and verifying a command.
  • the HelloRequest message is generated by the digital key medium 100 as follows.
  • the digital key carrier 100 receives from the control controller 120 a salt, a random binary sequence.
  • the controller 120 changes the salt every t seconds and stores the last n salts.
  • Digital key carrier 100 uses these salts to form a greeting message.
  • When receiving a message from the client it is not known which salt he used and iterates through everything. Moreover, if the client used salt older than 10 s - it is rejected, which provides protection from interception and sending messages later.
  • the greeting message data is generated (as part of the handshake process) as the concatenation of the data blocks of the following parameters: time from the moment of connection, client key identifier, client rights authenticated by the digital key issuing and administration subsystem 110, current system time, media name 100 digital keys, command to the controller 120 controls.
  • the transport layer network packet is formed as a concatenation of the greeting message data blocks and the packet header.
  • Header contains a message type flag.
  • a digital signature is generated for a given network packet by using the hash function of the network packet data and the hash function of the client key and salt as previously defined.
  • Digital signature is also a binary sequence.
  • the data of the greeting message on helloKey is encrypted with any block or stream symmetric cipher with a sufficient level of cryptographic strength (for example, AES, DES, 3DES, RC4, etc.), an encrypted HelloRequest message is received, to which salt is added before sending via concatenation .
  • AES AES, DES, 3DES, RC4, etc.
  • the generated HelloRequest message is sent by the digital key medium 100 to the control controller 120, where it is checked.
  • the controller 120 When the controller 120 receives the HelloRequest message, it first checks to determine the value of the client key by determining the hash function from the master key and client salt. Next, the helloKey value is determined by determining the hash function of the client key and the salt stored previously on the controller, which is determined by enumerating the values. [00115] Then, the helloKey value is used to decode the HelloRequest message. For a network packet, a digital signature is determined by defining a hash function from helloKey and this network packet.
  • the control controller 120 trusts the digital key carrier 100 and removes the used salt from the stored values, otherwise HelloRequest is rejected.
  • An electronic digital signature has the meaning of:
  • NAEN master key, client salt
  • HASH HASH
  • U0FNUENjc4OTAxFLVRPS0VOLTFNUExFLEyMzQ1 Njc4OTA "MGp2RIJEOTFFdWpU!”
  • D11 xY0sSJLzFFe02KznZwDTjEeS1ZR2cJQGfeklA Nw ".
  • the network packet is as follows:
  • token "ZXIKaGJHY2IPaUpJVXpJMU5pSXNJbll1Y0NJNklrcFhWQ0o5LmV 5SjFhV1 FpT2IKaVlqSmpZVFE1T1 FGbU56STBNbU5tWVdReU9HRTJObU13TU dObE5qVTFPQOIzSW1 Oem J IU WIPaUpXTVZVd 1 YwVnpORTVIU 1 RWT011 UnN J aXdpWTJGc1p5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk 56STJOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25 YeEMxZ0VICnluYWtKdmR
  • media name “smart1234”.
  • composite digital keys are used that are designed to aggregate the digital keys needed to access a given perimeter.
  • the composite key is stored on the digital key carrier 100.
  • the composite key includes digital keys from all control controllers assigned to this perimeter.
  • the composite key includes digital keys from all control controllers assigned to higher perimeters, which include a given perimeter.
  • a composite digital key may include the following data:
  • All components used in the system can be implemented using electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, microcircuits can be used, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming. For programming, programmers and debugging environments are used that allow you to specify the desired structure of a digital device in the form of a circuit diagram or programs in special equipment description languages: Verilog, VHDL, AHDL, etc.
  • FPGAs can be programmable logic controllers (PLCs), base matrix crystals (BMK) requiring a factory production process for programming; ASIC - specialized custom large integrated circuits (LSI), which are much more expensive in small-scale and single-unit production.
  • PLCs programmable logic controllers
  • BMK base matrix crystals
  • ASIC - specialized custom large integrated circuits (LSI) which are much more expensive in small-scale and single-unit production.
  • the FPGA chip itself consists of the following components: • configurable logic blocks that implement the required logical function;

Abstract

The present technical solution relates, in general, to the field of computer technology, and in particular to methods and systems for monitoring and controlling access of a user to a site by use of a digital key. A method for authorizing a user on the basis of the user's digital key, in which at least one digital key of at least one user is generated in a subsystem for issuing and administering digital keys; the generated at least one digital key of at least one user is transferred from the subsystem for issuing and administering digital keys to a digital key carrier; the digital key carrier is authorized in a master controller as the user arrives at a prespecified area of action of a signal of the master controller, which is connected to an access monitoring device; if the authorization is successful, at least one command is directed from the digital key carrier to at least one master controller; the license for carrying out the at least one command received is checked by means of the master controller, wherein, if the license permits the command, the master controller carries out the command, but otherwise declines to carry out said command. The technical result is an increase in the security of authorizing a user to control distributed master controllers which are not connected to a data transmission network.

Description

СПОСОБ И СИСТЕМА АВТОРИЗАЦИИ ПОЛЬЗОВАТЕЛЯ НА ОСНОВАНИИ  METHOD AND SYSTEM OF USER AUTHORIZATION BASED ON
ЕГО ЦИФРОВОГО КЛЮЧА  HIS DIGITAL KEY
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
[001] Данное техническое решение, в общем, относится к области вычислительной техники, а в частности, к способам и системам контроля и управления доступом пользователя к объекту посредством использования цифрового ключа [001] This technical solution, in General, relates to the field of computer technology, and in particular, to methods and systems for monitoring and controlling user access to the object by using a digital key
УРОВЕНЬ ТЕХНИКИ BACKGROUND
[002] В настоящее время одним из главных трендов построения современных систем контроля и управления доступом является использование мобильного устройства связи пользователя, который привыкает все больше функций возлагать и выполнять на собственном смартфоне. Тем более, что вероятность забыть дома карту доступа, физический токен, ключ от офиса или машины - значительно выше, чем забыть мобильное устройство связи. [002] Currently, one of the main trends in building modern access control and management systems is the use of a user’s mobile communication device, which is getting more and more used to assign and perform functions on its own smartphone. Moreover, the probability of forgetting an access card at home, a physical token, an office or car key is much higher than forgetting a mobile communication device.
[003] Известные из уровня техники централизованные системы контроля доступа состоят как правило из центра управления, в котором доступ управляется посредством программного обеспечения. В некоторых вариантах реализации программное обеспечение включает средства для создания цифровых ключей, с помощью которых разрешено открытие различных точек доступа в соответствии с установленной программой управления доступом, для чего эти точки содержат средства считывания, которые соединены со средством управления устройства доступа таким образом, что при чтении цифрового ключа доступ разрешается или отклоняется на основании программного кода. [003] Prior art centralized access control systems consist typically of a control center in which access is controlled by software. In some implementations, the software includes means for creating digital keys, with which it is allowed to open various access points in accordance with the installed access control program, for which these points contain reading means that are connected to the control means of the access device so that when reading Digital key access is allowed or denied based on program code.
[004] Запрограммированные средства идентификации ключа и пользователя могут быть воплощены в виде магнитных, электронных, контактных или бесконтактных карт или ключей, которые предоставляются каждому пользователю, чтобы они могли открывать двери с помощью считывателей. [005] Эти системы контроля доступа должны поддерживать обмен данными между средствами считывания, ключами и центром управления. В зависимости от типа системы, они делятся на два базовых типа: проводные и автономные. [004] The programmed key and user identification means may be embodied in the form of magnetic, electronic, contact or proximity cards or keys that are provided to each user so that they can open doors using readers. [005] These access control systems must support the exchange of data between readers, keys, and a control center. Depending on the type of system, they are divided into two basic types: wired and stand-alone.
[006] В проводных системах считыватели соединены с центром управления через сеть связи таким образом, что когда электронный ключ обнаруживается в считывателе, последний спрашивал центр управления, может ли он открыть дверь, и если это так, центр управления регистрирует операцию открытия в своей базе данных и записывает код ключа, конкретную дверь, дату и время открытия. Связь считывателя и центра управления может устанавливаться периодически для обмена этими данными. [006] In wired systems, readers are connected to the control center via a communication network so that when an electronic key is found in the reader, the latter asked the control center if it can open the door, and if so, the control center registers the opening operation in its database and writes the key code, specific door, date and time of opening. Communication between the reader and the control center can be established periodically to exchange this data.
[007] В случае автономных систем считыватели не подключены к центру управления, что делает системы более дешевыми и простыми в установке. Для возможности функционирования считыватели запоминают список авторизованных ключей, выполненных открытий, разрешенное время открытий и даже календарь. В этом случае небольшое переносное вычислительное устройство используется для передачи данных из центра управления, где он был определен считывающим устройством, а также для сбора данных от считывателей и передачи этих данных в центр управления. Следовательно, коммуникация требует от человека физического доступа ко всем считывателям с использованием переносного вычислительного устройства. Этот метод не очень эффективен в больших и сложных системах, в которых очень часто происходят изменения цифровых ключей, набора пользователей и их полномочий.  [007] In the case of autonomous systems, readers are not connected to a control center, which makes the systems cheaper and easier to install. For the possibility of functioning, readers remember a list of authorized keys, completed openings, the allowed opening times, and even a calendar. In this case, a small portable computing device is used to transfer data from the control center, where it was detected by the reader, as well as to collect data from readers and transfer this data to the control center. Therefore, communication requires a person to have physical access to all readers using a portable computing device. This method is not very effective in large and complex systems, in which very often there are changes in digital keys, a set of users and their credentials.
[008] Из уровня техники известна заявка на патент US20050174214A1 «Система контроля доступа», заявитель: Salto Systems SL, опубликовано: 11.08.2005. Данное техническое решение включает в себя средства считывания для средств, кодирующих ключи и средств идентификации пользователя, включающие в себя средство хранения идентификационного кода самого считывателя, причем упомянутое средство считывания соединено с управляющим средством средства открытия устройства доступа к определенному месту, которое открывает или запрещает открытие устройства доступа при чтении закодированных ключей и средств идентификации пользователя. [008] Patent application US20050174214A1 “Access control system” is known from the prior art, Applicant: Salto Systems SL, published: 08/11/2005. This technical solution includes reading means for means encoding keys and user identification means, including means for storing the identification code of the reader itself, said reading means being connected to control means of opening means for opening an access device to a certain place, which opens or prohibits opening an access device while reading encoded keys and user identification means.
[009] Недостатком данного технического решения является взаимодействие средств авторизации (носителей ключей) с подсистемой администрирования доступа через считыватель средств авторизации, подключенный к сети передачи данных, поскольку предполагается использование смарт-карт. В предлагаемом решении средства авторизации (носители цифровых ключей), которыми являются смартфоны, взаимодействуют с подсистемой администрирования доступа напрямую, что ускоряет передачу данных между контроллерами управления и подсистемой администрирования доступа. Кроме того, в указанном патенте не указан способ проверки подлинности информации, передаваемой между подсистемами, что значительно снижает безопасность системы. СУЩНОСТЬ ИЗОБРЕТЕНИЯ  [009] The disadvantage of this technical solution is the interaction of authorization means (key carriers) with the access administration subsystem through an authorization means reader connected to a data network, since smart cards are supposed to be used. In the proposed solution, authorization tools (digital key carriers), which are smartphones, interact directly with the access administration subsystem, which speeds up the data transfer between the controllers and the access administration subsystem. In addition, the specified patent does not indicate a method for verifying the authenticity of information transmitted between subsystems, which significantly reduces the security of the system. SUMMARY OF THE INVENTION
[0010] Данное техническое решение направлено на устранение недостатков, свойственных решениям, известным из уровня техники.  [0010] This technical solution is aimed at eliminating the disadvantages inherent in solutions known from the prior art.
[0011] Технической задачей или проблемой, решаемой в данном техническом решении, является обеспечение контроля и управления доступом пользователя к объекту посредством использования цифрового ключа.  [0011] The technical task or problem to be solved in this technical solution is to provide control and management of user access to the object by using a digital key.
[0012] Техническим результатом, проявляющимся при решении вышеуказанной технической задачи, является повышение безопасности авторизации пользователя для управления распределенными контроллерами управления, не подключенными к сети передачи данных. Таким образом формируется защищенная распределенная система контроля доступа, в которой контроллеры не подключены к сети передачи данных, а взаимодействие между контроллерами и подсистемой администрирования осуществляется через носители цифровых ключей, подключенные к сети передачи данных.  [0012] The technical result manifested in solving the above technical problem is to increase the security of user authorization for controlling distributed controllers that are not connected to a data network. Thus, a secure distributed access control system is formed in which the controllers are not connected to the data network, and the interaction between the controllers and the administration subsystem is through digital key carriers connected to the data network.
[0013] Дополнительным техническим результатом, проявляющимся при решении вышеуказанной задачи, является реализация верифицированного гостевого доступа пользователей, посредством отправки временных цифровых ключей на смартфон пользователя. [0014] Указанный технический результат достигается благодаря осуществлению способа авторизации пользователя на основании его цифрового ключа, в котором формируют по меньшей мере один цифровой ключ по меньшей мере одного пользователя в подсистеме выдачи и администрирования цифровых ключей; передают сформированный по меньшей мере один цифровой ключ по меньшей мере одного пользователя из подсистемы выдачи и администрирования цифровых ключей носителю цифрового ключа; осуществляют авторизацию носителя цифрового ключа на контроллере управления при подходе пользователя в заранее заданную зону действия сигнала устройства контроля доступа, с которым соединен контроллер управления; в случае успешной авторизации направляют по меньшей мере одну команду из носителя цифрового ключа на по меньшей мере один контроллер управления; проверяют права на выполнение полученной по меньшей мере одной команды посредством контроллера управления, причем если команда разрешена правами, контроллер управления ее выполняет, а иначе отказывает в выполнении. [0013] An additional technical result manifested in solving the above problem is the implementation of verified guest access by users by sending temporary digital keys to the user's smartphone. [0014] This technical result is achieved by implementing a user authorization method based on his digital key, in which at least one digital key of at least one user is generated in the digital key issuing and administration subsystem; transmitting the generated at least one digital key of at least one user from the subsystem for issuing and administering digital keys to the digital key holder; carry out authorization of the digital key carrier on the control controller when the user approaches the predetermined signal range of the access control device to which the control controller is connected; in case of successful authorization, at least one command is sent from the digital key carrier to at least one control controller; check the right to execute the received at least one command through the control controller, and if the command is allowed by rights, the control controller executes it, otherwise it refuses to execute.
[0015] В некоторых вариантах реализации изобретения формируют цифровой ключ пользователя хэш-функция MD5 и/или SHA-1 , и/или SHA- 256, и/или RIPEMD128, и/или RIPEMD-160, и/или CRC-32.  [0015] In some embodiments of the invention, a digital key of the user generates a hash function MD5 and / or SHA-1, and / or SHA-256, and / or RIPEMD128, and / or RIPEMD-160, and / or CRC-32.
[0016] В некоторых вариантах реализации изобретения формируют цифровой ключ пользователя посредством объединения блоков данных способов подключения к контроллеру, криптографического ключа клиента, токена. [0016] In some embodiments of the invention, a digital user key is generated by combining the data blocks of the connection methods to the controller, the client's cryptographic key, and token.
[0017] В некоторых вариантах реализации изобретения носителем цифрового ключа является мобильный телефон или смартфон, или планшет, или носимое устройство, или брелок.  [0017] In some embodiments of the invention, the digital key carrier is a mobile phone or smartphone, or tablet, or wearable device, or key fob.
[0018] Также указанный технический результат достигается благодаря осуществлению системы авторизации пользователя на основании его цифрового ключа, которая содержит подсистему выдачи и администрирования цифровых ключей, выполненную с возможностью формирования цифрового ключа пользователя и хранения в своей базе данных мастер-ключа; передачи сформированного по меньшей мере одного цифрового ключа по меньшей мере одного пользователя носителю цифрового ключа; по меньшей мере один носитель цифровых ключей, выполненный с возможностью направления по меньшей мере одной команды на по меньшей мере один контроллер управления в случае успешной авторизации на данном контроллере управления; по меньшей мере один контроллер управления, выполненный с возможностью осуществления авторизации носителя цифрового ключа при подходе пользователя в заранее заданную зону действия сигнала контроллера управления, соединенного с устройством контроля доступа; проверки прав на выполнение полученной по меньшей мере одной команды от носителя цифрового ключа, причем если команда разрешена правами, контроллер управления ее выполняет, иначе отказывает в выполнении. [0018] Also, the specified technical result is achieved by implementing a user authorization system based on its digital key, which contains a subsystem for issuing and administering digital keys, configured to generate a digital user key and store the master key in its database; transmitting the generated at least one digital key to the at least one user to the digital key carrier; at least one digital key carrier, made with the possibility of sending at least one command to at least one control controller in case of successful authorization on this control controller; at least one control controller configured to authorize the digital key carrier when the user approaches the predetermined range of the signal of the control controller connected to the access control device; checking the rights to execute at least one command received from the digital key carrier, and if the command is authorized by rights, the control controller executes it, otherwise it refuses to execute.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Признаки и преимущества настоящего технического решения станут очевидными из приведенного ниже подробного описания и прилагаемых чертежей, на которых:  [0019] The features and advantages of this technical solution will become apparent from the following detailed description and the accompanying drawings, in which:
[0020] На Фиг. 1 показан пример реализации системы авторизации пользователя на основании его цифрового ключа, где 100 - носитель цифровых ключей (мобильное устройство связи пользователя), 110 - подсистема выдачи и администрирования цифровых ключей, 120 - контроллер управления,  [0020] In FIG. 1 shows an example implementation of a user authorization system based on its digital key, where 100 is a digital key carrier (mobile user communication device), 110 is a subsystem for issuing and administering digital keys, 120 is a control controller,
шаг 201 : передача цифровых ключей из подсистемы 110 выдачи и администрирования цифровых ключей на носитель 100 цифровых ключей; шаг 202: передача данных (записи о доступе пользователей) от контроллера 120 управления в 110 подсистему выдачи и администрирования цифровых ключей;  step 201: transmitting digital keys from the subsystem 110 for issuing and administering digital keys to the digital key carrier 100; step 202: data transmission (records of user access) from the controller 120 to the control 110 subsystem of the issuance and administration of digital keys;
шаг 203: авторизация носителя 100 цифровых ключей на контроллере 120 управления и передача команд, получение данных от контроллера 120 управления (записи о доступе пользователей);  step 203: authorizing the digital key carrier 100 on the control controller 120 and transmitting commands, receiving data from the control controller 120 (user access records);
шаг 204: передача цифровых ключей от контроллера управления 120 на носитель 100 цифровых ключей;  step 204: transmitting the digital keys from the control controller 120 to the digital key carrier 100;
шаг 205: передача цифровых ключей между носителями цифровых ключей (постоянные и временные гостевые ключи); шаг 206: управляемые с помощью контроллера управления устройства, команды для которых может передавать носитель цифровых ключей. step 205: transfer of digital keys between digital key carriers (permanent and temporary guest keys); step 206: devices controlled by the control controller, the commands for which the digital key carrier can transmit.
[0021] На Фиг. 2 показан пример реализации формирования цифрового ключа пользователя для контроллера 120 управления в виде блок-схемы;  [0021] In FIG. 2 shows an example of the implementation of generating a digital user key for a control controller 120 in the form of a block diagram;
[0022] На Фиг. 3 показан пример реализации формирования приветственного сообщения HelloRequest на носителе 100 цифровых ключей для отправки на контроллер 120 управления;  [0022] In FIG. 3 shows an example of the implementation of generating a HelloRequest greeting message on a digital key medium 100 for sending to the control controller 120;
[0023] На Фиг. 4 показан пример реализации проверки приветственного сообщения HelloRequest при получении контроллером 120 управления сообщения от носителя 100 цифровых ключей.  [0023] In FIG. 4 shows an example implementation of a HelloRequest greeting message verification upon receipt by the controller 120 of the message from the digital key carrier 100.
[0024] На Фиг. 5 показан пример реализации способа авторизации пользователя на основании его цифрового ключа в виде-блок схемы, где цифровой ключ формируется в подсистеме выдачи и администрирования цифровых ключей.  [0024] In FIG. 5 shows an example implementation of a user authorization method based on his digital key in the form of a block diagram, where a digital key is generated in the subsystem for issuing and administering digital keys.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ DETAILED DESCRIPTION OF THE INVENTION
[0025] Данное техническое решение может быть реализовано на компьютере или другом устройстве обработки данных в виде автоматизированной системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.  [0025] This technical solution can be implemented on a computer or other data processing device in the form of an automated system or computer-readable medium containing instructions for performing the above method.
[0026] Техническое решение может быть реализовано в виде распределенной компьютерной системы, компоненты которой являются облачными или локальными серверами.  [0026] The technical solution can be implemented in the form of a distributed computer system, the components of which are cloud or local servers.
[0027] В данном решении под системой подразумевается компьютерная система или автоматизированная система (АС), ЭВМ (электронно- вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированная система управления и любые другие устройства, способные выполнять заданную, чётко определённую последовательность вычислительных операций (действий, инструкций). [0027] In this decision, a system means a computer system or an automated system (AS), a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), a computerized control system, and any other devices capable of performing a given, clearly defined sequence of computational operations (actions, instructions).
[0028] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы). [0029] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы, облачные хранилища данных. [0028] An instruction processing device is understood to mean an electronic unit or an integrated circuit (microprocessor) executing machine instructions (programs). [0029] The command processing device reads and executes machine instructions (programs) from one or more data storage devices. Storage devices may include, but are not limited to, hard disks (HDDs), flash memory, ROM (read only memory), solid state drives (SSDs), optical drives, and cloud storage.
[0030] Программа— последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.  [0030] A program is a sequence of instructions for execution by a computer control device or an instruction processing device.
[0031] Контроллер — устройство управления в электронике и вычислительной технике. [0031] A controller is a control device in electronics and computer engineering.
[0032] Ключ цифровой подписи - элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи.  [0032] A digital signature key is a secret data element specific to a subject and used only by that subject in the process of generating a digital signature.
[0033] Криптографическая соль (соль)— строка случайных данных, которая подается на вход хеш-функции вместе с исходными данными. Основная задача соли — модификация сообщения, что значительно осложняет подбор ключа подписи с помощью предварительно построенных радужных таблиц. [0033] Cryptographic salt (salt) is a string of random data that is fed to the input of the hash function along with the original data. The main task of salt is to modify the message, which greatly complicates the selection of the signature key using pre-built rainbow tables.
[0034] Электронная подпись (ЭП), Электронная цифровая подпись (ЭЦП), Цифровая подпись (ЦП)— реквизит электронного документа, полученный в результате криптографического преобразования информации с использованием закрытого ключа подписи и позволяющий проверить отсутствие искажения информации в электронном документе с момента формирования подписи (целостность), принадлежность подписи владельцу сертификата ключа подписи (авторство), а в случае успешной проверки подтвердить факт подписания электронного документа (неотказуемость). [0034] Electronic signature (ES), Electronic digital signature (EDS), Digital signature (CPU) - the details of an electronic document obtained as a result of cryptographic conversion of information using a private signature key and allowing to verify the absence of distortion of information in an electronic document from the moment of signature generation (integrity), whether the signature belongs to the holder of the signature key certificate (authorship), and in case of successful verification, confirm the fact of signing the electronic document (non-repudiation).
[0035] Данное техническое решение позволяет демонстрировать пользователю на его смартфоне необходимую для доступа к объекту информацию (схему прохода к объекту, контактные телефоны и др.), переданную ему в цифровом ключе, возможность обусловить предоставление услуг доступа, получаемых при помощи цифрового ключа, оплатой данных услуг, производимой через мобильное приложение, с реквизитами платежа, переданными в цифровом ключе, возможность управлять устройствами, подключенными к контроллерам управления, посредством команд, заданных в цифровом ключе. [0035] This technical solution allows you to demonstrate to the user on his smartphone the information necessary for accessing the object (access to the object, contact numbers, etc.) transmitted to him in a digital key, the ability to condition the provision of access services received with a digital key by payment data of services made through a mobile application, with payment details transmitted in a digital key, an opportunity manage devices connected to control controllers using the commands specified in the digital key.
[0036] Цифровой ключ содержит данные криптографического ключа пользователя, права клиента, удостоверенные подсистемой 110 выдачи и администрирования цифровых ключей. В некоторых вариантах реализации цифровой ключ задает возможные способы подключения к устройству контроля доступа, который подключен к контроллеру 120 управления. В случае задания способов подключения (например, по протоколам передачи данных Bluetooth, Bluetooth LE, WIFI, NFC и т.д.) к устройству контроля доступа получают идентификатор контроллера 120 управления, сетевой адрес контроллера 120 управления, а также идентификатор канала подключения (UUID). Уникальный идентификатор контроллера 120 управления может быть как числовым, так и символьным, не ограничиваясь. Данные цифрового ключа могут включать криптографический ключ пользователя и случайную бинарную последовательность, с помощью которой сформированы права клиента, удостоверенные подсистемой 110 выдачи и администрирования цифровых ключей, при помощи формирования подписанного токена.  [0036] The digital key contains user cryptographic key data, client rights, authenticated by the subsystem 110 for issuing and administering digital keys. In some implementations, a digital key defines possible ways to connect to an access control device that is connected to a control controller 120. In the case of setting the connection methods (for example, via the Bluetooth, Bluetooth LE, WIFI, NFC, etc. data transfer protocols) to the access control device, the identifier of the control controller 120, the network address of the controller 120 of the control, and the connection channel identifier (UUID) are obtained . The unique identifier of the controller 120 controls can be both numeric and symbolic, without limitation. The digital key data may include a user's cryptographic key and a random binary sequence, by which the client’s rights are generated, certified by the digital key issuing and administration subsystem 110, by generating a signed token.
[0037] Права клиента могут содержать идентификатор цифрового ключа, идентификатор пользователя в системе, признак административных прав пользователя, время начала действия прав, время окончания действия прав, случайную бинарную последовательность, цифровую подпись. Время начала действия прав и время окончания действия прав позволяет формировать временные цифровые ключи, которые действуют в течение заданного промежутка времени.  [0037] Client rights may contain a digital key identifier, a user identifier in the system, a sign of user administrative rights, the time the rights began, the time the rights expired, a random binary sequence, digital signature. The start time of the rights and the end time of the rights allows you to generate temporary digital keys that are valid for a given period of time.
[0038] В качестве устройства контроля доступа в данном техническом решении могут использовать электромагнитный замок, электромеханический замок, шлагбаум, ворота, турникет, барьер, шлюзовая кабина.  [0038] As an access control device in this technical solution, an electromagnetic lock, an electromechanical lock, a barrier, a gate, a turnstile, a barrier, a lock cabin can be used.
[0039] Компактная конструкция устройства контроля доступа позволяет устанавливать его, например, на дверной раме, на парковках, в жилых комплексах, в гостиницах, офисах, тренажерных залах, конференц-залах, на входах для персонала, ночных входах для гостей. [0040] Контроллер 120 управления доступом предназначен для контроля и управления доступом, например, устройства контроля доступом при помощи смартфона и представляет собой микропроцессорное электронное устройство. Контроллер 120 управления может использоваться для управления доступом через двери, шлагбаумы, турникеты и другие средства ограничения доступа как самостоятельно, так и в составе Системы контроля и управления доступом (СКУД). В некоторых вариантах осуществления термин "контроллер" может подразумевать микроконтроллер или просто некое понятие в узком смысле аппаратного средства в виде контроллера. Микроконтроллер может быть размещен таким образом, что его функции будут разделены, например контроллерная часть (управляющая) будет отделена от вычислительной части, находящейся в другом чипе. Контроллер 120 управления может быть снабжен защищенной от стирания внутренней памятью, предпочтительно EEPROM-типа. Для достижения приемлемого уровня безопасности контроллер 120 управления может также содержать модуль загрузки (загрузчик операционной системы) для контроля за несанкционированным вмешательством в загружаемую прикладную программу контроллера 120 управления. Загрузчик операционной системы может размещаться в защищенной части памяти процессора контроллера, предназначенной только для чтения, причем он запускается после каждого сброса устройства в исходное (нулевое) состояние. Загрузчик выполняет функцию контроля, отслеживая, не претерпели ли изменения операционная система или прикладные программы в результате несанкционированного вмешательства. После каждого сброса на нуль загрузчик вычисляет значение хеш-функции (электронно-цифровая подпись) на основе содержимого внешней флэш-памяти программы, в которой хранятся операционная система и прикладные программы. Затем он сравнивает полученный результат со значением, которое хранится во внешней EEPROM-памяти. Если данные совпадают, загрузчик передает управление операционной системе. Если данные не совпадают, загрузчик уменьшает на единицу регистрируемое счетчиком число неудачных попыток, а затем останавливает операцию. В том случае, если счетчик достигает значения нуля, запуск контроллера 120 управления становится невозможным. В указанной памяти может храниться операционная система (как начало и конец адресуемой области), притом, что значение хеш-функции для емкости памяти (электронно-цифровая подпись) сохраняется в контроллере при первом сохранении операционной системы и приложения (прикладной программы). В дальнейшем произвести изменение этих данных будет невозможно. [0039] The compact design of the access control device allows it to be installed, for example, on a door frame, in parking lots, in residential complexes, in hotels, offices, gyms, conference rooms, at staff entrances, and night entrances for guests. [0040] The access control controller 120 is for controlling and controlling access, for example, an access control device using a smartphone and is a microprocessor-based electronic device. The control controller 120 can be used to control access through doors, barriers, turnstiles and other means of restricting access both independently and as part of an Access Control and Management System (ACS). In some embodiments, the term “controller” may mean a microcontroller, or simply some concept in the narrow sense of hardware in the form of a controller. The microcontroller can be placed in such a way that its functions will be separated, for example, the controller part (control) will be separated from the computing part located in another chip. The control controller 120 may be provided with an erasure-protected internal memory, preferably an EEPROM type. To achieve an acceptable level of security, the control controller 120 may also include a boot module (operating system loader) to control unauthorized interference in the downloadable application of the control controller 120. The bootloader of the operating system can be located in the protected part of the controller’s processor memory, which is read-only, and it starts after each reset of the device to its original (zero) state. The bootloader performs a monitoring function, monitoring whether the operating system or application programs have changed as a result of unauthorized interference. After each reset to zero, the bootloader calculates the hash function value (digital signature) based on the contents of the external flash memory of the program in which the operating system and application programs are stored. Then it compares the result with a value that is stored in external EEPROM memory. If the data matches, the bootloader transfers control to the operating system. If the data does not match, the loader reduces the number of failed attempts registered by the counter by one, and then stops the operation. In the event that the counter reaches a value of zero, the start of the controller 120 controls becomes impossible. IN The specified memory can store the operating system (as the beginning and end of the addressed area), despite the fact that the value of the hash function for the memory capacity (digital signature) is stored in the controller when the operating system and application (application program) are first saved. In the future, it will be impossible to change this data.
[0041] В некоторых вариантах реализации изобретения в качестве контроллера управления может использоваться обычный микроконтроллер на базе микропроцессора разрядностью 8 бит, 16 бит, 32 бита или 64 бита.  [0041] In some embodiments of the invention, a conventional microcontroller based on a microprocessor of 8 bits, 16 bits, 32 bits or 64 bits can be used as a control controller.
[0042] При установке контроллера 120 управления на парковке используется внешняя направленная антенна. Пользователи могут открывать контроллер 120 управления тремя способами: [0042] When installing the parking control controller 120, an external directional antenna is used. Users can open the control controller 120 in three ways:
• Автоматически по приближению;  • Automatically in approximation;
• С помощью жеста;  • With a gesture;
· По кнопке из приложения.  · By a button from the application.
[0043] В случае, когда въезд и выезд осуществляются через разные шлагбаумы, установленные рядом, антенны для обоих направлений должны быть направлены на подъезжающие автомобили и разнесены на максимальное расстояние. По приближению или жесту будет срабатывать контроллер 120 управления, антенна которого будет ближе к смартфону.  [0043] In the case where the entry and exit are carried out through different barriers installed nearby, the antennas for both directions should be directed to the approaching cars and spaced as far as possible. By proximity or gesture, the control controller 120 will be triggered, the antenna of which will be closer to the smartphone.
[0044] При установке контроллера 120 управления на подъезде пользователи также могут открывать контроллер 120 управления тремя способами:  [0044] When installing the control controller 120 at the entrance, users can also open the control controller 120 in three ways:
• Автоматически по приближению;  • Automatically in approximation;
• С помощью жеста;  • With a gesture;
· По кнопке из приложения.  · By a button from the application.
[0045] Обычно, антенна устанавливается снаружи подъезда, за счет этого автооткрытие срабатывает при входе в подъезд с улицы. Для выхода из подъезда используется кнопка выхода, либо датчик движения, подключаемый к контроллеру 120 управления как внешнее устройство.  [0045] Typically, an antenna is installed outside the entrance, thereby opening the door automatically when entering the entrance from the street. To exit the staircase, use the exit button or a motion sensor connected to the control controller 120 as an external device.
[0046] При установке контроллера 120 управления в офисе могут использовать варианты контроллера 120 управления в корпусах для монтажа стену, в котором используется направленная или всенаправленная антенна. Вариант контроллера 120 управления в корпусе на стену устанавливается снаружи помещения рядом с дверью. [0047] В случае использования корпуса на стену пользователи могут открывать контроллер следующими способами: [0046] When installing the control controller 120 in the office, variants of the control controller 120 in the housings may be used to mount a wall that uses a directional or omnidirectional antenna. A variant of the controller 120 controls in the housing on the wall is installed outside the room next to the door. [0047] In the case of using the housing on the wall, users can open the controller in the following ways:
• поднести смартфон к контроллеру на расстояние 5-10 см;  • bring the smartphone to the controller at a distance of 5-10 cm;
• с помощью кнопки или датчика на стене;  • using a button or sensor on the wall;
· с помощью жеста смартфоном;  · Using a gesture by a smartphone;
• по кнопке из мобильного приложения на смартфоне.  • by a button from a mobile application on a smartphone.
[0048] Способ авторизации пользователя на основании его цифрового ключа, как показано на Фиг. 5, может включать следующие шаги.  [0048] A method for authorizing a user based on his digital key, as shown in FIG. 5 may include the following steps.
[0049] Шаг 501 : формируют по меньшей мере один цифровой ключ по меньшей мере одного пользователя в подсистеме выдачи и администрирования цифровых ключей.  [0049] Step 501: generating at least one digital key of at least one user in the digital key issuing and administration subsystem.
[0050] В подсистеме 110 выдачи и администрирования цифровых ключей осуществляют предварительно формирование цифровых ключей пользователей, как показано на Фиг. 2.  [0050] In the subsystem 110 for issuing and administering digital keys, pre-generation of digital keys of users is carried out, as shown in FIG. 2.
[0051] Подсистема 110 выдачи и администрирования цифровых ключей содержит по меньшей мере один модуль связи, который может представлять собой модем мобильной связи, поддерживающий такие режимы связи, как GSM, GPRS, EDGE, CDMA, EVDO, UMTS, LTE, WiFi и спутниковую связь, или же может представлять собой модем стационарной связи, поддерживающий такие сети стационарной связи, как сеть ADSL или кабельная сеть. [0051] The digital key issuing and administration subsystem 110 comprises at least one communication module, which may be a mobile communication modem, supporting such communication modes as GSM, GPRS, EDGE, CDMA, EVDO, UMTS, LTE, WiFi and satellite communications , or it can be a fixed line modem supporting fixed line networks such as an ADSL network or a cable network.
[0052] Различные описанные здесь варианты осуществления подсистемы 110 выдачи и администрирования цифровых ключей можно реализовать в любой компьютерной системе или среде, имеющей любое количество блоков памяти или запоминающих устройств и любое количество приложений и процессов, выполняющихся на любом количестве запоминающих устройств. Эта среда включает в себя, но без ограничения, среду, где компьютеры-серверы и компьютеры-клиенты обеспечены в сетевой среде или в распределенной вычислительной среде, имеющей удаленное или локальное хранилище.  [0052] The various embodiments of the digital key issuing and administration subsystem 110 described herein can be implemented in any computer system or environment that has any number of memory blocks or memory devices and any number of applications and processes running on any number of memory devices. This environment includes, but is not limited to, an environment where the server computers and client computers are provided in a network environment or in a distributed computing environment having remote or local storage.
[0053] Существует ряд систем, компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные среды. Например, вычислительные системы могут быть соединены друг с другом проводными или беспроводными каналами передачи данных, локальными сетями или глобальными сетями. В настоящее время, многие сети подключены к Интернету, который обеспечивает инфраструктуру для широко распределенных вычислений и охватывает большое количество различных сетей, хотя любую сетевую инфраструктуру можно использовать для иллюстративных средств связи, присущих методам, описанным в различных вариантах осуществления. [0053] There are a number of systems, components, and network configurations that support distributed computing environments. For example, computing systems can be connected to each other by wire or wireless data channels, local networks or global networks. Currently, many networks are connected to the Internet, which provides an infrastructure for widely distributed computing and covers a large number of different networks, although any network infrastructure can be used for illustrative means of communication inherent in the methods described in various embodiments.
[0054] Таким образом, можно использовать разнообразные сетевые топологии и сетевые инфраструктуры, например, клиент-сервер, одноранговую или смешанную архитектуры. В архитектуре клиент-сервер, в частности, в сетевой системе, клиент обычно представляет собой компьютер, который осуществляет доступ к обобществленным сетевым ресурсам, обеспечиваемым другим компьютером, например, сервером.  [0054] Thus, a variety of network topologies and network infrastructures can be used, for example, client-server, peer-to-peer or mixed architectures. In a client-server architecture, in particular in a network system, the client is typically a computer that accesses the shared network resources provided by another computer, such as a server.
[0055] В сетевой среде, где сетью/шиной связи является Интернет, серверы могут быть web-серверами, с которыми клиенты осуществляют связь по любому из разнообразных известных протоколов, например, протоколу передачи гипертекстовых файлов (HTTP). Серверы также могут выступать в качестве клиентов и т.д., что может служить характеристикой распределенной вычислительной среды.  [0055] In a network environment where the communication network / bus is the Internet, the servers can be web servers with which clients communicate via any of a variety of known protocols, for example, a hypertext transfer protocol (HTTP). Servers can also act as clients, etc., which can serve as a characteristic of a distributed computing environment.
[0056] В некоторых вариантах осуществления формирование цифровых ключей осуществляют на контроллере 120 управления.  [0056] In some embodiments, the generation of digital keys is carried out on the control controller 120.
[0057] В данном техническом решении для формирования цифровых ключей могут использоваться любые хэш-функции, удовлетворяющие выбранному уровню криптографической стойкости, например: MD5, SHA-1 , SHA-256, RIPEMD128, RIPEMD-160, CRC-32 и другие, не ограничиваясь. В качестве функций шифрования могут использоваться любые известные из уровня техники блочные и/или поточные симметричные алгоритмы шифрования, например: AES, DES, 3DES, RC4 и др.  [0057] In this technical solution, any hash functions satisfying the selected level of cryptographic strength can be used to generate digital keys, for example: MD5, SHA-1, SHA-256, RIPEMD128, RIPEMD-160, CRC-32, and others, not limited to . As encryption functions, any block and / or stream symmetric encryption algorithms known from the prior art can be used, for example: AES, DES, 3DES, RC4, etc.
[0058] Таким образом, формируют цифровой ключ пользователя для контроллера 120 управления по следующему алгоритму.  [0058] Thus, a user digital key is generated for the control controller 120 according to the following algorithm.
[0059] В подсистеме 110 выдачи и администрирования цифровых ключей для каждого контроллера 120 управления хранится мастер-ключ и возможные способы подключения к контроллеру. Мастер-ключ является бинарной последовательностью, длина которой зависит от выбранной хэш-функции и алгоритма шифрования (например, 64, 128, 256, 512, 1024, 2048 бит). Посредством любого генератора псевдослучайных чисел, известного из уровня техники, в подсистеме 110 выдачи и администрирования цифровых ключей формируют модификатор клиентского ключа (в криптографии еще называют термином “соль”), представляющий собой случайную бинарную последовательность. В качестве генератора псевдослучайных может использоваться алгоритм RC4, ISAAC, SEAL, SNOW, алгоритм Блюм — Блюма— Шуба, а также счетчики с криптографическими хеш-функциями или криптостойкими блочными шифрами вместо функции вывода. [0059] In the subsystem 110 for issuing and administering digital keys for each control controller 120, a master key and possible ways to connect to the controller are stored. A master key is a binary sequence, the length of which depends on the selected hash function and encryption algorithm (for example, 64, 128, 256, 512, 1024, 2048 bits). Using any pseudorandom number generator known in the art, a client key modifier (also called the term “salt” in cryptography) is formed in the subsystem 110 for issuing and administering digital keys, which is a random binary sequence. As a pseudo-random generator, the RC4, ISAAC, SEAL, SNOW algorithm, the Blum – Blum – Shub algorithm, as well as counters with cryptographic hash functions or cryptographic block ciphers instead of an output function can be used.
[0060] В некоторых вариантах реализации изобретения могут использоваться следующие варианты генераторов псевдослучайных чисел: генераторы с несколькими регистрами сдвига, генераторы с нелинейными преобразованиями, мажоритарные генераторы шифрования А5/х.  [0060] In some embodiments of the invention, the following options for pseudo-random number generators can be used: generators with multiple shift registers, generators with non-linear transformations, A5 / x majority encryption generators.
[0061] В некоторых вариантах реализации изобретения генератор псевдослучайных чисел может быть реализован аппаратно в процессоре подсистемы 110 выдачи и администрирования цифровых ключей.  [0061] In some embodiments of the invention, the pseudo random number generator may be implemented in hardware in the processor of the digital key issuing and administration subsystem 110.
[0062] Затем на основании мастер-ключа контроллера 120 управления и сформированного на предыдущем шаге модификатора клиентского ключа используют хэш-функцию и определяют клиентский ключ.  [0062] Then, based on the master key of the control controller 120 and the client key modifier generated in the previous step, a hash function is used and the client key is determined.
[0063] Из набора параметров, требующих удостоверения цифровой подписью (клиентский модификатор сообщения (клиентская соль), идентификатор пользователя, признак административных прав пользователя, время начала действия прав, время окончания действия прав и др.), формируют данные токена клиентского ключа посредством объединения (или другими словами конкатенации) блоков данных входящих в него параметров (запись наборов строк друг за другом). Для этого значения определяют электронную цифровую подпись Signature, которая является бинарной последовательностью, полученной в результате вычисления хеш-функции от данных токена клиентского ключа и мастер- ключа контроллера 120 управления. Далее формируют права клиента (токен), удостоверенные подсистемой 110 выдачи и администрирования цифровых ключей, посредством объединения данных токена клиентского ключа и его цифровой подписи, которые впоследствии могут шифроваться с использованием мастер-ключа контроллера 120 управления.  [0063] From the set of parameters requiring digital signature verification (client message modifier (client salt), user identifier, user administrative rights sign, rights start time, rights expiration time, etc.), the client key token data is generated by combining ( or in other words concatenation) of the data blocks of the parameters included in it (recording sets of rows one after another). For this value, the Signature electronic digital signature is determined, which is a binary sequence obtained by calculating the hash function of the client key token data and the master key of the control controller 120. Next, the client’s rights (token) are generated, certified by the digital key issuing and administration subsystem 110, by combining the client key token data and its digital signature, which can subsequently be encrypted using the master key of the control controller 120.
[0064] В итоге (права клиента) токен может иметь следующий вид: [0065] token=“ZXIKaGJHY2IPaUpJVXpJMU5pSXNJbll1Y0NJNklrcFhWQ0o5LmV 5SjFhV1 FpT2IKaVlqSmpZVFE1 T 1 FGbU56STBNbU5tWVdReU9HRTJObU 13TU dObE5qVTFPQ0lzSW1OemJIUWIPaUpXTVZVd1YwVnpORTVIU1RWT01IUnNJ aXdpWTJGdp5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk 56STJOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25 YeEMxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw”. [0064] As a result (client rights), the token may have the following form: [0065] token = "ZXIKaGJHY2IPaUpJVXpJMU5pSXNJbll1Y0NJNklrcFhWQ0o5LmV 5SjFhV1 FpT2IKaVlqSmpZVFE1 T 1 FGbU56STBNbU5tWVdReU9HRTJObU 13TU dObE5qVTFPQ0lzSW1OemJIUWIPaUpXTVZVd1YwVnpORTVIU1RWT01IUnNJ aXdpWTJGdp5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk 56STJOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25 YeEMxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw".
[0066] Цифровой ключ создается как объединение блоков данных следующих параметров, причем каждый представляет собой численную или символьную последовательность: способы подключения к контроллеру, криптографический ключ клиента, токен.  [0066] A digital key is created as a combination of data blocks of the following parameters, each representing a numerical or symbolic sequence: connection methods to the controller, client cryptographic key, token.
[0067] Шаг 502: передают сформированный по меньшей мере один цифровой ключ по меньшей мере одного пользователя из подсистемы выдачи и администрирования цифровых ключей носителю цифрового ключа.  [0067] Step 502: transmitting the generated at least one digital key to at least one user from the digital key issuing and administration subsystem to the digital key holder.
[0068] В варианте реализации, когда цифровой ключ формируют на контроллере управления, передают соответственно сформированный по меньшей мере один цифровой ключ по меньшей мере одного пользователя из контроллера управления носителю цифрового ключа.  [0068] In an embodiment, when the digital key is generated on the control controller, at least one digital key of the at least one user is respectively generated from the control controller to the digital key carrier.
[0069] После формирования цифрового криптоключа осуществляют авторизацию носителя 100 цифрового ключа, которым может быть мобильное устройство связи пользователя (мобильный телефон, смартфон, планшет и так далее), на контроллере 120 управления.  [0069] After the formation of the digital cryptographic key, the digital key carrier 100 is authorized, which may be a user’s mobile communication device (mobile phone, smartphone, tablet, and so on) on the control controller 120.
[0070] Для этого отправляют сообщение HelloRequest от носителя 100 цифрового ключа на контроллер 120 управления. В некоторых вариантах реализации данного изобретения контроллер 120 управления может быть установлен рядом с точкой доступа пользователя, которой может быть дверь, шлагбаум, турникет, ворота, и т.п., не ограничиваясь.  [0070] For this, a HelloRequest message is sent from the digital key medium 100 to the control controller 120. In some embodiments of the invention, the control controller 120 may be installed adjacent to a user access point, which may be a door, a barrier, a turnstile, a gate, or the like, without being limited.
[0071] Приветственное сообщение HelloRequest формируется на носителе 100 цифровых ключей для отправки на контроллер 120 управления следующим образом, как показано на Фиг. 3.  [0071] A HelloRequest greeting message is generated on the digital key medium 100 for sending to the control controller 120 as follows, as shown in FIG. 3.
[0072] С помощью любого генератора псевдослучайных чисел в носителе 100 цифровых ключей генерируется параметр helloSalt - случайная бинарная последовательность, которая также называется солью приветственного сообщения. [0073] Затем формируют данные приветственного сообщения (в рамках процесса “рукопожатия”) как конкатенацию блоков данных следующих параметров: идентификатор сообщения с начала сессии (сессия открывается с отправкой первого сообщения HelloRequest), права клиента, удостоверенные подсистемой 110 выдачи и администрирования цифровых ключей, текущее время системы, имя носителя 100 цифровых ключей. [0072] Using any pseudo-random number generator in the digital key medium 100, the helloSalt parameter is generated — a random binary sequence that is also called a welcome message salt. [0073] Then, the greeting message data is generated (as part of the “handshake” process) as a concatenation of data blocks of the following parameters: message identifier from the beginning of the session (the session opens with the first HelloRequest message sent), client rights authenticated by the digital key issuing and administration subsystem 110, current system time, carrier name 100 digital keys.
[0074] На основании криптографического клиентского ключа и сформированной соли создают бинарную последовательность, которую получают в результате вычисления хеш-функции двух этих значений.  [0074] Based on the cryptographic client key and the generated salt, a binary sequence is created, which is obtained by calculating the hash function of these two values.
[0075] В некоторых вариантах реализации изобретения формируют транспортный пакет как конкатенацию блоков данных приветственного сообщения и заголовка пакета (Header). Header содержит признак типа сообщения, например, приветственное сообщение, или команда на выполнение, или настройки и т.д., не ограничиваясь. [0075] In some embodiments of the invention, a transport packet is formed as a concatenation of the greeting message data blocks and the packet header (Header). Header contains an indication of the type of message, for example, a greeting message, or a command to execute, or settings, etc., not limited to.
[0076] Далее для данного транспортного пакета формируют электронную цифровую подпись посредством использования хэш-функции от данных сетевого пакета и хэш-функции клиентского ключа и соли, определенной ранее. Цифровая подпись также является бинарной последовательностью. [0076] Next, an electronic digital signature is generated for a given transport packet by using the hash function of the network packet data and the hash function of the client key and salt as previously defined. Digital signature is also a binary sequence.
[0077] Итоговое сообщение HelloRequest формируется как сумма блоков данных заголовка транспортного пакета (Header), данных приветственного сообщения и цифровой подписи. Пример сообщения:  [0077] The final HelloRequest message is generated as the sum of the data blocks of the transport packet header (Header), greeting message data, and digital signature. Message example:
[0078] {type = 1}.  [0078] {type = 1}.
[0079] { id = 1  [0079] {id = 1
token=“ZXIKaGJHY2IPaUpJVXpJ U5pSXNJbll1Y0NJNklrcFhWQ0o5LmV5SjFh V1 FpT2IKaVlqSmpZVFE 1 T1 FGbU56STBNbU5tWVdReU9HRTJObU13TUdObE token = “ZXIKaGJHY2IPaUpJVXpJ U5pSXNJbll1Y0NJNklrcFhWQ0o5LmV5SjFh V1 FpT2IKaVlqSmpZVFE 1 T1 FGbU56STBNbU5tWVdReUUUHUTUOUUHTJOJUTUOUUHTJOJUTUOU
5qVTFPQ0lzSW1OemJIUWIPaUpXTVZVd1 YwVnpORTVIUI RWT01 lUnNJaXdp WTJGc1p5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk56ST JOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25YeE MxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw”, где 5qVTFPQ0lzSW1OemJIUWIPaUpXTVZVd1 YwVnpORTVIUI RWT01 lUnNJaXdp WTJGc1p5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk56ST JOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25YeE MxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw ", where
[0080] соль равна“V1U0WEs4NGI5N0tl”; [0080] the salt is “V1U0WEs4NGI5N0tl”;
[0081] текущее время равно 98876623775;  [0081] the current time is 98876623775;
[0082] имя носителя цифрового ключа равно“smart1234”;  [0082] the name of the digital key carrier is “smart1234”;
[0083] цифровая подпись равна следующему значению “BwoEYfmkX1kdl19GD7kPwMUJ5nNtFUZ5VklyAXohnuA”. [0084] Таким образом сформированное сообщение HelloRequest отправляется носителем 100 цифрового ключа в контроллер 120 управления. [0083] the digital signature is equal to the following value “BwoEYfmkX1kdl19GD7kPwMUJ5nNtFUZ5VklyAXohnuA". [0084] Thus, the generated HelloRequest message is sent by the digital key medium 100 to the control controller 120.
[0085] Шаг 503: осуществляют авторизацию носителя цифрового ключа на контроллере управления при подходе пользователя в заранее заданную зону действия сигнала контроллера управления.  [0085] Step 503: the digital key carrier is authorized on the control controller as the user approaches the predetermined range of the signal of the control controller.
[0086] При получении контроллером 120 управления сообщения HelloRequest, предварительно он проверяет права клиента (токен), как показано на Фиг. 4, следующим образом. Вычисляет значение цифровой подписи посредством определения хэш-функции от мастер-ключа и данных токена. Если вычисленное значение цифровой подписи Signature совпадает с полученным в токене, значит контроллер доверяет правам клиента, иначе HelloRequest отклоняется. В примерном варианте осуществления данный шаг происходит следующим образом.  [0086] When the controller 120 receives the HelloRequest message, it first checks the rights of the client (token), as shown in FIG. 4 as follows. Calculates the digital signature value by determining the hash function from the master key and token data. If the calculated Signature digital signature value matches the one received in the token, then the controller trusts the client’s rights, otherwise HelloRequest is rejected. In an exemplary embodiment, this step is as follows.
[0087] Полученные в HelloRequest права клиента, удостоверенные подсистемой 110 выдачи и администрирования цифровых ключей имеют следующий вид. [0087] The client rights received in HelloRequest, verified by the digital key issuing and administration subsystem 110, are as follows.
[0088] Клиентский ключ состоит из токена [0088] The client key consists of a token
“D11xY0sSJLzFFe02KznZwDTjEeS1ZR2cJQGfeklANw0=” и модификатора токена“MGp2RIJEOTFFdWpU!”. “D11xY0sSJLzFFe02KznZwDTjEeS1ZR2cJQGfeklANw0 =” and the token modifier “MGp2RIJEOTFFdWpU!”.
[0089] Соль клиентского ключа имеет значение “ZhbVC8vnmOaOTSd”.  [0089] The client key salt has a value of “ZhbVC8vnmOaOTSd”.
[0090] Уникальный идентификатор клиента в системе имеет значение “8dAIHdWTBk2jwKfDAOuWJQ”.  [0090] The unique client identifier in the system is “8dAIHdWTBk2jwKfDAOuWJQ”.
[0091] Пользователь не является администратором системы, поэтому IsAdmin = false. Время начала действия права имеет значение 1418122051 , а время окончания действия права 1428122051. Цифровая подпись имеет значение“JBVq5USVODP87pfMrON4ExRP8m9rYXfvRzGim378XFY=”.  [0091] The user is not a system administrator, therefore IsAdmin = false. The start time of the right is 1418122051, and the end time of the right is 1428122051. The digital signature has the value “JBVq5USVODP87pfMrON4ExRP8m9rYXfvRzGim378XFY =".
[0092] Определенное контроллером 120 управления значение цифровой подписи  [0092] The digital signature value determined by the controller 120
HASH(“U0FNUENjc4OTAxFLVRPS0VOLTFNUExFLEyMzQ1 Njc40TA”, accessTokenPayload)=“JBVq5USVODP87pfMrON4ExRP8m9rYXfvRzGim378XF совпадает с полученным в HelloRequest, в связи с чем контроллер 120 управления доверяет полученным правам клиента. [0093] В некоторых вариантах реализации изобретения проверяют дополнительные параметры, такие как соль, уникальный идентификатор пользователя, является ли пользователь администратором, время начала действия прав, время окончания действия прав. Если текущее время находится за пределами данного периода, значит пользователь не обладает необходимыми правами для управления контроллером 120 управления. Если пользователь обладает дополнительными правами администратора, то ему позволяется расширенный перечень операций с контроллером 120 управления, включая настройку и обновление. HASH (“U0FNUENjc4OTAxFLVRPS0VOLTFNUExFLEyMzQ1 Njc40TA”, accessTokenPayload) = “JBVq5USVODP87pfMrON4ExRP8m9rYXfvRzGim378XF is the same as the control received from the client in the HelloReest control. [0093] In some embodiments of the invention, additional parameters are checked, such as a salt, a unique identifier of the user, whether the user is an administrator, the start time of the rights, the end time of the rights. If the current time is outside this period, then the user does not have the necessary rights to control the controller 120 controls. If the user has additional administrator rights, then he is allowed an extended list of operations with the controller 120 management, including configuration and updating.
[0094] Аналогичным образом проверяется значение HelloRequest, как показано выше. [0094] The HelloRequest value is checked in the same way, as shown above.
[0095] Ответ контроллера 120 управления носителю 100 цифровых ключей HelloResponce формируется следующим образом.  [0095] The response of the control controller 120 to the medium 100 of the digital keys HelloResponce is generated as follows.
[0096] Генерируют соль (модификатор) для сессии как случайную бинарную последовательность. Затем формируют ответное сообщение как конкатенацию блоков уникального идентификатора сообщения с начала сессии, состояния исполнительных устройств (для устройства контроля доступа это состояния“Открыто” и“Закрыто”) и соли сессии.  [0096] A salt (modifier) is generated for the session as a random binary sequence. Then, a response message is formed as a concatenation of the blocks of the unique identifier of the message from the beginning of the session, the state of the executive devices (for the access control device, these are the states “Open” and “Closed”) and salt of the session.
[0097] Затем формируют сетевой пакет как конкатенацию ответного сообщения и заголовка сетевого пакета (Header) после чего для сетевого пакета формируют цифровую подпись посредством получения хэш- значения от сетевого пакета ответного сообщения и хэш-значения от клиентского ключа и соли.  [0097] Then, the network packet is formed as a concatenation of the response message and the header of the network packet (Header), after which a digital signature is generated for the network packet by obtaining the hash value from the network packet of the response message and the hash value from the client key and salt.
[0098] Итоговое ответное сообщение HelloResponce отправляется контроллером 120 управления носителю 100 цифровых ключей. Носитель 100 цифровых ключей проверяет ответное сообщение HelloResponce посредством определения цифровой подписи и вычисления хэш-функции от сетевого пакета ответного сообщения и хэш-значения от клиентского ключа и соли, которая является бинарной последовательностью. Если определенное значение цифровой подписи совпадает с полученным в HelloResponce, значит носитель 100 цифрового ключа доверяет HelloResponce, иначе сообщение отклоняется. [0099] Шаг 504: в случае успешной авторизации направляют по меньшей мере одну команду из носителя цифрового ключа на по меньшей мере один контроллер управления. [0098] The final HelloResponce response message is sent by the control controller 120 to the digital key carrier 100. The digital key carrier 100 verifies the HelloResponce response message by determining a digital signature and computing a hash function from the network response message packet and a hash value from the client key and salt, which is a binary sequence. If a certain digital signature value matches the one received in HelloResponce, then the digital key holder 100 trusts HelloResponce, otherwise the message is rejected. [0099] Step 504: in case of successful authorization, at least one command is sent from the digital key carrier to at least one control controller.
[00100] После авторизации носитель 100 цифрового ключа может отправлять контроллеру 120 управления команды. Команды для контроллера 120 управления могут формироваться следующим образом. Вычисляют ключ сессии как хэш от соли сессии и хэш-значения от клиентского ключа и соли, которая является бинарной последовательностью. Затем из заданного набора полей создается команда, которая содержит поле Т, которое хранит время, прошедшее с момента подключения носителя 100 цифрового ключа к контроллеру 120 управления (или любого другого момента, смещенного на заданное время) до момента отправки команды. Данное время защищает от атаки путем перехвата сообщения и отправки его позднее. Для каждой команды набор необходимых полей может варьироваться. Создают сетевой пакет, содержащий команду и заголовок пакета (Header), для которой формируется цифровая подпись посредством определения хэш-значения от ключа сессии и сетевого пакета. Итоговая команда отправляется носителем 100 цифрового ключа в контроллер 120 управления.  [00100] After authorization, the digital key medium 100 may send commands to the controller 120. Commands for the controller 120 controls can be formed as follows. The session key is calculated as a hash from the session salt and hash values from the client key and salt, which is a binary sequence. Then, from a given set of fields, a command is created that contains the field T, which stores the time elapsed from the moment of connecting the digital key carrier 100 to the control controller 120 (or any other moment shifted by a predetermined time) until the command is sent. This time protects against attacks by intercepting a message and sending it later. For each team, the set of required fields may vary. A network packet is created containing the command and the packet header (Header), for which a digital signature is generated by determining the hash value from the session key and network packet. The final command is sent by the digital key carrier 100 to the control controller 120.
[00101] Шаг 505: проверяют права на выполнение полученной по меньшей мере одной команды посредством контроллера управления.  [00101] Step 505: the rights to execute the received at least one command are checked by the control controller.
[00102] При получении команды на контроллере 120 управления проверяют команду. Контроллер проверяет цифровую подпись команды следующим образом. Определяют хэш-значение от ключа сессии и сетевого пакета. Если вычисленное значение цифровой подписи совпадает с полученным в команде, значит контроллер 120 управления доверяет команде, иначе выполнение команды отклоняется. Также контроллер 120 управления проверяет время отправки команды. Время Т, пришедшее в команде от носителя 100 цифрового ключа, сравнивается с вычисленным в контроллере 120 управления временем Т2. Если разница между Т2 и Т больше заданного значения, команда отклоняется.  [00102] Upon receipt of a command, the command is checked on the control controller 120. The controller verifies the digital signature of the command as follows. Determine the hash value from the session key and network packet. If the calculated digital signature value matches the one received in the command, then the control controller 120 trusts the command, otherwise the execution of the command is rejected. Also, the controller 120 controls checks the time of sending the command. The time T received in the command from the digital key carrier 100 is compared with the time T2 calculated in the controller 120. If the difference between T2 and T is greater than the set value, the command is rejected.
[00103] В некоторых вариантах реализации контроллер 120 управления проверяет права на выполнение команды. Контроллер сравнивает команду с правами, разрешенными в правах клиента, удостоверенных подсистемой 110 выдачи и администрирования цифровых ключей. Если команда разрешена правами, контроллер 120 управления ее выполняет, иначе отказывает в выполнении. [00103] In some implementations, the controller 120 controls checks the rights to execute the command. The controller compares the command with the rights allowed in the client’s rights, certified by the subsystem 110 for issuing and administering digital keys. If the team allowed by rights, the controller 120 controls it, otherwise it refuses to execute.
[00104] Команды, не ограничиваясь, могут быть следующими:  [00104] Teams, without limitation, may be the following:
• сообщение для инициализации сессии между мобильным клиентом и контроллером;  • a message to initiate a session between the mobile client and the controller;
• открыть/закрыть контроллер;  • open / close the controller;
• запрос информации о версии прошивки контроллера;  • requesting information about the controller firmware version;
• транзитное сообщение от сервера к контроллеру;  • transit message from the server to the controller;
• список транзитных сообщений, которые есть у мобильного клиента, и запрос списка транзитных сообщений, которые отсутствуют на контроллере.  • a list of transit messages that a mobile client has and a request for a list of transit messages that are not on the controller.
• запрос на получение конфигурации контроллера;  • request for controller configuration;
• запрос на обновление конфигурации контроллера;  • request for updating the controller configuration;
• команда автооткрытия контроллера, когда мобильный клиент  • command to automatically open the controller when the mobile client
находится ближе порогового значения;  is closer than the threshold value;
• запрос логов контроллера для передачи на сервер;  • request logs of the controller for transmission to the server;
• команда перегрузиться контроллеру;  • command to reboot to the controller;
• запрос текущего состояния контроллера;  • request the current status of the controller;
• произвольное сообщение.  • arbitrary message.
[00105] В других вариантах реализации настоящего изобретения осуществляют авторизацию и проверку носителя 100 цифрового ключа с использованием шифрования сообщений, которая состоит из нескольких стадий: авторизация, отправка команды и проверка команды. [00105] In other embodiments of the present invention, authorization and verification of the digital key medium 100 is carried out using message encryption, which consists of several stages: authorization, sending a command and verifying a command.
[00106] Сообщение HelloRequest формируется носителем 100 цифрового ключа следующим образом.  [00106] The HelloRequest message is generated by the digital key medium 100 as follows.
[00107] Носитель 100 цифрового ключа получает от контроллера 120 управления соль - случайную бинарную последовательность. Контроллер 120 управления меняет соль каждые t секунд и хранит последние п солей. Носитель 100 цифрового ключа использует эти соли при формировании приветственного сообщения. При получении сообщения от клиента неизвестно, какую именно соль он использовал и перебирают все. При этом если клиент использовал соль старше 10 с - ее отклоняют, что обеспечивает защиту от перехвата и отправки сообщения позднее. [00108] Затем формируют данные приветственного сообщения (в рамках процесса рукопожатия) как конкатенацию блоков данных следующих параметров: время с момента подключения, идентификатор клиентского ключа, права клиента, удостоверенные подсистемой 110 выдачи и администрирования цифровых ключей, текущее время системы, имя носителя 100 цифровых ключей, команда контроллеру 120 управления. [00107] The digital key carrier 100 receives from the control controller 120 a salt, a random binary sequence. The controller 120 changes the salt every t seconds and stores the last n salts. Digital key carrier 100 uses these salts to form a greeting message. When receiving a message from the client, it is not known which salt he used and iterates through everything. Moreover, if the client used salt older than 10 s - it is rejected, which provides protection from interception and sending messages later. [00108] Then, the greeting message data is generated (as part of the handshake process) as the concatenation of the data blocks of the following parameters: time from the moment of connection, client key identifier, client rights authenticated by the digital key issuing and administration subsystem 110, current system time, media name 100 digital keys, command to the controller 120 controls.
[00109] На основании уникального клиентского ключа и полученной от контроллера 120 управления соли создают бинарную последовательность, которую получают в результате вычисления хеш-функции двух этих значений.  [00109] Based on the unique client key and the salt received from the salt control controller 120, a binary sequence is created that is obtained by computing the hash function of these two values.
[00110] В некоторых вариантах реализации изобретения формируют сетевой пакет транспортного уровня как конкатенацию блоков данных приветственного сообщения и заголовка пакета (Header). Header содержит признак типа сообщения.  [00110] In some embodiments, the transport layer network packet is formed as a concatenation of the greeting message data blocks and the packet header. Header contains a message type flag.
[00111] Далее для данного сетевого пакета формируют цифровую подпись посредством использования хэш-функции от данных сетевого пакета и хэш- функции клиентского ключа и соли, определенной ранее. Цифровая подпись также является бинарной последовательностью. [00111] Next, a digital signature is generated for a given network packet by using the hash function of the network packet data and the hash function of the client key and salt as previously defined. Digital signature is also a binary sequence.
[00112] Затем осуществляют шифрование данных приветственного сообщения на helloKey любым блочным или поточным симметричным шифром с достаточным уровнем криптографической стойкости (например, AES, DES, 3DES, RC4 и др.), получается зашифрованное сообщение HelloRequest, к которому перед отправкой добавляют посредством конкатенации соль.  [00112] Then, the data of the greeting message on helloKey is encrypted with any block or stream symmetric cipher with a sufficient level of cryptographic strength (for example, AES, DES, 3DES, RC4, etc.), an encrypted HelloRequest message is received, to which salt is added before sending via concatenation .
[00113] В итоге сформированное сообщение HelloRequest отправляется носителем 100 цифрового ключа на контроллер 120 управления, где осуществляется его проверка. [00113] As a result, the generated HelloRequest message is sent by the digital key medium 100 to the control controller 120, where it is checked.
[00114] При получении контроллером 120 управления сообщения HelloRequest, предварительно он проверяет определяет значение клиентского ключа посредством определения хэш-функции от мастер-ключа и соли клиента. Далее определяется значение helloKey посредством определения хэш-функции от клиентского ключа и соли, сохраненной ранее на контроллере, которая определяется посредством перебора значений. [00115] Затем с помощью значения helloKey расшифровывают сообщение HelloRequest. Для сетевого пакета определяют цифровую подпись посредством определения хэш-функции от helloKey и данного сетевого пакета. [00114] When the controller 120 receives the HelloRequest message, it first checks to determine the value of the client key by determining the hash function from the master key and client salt. Next, the helloKey value is determined by determining the hash function of the client key and the salt stored previously on the controller, which is determined by enumerating the values. [00115] Then, the helloKey value is used to decode the HelloRequest message. For a network packet, a digital signature is determined by defining a hash function from helloKey and this network packet.
[00116] Если определенное значение цифровой подписи совпадает с полученным в приветственном сообщении HelloRequest, значит контроллер 120 управления доверяет носителю 100 цифровых ключей и удаляет использованную соль из сохраненных значений, иначе HelloRequest отклоняется. [00116] If the determined digital signature value matches the one received in the HelloRequest greeting message, then the control controller 120 trusts the digital key carrier 100 and removes the used salt from the stored values, otherwise HelloRequest is rejected.
[00117] Данная процедура проверки сообщения HelloRequest ниже приводится в качестве примера реализации. [00117] This HelloRequest message verification procedure is provided below as an example implementation.
[00118] Полученное на контроллере 120 управления сообщение имеет следующий вид:  [00118] The message received at the control controller 120 is as follows:
[001 19] type = 1 ;  [001 19] type = 1;
[00120] id message = 1 ; token=“ZXIKaGJHY2IPaUpJVXpJMU5pSXNJbll1Y0NJNklrcFhWQ0o5LmV5SjFh V1 FpT2IKaVlqSmpZVFE1T1 FGbU56STBNbU5tWVdReU9HRTJObU13TUdObE 5qVTFPQ0lzSW 10em J I U WIPaUpXTVZVd 1 YwVnpORTVI U 1 RWT01 !UnNJaXdp WTJGc1 p5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk56ST JOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25YeE MxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw”; [00120] id message = 1; token = "ZXIKaGJHY2IPaUpJVXpJMU5pSXNJbll1Y0NJNklrcFhWQ0o5LmV5SjFh V1 FpT2IKaVlqSmpZVFE1T1 FGbU56STBNbU5tWVdReU9HRTJObU13TUdObE 5qVTFPQ0lzSW 10em J I U WIPaUpXTVZVd 1 YwVnpORTVI U 1 RWT01 UnNJaXdp WTJGc1 p5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk56ST JOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25YeE MxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw!";
[00121] значение соли =“V1 U0WEs4NGI5N0tl”;  [00121] the value of salt = “V1 U0WEs4NGI5N0tl”;
[00122] текущее время = 98876623775;  [00122] current time = 98876623775;
[00123] имя носителя =“smart1234”.  [00123] media name = “smart1234”.
[00124] Электронная цифровая подпись имеет значение: [00124] An electronic digital signature has the meaning of:
[00125] {signature - “BwoEYfmkX1 kdl19GD7kPwMUJ5nNtFUZ5VklyAXohnuA=”} [00125] {signature - “BwoEYfmkX1 kdl19GD7kPwMUJ5nNtFUZ5VklyAXohnuA ="}
[00126] Вычисленное значение клиентского ключа принимает следующее значение НАЭН(мастер-ключ,соль клиента )=HASH(“U0FNUENjc4OTAxFLVRPS0VOLTFNUExFLEyMzQ1 Njc4OTA ”,“MGp2RIJEOTFFdWpU!”)=“D11 xY0sSJLzFFe02KznZwDTjEeS1ZR2cJQGfeklA Nw=”. [00126] The calculated value of the client key takes the following value NAEN (master key, client salt) = HASH ( "U0FNUENjc4OTAxFLVRPS0VOLTFNUExFLEyMzQ1 Njc4OTA", "MGp2RIJEOTFFdWpU!") = "D11 xY0sSJLzFFe02KznZwDTjEeS1ZR2cJQGfeklA Nw =".
[00127] Вычисленное значение helloKey принимает следующее значение НА8Н(клиентский ключ, соль) = [00127] The calculated helloKey value takes the following HA8H value (client key, salt) =
HASH(“D11xY0sSJLzFFe02KznZwDTjEeS1ZR2cJQGfeklANw0=”, “V1 U0WEs4NGI5N0tl”) HASH (“D11xY0sSJLzFFe02KznZwDTjEeS1ZR2cJQGfeklANw0 =”, “V1 U0WEs4NGI5N0tl”)
"96wAG4Lkf/oJV63J4JBWoptFuX0aedw+2uglqKg/lrc=".  "96wAG4Lkf / oJV63J4JBWoptFuX0aedw + 2uglqKg / lrc =".
[00128] Сетевой пакет имеет следующий вид:  [00128] The network packet is as follows:
[00129] (type = 1}.  [00129] (type = 1}.
[00130] { id = 1 [00130] {id = 1
[00131] token=“ZXIKaGJHY2IPaUpJVXpJMU5pSXNJbll1Y0NJNklrcFhWQ0o5LmV 5SjFhV1 FpT2IKaVlqSmpZVFE1T1 FGbU56STBNbU5tWVdReU9HRTJObU13TU dObE5qVTFPQOIzSW1 Oem J IU WIPaUpXTVZVd 1 YwVnpORTVIU 1 RWT011 UnN J aXdpWTJGc1p5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk 56STJOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25 YeEMxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw”  [00131] token = "ZXIKaGJHY2IPaUpJVXpJMU5pSXNJbll1Y0NJNklrcFhWQ0o5LmV 5SjFhV1 FpT2IKaVlqSmpZVFE1T1 FGbU56STBNbU5tWVdReU9HRTJObU13TU dObE5qVTFPQOIzSW1 Oem J IU WIPaUpXTVZVd 1 YwVnpORTVIU 1 RWT011 UnN J aXdpWTJGc1p5STZJa2hOWVdOVGFHRXIOVFIpHENKdVltWWIPakUxTURFMk 56STJOalFzSW1WBGNDSTZNVFV3TWpnNE1qSTJOSDAud2RuSzhFZU9Nb25 YeEMxZ0VICnluYWtKdmRhQk4yY0pJMUw3UllfejlrYw"
соль =“V1U0WEs4NGI5N0tr  salt = “V1U0WEs4NGI5N0tr
[00132] текущее время = 98876623775;  [00132] current time = 98876623775;
[00133] имя носителя =“smart1234”.  [00133] media name = “smart1234”.
[00134] Вычисленное значение электронной цифровой подписи принимает следующее значение HASH(helloKey, сетевой пакет) HASH("96wAG4Lkf/oJV63J4JBWoptFuX0aedw+2uglqKg/lrc=", [00134] The calculated digital signature value takes the following HASH value (helloKey, network packet) HASH ("96wAG4Lkf / oJV63J4JBWoptFuX0aedw + 2uglqKg / lrc =",
transportEnvelope ) = transportEnvelope) =
“JBVq5USVODP87pfMrON4ExRP8m9rYXfvRzGim378XFY=” “JBVq5USVODP87pfMrON4ExRP8m9rYXfvRzGim378XFY =”
[00135] Оно совпадает с полученным в HelloRequest значению электронной цифровой подписи, значит контроллер 120 управления доверяет полученным правам носителя 100 цифрового ключа. [00135] It coincides with the electronic digital signature value obtained in HelloRequest, which means that the control controller 120 trusts the obtained rights of the digital key carrier 100.
[00136] Отправка команды контроллеру 120 управления по аналогичной выше процедуре, только сама команда предварительно шифруется значением helloKey и затем аналогичным образом расшифровывается при получении.  [00136] Sending the command to the control controller 120 by the same procedure above, only the command itself is pre-encrypted with helloKey and then decrypted in the same way upon receipt.
[00137] В некоторых вариантах реализации изобретения используют композитные цифровые ключи, которые предназначены для агрегации цифровых ключей, необходимых для доступа в заданный периметр. Композитный ключ хранится на носителе 100 цифрового ключа.  [00137] In some embodiments of the invention, composite digital keys are used that are designed to aggregate the digital keys needed to access a given perimeter. The composite key is stored on the digital key carrier 100.
[00138] Композитные ключи для заданного периметра доступа формируются следующим образом: [00138] Composite keys for a given access perimeter are generated as follows:
- в композитный ключ входят цифровые ключи от всех контроллеров управления, закрепленных за данным периметром. - в композитный ключ входят цифровые ключи от всех контроллеров управления, закрепленных за вышестоящими периметрами, в состав которых входит заданный периметр. - the composite key includes digital keys from all control controllers assigned to this perimeter. - the composite key includes digital keys from all control controllers assigned to higher perimeters, which include a given perimeter.
[00139] Композитный цифровой ключ может включать в себя следующие данные:  [00139] A composite digital key may include the following data:
- Список цифровых ключей;  - List of digital keys;
- Идентификатор пользователя;  - User ID;
- Название;  - Name;
- Изображение;  - Image;
- Период действия;  - Validity;
- Координаты объекта доступа;  - The coordinates of the access object;
- Информацию о стоимости услуг доступа;  - Information on the cost of access services;
- Контакты администратора доступа и технической поддержки.  - Contact administrator access and technical support.
[00140] Элементы заявляемого технического решения находятся в функциональной и конструктивной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения.  [00140] Elements of the claimed technical solution are in a functional and constructive relationship, and their joint use leads to the creation of a new and unique technical solution.
[00141] Все компоненты, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваясь, могут использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задаётся посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC - специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.  [00141] All components used in the system can be implemented using electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, microcircuits can be used, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming. For programming, programmers and debugging environments are used that allow you to specify the desired structure of a digital device in the form of a circuit diagram or programs in special equipment description languages: Verilog, VHDL, AHDL, etc. Alternative FPGAs can be programmable logic controllers (PLCs), base matrix crystals ( BMK) requiring a factory production process for programming; ASIC - specialized custom large integrated circuits (LSI), which are much more expensive in small-scale and single-unit production.
[00142] Обычно, сама микросхема ПЛИС состоит из следующих компонент: • конфигурируемых логических блоков, реализующих требуемую логическую функцию; [00142] Typically, the FPGA chip itself consists of the following components: • configurable logic blocks that implement the required logical function;
• программируемых электронных связей между конфигурируемыми логическими блоками;  • programmable electronic communications between configurable logic blocks;
· программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой.  · Programmable I / O blocks, providing the connection of the external output of the microcircuit with internal logic.
[00143] Таким образом, реализация всех используемых компонент достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники.  [00143] Thus, the implementation of all used components is achieved by standard means based on the classical principles of implementation of the foundations of computer technology.
[00144] Некоторые части описания предпочтительных вариантов реализации данного изобретения представлены в виде алгоритмов и символического представления операций с битами данных в памяти компьютера. Такие описания и представления алгоритмов представляют собой средства, используемые специалистами в области обработки данных, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области. В настоящем документе и в целом алгоритмом называется последовательность вычислительных операций, приводящих к требуемому техническому результату. Операции требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и подвергать другим манипуляциям. Для использования удобно описывать эти сигналы в виде битов, значений, элементов, символов, членов, цифр и т.Д. [00144] Some parts of the description of preferred embodiments of the present invention are presented in the form of algorithms and a symbolic representation of operations with data bits in computer memory. Such descriptions and representations of algorithms represent the means used by specialists in the field of data processing in order to most effectively transfer the essence of their work to other specialists in this field. In this document, and in general, an algorithm is a sequence of computational operations leading to the required technical result. Operations require physical manipulations with physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared and subjected to other manipulations. For use, it is convenient to describe these signals in the form of bits, values, elements, symbols, members, numbers, etc.
[00145] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами, и что они представляют собой просто удобные метки, применяемые к этим величинам. Если иное специально и недвусмысленно не указано в нижеследующем описании, следует принимать, что везде по тексту такие термины как "определение", "вычисление", "расчет", "получение", "установление", "изменение" и т.п., относятся к действиям и процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое работает с данными и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительного устройства, либо других подобных устройствах хранения, передачи или отображения информации. [00145] However, it should be borne in mind that all these and similar terms should be associated with the corresponding physical quantities, and that they are simply convenient labels that apply to these quantities. Unless otherwise specifically and explicitly indicated in the following description, it should be assumed that throughout the text such terms as “definition”, “calculation”, “calculation”, “receipt”, “establishment”, “change”, etc., relate to the actions and processes of a computing device or similar electronic computing device that works with data and converts data presented in the form of physical (e.g. electronic) values in the registers and memory of the computing device, into other data similarly represented as physical quantities in the memory or registers of the computing device, or other similar devices for storing, transmitting or displaying information.
[00146] Изобретение может быть осуществлено в других формах в рамках конструкций, способов или других существенных характеристик изобретения в соответствии с приведенным в данном документе подробным описанием и нижеследующей формулой изобретения. Описанные варианты осуществления изобретения должны рассматриваться во всех отношениях только как иллюстративные и не ограничительные. Таким образом, объем правовой охраны изобретения определен в независимых пунктах прилагаемой формулы изобретения, а не предыдущим описанием. Все изменения в рамках значений и диапазона эквивалентности пунктов формулы изобретения подпадают под объем правовой охраны, определяемый данными пунктами.  [00146] The invention may be embodied in other forms within the framework of the constructions, methods, or other essential characteristics of the invention in accordance with the detailed description given in this document and the following claims. The described embodiments of the invention should be considered in all respects only as illustrative and not restrictive. Thus, the scope of legal protection of the invention is defined in the independent paragraphs of the attached claims, and not the previous description. All changes within the meaning and range of equivalence of the claims fall within the scope of legal protection defined by these paragraphs.

Claims

ФОРМУЛА FORMULA
1. Способ авторизации пользователя на основании его цифрового ключа, включающий следующие шаги:  1. A method of authorizing a user based on his digital key, including the following steps:
• формируют по меньшей мере один цифровой ключ по меньшей мере одного пользователя в подсистеме выдачи и администрирования цифровых ключей;  • form at least one digital key of at least one user in the subsystem for issuing and administering digital keys;
• передают сформированный по меньшей мере один цифровой ключ по меньшей мере одного пользователя из подсистемы выдачи и администрирования цифровых ключей носителю цифрового ключа;  • transmit the generated at least one digital key of at least one user from the subsystem for issuing and administering digital keys to the digital key holder;
• осуществляют авторизацию носителя цифрового ключа на контроллере управления при подходе пользователя в заранее заданную зону действия сигнала устройства контроля доступа, с которым соединен контроллер управления;  • carry out authorization of the digital key carrier on the control controller when the user approaches the predetermined signal range of the access control device to which the control controller is connected;
• в случае успешной авторизации направляют по меньшей мере одну команду из носителя цифрового ключа на по меньшей мере один контроллер управления;  • in case of successful authorization, at least one command is sent from the digital key carrier to at least one control controller;
• проверяют права на выполнение полученной по меньшей мере одной команды посредством контроллера управления, причем о если команда разрешена правами, контроллер управления ее выполняет,  • check the rights to execute at least one command received by the control controller, and if the command is authorized by rights, the control controller executes it,
о иначе отказывает в выполнении.  otherwise refuses to comply.
2. Способ по п.1 , характеризующийся тем, что при формировании цифрового ключа выполняют следующие шаги:  2. The method according to claim 1, characterized in that when forming a digital key, the following steps are performed:
• получают мастер-ключ контроллера управления;  • receive the master key of the control controller;
• посредством генератора псевдослучайных чисел формируют соль;  • salt is formed using a pseudo-random number generator;
• на основании мастер-ключа контроллера управления и сформированной на предыдущем шаге соли определяют клиентский ключ как хэш-значение;  • based on the master key of the control controller and the salts formed in the previous step, the client key is determined as a hash value;
• формируют электронную цифровую подпись прав пользователя на основании мастер-ключа. • form an electronic digital signature of user rights based on the master key.
3. Способ по п.1 , характеризующийся тем, что формируют цифровой ключ пользователя с использованием хэш-функций MD5 и/или SHA-1 , и/или SHA-2, и/или RIPEMD128, и/или RIPEMD-160, и/или CRC-32. 3. The method according to claim 1, characterized in that they generate a digital key of the user using the hash functions MD5 and / or SHA-1, and / or SHA-2, and / or RIPEMD128, and / or RIPEMD-160, and / or CRC-32.
4. Способ по п.1, характеризующийся тем, что осуществляют авторизацию носителя цифрового ключа с использованием шифрования сообщений.  4. The method according to claim 1, characterized in that the digital key carrier is authorized using message encryption.
5. Способ по п.1, характеризующийся тем, что формируют цифровой ключ пользователя посредством объединения блоков данных способов подключения к контроллеру, криптографического ключа клиента, токена.  5. The method according to claim 1, characterized in that they form a digital key of the user by combining the data blocks of the methods of connecting to the controller, the cryptographic key of the client, token.
6. Способ по п.1, характеризующийся тем, что носителем цифрового ключа является мобильный телефон или смартфон, или планшет, или носимое устройство, или брелок.  6. The method according to claim 1, characterized in that the digital key carrier is a mobile phone or smartphone, or tablet, or wearable device, or key fob.
7. Способ авторизации пользователя на основании его цифрового ключа, включающий следующие шаги:  7. A method of authorizing a user based on his digital key, including the following steps:
• формируют по меньшей мере один цифровой ключ по меньшей мере одного пользователя в контроллере управления; • form at least one digital key of at least one user in the control controller;
• передают сформированный по меньшей мере один цифровой ключ по меньшей мере одного пользователя из контроллера управления носителю цифрового ключа; • transmitting the generated at least one digital key of at least one user from the control controller to the digital key carrier;
• осуществляют авторизацию носителя цифрового ключа на контроллере управления при подходе пользователя в заранее заданную зону действия сигнала устройства контроля доступа, с которым соединен контроллер управления;  • carry out authorization of the digital key carrier on the control controller when the user approaches the predetermined signal range of the access control device to which the control controller is connected;
• в случае успешной авторизации направляют по меньшей мере одну команду из носителя цифрового ключа на по меньшей мере один контроллер управления;  • in case of successful authorization, at least one command is sent from the digital key carrier to at least one control controller;
• проверяют права на выполнение полученной по меньшей мере одной команды посредством контроллера управления, причем о если команда разрешена правами, контроллер управления ее выполняет,  • check the rights to execute at least one command received by the control controller, and if the command is authorized by rights, the control controller executes it,
о иначе отказывает в выполнении.  otherwise refuses to comply.
8. Система авторизации пользователя на основании его цифрового ключа, содержащая: • подсистему выдачи и администрирования цифровых ключей, выполненную с возможностью 8. A user authorization system based on his digital key, comprising: • a subsystem for issuing and administering digital keys, configured to
о формирования цифрового ключа пользователя и хранения в своей базе данных мастер-ключа;  on the formation of a digital user key and storing a master key in its database;
о передачи сформированного по меньшей мере одного цифрового ключа по меньшей мере одного пользователя носителю цифрового ключа;  about transferring the generated at least one digital key to at least one user to the digital key carrier;
• по меньшей мере один носитель цифровых ключей, выполненный с возможностью  • at least one digital key carrier configured to
о направления по меньшей мере одной команды на по меньшей мере один контроллер управления в случае успешной авторизации на данном контроллере управления;  about sending at least one command to at least one control controller in case of successful authorization on this control controller;
• по меньшей мере один контроллер управления, выполненный с возможностью  • at least one control controller configured to
о осуществления авторизации носителя цифрового ключа при подходе пользователя в заранее заданную зону действия сигнала контроллера;  on authorization of the digital key carrier when the user approaches the predetermined range of the controller signal;
о управления по меньшей мере одним устройством контроля доступа;  about controlling at least one access control device;
о проверки прав на выполнение полученной по меньшей мере одной команды от носителя цифрового ключа, причем  on verification of rights to execute at least one command received from the digital key carrier,
• если команда разрешена правами, контроллер управления ее выполняет,  • if the command is allowed by rights, the control controller executes it,
я иначе отказывает в выполнении.  I otherwise refuse to execute.
9. Система по п. 8, характеризующаяся тем, что контроллером управления является микроконтроллер.  9. The system according to claim 8, characterized in that the control controller is a microcontroller.
10. Система по п. 8, характеризующаяся тем, что носителем цифрового ключа является мобильное устройство связи пользователя.  10. The system according to claim 8, characterized in that the digital key carrier is a mobile user communication device.
PCT/RU2018/000449 2018-07-09 2018-07-09 Method and system for authorizing a user on the basis of the user's digital key WO2020013723A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2018124994 2018-07-09
RU2018124994A RU2709281C1 (en) 2018-07-09 2018-07-09 Digital key carrier authorization method and system

Publications (1)

Publication Number Publication Date
WO2020013723A1 true WO2020013723A1 (en) 2020-01-16

Family

ID=69006488

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2018/000449 WO2020013723A1 (en) 2018-07-09 2018-07-09 Method and system for authorizing a user on the basis of the user's digital key

Country Status (2)

Country Link
RU (1) RU2709281C1 (en)
WO (1) WO2020013723A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11671241B2 (en) * 2019-07-18 2023-06-06 International Business Machines Corporation Privacy-preserving fast approximate K-means clustering with hamming vectors

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU210541U1 (en) * 2022-01-31 2022-04-20 Общество с ограниченной ответственностью фирма "Интерсвязь" Locking device control module

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7323991B1 (en) * 2005-05-12 2008-01-29 Exavera Technologies Incorporated System and method for locating and communicating with personnel and equipment in a facility
US20160189454A1 (en) * 2014-03-12 2016-06-30 August Home Inc. Intellegent door lock system in communication with mobile device that stores associated user data
US20180183774A1 (en) * 2016-12-23 2018-06-28 Amazon Technologies, Inc. Key distribution in a distributed computing environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567920B2 (en) * 2007-11-01 2009-07-28 Visa U.S.A. Inc. On-line authorization in access environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7323991B1 (en) * 2005-05-12 2008-01-29 Exavera Technologies Incorporated System and method for locating and communicating with personnel and equipment in a facility
US20160189454A1 (en) * 2014-03-12 2016-06-30 August Home Inc. Intellegent door lock system in communication with mobile device that stores associated user data
US20180183774A1 (en) * 2016-12-23 2018-06-28 Amazon Technologies, Inc. Key distribution in a distributed computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11671241B2 (en) * 2019-07-18 2023-06-06 International Business Machines Corporation Privacy-preserving fast approximate K-means clustering with hamming vectors

Also Published As

Publication number Publication date
RU2709281C1 (en) 2019-12-17

Similar Documents

Publication Publication Date Title
CN110915183B (en) Block chain authentication via hard/soft token validation
US11657665B2 (en) Method and system for decentralized digital authentication
CN110679113B (en) Industrial network using blockchain for access control and access control method
CN109272606B (en) Intelligent lock supervision equipment and method based on block chain and storage medium
US10492067B2 (en) Secure access authorization method
CN109903433B (en) Access control system and access control method based on face recognition
US9577823B2 (en) Rule-based validity of cryptographic key material
JP4668551B2 (en) Personal authentication device and system and method thereof
US9531533B2 (en) Rule-based validity of cryptographic key material
US9686244B2 (en) Rule-based validity of cryptographic key material
EA036987B1 (en) Systems and methods for device authentication
US20080173709A1 (en) System and method for secure and distributed physical access control using smart cards
CN104468113A (en) Distribution of user credentials
US20150222436A1 (en) Techniques for securing networked access systems
KR101814719B1 (en) System and method for remote controlling digital door-lock using smartphone
EP1807788A1 (en) An access control system and a method of access control
EP3454243B1 (en) Token execution system for access control
CN108605034A (en) Radio firmware updates
WO2020213125A1 (en) Entry/exit management system, entry/exit management system authentication device, entry/exit management system management device, entry/exit management system portable terminal, data structure of entry/exit management data, entry/exit management program, and entry/exit management system building method
WO2021053131A1 (en) Method, locking system for controlling access to a resource and a locking device
CN109767530A (en) Smart lock control method, apparatus and system based on block chain
RU2709281C1 (en) Digital key carrier authorization method and system
US20220014388A1 (en) Virtual security guard
US11348392B2 (en) Method for access control
US20220366408A1 (en) Digital Key With Monetary Value

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18925737

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18925737

Country of ref document: EP

Kind code of ref document: A1