The presently disclosed subject matter relates to the area of Computer Security, and more specifically to identification of connected devices, such as Internet of Things (IoT) devices (also referred to herein as “devices” or “Things” interchangeably), Authentication of IoT Devices and Authorization of Transactions initiated by an IoT Device or involving an IoT Device as a participant.
The simplicity of IoT Devices dictated by cost and compatibility concerns, gives rise to new Cyber-security challenges in the design of protected, hack-safe systems. Affected areas include banking and financial systems, industry, manufacturing, agriculture, medicine, transport and many more. Billions of basic “Things” possessing rudimentary computing capabilities and lacking of built-in security mechanisms are easy targets to sophisticated predators. The ground is ripe for massive attacks on payment transactions, industrial processes, theft of sensitive business data, information gathering and eavesdropping as well as new, yet unknown types of scams.
These attacks will become more and more devastating as IoT Devices graduate from measuring and transmitting collected information into participating in core functions of making decisions and performing actions without any human intervention. Examples include initiation of financial transactions (e.g. payments initiated by wearable devices, home appliances or connected cars), critical infrastructure systems, commands and actions performed by autonomous robotic equipment (cars, trucks, tractors etc.), controlling or tuning of industrial manufacturing equipment, or fateful decisions made by (semi-) autonomous medical devices such as heart pacemakers or insulin pumps.
The cornerstone of securing computer communications is amply strong Authentication of participating parties, based on their Identity and rigorous management of Transaction Authorization.
Existing non-autonomous Authentication process in Human to Machine communication is typically based on Human Identity and using human-oriented credentials defined as “What I have/What I know/What I'm”. This occurs for example during Credit Card authorization or authorized logging in to any application or internet site. The process requires direct involvement of Human (Persona) in the transaction initiation and authorization. Multi-factor authentication essentially requires Human intervention as well.
From the other side, Authentication of participating parties in Machine to Machine (M2M) secure communication between two Devices is based on keys, tokens or other secure elements. The underlying assumption is that these secure elements on both communicating sides are protected as they are residing in special non-volatile memory, strongly encrypted, one-time or frequently changing etc. This assumption is carried out (to some extent) in domains of computers servers, personal computing, cellular phones etc. However, this is barely correct for IoT Devices due to their severe limitations. Pre-loading the Device with whole information comprising its Identity (including tokens, encryption keys etc.) is extremely insecure. Using metaphor from Human to Machine communication, one can say that this degrades the security to the easiest to breach What I have level.
The underlying communication technology of IoT Devices is based on existing computer network protocols of different levels such as HTTP(s), FTP(s), WiFi or protocols adjusted to IoT needs (low power consumption etc.) such as 6LowPan, LoRaWan, LTE-M, BLE, MQTT etc. Those protocols aren't implying strong Device authentication mechanisms and in fact weren't successful in prevention of majority of today's cyber-attacks.
New IoT world requires mechanism for strong IoT Device Authentication and secure, Authorized Transactions involving these devices or even initiated by IoT devices themselves, bypassing these devices' inherent security weakness.
New IoT Device Authentication and Secure Transaction Authorization System and Method. Device Authentication and Transaction Authorization can be performed in unattended mode.
The presently disclosed subject matter comprises solution bringing equivalent of Human Identity “What I know” into Machine to Machine (M2M) communication by establishing elaborated and strong Device Identity.
Authentication process based on novel, dynamic Device Identity comprised from a set of parameters related to surrounding physical environment as it can be discovered by the Device using its own sensors, its network neighborhood as known to the device and information describing the Device itself.
As such, the presently disclosed subject matter is making a novel use of inherent features every IoT Device is equipped with—its ability to measure physical parameters of the surrounding real world as well as its ability to intercommunicate with the surroundings via built-in (into the device) one or another type of network communication technology.
Device Identity is not stored on the Device itself but rather re-generated per transaction.
Device Identity is known in advance to Central Agency responsible for serving Authentication requests and Authorizing transactions.
IoT Device can't initiate its Authentication by declaring its Identity. The Device Authentication can be initiated by Central Agency only.
Authentication is built as Dynamic challenge/response process. Different unpredictable challenge are issued by Central Agency each time. Dissimilar information comprising Device Identity (targeted, randomized subset of parameters) should be produced by IoT Device in order to respond to each challenge (equivalent of “security questions” in Human Authentication).
The decision on Authentication provided in form of Authentication Grade, which reflects reliability of the Device Authentication. The Grade can be calculated by a Matching Algorithm. This Algorithm compares between full original Device Identity created during a one-time Contract (binding) process and the subset Device Identity received as a response to dynamic Authentication challenge. The Algorithm can use for comparison its own metric space, as well as methods of statistical analysis, machine learning and Artificial Intelligence.
The presently disclosed subject matter is compatible with majority of IoT Device types and Device networks.
The presently disclosed subject matter is independent of IoT Device vendor.
The presently disclosed subject matter does not require any special Hardware apart from IoT device itself.
Most of IoT devices (because of their cost, limited battery power or other constrains) have limited computing capabilities and are not equipped with strong hardware-based security features. The presently disclosed subject matter allows to secure transactions on such devices as well.
From the other side, the presently disclosed subject matter allows to take significant advantage from security-related features of specific Hardware and Software platforms (if available), such as ARM's mbed platform, TPM modules or others, making Authentication and Authorization even more secure.
The presently disclosed subject matter can be used in adjustment to standard security credentials (e.g. User/Password, Credit Card info, Fingerprint info etc.) to provide much stronger security identity equivalent to two- or multi-factor authentication.
In this situation, the presently disclosed subject matter can be used for stronger Authentication and improved Transaction Authorization for devices that aren't classified today as IoT devices, such as Cell Phones, Tablets and other Mobile Devices, etc.
In accordance with a first aspect of the presently disclosed subject matter, there is provided a network-connected device authentication system, the network-connected device authentication system comprising a processing resource configured to: provide a contracts database comprising a plurality of authentication-enabling information records, each authentication-enabling information record containing a network access descriptor of a respective network-connected device and reference values of respective authentication parameters of the respective network-connected device; obtain, from a requestor, an authentication request including a given network access descriptor associated with a given network-connected device to be authenticated; retrieve, from the given network-connected device, utilizing the given network access descriptor, a plurality of authentication values obtained by reading current values of the respective authentication parameters of the given network-connected device, wherein one or more given authentication parameters of the authentication parameters a dynamic value that changes over time; calculate an authentication grade indicative of authenticity of the given network-connected device by comparing each of the authentication values with a respective expected value, or expected value range, or a group of expected values, determined utilizing the respective reference values; and send, to the requestor, an authentication reply.
In some cases, the authentication reply includes the authentication grade.
In some cases, the authentication request is a request for authorization of a transaction involving the given network-connected device and wherein the authentication reply indicates authorization of the transaction upon determining that the grade is above a threshold.
In some cases, the authentication request is a request for authorization of a transaction involving the given network-connected device and wherein the authentication reply indicates the transaction as unauthorized upon determining that the grade is below a threshold.
In some cases, the processing resource is further configured to generate the given authentication-enabling information record by performing a contract creation process, during which the reference values are obtained by reading the current values of the respective authentication parameters of the given network-connected device.
In some cases, at least one given authentication parameter of the given authentication parameters has a corresponding expected value and wherein the comparing includes a comparison between the authentication value of the at least one given authentication parameter and the corresponding expected value of the at least one given authentication parameter.
In some cases, the corresponding expected value does not change over time.
In some cases, the corresponding expected value changes over time.
In some cases, the corresponding expected value is calculated based on one or more expected value determination rules.
In some cases, the reference values of the given authentication parameter include a plurality of readings obtained in response to a plurality of past retrievals from the given network-connected device, and wherein the corresponding expected value is calculated based on a plurality of the reference values of the given authentication parameter.
In some cases, at least one given authentication parameter of the given authentication parameters has a respective expected value range and wherein the comparing includes a comparison between the authentication value of the at least one given authentication parameter and the corresponding expected value range of the at least one given authentication parameter.
In some cases, the corresponding expected value range does not change over time.
In some cases, the corresponding expected value range changes over time.
In some cases, the corresponding expected value range is calculated based on one or more expected value determination rules.
In some cases, the reference values of the given authentication parameter include a plurality of readings obtained in response to a plurality of past retrievals from the given network-connected device, and wherein the corresponding expected value range is calculated based on a plurality of the reference values of the given authentication parameter.
In some cases, at least one given authentication parameter of the given authentication parameters has a respective group of expected values and wherein the comparing includes a comparison between the authentication value of the at least one given authentication parameter and the corresponding group of expected values of the at least one given authentication parameter.
In some cases, the corresponding group of expected values does not change over time.
In some cases, the corresponding group of expected values changes over time.
In some cases, the corresponding group of expected values is calculated based on one or more expected values determination rules.
In some cases, the reference values of the given authentication parameter include a plurality of readings obtained in response to a plurality of past retrievals from the given network-connected device, and wherein the corresponding group of expected values is calculated based on a plurality of the reference values of the given authentication parameter.
In some cases, at least one of the given authentication parameters relates to a network environment of the given network-connected device.
In some cases, at least one of the given authentication parameters is obtained from a sensor connected to the given network-connected device.
In some cases, the reference values of the respective authentication parameters associated with the respective network-connected device are collected from the respective network-connected device.
In some cases, at least one of the given authentication parameters is associated with a hardware of the given network-connected device.
In some cases, the authentication values are obtained for a targeted randomized subset of the respective authentication parameters.
In some cases, the network-connected device is an Internet of Things (IoT) device.
In some cases, the processing resource is further configured to obtain an image signature of an authentication application installed on the given network-connected device, and to verify that the image signature is identical to a reference image signature associated with the authentication application.
In some cases, the authentication application is downloaded to the network-connected device from a network location.
In some cases, the processing resource is further configured to obtain a software stack signature of one or more applications installed on the given network-connected device, and to verify that the software stack signature is identical to a reference software stack signature associated with the given network-connected device.
In some cases, at least one of the expected values or the expected value ranges or the group of expected values is determined based on a correlation between reference values of at least two of the authentication parameters.
In some cases, at least one of the expected values or the expected value ranges or the group of expected values is determined based on a correlation between at least one reference value of at least one of the authentication parameters and external data obtained from an external information source other than the network connected devices and external to the network-connected device authentication system.
In some cases, the authentication parameters are associated with respective weights and wherein the authentication grade is calculated also utilizing the weights.
In accordance with a second aspect of the presently disclosed subject matter, there is provided a network-connected device authentication method, the network-connected device authentication method comprising: providing, by a processing resource, a contracts database comprising a plurality of authentication-enabling information records, each authentication-enabling information record containing a network access descriptor of a respective network-connected device and reference values of respective authentication parameters of the respective network-connected device; obtaining, by the processing resource, from a requestor, an authentication request including a given network access descriptor associated with a given network-connected device to be authenticated; retrieving, by the processing resource, from the given network-connected device, utilizing the given network access descriptor, a plurality of authentication values obtained by reading current values of the respective authentication parameters of the given network-connected device, wherein one or more given authentication parameters of the authentication parameters a dynamic value that changes over time; calculating, by the processing resource, an authentication grade indicative of authenticity of the given network-connected device by comparing each of the authentication values with a respective expected value, or expected value range, or a group of expected values, determined utilizing the respective reference values; and sending, by the processing resource, to the requestor, an authentication reply.
In some cases, the authentication reply includes the authentication grade.
In some cases, the authentication request is a request for authorization of a transaction involving the given network-connected device and wherein the authentication reply indicates authorization of the transaction upon determining that the grade is above a threshold.
In some cases, the authentication request is a request for authorization of a transaction involving the given network-connected device and wherein the authentication reply indicates the transaction as unauthorized upon determining that the grade is below a threshold.
In some cases, the method further comprises generating, by the processing resource, the given authentication-enabling information record by performing a contract creation process, during which the reference values are obtained by reading the current values of the respective authentication parameters of the given network-connected device.
In some cases, at least one given authentication parameter of the given authentication parameters has a corresponding expected value and wherein the comparing includes a comparison between the authentication value of the at least one given authentication parameter and the corresponding expected value of the at least one given authentication parameter.
In some cases, the corresponding expected value does not change over time.
In some cases, the corresponding expected value changes over time.
In some cases, the corresponding expected value is calculated based on one or more expected value determination rules.
In some cases, the reference values of the given authentication parameter include a plurality of readings obtained in response to a plurality of past retrievals from the given network-connected device, and wherein the corresponding expected value is calculated based on a plurality of the reference values of the given authentication parameter.
In some cases, at least one given authentication parameter of the given authentication parameters has a respective expected value range and wherein the comparing includes a comparison between the authentication value of the at least one given authentication parameter and the corresponding expected value range of the at least one given authentication parameter.
In some cases, the corresponding expected value range does not change over time.
In some cases, the corresponding expected value range changes over time.
In some cases, the corresponding expected value range is calculated based on one or more expected value determination rules.
In some cases, the reference values of the given authentication parameter include a plurality of readings obtained in response to a plurality of past retrievals from the given network-connected device, and wherein the corresponding expected value range is calculated based on a plurality of the reference values of the given authentication parameter.
In some cases, at least one given authentication parameter of the given authentication parameters has a respective group of expected values and wherein the comparing includes a comparison between the authentication value of the at least one given authentication parameter and the corresponding group of expected values of the at least one given authentication parameter.
In some cases, the corresponding group of expected values does not change over time.
In some cases, the corresponding group of expected values changes over time.
In some cases, the corresponding group of expected values is calculated based on one or more expected values determination rules.
In some cases, the reference values of the given authentication parameter include a plurality of readings obtained in response to a plurality of past retrievals from the given network-connected device, and wherein the corresponding group of expected values is calculated based on a plurality of the reference values of the given authentication parameter.
In some cases, at least one of the given authentication parameters relates to a network environment of the given network-connected device.
In some cases, at least one of the given authentication parameters is obtained from a sensor connected to the given network-connected device.
In some cases, the reference values of the respective authentication parameters associated with the respective network-connected device are collected from the respective network-connected device.
In some cases, at least one of the given authentication parameters is associated with a hardware of the given network-connected device.
In some cases, the authentication values are obtained for a targeted randomized subset of the respective authentication parameters.
In some cases, the network-connected device is an Internet of Things (IoT) device.
In some cases, the method further comprises obtaining, by the processing resource, an image signature of an authentication application installed on the given network-connected device, and verifying that the image signature is identical to a reference image signature associated with the authentication application.
In some cases, the authentication application is downloaded to the network-connected device from a network location.
In some cases, the method further comprises obtaining, by the processing resource, a software stack signature of one or more applications installed on the given network-connected device, and verifying that the software stack signature is identical to a reference software stack signature associated with the given network-connected device.
In some cases, at least one of the expected values or the expected value ranges or the group of expected values is determined based on a correlation between reference values of at least two of the authentication parameters.
In some cases, at least one of the expected values or the expected value ranges or the group of expected values is determined based on a correlation between at least one reference value of at least one of the authentication parameters and external data obtained from an external information source other than the network connected devices and external to the network-connected device authentication system.
In some cases, the authentication parameters are associated with respective weights and wherein the authentication grade is calculated also utilizing the weights.
In accordance with a third aspect of the presently disclosed subject matter, there is provided a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code, executable by at least one processor of a computer to perform a method comprising: providing, by a processing resource, a contracts database comprising a plurality of authentication-enabling information records, each authentication-enabling information record containing a network access descriptor of a respective network-connected device and reference values of respective authentication parameters of the respective network-connected device; obtaining, by the processing resource, from a requestor, an authentication request including a given network access descriptor associated with a given network-connected device to be authenticated; retrieving, by the processing resource, from the given network-connected device, utilizing the given network access descriptor, a plurality of authentication values obtained by reading current values of the respective authentication parameters of the given network-connected device, wherein one or more given authentication parameters of the authentication parameters a dynamic value that changes over time; calculating, by the processing resource, an authentication grade indicative of authenticity of the given network-connected device by comparing each of the authentication values with a respective expected value, or expected value range, or a group of expected values, determined utilizing the respective reference values; and sending, by the processing resource, to the requestor, an authentication reply.
IoT Device Authentication and Transaction Authorization Processes and its parties:
For Business transaction initiated by an IoT Device 110, the parties are:
For Business transaction initiated by external process and involving IoT Device, the parties are:
IoT Device 110—the device participating in any type of business transaction that needs to be secured. That's the Device to be Authenticated. If the business transaction is initiated by IoT Device 110, the transaction is usually sent to the External Fulfillment service 130 to be performed.
In order to perform the transaction, the Device 110 should also communicate with Central Agency 120 for the Device 110 Authentication and the transaction Authorization.
Central Agency 120—Service that authenticates the IoT device 110 and provides the Transaction Authorization. Can be part of standard security credentials verification process or a separate service.
Central Agency 120 and IoT Device 110 can be connected over any type of known computer network 150 (e.g. TCP/IP).
External Fulfillment Service 130 (optional, not part of the invention)—the service invoked by IoT Device 110 in order to perform business transaction and needs the transaction authorization to fulfill the request (e.g. Credit Card Company or e-Commerce site need payment transaction authorization).
External Requestor 140—a Party that asking Central agency 120 to Authenticate IoT Device 110 in order to perform business transaction.
On
Agency 120 and External Fulfillment Service 130 as well as main databases that are in use by these processes.
IoT Device 110 Identity:
IoT Device 110 Identity is a central instance of the presently disclosed subject matter and a major element to be inspected in order to perform Device 110 Authentication.
The IoT Device 110 Identity is based on information regarding surrounding physical environment, as it can be discovered by Device 110 itself using its own sensors, its network 150 neighborhood as known to the device 110 as well as on the Device 110 features and information sources.
Every sensor built into- or connected to-IoT Device 110 can be used to constitute the Device 110 Identity.
Between such sensors and information sources (Device 110 features) there are:
IoT Device 110:
As shown on
In addition, IoT device 110 can also run different business, measurement, control, etc. application(s) 170. In the depicted example on
Central Agency 120:
The Software Server/Service that authenticates the IoT device 110 and provides Transaction Authorization. In order to do this the Central Agency 120:
Central Agency 120 can be implemented either as a cloud, enterprise cloud service or enterprise on-premise server.
Central Agency 120 can take part in standard security credentials verification process or act as a separate service.
As shown on
IoT Device Authentication and Transaction Authorization Process 190:
The Device Authentication and Transaction Authorization process 190 is split into two different stages:
The Device Authentication and secure Transaction Authorization process 190 can be initiated by Central Agency 120 as a result of Business Transaction request. Alternatively, the Central agency 120 can perform periodical Device 110 Authentication and notify External Requestor 140 only in the case of suspicious/negative Authentication.
Contract creation process 185 (binding):
Fingerprints etc.) can also be collected in Contract Creation process 185.
Contract Creation Process 185 flow:
The first phase of communication includes download of the Device Identity Application 160 from Images Database 195 using Application Distribution Process 180 or, alternatively, from any Application Store according to the type of IoT device 110. Request for this download commonly coming as a human initiated operation, sometimes from the same IoT Device 110, but can be also implemented in pure M2M environment. Application Distribution Process 180 also produces and stores encrypted Signature for the Application for future verification.
The Contract Creation Process 185 might be initiated or supervised by human operation on IoT Device 110 but also can be implemented as pure M2M one-time discovery process initiated by external (e.g. Management and Control) system. The Contract Creation Process 185 includes collection of Device 110 Identity information by Device Identity Application 160 and sending it back to the Central Agency 120 in encrypted and/or signed form for storing in Contracts database 175.
Flow diagram of the Contract Creation Process 185 is shown on
The next optional step includes collection, and authentication of standard security credentials (such as User IDs, passwords, fingerprints or credit card information) (blocks 318-324). Standard security credentials can allow authentication of the User using internal Central Agency 120 mechanisms or via external requests. Authenticated standard security credentials are stored in Contracts DB 175 of the Central Agency 120. If there is authentication fails—the request for contract creation is rejected (blocks 326-328).
After that, the Contract Creation Process 185 sends request for full Device Identity creation (block 330). Device Identity Application 160 collects all the requested information, encrypts/signs it and sends it back to the Central Agency 120 for storing in Contracts DB 175 (blocks 332-336).
At this point, in some cases, it will be possible to perform additional checks (such as to check that the software stack of the Device 110 OS was not pre-tampered by comparison the OS signatures provided by the OS vendor with the collected ones) and to send a notification of successful contract creation to the IoT device 110 (blocks 338-340).
IoT Device Authentication & Transaction Authorization Process 190:
Application 160 utilizes encryption (if supported by the Device 110) or signatures (e.g. for low end IoT Devices 110) in order to secure the communication.
IoT Device Authentication & Authorized Secure Transaction 190—Process flow:
Communication Diagram of the IoT Device Authentication & Secure Transaction Authorization 190 is shown on
IoT Device 110 Authentication request is send from External Fulfillment Service 130 or other External Party 140 via Central Agency 120.
The request is performed by IoT Device Authentication and secure Transaction Authorization Process 190 which communicates with Device Identity Application 160 residing on IoT Device 110 for this purpose.
Flow Diagram of IoT Device Authentication & Secure Transaction Authorization Process 190 while initiated by IoT Device 110 is shown on
In this case the request for IoT Device 110 Authentication is send to the Central Agency 120 by External Fulfillment Service 130 as a result of invocation from Business Application 170 running on IoT Device 110 itself.
The Process starts from checking that Device Identity Application 160 residing on IoT Device 110 is still intact and was not tampered (blocks 502-518). The check performed by comparison of the encrypted Application Signature with the original one stored by Central Agency 120 in the Application Image DB 195.
The next optional step includes verification of standard security credentials (such as UserIDs, passwords, fingerprints or credit card information) (blocks 520-524). The authentication fails and the transaction is not authorized if provided credentials aren't valid.
In the next step the IoT Device Authentication Process 190 prepares and sends the dynamic Challenge Request for collecting subset of Device 110 Identity parameters (blocks 526-530). The subset is selected by special algorithm, according to existing in Contracts DB 175 knowledge of IoT device 110 features (parameters) and their ability to provide strong, uncompromised Device 110 Identity. This algorithm performs optimizations in correspondence with Matching Process algorithm to provide best possible reliability of the Authentication. The algorithm includes targeted randomized parameter selection and obfuscates the parameter enumeration which significantly complicates interception of the communication.
The request is executed by Device Identity Application 160.
Among information parameters comprising Device 110 Identity and analyzed for each transaction are signatures of some parts of the device 110 software (such as stack of sensors device drivers). That's to verify that those, external to Device Identity Application 160, sensitive parts of the software stack (they are usually provided by the device hardware vendors or coming with Operating System), were not tampered (blocks 532-534). The Authentication falls if any indication of altered software stack was found (block 536).
The following step invokes Matching Process (see section below) and making decision on the Device Authenticated/Not Authenticated followed by decision on the Transaction Authorized/Not Authorized, if required (blocks 538-542).
Notification on the decision is sent out to the relevant parties (blocks 544-546).
Flow Diagram of the IoT Device Authentication & Secure Transaction Authorization Process 190 while initiated by external party 140 via Central Agency 120 is shown on
In this case, the request for the IoT Device 110 Authentication is send to the Central
Agency 120 from the External Party 140 (block 550). This Party 140 also gets notification on IoT Device 110 Authentication success or failure (from block 544).
In some cases, when only IoT Device 110 Authentication is required, the transaction Authorization is not performed.
Matching Process (of block 538):
Matching Process for making decision on Authentication/non-Authentication of IoT Device 110.
Signatures of sensitive parts of the software stack are collected within challenge/response process but usually verified before the Matching Process invoked.
The Matching Process:
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/IL2018/050407 | 4/9/2018 | WO | 00 |
| Number | Date | Country | |
|---|---|---|---|
| 62489562 | Apr 2017 | US |