Abstract: The present disclosure discloses a method of accessing devices securely and preventing replay and cloning attacks on the devices. The method comprises sending (205), by a user device, details of devices to a system, wherein the details include location, type, unique ID of the device; receiving (210), by the user device, a token/certificate and an Elliptic-curve Diffie–Hellman (ECDH) public key from the system corresponding to the details of the device; establishing (305), by the user device, a secure communication with the device by sending the received from system; creating, by the device, private and public keys using the ECDH; receiving (310), by the user device, a command response from the device, wherein the user device decrypts data to create a shared secret using the ECDH public key of access system/device and its ECDH private key; and transmitting (315), by the user device, a command to the device to access the device securely, wherein the device decrypts that command using the shared secret of ECDH and verifies the random secret, wherein the device provides access to the user device upon verification.
Claims:WE CLAIM:
1. A method of accessing devices securely and preventing replay and cloning attacks on the devices, the method comprising:
sending (205), by auser device, details of devices to a system, wherein the device includes a door, or a lock or an automobile, wherein the details include location, type, unique ID of the device;
receiving (210), by the user device, atoken/certificate and an Elliptic-curve Diffie–Hellman (ECDH) public key from the system corresponding to the details of the device;
establishing (305), by the user device, a secure communication with the device by sending the received from system;
creating, by the device, private and public keys using the ECDH;
receiving (310), by the user device, a command response from the device, wherein the user device decrypts data to create a shared secret using the ECDH public key of the device and its ECDH private key; and
transmitting (315), by the user device, a command to the device to access the device securely, wherein the device decrypts that command using the shared secret of ECDH and verifies the random secret, wherein the device provides access to the user device upon verification.
2. The method as claimed in claim 1, wherein the command response is sent by the device to the user device to acknowledge the verification of signature.
3. The method as claimed in claim 2, wherein thecommand response comprises command response code, a random generated secret along with the ECDH public key encrypted using the public key of a signature algorithm.
4. The method as claimed in claim 1, wherein the command to the device comprises the command code, random secret sent by the device previously encrypted using the shared secret created using the ECDH.
5. Auser device (130) in communication in with a system (105) and a device (160) for providing secure access to the device (160) to prevent replay and cloning attacks on the device (160), the user device(130) comprising:
a memory (140); and
a processor (135) coupled to the memory (140), wherein the processor (135) is configured to execute program instructions stored in the memory (140), to:
send details of device to the system, wherein the details include location, type, unique ID of the device;
receive a token/certificate and an Elliptic-curve Diffie–Hellman (ECDH) public key from the system corresponding to the details of the device;
establisha secure communication with the device by sending the received from system, wherein the device creates private and public keys using the ECDH;
receive a command response from the device to create a shared secret using the ECDH public key of device 160 and its ECDH private key; and
transmit a command to the device to access the device securely, wherein the device decrypts that command using the shared secret of ECDH and verifies the random secret, wherein the device provides access to the user device upon verification.
6. The user device (130) as claimed in claim 5, wherein the command response is sent by the device to the user device to acknowledge the verification of signature.
7. The user device (130) as claimed in claim 6, wherein the command response comprises command response code, a random generated secret along with the ECDH public key encrypted using the public key of a signature algorithm.
8. The user device (130) as claimed in claim 5, wherein the command to the device comprises the command code, random secret sent by the device previously encrypted using the shared secret created using the ECDH.
, Description:A METHOD OF ACCESSING DEVICES SECURELY AND PREVENTING REPLAY AND CLONING ATTACKS ON THE DEVICES
FIELD OF INVENTION
[01] The present disclosure relates to a field of providing secure access to electronic devices such as lockers, doors, automobiles, etc. More particularly, the present disclosure relates to methods of providing secure access to user devices for using devices such as locks, doors, automobiles and so on and preventing replay and cloning attacks on the devices.
BACKGROUND
[02] It is known that devices such as locks, doors, automobiles, and so on are accessed with physical locks. With increase in use of technology, the devices are accessed with the help of embedded systems. Generally, the physical systems such as the lockers are controlled by embedded systems and are operated based on the validation of custom tokens/certificates like X509, which are sent by a custom mobile application. Here, the communication between the mobile application, a server and the embedded system is responsible for transferring the data. Generally, this data contains custom token/certificate followed by a series of commands to confirm the transaction. Most of these systems are prone to cyber attacks like replay and cloning attack.
[03] A replay attack (also known as playback attack) is a form of attack in which an attacker sniffs a valid data transaction between the sender and receiver and the same is repeated to the receiver to gain access to the system. In other words, the replay attack is achieved by capturing a set of data, which is exchanged between access system and mobile application, and replaying the same data to the access system, which in turn gives the access to the physical system.
[04] Cloning is an attack in which the attacker gets the information about the receiver, here the access system and creates a clone of it, which behaves as if it is the access system. In cloning, the attackers fool the mobile application by appearing like the devices and the mobile application will send the token/certificate data to the clone system. Based on the above, the clone will get all the information and also can create denial of service by not responding back to the mobile application. In other words, the cloning attacks are used to steal access information by making a clone of the access system, which behaves in the same way.
[05] Therefore, there is a need in the art to provide a method of accessing devices securely and preventing replay and cloning attacks on the devices.
SUMMARY
[06] The problems in the existing art are met by providing amethod of accessing devices securely and preventing replay and cloning attacks on the devices.
[07] In one implementation, a method of accessing devices securely and preventing replay and cloning attacks on the devices is disclosed. The method comprisessending, by a user device, details of devices to a system, wherein the device includes a door, or a lock or an automobile, wherein the details include location, type, unique ID of the device;receiving, by the user device, a token/certificate and an Elliptic-curve Diffie–Hellman (ECDH) public key from the system corresponding to the details of the device;establishing, by the user device, a secure communication with the device by sending the received from system; creating, by the device, private and public keys using the ECDH; receiving, by the user device, a command response from the device, wherein the user device decrypts data to create a shared secret using the ECDH public key of access system/device and its ECDH private key; andtransmitting, by the user device, a command to the device to access the device securely, wherein the device decrypts that command using the shared secret of ECDH and verifies the random secret, wherein the device provides access to the user device upon verification.
BRIEF DESCRIPTION OF FIGURES
[08] In the following drawings like reference numbers are used to refer to like elements. Although the following figures depict various examples of the disclosure, and the disclosure is not limited to the examples depicted in the figures.
[09] FIG. 1illustrates an environment illustrating a system, and a user device used for accessing devices securely and preventing replay and cloning attacks on the devices, in accordance with one embodiment of the present disclosure;
[010] FIG. 2illustrates a method illustrating secure communication between the system and the user device, in accordance with one embodiment of the present disclosure; and
[011] FIG. 3illustrates a method illustrating secure communication between the system and the device, in accordance with one embodiment of the present disclosure.
DETAILEDDESCRIPTION
[012] The following detailed description is intended to provide example implementations to one of ordinary skill in the art, and is not intended to limit the disclosure to the explicit disclosure, as one of ordinary skill in the art will understand that variations can be substituted that are within the scope of the disclosure as described.
[013] The present disclosure discloses a method accessing devices securely and preventing replay and cloning attacks on the devices. The method comprisessending, by a user device, details of devices to a system, wherein the device includes a door, or a lock or an automobile, wherein the details include location, type, unique ID of the device;receiving, by the user device, a token/certificate and an Elliptic-curve Diffie–Hellman (ECDH) public key from the system corresponding to the details of the device;establishing, by the user device, a secure communication with the device by sending the received from system; creating, by the device, private and public keys using the ECDH; receiving, by the user device, a command response from the device, wherein the user device decrypts data to create a shared secret using the ECDH public key of access system/device and its ECDH private key; andtransmitting, by the user device, a command to the device to access the device securely, wherein the device decrypts that command using the shared secret of ECDH and verifies the random secret, wherein the device provides access to the user device upon verification.
[014] Various embodiments of the present disclosure are explained with the help of FIGs 1-3.
[015] Referring to FIG. 1, an environment 100 of a system 105 for accessing devices securely and preventing replay and cloning attacks on the devices is illustrated, in accordance with which various embodiments of the invention. The environment 100 includes the system 105. It should be understood that the system 105 might include a server or a database comprising an application to execute functions for facilitating secure access. Further, it must be understood that the system 105 may be implemented in any different computing systems, environments, and/or configurations such as a workstation, an electronic device, a mainframe computer, a laptop, and so on.
[016] The system 105 comprises at least one first processor 110, a first memory 115 and a first Input/output (I/O) Interface 120. The at least one first processor 110 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one first processor 110 is configured to fetch and execute computer-readable instructions stored in the first memory 115.
[017] The first memory 115 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
[018] The first I/O interface 120 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The first I/O interface 120 may allow the system 105 to interact with other electronic devices. The first I/O interface 120 may facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The first I/O interface 120 may include one or more ports for connecting a number of devices to one another.
[019] The system 105 is communicatively coupled to a user device 130via a network 125. The user device 130 may include, but not limited to, a mobile phone, a tablet, a wrist watch, a wrist band, and so on. The user device 130 may comprise a processor (not shown), a memory (not shown), and a transceiver (not shown), capable of communicating with the system 105to perform various tasks.
[020] In one implementation, the network 125 may be a wireless network, a wired network or a combination thereof. The network 125 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 125 may either be a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), and the like, to communicate with one another. Further the network 125 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[021] The user device 130 may comprise at least one second processor 135, a second memory 140, a second Input/output (I/O) Interface 145 and a transceiver 150.
[022] The at least one second processor 135 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one second processor 135 is configured to fetch and execute computer-readable instructions stored in the second memory 140.
[023] The second memory 140 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
[024] The second I/O interface 145 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The second I/O interface 145 may allow the user device 130 to interact with the system 105. The second I/O interface 145 may facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The second I/O interface 145 may include one or more ports for connecting a number of devices to one another.
[025] The transceiver 150 may be used to send or receive communications from other devices such as the system 105 and devices 160.
[026] The devices 160 may include but not limited to locks, doors, automobiles, and so on.
[027] The system 105 and the user device 130 are configured to access the device 160 securely such that the replay and cloning attacks are avoided at the device 160.
[028] In order to avoid replay and cloning attacks, the communication between the system 105 and the user device 130, and the communication between the user device 130 and the device 160are made secure by using token/certificate part and also using command exchange to confirm the transaction and to access the device 160.
[029] Specifically, the communication between the system 105 and the user device 130, and the communication between the user device 130 and the device 160 is made possible using RSA signature algorithm and ECDH algorithm which makes the transaction/communication secure and makes the device/access device immune to replay and cloning attack.
[030] In order to secure the communication between the user device 130 and the system 105, and to register the device 160 with the system 105, the user device 130 communicates with the system 105. Referring to FIG. 1 and 2, a method 200 is shown to illustrate the communication between the user device 130 and the system 105.
[031] At first, the user device 130 established a secured communication with the system 105, as shown at step 205.
[032] After establishing the communication, the user device 130 may share details of the device 160 with the system 105. The details may include location, type, unique ID of the device 160. Based on the details, the user device 130 may create a set of private and public keys. Specifically, the user device 130 may create the private and public keys based on Elliptic-curve Diffie–Hellman (ECDH) algorithm.
[033] Subsequently, the user device 130 requests the system 105 to create a token/certificate by passing the ECDH public key created locally, as shown in step 210.
[034] After receiving the request, the system 105 may create a token/certificate based on the information/details of the device 160 and the ECDH public key of the user device 130. Further, the system 105 encrypts the ECDH public key and sends it to the user device 130, as shown in step 215.
[035] After receiving the encrypted ECDH public key, the user device 130 establishes a secure communication with the device 160. Referring to FIG. 1 and 3, a method 300 is shown to illustrate the communication between the user device 130 and the device 160.
[036] At step 305, the user device 130 sends the token/certificate received from the server/system 105 to the access system/device 160. After receiving the token/certificate, the device 160 creates a set of private and public keys. The device 160 may create the private and public keys using the ECDH. Subsequently, the access system/device may verify the signature of the token/certificate and create a shared secret based on the public key of user device and private key of the device 160.
[037] At step 310, the device 160 may send a command response to acknowledge the verification of signature to the user device 130. The command response may comprise command response code, a random generated secret along with the ECDH public key encrypted using the public key of a signature algorithm.
[038] After receiving the command response, the user device 130 maydecrypt the data received from the access system/device 160 and may create a shared secret using the ECDH public key of access system/device 160 and its ECDH private key. Subsequently, the device 130 may save the data.
[039] At step 315, the user device 130 may send a command to the access system/device 160 containing the command code, random secret sent by the access system/device 160 previously encrypted using the shared secret created using the ECDH.
[040] At step 320, the access system/device 160 decrypts the command received from the user device 130 using the shared secret of ECDH and verifies the random secret. After verifying the random secret, the access system/device 160 provides access to the user device 130.
[041] It must be noted that the order in which the methods200, 300described shouldnot be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the methods200and 300or alternate methods. Additionally, individual blocks may be deleted from the methods 200 and 300 without departing from scope of the disclosure described herein. Furthermore, the methods 200 and 300may be implemented in any suitable hardware, software, firmware, or combination thereof.
[042] Based on the above disclosure, it is evident that the present disclosure allows validating both sender and receiver who wish to access the access device/device. As both the sender and receiver are validated, replay and cloning attacks are avoided. This is particularly advantageous as the keys are dynamic and different for every access thereby avoiding the problem of hardcoded keys.
[043] Further, the data i.e., the token/certificate based on the information of the access system/device is created by the server/system. As the data is created at the server/system, it gives assurance that the data is received from a valid source and access may be provided to the access system/device.
[044] Although embodiments of methods of providing secure access to electronic devices have been described in a language specific to features and/or methods, it is to be understood that the description is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations of the secure access to electronic devices such as lockers, doors, automobiles and so on.
| # | Name | Date |
|---|---|---|
| 1 | 201841043622-STATEMENT OF UNDERTAKING (FORM 3) [20-11-2018(online)].pdf | 2018-11-20 |
| 2 | 201841043622-REQUEST FOR EXAMINATION (FORM-18) [20-11-2018(online)].pdf | 2018-11-20 |
| 3 | 201841043622-POWER OF AUTHORITY [20-11-2018(online)].pdf | 2018-11-20 |
| 4 | 201841043622-OTHERS [20-11-2018(online)].pdf | 2018-11-20 |
| 5 | 201841043622-FORM FOR STARTUP [20-11-2018(online)].pdf | 2018-11-20 |
| 6 | 201841043622-FORM FOR SMALL ENTITY(FORM-28) [20-11-2018(online)].pdf | 2018-11-20 |
| 7 | 201841043622-FORM 18 [20-11-2018(online)].pdf | 2018-11-20 |
| 8 | 201841043622-FORM 1 [20-11-2018(online)].pdf | 2018-11-20 |
| 9 | 201841043622-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [20-11-2018(online)].pdf | 2018-11-20 |
| 10 | 201841043622-DRAWINGS [20-11-2018(online)].pdf | 2018-11-20 |
| 11 | 201841043622-DECLARATION OF INVENTORSHIP (FORM 5) [20-11-2018(online)].pdf | 2018-11-20 |
| 12 | 201841043622-COMPLETE SPECIFICATION [20-11-2018(online)].pdf | 2018-11-20 |
| 13 | 201841043622-Proof of Right (MANDATORY) [27-11-2018(online)].pdf | 2018-11-27 |
| 14 | Correspondence by Applicant_Request for Entity_30-11-2018.pdf | 2018-11-30 |
| 15 | 201841043622-Response to office action [21-09-2021(online)].pdf | 2021-09-21 |
| 16 | 201841043622-POA [01-10-2021(online)].pdf | 2021-10-01 |
| 17 | 201841043622-FORM-26 [01-10-2021(online)].pdf | 2021-10-01 |
| 18 | 201841043622-FORM 13 [01-10-2021(online)].pdf | 2021-10-01 |
| 19 | 201841043622-AMENDED DOCUMENTS [01-10-2021(online)].pdf | 2021-10-01 |
| 20 | 201841043622-FER.pdf | 2021-10-17 |
| 1 | 2021-03-1617-36-24E_16-03-2021.pdf |