Patent Description:
When a person needs to enter a protected common area, such as the common areas of a multi-residential building or an office, a passcode in the form of a PIN (personal identification number) is often entered to a lock, in order to unlock the lock. The PIN can consist of a sequence of digits, e.g. four or six digits.

When deliveries are made, the passcode often needs to be shared with the delivery company, such that the delivery person can enter the building. The same applies for other services, e.g. cleaning, facilities management, etc. After entering the building, the delivery person or other service provider can go to the property of the receiver and deliver the package or provide the service.

It is a security risk to share passcodes. Consider, as an example, a multi-residential building with <NUM> flats. If, on average, each flat receives only a single delivery a month, about <NUM> people will have received the passcode each year. The passcode could of course be changed over time, but this results in inconvenience for the residents.

<CIT> discloses a computer-based locking system using changing passcodes. An application on an electronic device requests a passcode from an application server. The application server generates the passcode based on a current time. A lock with a passcode interface and a locking mechanism captures the input passcode. The lock also generates a local passcode based on current time. The lock releases the locking mechanism in response to the input passcode matching the local passcode.

One object is to improve the security for when pins need to be shared.

According to a first aspect, it is provided a method for enabling access, using a temporary passcode, to a physical space secured by an electronic lock. The method is performed in a passcode provider. The method comprises: synchronising with the electronic lock to align times for temporary passcode generation; receiving a signal to provide a temporary passcode for unlocking the electronic lock; determining a temporary passcode, the temporary passcode being valid only until an end time at the electronic lock, by selecting, from a plurality of currently valid temporary passcodes with different remaining validity times, the temporary passcode that has the longest remaining validity time, wherein the plurality of currently valid temporary passcodes are based on a new temporary passcode becoming valid in parallel when half of the validity time of a temporary passcode is left before it expires; and providing the temporary passcode for forwarding to a temporary passcode recipient.

The determining a temporary passcode may comprise determining the temporary passcode based on a predetermined schedule of temporary passcode generation.

The signal may be a user input signal from a user interface module, based on receiving input from a user to provide the temporary passcode.

The providing the temporary passcode may comprise presenting the temporary passcode to the user.

The providing the temporary passcode may comprise transmitting the temporary passcode to the temporary passcode recipient.

The providing the temporary passcode may comprise transmitting the temporary passcode to the temporary passcode recipient via an application server.

The passcode may be in the form of a sequence of digits.

According to a second aspect, it is provided a passcode provider for enabling access, using a temporary passcode, to a physical space secured by an electronic lock. The passcode provider comprises: a processor; and a memory storing instructions that, when executed by the processor, cause the passcode provider to: synchronise with the electronic lock to align times for temporary passcode generation; receive a signal to provide a temporary passcode for unlocking the electronic lock; determine a temporary passcode, the temporary passcode being valid only until an end time at the electronic lock, by selecting, from a plurality of currently valid temporary passcodes with different remaining validity times, the temporary passcode that has the longest remaining validity time, wherein the plurality of currently valid temporary passcodes are based on a new temporary passcode becoming valid in parallel when half of the validity time of a temporary passcode is left before it expires; and provide the temporary passcode for forwarding to a temporary passcode recipient.

The instructions to determine a temporary passcode may comprise instructions that, when executed by the processor, cause the passcode provider to determine the temporary passcode based on a predetermined schedule of temporary passcode generation.

The instructions to provide the temporary passcode may comprise instructions that, when executed by the processor, cause the passcode provider to present the temporary passcode to the user.

The instructions to provide the temporary passcode may comprise instructions that, when executed by the processor, cause the passcode provider to transmit the temporary passcode to the temporary passcode recipient.

The instructions to provide the temporary passcode may comprise instructions that, when executed by the processor, cause the passcode provider to transmit the temporary passcode to the temporary passcode recipient via an application server.

According to a third aspect, it is provided a computer program for enabling access, using a temporary passcode, to a physical space secured by an electronic lock. The computer program comprises computer program code which, when executed on a passcode provider causes the passcode provider to: synchronise with the electronic lock to align times for temporary passcode generation; receive a signal to provide a temporary passcode for unlocking the electronic lock; determine a temporary passcode, the temporary passcode being valid only until an end time at the electronic lock, by selecting, from a plurality of currently valid temporary passcodes with different remaining validity times, the temporary passcode that has the longest remaining validity time, wherein the plurality of currently valid temporary passcodes are based on a new temporary passcode becoming valid in parallel when half of the validity time of a temporary passcode is left before it expires; and provide the temporary passcode for forwarding to a temporary passcode recipient.

According to embodiments presented herein, a passcode provider is first synchronised with an electronic lock. The passcode provider generates a temporary passcode (e.g. a temporary PIN), with a limited validity time. The temporary passcode is provided to a temporary passcode recipient (e.g. delivery person or other service provider) and the temporary passcode recipient can enter the passcode on a keypad of the electronic lock. The electronic lock (which has been synchronised with the passcode provider) can verify the passcode and grant access when appropriate. The same algorithm and schedule that is used for passcode generation by the passcode provider is also used for the passcode verification in the electronic lock. By synchronising the passcode provider and the electronic lock in advance, the electronic lock does not need to be constantly online. Moreover, after the temporary passcode has expired, it does not pose a security risk. Furthermore, by basing the passcode generation and verification on time, rather than a sequence of valid passcodes, the passcodes do not come out of synchronicity with each other between the passcode provider and the electronic lock. By basing the generation on time, also multiple recipients can receive concurrently valid passcodes.

<FIG> is a schematic diagram illustrating an environment in which embodiments presented herein can be applied. Access to a physical space <NUM> is restricted by an openable physical barrier <NUM> which is selectively unlockable. The physical barrier <NUM> stands between the restricted physical space <NUM> and an accessible physical space <NUM>. Note that the accessible physical space <NUM> can be a restricted physical space in itself, but in relation to this physical barrier <NUM>, the accessible physical space <NUM> is accessible. The barrier <NUM> can be a door, gate, hatch, cabinet door, drawer, window, etc. An electronic lock <NUM> is provided in order to control access to the physical space <NUM>, by selectively unlocking the barrier <NUM>.

The electronic lock <NUM> can be provided in a structure <NUM> (such as a wall) surrounding the barrier <NUM> (as shown) or the electronic lock <NUM> can be provided in the barrier <NUM> itself (not shown). The electronic lock <NUM> is controllable to be in a locked state or in an unlocked state. The electronic lock <NUM> comprises a user input device <NUM>, e.g. a keypad or touchscreen, for entry of a passcode, e.g. a pin or an alphanumeric sequence, to unlock the electronic lock <NUM>.

Optionally, the electronic lock <NUM> supports one or more additional factors of authentication, e.g. by communicating with an electronic key, or biometrics.

A network <NUM>, which can be an internet protocol (IP)-based network, is provided, to which an optional code generation server <NUM> and an optional application server <NUM> are connected. The network can e.g. comprise any one or more of a local wireless network, a cellular network, a wired local-area network, a wide-area network (such as the Internet), etc..

A user <NUM> has authority access the restricted physical space and can e.g. be a resident, a tenant, a facilities manager, etc. The user <NUM> has access to a user device <NUM>, which can be a smartphone, computer etc., and is connected or connectable to the network <NUM>. As explained in more detail below, the user <NUM> can use a method to trigger the generation of a temporary passcode, which is provided to a temporary passcode recipient <NUM>, e.g. via a recipient device <NUM>.

The temporary passcode recipient <NUM> can then enter the temporary passcode on the user input device <NUM> of the electronic lock <NUM>, to thereby gain access to the restricted space.

When provided, the application server <NUM> can implement server functionality which interacts with an application (also known as app) on the recipient device, for communicating the temporary passcode, as describe in more detail below with reference to <FIG>.

<FIG> are schematic diagram illustrating embodiments of where the passcode provider <NUM> can be implemented.

In <FIG>, the passcode provider <NUM> is shown implemented in the code generation server <NUM>, which can form part of what is commonly referred to as the cloud. The code generation server <NUM> is thus the host device for the passcode provider <NUM> in this implementation.

In <FIG>, the passcode provider <NUM> is shown implemented in the user device <NUM>. The user device <NUM> is thus the host device for the passcode provider <NUM> in this implementation.

In <FIG>, the passcode provider <NUM> is shown as implemented as a stand-alone device. The passcode provider <NUM> thus does not have a host device in this implementation.

<FIG> are sequence diagrams illustrating communication between some of the entities of <FIG>, according to various embodiments. Specifically, the communication between the user device <NUM>, the passcode provider <NUM> and the recipient device <NUM> are shown. In <FIG>, the application server <NUM> is also included.

First, the sequence of <FIG> will be described. When the user has a need to generate a temporary passcode, for a provider of a service, the user controls the user device <NUM> to request <NUM> a temporary passcode from the passcode provider <NUM>. The request can e.g. be sent using a web interface provided by the passcode provider. Alternatively, the request is transmitted using an application on the user device <NUM> that interacts with corresponding server functionality on the passcode provider. Alternatively, when the passcode provider <NUM> is implemented in the user device <NUM>, the request is sent using internal communication, e.g. within an application executing on the user device.

The passcode provider <NUM> generates <NUM> the temporary passcode as described in more detail below, in synchronicity with the passcode generation by the electronic lock.

Once generated, the passcode provider <NUM> provides the temporary passcode <NUM> to the user device <NUM>. The user device <NUM> can now send the temporary passcode <NUM> to the recipient device <NUM>, e.g. using a text message, an e-mail, or even using a voice call. The temporary passcode recipient can then enter the passcode to the electronic lock for entry to the restricted space <NUM>. Since the passcode generation is synchronised between the temporary passcode generator <NUM> and the electronic lock <NUM>, the temporary passcode can be verified without the need for online communication between the passcode generator <NUM> and the electronic lock <NUM>.

In this embodiment, the temporary passcode recipient does not need any additional hardware or nor software to gain access using the temporary passcode.

Looking now to <FIG>, only differences from the sequence of <FIG> will be described. After generating the passcode <NUM>, the passcode provider <NUM> here sends the temporary passcode <NUM> directly to the recipient device, e.g. using a text message, an e-mail or a voice call with voice synthesis informing of the temporary passcode.

Since it is the passcode provider <NUM> that sends the pin to the recipient device, the user can schedule the sending of passcode to a particular time or when a particular event occurs in the future. When the passcode provider <NUM> is not implemented in the user device <NUM>, this allows the user device <NUM> to be offline, and the passcode can still be transmitted to the recipient device <NUM> at an appropriate time.

Looking now to <FIG>, only differences from the sequence of <FIG> will be described. After generating the passcode <NUM>, the passcode provider <NUM> here sends the temporary passcode <NUM> to the application server <NUM>. The application server <NUM> implements server-side functionality for an application on the recipient device. Hence, the application server <NUM> can here forward the temporary passcode <NUM> to the recipient device <NUM> for notifying the temporary passcode recipient <NUM>.

<FIG> is a flow chart illustrating embodiments of methods for enabling access, using a temporary passcode, to a physical space secured by an electronic lock. The method is performed in the passcode provider <NUM>. The temporary passcode can e.g. be in the form of a sequence of digits, e.g. a PIN. Alternatively, the temporary passcode is a sequence of letters and/or other characters. The passcode provider can be configured to generate temporary passcodes for a plurality of electronic locks <NUM>, where the described methods can be performed in parallel for each one of the electronic locks <NUM>.

In a synchronise with lock step <NUM>, the passcode provider <NUM> synchronises with the electronic lock <NUM> to align times for temporary passcode generation. The synchronisation can e.g. occur over a wireless connection (e.g. Bluetooth, Bluetooth low energy (BLE), Wi-Fi) with the user device. The user device can act as a router or intermediary between the electronic lock <NUM> and the passcode provider <NUM> for the synchronisation.

When a visitor needs access to the physical space secured by the electronic lock, e.g. due to a service, such as a delivery, or other service, ordered by the user, the user is notified that the visitor needs access, e.g. via text message, phone call, delivery information app, etc. The user will then request a temporary passcode.

In a receive signal to provide temporary passcode step <NUM>, the passcode provider <NUM> receives a signal to provide a temporary passcode for unlocking the electronic lock. The signal can be a user input signal from a user interface module, based on receiving input from the user <NUM> to provide the temporary passcode, e.g. from a web interface or from an application running on the user device. Optionally, the request comprises an indicated time of when the temporary passcode should be generated and transmitted. Optionally, an identifier (e.g. phone number, e-mail address, user id) of the temporary passcode recipient is provided in the request. Optionally, the request comprises an identifier of the electronic lock, for which the temporary passcode is requested.

In a determine temporary passcode <NUM> step, the passcode provider <NUM> determines a temporary passcode. The temporary passcode is valid only until an end time at the electronic lock <NUM>. The validity duration of the temporary passcode can be configured to e.g. <NUM> minute, <NUM> minutes, etc. When the request comprises an indicated time, this step can be put in a wait time until the indicated time occurs. The temporary passcode is generated in synchronicity with passcode generation in the electronic lock. This is made possible by the earlier synchronisation and a common procedure of generating temporary passcodes over time. In other words, the temporary passcode can be determined based on a predetermined schedule of temporary passcode generation. The schedule is the same as a corresponding schedule in the electronic lock. In this way, the generated temporary passcode can be verified in the electronic lock. Each electronic lock can have its own generation of passcodes, e.g. generated according to the same algorithm but with initiated with different seeds.

The temporary passcode is selected to be, from a plurality of currently valid temporary passcodes with different remaining validity times, the temporary passcode that has the longest remaining validity time. The plurality of currently valid temporary passcodes thus overlap in time. This procedure is illustrated in <FIG> and is described in more detail below.

In a provide temporary passcode step <NUM>, the passcode provider <NUM> provides the temporary passcode for forwarding to a temporary passcode recipient. This can be implemented by presenting the temporary passcode to the user <NUM>. Alternatively, or additionally, the passcode is provided by transmitting the temporary passcode to the temporary passcode recipient.

Since the electronic lock generates a corresponding temporary passcode, the electronic lock can verify the temporary passcode when this is entered by the temporary passcode recipient. The electronic lock executes a passcode verification algorithm which corresponds to the passcode generation, to be able to verify the temporary passcode.

Optionally, the lock also accepts a static passcode, which can be used by legitimate users and can be shared with people for which the legitimate users have a high level of trust, e.g. family members.

Using embodiments presented herein, the user can make sure the recipient receives a valid temporary passcode to gain access to the restricted physical space. After expiry, the temporary passcode is unusable and poses no security risk. At the same time, the temporary passcode is easy for the user to share with the recipient. Hence a solution is provided which is both secure and convenient.

<FIG> is a schematic diagram illustrating a schedule of passcodes overlapping in time, which can be used in embodiments of <FIG>. The same (predetermined) schedule is used both by the passcode provider <NUM> and the electronic lock <NUM>. Time flows from left to right. The (horizontal) extension in <FIG> of each temporary passcode 25a-f indicates its period of validity. There is a significant overlap in validity between passcodes. When half of the validity time of a temporary passcode is left before it expires, a new temporary passcode becomes valid in parallel. There is thus an overlap of half a validity time between temporary passcodes and there are two passcodes that are valid at each point in time.

When determining a temporary passcode, and applying the principles of <FIG>, of the two valid passcodes, the passcode provider selects, from a plurality of currently overlapping valid temporary passcodes with different remaining validity times, the temporary passcode that has the longest remaining validity time. This reduces the risk of the passcode expiring prior the temporary passcode recipient being able to enter it.

At any point in time, the electronic lock accepts either one of the concurrently valid passcodes to grant access.

<FIG> is a schematic diagram illustrating components of the passcode provider <NUM> of <FIG>. It is to be noted that when the authentication device <NUM> is implemented in a host device, one or more of the mentioned components can be shared with the host device. A processor <NUM> is provided using any combination of one or more of a suitable central processing unit (CPU), graphics processing unit (GPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions <NUM> stored in a memory <NUM>, which can thus be a computer program product. The processor <NUM> could alternatively be implemented using an application specific integrated circuit (ASIC), field programmable gate array (FPGA), etc. The processor <NUM> can be configured to execute the method described with reference to <FIG> above.

The passcode provider <NUM> further comprises an I/O interface <NUM> for communicating with external and/or internal entities. Optionally, the I/O interface <NUM> also includes a user interface.

Other components of the passcode provider <NUM> are omitted in order not to obscure the concepts presented herein.

<FIG> shows one example of a computer program product <NUM> comprising computer readable means. On this computer readable means, a computer program <NUM> can be stored, which computer program can cause a processor to execute a method according to embodiments described herein. In this example, the computer program product is in the form of a removable solid-state memory, e.g. a Universal Serial Bus (USB) drive. As explained above, the computer program product could also be embodied in a memory of a device, such as the computer program product <NUM> of <FIG>. While the computer program <NUM> is here schematically shown as a section of the removable solid-state memory, the computer program can be stored in any way which is suitable for the computer program product, such as another type of removable solid-state memory, or an optical disc, such as a CD (compact disc), a DVD (digital versatile disc) or a Blu-Ray disc.

Claim 1:
A method for enabling access, using a temporary passcode (<NUM>. 25a-f), to a physical space (<NUM>) secured by an electronic lock (<NUM>), the method being performed in a passcode provider (<NUM>), the method comprising:
synchronising (<NUM>) with the electronic lock (<NUM>) to align times for temporary passcode generation;
receiving (<NUM>) a signal to provide a temporary passcode for unlocking the electronic lock;
determining (<NUM>) a temporary passcode, the temporary passcode being valid only until an end time at the electronic lock (<NUM>), by selecting, from a plurality of currently valid temporary passcodes with different remaining validity times, the temporary passcode that has the longest remaining validity time, wherein the plurality of currently valid temporary passcodes are based on a new temporary passcode becoming valid in parallel when half of the validity time of a temporary passcode is left before it expires; and
providing (<NUM>) the temporary passcode for forwarding to a temporary passcode recipient.