FIELD OF THE INVENTION
[0001] The invention relates to a method for establishing a device-to-device (D2D) communication
session between mobile devices. The invention further relates to a mobile device for
establishing the D2D communication session with a further mobile device. The invention
further relates to control software comprising instructions for execution on the mobile
device. The invention further relates to the mobile network.
[0002] Mobile communication networks, also referred to as cellular networks or mobile networks,
have been extensively deployed over the last decades in order to address the increasing
need for mobile communication. Communication between mobile devices which are connected
to such a mobile network typically takes place via the mobile network, i.e., via one
or more base stations and core nodes of the mobile network.
BACKGROUND OF THE INVENTION
[0003] It is desirable to enable mobile devices which are typically connected to a mobile
network to also directly communicate with each other, i.e., via so-termed device-to-device
(D2D) communication.
[0004] D2D communication is characterized by a direct wireless communication path between
two mobile terminals, such as the mobile devices, while maintaining, at least at some
moments in time, at least a signaling connection with/via a base station of the wireless
communication network, i.e., of the mobile network. The direct wireless communication
path between mobile terminals allows to offload the base station(s), the access network
and the core network of the wireless communication network from most of the data and
signaling exchanged between the mobile terminals. The signaling connection with (a
base station of) the wireless communication network allows the wireless communication
network to control the resources assigned to the direct communication path between
the terminals.
[0005] A mobile device which, at a given time, uses D2D communication instead of communicating
via the mobile network may be referred to as operating in Direct Mode Operation (DMO).
DMO offers advantages such as, e.g., enabling mobile communication between users outside
a range of the mobile network, reducing of load from the base stations and/or from
the core nodes of the mobile network, etc.
[0006] An example of a mobile communication standard which enables mobile communication
between mobile devices both via the mobile network as well as via the aforementioned
D2D communication is Terrestrial Trunked Radio (TETRA).
[0007] Another example of such a mobile communication standard is Global System for Mobile
Communications (GSM). The GSM standard includes a so-termed local call, local switch
feature in which mobile communication between mobile devices which are connected to
a same base station of the mobile network is not routed through the core nodes of
the mobile network, but rather directly from the base station to each respective mobile
device.
[0008] Yet another example is Long Term Evolution (LTE). Recent developments in LTE include
D2D communication between mobile devices. It is noted that in the context of LTE,
such D2D communication is also referred to as Direct LTE.
SUMMARY OF THE INVENTION
[0009] A problem of the above mobile networks and mobile devices is that an operator of
the mobile network has no or only limited control over the D2D communication. The
inventors have recognized that such control is desirable for various reasons. For
example, the D2D communication may take place in a frequency spectrum which is licensed
to the operator and thus needs to be managed by the operator, e.g., to avoid interference.
Another example is that the operator may desire to only grant specific users access
to the D2D communication, e.g., emergency workers, subscribers to a D2D service, etc.
[0010] It would be advantageous to provide more control over the D2D communication between
mobile devices which are connectable to a mobile network.
[0011] To better address this concern, a first aspect of the invention provides a method
for establishing a D2D communication session between mobile devices which are mutually
connectable via a D2D communication channel and individually connectable to a mobile
network, comprising:
- preloading an initiation key on each of the mobile devices, the initiation key being
associated with a validity period; and
on each of the mobile devices:
- verifying a validity of the initiation key based on a current time;
- if the initiation key is deemed valid, generating a session key using the initiation
key by using the initiation key in performing a key agreement procedure between the
mobile devices over the D2D communication channel, the key agreement procedure resulting
in the session key if the initiation key used by each of the mobile devices matches;
and
- establishing the D2D communication session over the D2D communication channel based
on the session key.
[0012] A further aspect of the invention provides control software comprising instructions
for, upon execution of the control software on a mobile device, causing the mobile
device to establish the D2D communication session according to the method set forth.
[0013] A further aspect of the invention provides a mobile device for establishing a D2D
communication session with a further mobile device, the mobile device and the further
mobile device being mutually connectable via a D2D communication channel and individually
connectable to a mobile network, the mobile device comprising:
- a storage area for storing an initiation key which is provided during a preloading
procedure, the initiation key being associated with a validity period; and
- a computing subsystem for:
- verifying a validity of the initiation key based on a current time;
- if the initiation key is deemed valid, generating a session key using the initiation
key by using the initiation key in performing a key agreement procedure with the further
mobile device over the D2D communication channel, the key agreement procedure resulting
in the session key if the initiation key used by the mobile device and the further
mobile device matches; and
- a mobile subsystem for establishing the D2D communication session over the D2D communication
channel based on the session key.
[0014] A further aspect of the invention provides a mobile network arranged for preloading
an initiation key on the mobile device set forth when the mobile device is connected
to the mobile network, the initiation key being associated with a validity period.
[0015] The aforementioned measures establish, or provide the means to establish a D2D communication
session between mobile devices which are mutually connectable via a D2D communication
channel and individually connectable to a mobile network. Here, the term communication
channel refers to a conduit for an information exchange between the mobile devices,
and the term communication session refers to the information interchange, with the
information interchange typically having a defined start and end.
[0016] The mobile devices are connectable to the mobile network in that, when the mobile
devices are connected to the mobile network, mobile communication between the mobile
devices can take place via the mobile network, e.g., via the base stations and the
core nodes of the mobile network. The mobile devices are also arranged for establishing
a D2D communication channel between the mobile devices so as to enable direct communication.
The D2D communication may be established between two mobile devices. However, the
D2D communication may equally involve a plurality of more than two mobile devices.
[0017] The D2D communication session is established, i.e., set up, in the following manner.
First, an initiation key is preloaded on each of the mobile devices. Here, the term
preloading refers to a loading of the initiation key on a mobile device before establishing
the D2D communication session. For example, the initiation key may be loaded on the
mobile device already before a request is received to establish the D2D communication
session. The initiation key is used on each of the mobile devices in establishing
the D2D communication session. Hence, when a request for establishing the D2D communication
session is received, e.g., from the user or another mobile device, it is not necessary
anymore to obtain the initiation key in order to establish the D2D communication session,
i.e., it is already available on the mobile device.
[0018] The initiation key is used in establishing the D2D communication session in the following
ways. The initiation key is associated with a validity period. The validity period
is available to the mobile device, e.g., by being provided next to the initiation
key, being derivable from the initiation key, etc. The validity period indicates a
period in time in which the initiation key is deemed to be valid for use in establishing
the D2D communication session. On each of the mobile devices which are to take part
in the D2D communication session, a validity of the initiation key is verified based
on the current time. This may be in response to a request to establish the D2D communication
session. The current time is thus used to determine whether the initiation key is
considered to be valid or not. If the initiation key is considered to be valid, e.g.,
due to the current time being in the validity period, the initiation key is used in
performing a key agreement procedure between the mobile devices.
[0019] Here, the term key agreement procedure refers to a procedure which is performed between
the mobile devices which results in a session key being agreed on, with the mobile
devices each being able to influence the outcome of the procedure, i.e., the session
key. The key agreement procedure is performed via the D2D communication channel, e.g.,
by exchanging messages between the mobile devices, with the messages together constituting
the key agreement procedure. The messages may be exchanged as part of an initial D2D
communication session having been established over the D2D communication channel.
[0020] The key agreement procedure provides the session key based on whether the initiation
key, as used by each respective mobile device in the key agreement procedure, matches.
As such, a valid session key is obtained provided that each respective mobile device
uses a same initiation key in the key agreement procedure. The session key constitutes
a key used for cryptographically protecting messages in a communication session, such
as confidentiality protection using encryption or integrity protection using message
authentication codes. The D2D communication session is established using the session
key. Thus, a D2D communication session is obtained in which messages, such as those
of a voice or video transmission between the mobile devices, are cryptographically
protected using the session key. The session key is used for a particular D2D communication
session. Hence, in order to establish a new D2D communication session at a later moment
in time, typically a new session key needs to be obtained or generated.
[0021] The above measures have the effect that a D2D communication session is established
based on an initiation key. Here, the initiation key essentially functions as an authorization
token in that a mobile device needs the initiation key to establish the D2D communication
session. By providing an initiation key which is associated with a validity period
and verifying the validity of the initiation key on the mobile device based on a current
time, a time-based control mechanism is provided in that the initiation key is deemed
valid only in a predetermined period and deemed invalid outside of said period.
[0022] The above measures offer control to the operator over the D2D communication in the
following ways. By requiring a valid initiation key to establish the D2D communication
session, the operator obtains control in that he can chose to whom the initiation
key is provided, according to which conditions, etc. Moreover, by means of the validity
period, the operator obtains time-based control, e.g., so as to prevent the re-use
of old initiation keys. By using the initiation key in a key agreement procedure which
is based on a match of the initiation keys used by the mobile devices, the operator
obtains control in that not just any initiation key can be used in establishing the
D2D communication session; rather, a success of the key agreement procedure depends
on whether the initiation key, as used by each of the mobile devices in establishing
the D2D communication session, matches.
[0023] Advantageously, by preloading the initiation key, the D2D communication session can
be established under the operator's control even when one or more of the mobile devices
are currently outside the operator's direct control, e.g., by being outside a range
of the mobile network. Advantageously, the mobile devices can autonomously establish
the D2D communication session, i.e., without a need for contacting 3
rd parties.
[0024] Optionally, the preloading the initiation key comprises providing the initiation
key to each of the mobile devices via the mobile network when each respective mobile
device is connected to the mobile network. Preloading the initiation key via the mobile
network is convenient as mobile devices are frequently connected to the mobile network
and thus no additional means is needed for preloading the initiation key. Advantageously,
the mobile network provides a secure channel for preloading the initiation key. Advantageously,
the initiation key can be automatically preloaded, i.e., without requiring user actions.
[0025] Optionally, the preloading the initiation key comprises storing the initiation key
in a secure storage area of each respective mobile device. The initiation key is thus
stored such that it cannot be easily read by, e.g., the user or an application running
on the mobile device. Advantageously, a tampering with the initiation key is made
more difficult.
[0026] Optionally, the secure storage area is provided by a trusted computing subsystem
of each respective mobile device. Here, the mobile device comprises, either as an
integral part or as a removable part, a trusted computing subsystem. Such a trusted
computing subsystem may be used for performing computing steps on the mobile device
which require a certain level of security, such as authenticating the mobile device
on the mobile network. An example of a removable trusted computing subsystem is a
so-termed Universal Integrated Circuit Card (UICC) which may, in turn, comprise a
Universal Subscriber Identity Module (USIM) application for use in authenticating
the mobile device on the mobile network. The secure storage area provided by such
a trusted computing subsystem, e.g., the memory of the UICC, is well suited for securely
storing the initiation key on the mobile device.
[0027] Optionally, at least one of the group of: verifying the validity of the initiation
key, and using the initiation key in performing the key agreement procedure, is performed
by the trusted computing subsystem. Hence, the use of the initiation key outside of
the secure storage area provided by the trusted computing subsystem is reduced or
avoided. Advantageously, a tampering with the initiation key is made more difficult.
[0028] Optionally, the method further comprises:
- preloading a set of initiation keys on each of the mobile devices, the set of initiation
keys key being associated with a respective set of validity periods; and
- performing a key synchronization procedure between the mobile devices over the D2D
communication channel for selecting a matching one of the set of initiation keys on
each of the mobile devices as the initiation key.
[0029] As such, each of the mobile devices is provided with multiple different initiation
keys. To enable a same initiation key being used by each of the mobile devices in
establishing the D2D communication session, a key synchronization procedure is performed
in which it is identified which initiation key is available to all or most of the
mobile devices, with said initiation key being selected for use in establishing the
D2D communication session. Advantageously, a suitable initiation key can be conveniently
established. Advantageously, the key synchronization procedure provides feedback if
a mobile device does not have a suitable initiation key before performing the key
agreement procedure.
[0030] Optionally, the method further comprises:
- preloading a set of key identifiers on each of the mobile devices, each of the set
of key identifiers identifying a respective one of the set of initiation keys; and
- performing the key synchronization procedure based on an exchange of one or more of
the set of key identifiers between the mobile devices.
[0031] By performing the key synchronization procedure based on an exchange of one or more
of the set of key identifiers, it is not needed to involve the initiation keys themselves
in the key synchronization procedure, e.g., by exchanging the initiation keys over
the D2D communication channel. Advantageously, a tampering with the initiation keys
is made more difficult since only the key identifiers are exchanged. Nevertheless,
a tampering of the key identifiers, e.g., so as to feign a matching of initiation
keys, will still fail as the key agreement procedure only provides the session key
if the actual initiation keys match.
[0032] Optionally, the method further comprises disabling or removing the initiation key
from the set of initiation keys after use in establishing the D2D communication session.
Thus, an initiation key can only be used once in establishing a D2D communication
session. For establishing a new D2D communication session, a new initiation key is
needed. Advantageously, the operator obtains control over a number of times that a
D2D communication session can be established, e.g., for limiting said number of times.
[0033] Optionally, the set of validity periods is constituted at least in part by different
but overlapping validity periods. The different but overlapping validity periods together
constitute a larger period in time. Since the validity periods overlap, there are
no gaps in the larger period in time. The different but overlapping validity periods
are associated with initiation keys. As a result, at any point in time in the larger
period, an initiation key is available that can be validly used in establishing the
D2D communication session.
[0034] Optionally, the initiation key is associated with a virtual network identity, and
the verifying the validity of the initiation key further comprises determining a match
of the virtual network identity on each of the mobile devices via the D2D communication
channel. Thus, the D2D communication session can only be established between mobile
devices that have a same virtual network identity. Advantageously, the operator can
set up a virtual network of mobile devices between which D2D communication is possible,
while preventing D2D communication with mobile devices outside of said virtual network
or between mobile devices belonging to different virtual networks.
[0035] Optionally, the initiation key is associated with a usage count for limiting a number
of uses of the initiation key, and the verifying the validity of the initiation key
is further based on the usage count. Advantageously, the operator obtains control
over a number of times that a D2D communication session can be established. Advantageously,
said control can be provided with one initiation key, e.g., a master key, which can
be used for establishing multiple D2D communication sessions. Thus, it is not needed
to provide a set of initiation keys which each can only be used once for establishing
a D2D communication session.
[0036] Optionally, the method further comprises adjusting the usage count after use of the
initiation key in establishing the D2D communication session. Hence, a use of the
initiation key in establishing a D2D communication session is reflected in the usage
count.
[0037] Optionally, the method further comprises requesting a further initiation key via
the mobile network if i) no initiation key is deemed valid, or ii) the key agreement
procedure fails in providing the session key.
[0038] Optionally, the key agreement procedure comprises:
- a three-pass authentication procedure; or
- a use of the initiation key to encrypt a message exchange between the mobile devices
for obtaining a shared secret, and a Diffie-Hellman key exchange procedure which is
initiated based on the shared secret.
[0039] Modifications and variations of the control software, the mobile device and the mobile
network, which correspond to the described modifications and variations of the method,
can be carried out by a person skilled in the art based on the present description.
[0040] The invention is defined in the independent claims. Advantageous yet optional embodiments
are defined in the dependent claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] These and other aspects of the invention are apparent from and will be elucidated
with reference to the embodiments described hereinafter. In the drawings,
Fig. 1 shows mobile devices which are mutually connectable via a D2D communication
channel and individually connectable to a mobile network;
Fig. 2 shows a method for establishing a D2D communication session between the mobile
devices;
Fig. 3 shows a mobile device comprising a mobile subsystem and a computing subsystem,
the computing subsystem comprising a storage area;
Fig. 4 shows a determining a match of a virtual network identity on each of the mobile
devices via the D2D communication channel;
Fig. 5 shows a performing a key synchronization procedure between the mobile devices
over the D2D communication channel;
Fig. 6 shows a key agreement procedure being initialized over the D2D communication
channel by using an initiation key to encrypt a message exchange between the mobile
devices for obtaining a shared secret;
Fig. 7 shows a key agreement procedure being performed over the D2D communication
channel, being based on a three-pass authentication procedure; and
Fig. 8 shows another key agreement procedure being performed over the D2D communication
channel in which identifiers identifying the mobile devices are encrypted.
[0042] It should be noted that items which have the same reference numbers in different
Figures, have the same structural features and the same functions, or are the same
signals. Where the function and/or structure of such an item has been explained, there
is no necessity for repeated explanation thereof in the detailed description.
DETAILED DESCRIPTION OF EMBODIMENTS
[0043] Fig. 1 shows a first mobile device MD1 and a second mobile device MD2, henceforth
also jointly referred to as mobile devices MD. The mobile devices MD are individually
connectable to a mobile network MN. This is illustrated in Fig. 1 by a communication
channel existing between each mobile device MD and the mobile network MN, i.e., a
device-to-network communication channel DNC. The mobile network MN is shown to comprise
base-stations BS1, BS2. In this particular example, each of the mobile devices MD
is connected to a different one of the base-station BS1, BS2. The base-stations BS1,
BS2 are mutually connected via core nodes CN of the mobile network. As such, when
the mobile devices MD are connected to the mobile network MN, communication between
the mobile devices MD can take place via the mobile network MN in that an information
interchange can be performed via a first one of the base-stations BS1, the core nodes
CN, and a second one of the base-stations BS2 of the mobile network MN, or vice versa.
[0044] The mobile devices MD are also mutually connectable via a D2D communication channel
DDC. The D2D communication channel DDC may have been established or setup using a
mobile subsystem MS 1, MS2 of each respective mobile device MD1, MD2. The present
invention involves establishing a D2D communication session between the mobile devices
MD over the D2D communication channel DDC.
[0045] The D2D communication session may be established in accordance with the method 100
as shown in Fig. 2. The method 100 comprises firstly preloading 120 an initiation
key on each of the mobile devices MD. The preloading 120 may be performed using the
mobile network MN. For that purpose, the mobile network MN may be arranged for, when
one of the mobile devices MD is connected to the mobile network MN, providing the
initiation key to said mobile device MD via the device-to-network communication channel
DNC. However, the preloading 120 may also involve another communication channel, and
in particular a secure communication channel. For example, the initiation key may
be preloaded using Near Field Communication (NFC), e.g., at a physical point of sale,
or using Wi-Fi, e.g., via a Wireless Local Area Network (WLAN).
[0046] Although not shown in Fig. 1, each mobile device MD may comprise a storage area for
storing the initiation key on the respective mobile device MD. Consequently, the step
of preloading 120 the initiation key on each of the mobile devices MD may comprise
storing the initiation key in the storage area of the respective mobile device MD.
[0047] The initiation key is associated with a validity period. The method 100 further comprises,
on each of the mobile devices MD, verifying 140 a validity of the initiation key based
on a current time. For that purpose, each mobile device MD1, MD2 comprises a computing
subsystem CS1, CS2 which is arranged for performing said step and which may have knowledge
of the current time or be arranged for obtaining the current time. It is noted that
the validity period may be expressed in any suitable time-based quantity, e.g., a
day, an hour of a day, a minute of an hour, etc. Consequently, the term current time
may refer to, e.g., a current day and/or a current time of the day. Hence, verifying
the validity of the initiation key may comprise determining whether the current day
falls within the validity period, and if so, whether the current day is either a first
day or a last day of the validity period, and if so, whether the current time of the
day falls within the validity period.
[0048] The method 100 further comprises, on each of the mobile devices MD, if the initiation
key is deemed valid, generating 160 a session key using the initiation key by using
the initiation key in performing a key agreement procedure between the mobile devices
MD over the D2D communication channel DDC. The computing subsystem CS1, CS2 of each
mobile device MD is arranged for performing said step, while involving the mobile
subsystem MS1, MS2 to carry out an actual message exchange over the D2D communication
channel DDC.
[0049] The key agreement procedure is arranged for resulting in the session key if the initiation
key used by each of the mobile devices MD matches. Having obtained the session key,
the method 100 comprises, on each of the mobile devices MD, establishing 180 the D2D
communication session over the D2D communication channel DDC based on the session
key. The mobile subsystem MS1, MS2 of each mobile device MD is arranged for performing
said step using the session key obtained from the computing subsystem CS1, CS2.
[0050] Although not shown in Fig. 2, control software may be provided comprising instructions
for, upon execution of the control software on a mobile device, causing the mobile
device to establish the D2D communication session according to the method 100 as shown
in Fig. 2, i.e., by verifying 140 a validity of the initiation key based on a current
time, generating 160 a session key using the initiation key, and establishing 180
the D2D communication session over the D2D communication channel based on the session
key.
[0051] Fig. 3 shows the first mobile device MD1 in more detail, with the first mobile device
MD1 here being exemplary of each of the mobile devices MD. The first mobile device
MD1 comprises a mobile subsystem MS1 and a computing subsystem CS1 as introduced earlier
in reference to Figs. 1 and 2. Here, the term mobile subsystem refers to a subsystem
of the mobile device that performs and/or enables the main functionality of the mobile
device, including establishing a communication channel, exchanging messages over the
established communication channel, performing various computing functions, etc. An
example of a mobile subsystem is a mobile System on a Chip (SoC) comprising an application
processor, a display processor, one or more modems, an integrated LTE radio. Another
example is said mobile SoC and an external LTE radio which is connected to the mobile
SoC.
[0052] Fig. 3 shows the first mobile device MD1 comprising a storage area SA1 for storing
the initiation key as provided during the preloading procedure. The storage area SA1
may be a secure storage area. In the example of Fig. 3, the storage area SA1 is provided
by the computing subsystem CS1. The computing subsystem CS 1 may be a trusted computing
subsystem, thereby automatically providing a secure storage area. Such a trusted computing
subsystem CS 1 may be constituted by a UICC which comprises a USIM application. The
USIM application may be arranged for establish the D2D communication session according
to the method 100 as shown in Fig. 2. The interface to and from the UICC may be protected
by means of secure channel protocol, e.g., according to the ETSI TS 102 484 technical
specification, so as to make eavesdropping and tampering more difficult.
[0053] In the following, two detailed embodiment of the present invention are presented
which each comprise various advantageous yet optional measures. It will be appreciated
that those measures may also be combined and/or individually applied to the general
concept of the present invention, unless prevented by technical incompatibilities.
[0054] The first detailed embodiment comprises preloading a set of initiation keys on each
of the mobile devices MD, the set of initiation keys key being associated with a respective
set of validity periods. For that purpose, the mobile network MN may send one or more
messages to the computing subsystem CS1, CS2 of each mobile device MD1, MD2 via each
respective mobile subsystem MS1, MS2. The one or more messages may comprise the set
of initiation keys and the set of validity periods. In addition, the one or more messages
may comprise a current network time and/or a set of limitations. In addition to the
set of initiation keys and the set of validity periods, the one or messages may comprise
a set of key identifiers, each of the set of key identifiers identifying a respective
one of the set of initiation keys. In addition to the set of initiation keys and the
set of validity periods, the one or more messages may comprise a set of virtual network
identities, each of the set of virtual network identities being associated with a
respective one of the set of initiation keys.
[0055] The following table shows an example of the information which may be preloaded on
a mobile device:
Virtual Network Id |
Key Id |
Initiation key |
Valid from (hh:mm dd:mm:yyyy) |
Valid Through (hh:mm dd:mm:yyyy) |
Corporation X |
102 |
Secret123 |
11:00 1/01/2012 |
13:00 02/01/2012 |
Corporation X |
103 |
Geheim123 |
11:00 1/01/2012 |
13:00 02/01/2012 |
Corporation X |
104 |
gEHEIM321 |
11:00 1/01/2012 |
13:00 02/01/2012 |
Corporation X |
105 |
SeCRet123 |
11:00 02/01/2012 |
13:00 03/01/2012 |
Corporation X |
106 |
GeHEim123 |
11:00 02/01/2012 |
13:00 03/01/2012 |
Corporation X |
107 |
sEcrET321 |
11:00 02/01/2012 |
13:00 03/01/2012 |
Operator Y |
53 |
sECRET321 |
00:00 01/12/2011 |
03:00 01/01/2012 |
Operator Y |
54 |
123secret |
00:00 01/12/2011 |
03:00 01/01/2012 |
Operator Y |
55 |
sECRet321 |
00:00 01/01/2012 |
03:00 01/02/2012 |
Operator Y |
56 |
123seCRet |
00:00 01/01/2012 |
03:00 01/02/2012 |
[0056] In general, as is the case in the above example, the set of validity periods may
be constituted at least in part by different but overlapping validity periods.
[0057] Each computing subsystem CS1, CS2 may store the set of initiation keys, the set of
key identifiers and the current network time in a secure storage area SA1 of the computing
subsystem. Each computing subsystem CS1, CS2 may also dispose of any initiation keys
already stored which have expired according to the current network time. The set of
virtual network identities may be stored elsewhere in each of the mobile devices MD1,
MD2, i.e., may not need to be stored in the computing subsystem CS1, CS2.
[0058] As part of establishing the D2D communication session over the D2D communication
channel DDC, it may be determined whether a virtual network identity on each of the
mobile devices MD matches. This allows enabling D2D communication sessions to be established
between mobile devices MD which share a virtual network identity, whilst preventing
D2D communication sessions from being established between mobile devices MD which
do not share a virtual network identity. For example, a corporate mobile device may
comprise a virtual network identity of the corporation as well as a virtual network
identity of the operator's own virtual network. The latter may allow users to establish
a D2D communication session with other users of the operator's mobile network. In
general, virtual network identities may be provided for, e.g., a certain locality,
certain group of users, companies, families, etc. A virtual network identity may also
be provided that allows cross-operator D2D communication sessions to be established,
i.e., between mobile devices which normally belong to mobile networks that are operated
by different operators.
[0059] Fig. 4 shows an example 142 of how a match of a virtual network identity on each
of the mobile devices MD may be determined via the D2D communication channel DDC.
Here, the computing subsystem CS1 and mobile subsystem MS1 of the first mobile device
MD1 are schematically shown on a left-hand side, and the computing subsystem CS2 and
mobile subsystem MS2 of the second mobile device MD2 are shown on a right hand side.
Furthermore, a message exchange between the mobile devices MD1, MD2 via the D2D communication
channel DDC is show schematically over time by means of arrows which indicate a source
and destination of the message. Moreover, rounded rectangles are used to indicate
steps being performed by either of the mobile devices MD1, MD2, with a horizontal
position of a rectangle indicating on which subsystem the step is performed.
[0060] A match of the virtual network identity may be determined as follows. Firstly, the
first mobile device MD1 sends a message to the second mobile device MD2 over the D2D
communication channel, the message comprising many or all of the virtual network identities
which are stored on the first mobile device MD1. In response, in a step titled DET_OVERLAP_STEP,
the second mobile device MD2 determines which of the virtual network identities of
the first mobile device MD1 overlap with those stored locally, i.e., on the second
mobile device MD2. Moreover, in a step titled ORDER_STEP, the overlapping virtual
network identities are ordered according to a priority list of the second mobile device
MD2, and a result thereof is sent by message to the first mobile device MD1. Upon
receipt, in a step titled SELECT_STEP, the overlapping virtual network identities
are also ordered according to a priority list of the first mobile device MD 1, and
one of the overlapping virtual network identities is selected which ranks highest
when combining both priority lists. Finally, the selected virtual network identity
is sent by message to the second mobile device MD2, which in turn acknowledges the
selected virtual network identity by return message.
[0061] The verifying the validity of the initiation key may comprise the aforementioned
determining of the match of the virtual network identity on each of the mobile devices
via the D2D communication channel. Consequently, if no matching virtual network identity
can be found, the initiation keys on both mobile devices may be considered invalid
for the purpose of establishing a D2D communication session between the mobile devices
MD since said keys are associated with non-matching virtual network identities.
[0062] Having verified the match of the virtual network identity, the establishing of the
D2D communication session may continue as follows. Each of the mobile devices MD1,
MD2 may be arranged for performing a key synchronization procedure between the mobile
devices over the D2D communication channel for selecting a matching one of the set
of initiation keys on each of the mobile devices as the initiation key. Fig. 5 shows
an example 162 of such a key synchronization procedure. This particular example is
based on an exchange of one or more of the set of key identifiers between the mobile
devices MD1, MD2. Here, upon request from the mobile subsystem MS1, the computing
subsystem CS1 searches for a key identifier which is associated with a valid initiation
key, meaning that said initiation key is valid at the current time and has not been
used before in establishing a D2D communication session. The computing subsystem CS
1 may search for the key identifier based on various criteria, such as, e.g., whether
a key identifier is valid at the current time and a reasonable period in the future,
e.g., the next 15 minutes. The search may also be based on a key sequence number associated
with each of the key identifiers, with the computing subsystem CS 1 selecting one
of the key identifiers that is associated with a lowest key sequence number. In case
the key identifiers are numerical, the computing subsystem CS1 may also select a lowest
one of the key identifiers. In case the key identifiers are sequentially ordered,
the computing subsystem CS1 may also select a first or last one of the key identifiers.
It will be appreciated that various criteria such as the above may be combined.
[0063] The computing subsystem CS 1 sends the key identifier KeyID which was found to the
mobile subsystem MS 1, which in turn sends it to the second mobile device MD2. On
the second mobile device MD2, the mobile subsystem MS2 forwards the key identifier
KeyID to the computing subsystem CS2. Moreover, the second mobile device MD2 also
performs a same process, either in parallel or after receiving the key identifier
KeyID from the first mobile device MD1. As a result, the computing subsystems CS1,
CS2 on each mobile device MD1, MD2 comprise both key identifiers. Each computing subsystem
CS1, CS2 then selects, in a step titled MAX_KEYID_STEP, the key identifier which is
highest, thereby also selecting the initiation key which is identified by said key
identifier.
[0064] It is noted that, in general, initiation keys may be disabled or removed after use
in establishing a D2D communication session. In this case, however, certain types
of key synchronization procedures, such as the example shown in Fig. 5, may lead to
a rapid consumption of initiation keys. Alternatively, the first mobile device MD1
may send the key identifier to the second mobile device MD2. The second mobile device
MD2 may request its computing subsystem CS2 to determine if it comprises a valid initiation
key associated with this key identifier. If so, the initiation key may be directly
selected. If not, the computing subsystem CS2 may search for a lowest key identifier
which is associated with a valid initiation key, and return the found key identifier
to the mobile subsystem MS2 for sending to the first mobile device MD1. Upon receipt,
the first mobile device MD1 may request its computing subsystem CS 1 to determine
if it comprises a valid initiation key associated with this key identifier. If so,
the initiation key may be directly selected. If not, the computing subsystem CS 1
may search for a lowest key identifier and again repeat the above process.
[0065] It is noted that the above alternative key synchronization procedure may be repeated
several times. Alternatively, the key synchronization procedure may be based on an
exchange of many or all key identifiers available to each respective mobile device
so as to more rapidly determine a key identifier that identifies a matching and valid
initiation key.
[0066] It is further noted that the key exchange procedure may be combined with an authentication
procedure. The authentication procedure may be a prerequisite part of the setup of
the D2D communication session. As a result, messages which are exchanged between the
mobile devices may serve both for the purpose of authentication as well as for key
exchange. Figs. 7 and 8 show an example of this. For example, a message may constitute
a challenge response from one mobile device while at the same time being part of the
key exchange procedure between the mobile devices.
[0067] Having selected a matching one of the set of initiation keys on each of the mobile
devices as the initiation key, the establishing of the D2D communication session may
continue by using the initiation key in performing a key agreement procedure between
the mobile devices over the D2D communication channel. Fig. 6 shows an example 164
of a first part of such a key agreement procedure, which comprises using the initiation
key to encrypt a message exchange between the mobile devices for obtaining a shared
secret. This first part of the key agreement procedure may be used to initialize a
key exchange procedure based on the shared secret. Essentially, the first part of
the key agreement procedure may be considered as a bootstrapping of the subsequent
key exchange. An example of such a key exchange procedure is the Diffie-Hellman key
exchange as known from the field of cryptography.
[0068] In the example of Fig. 6, each of the computing subsystems CS1, CS2 retrieves the
initiation key from the storage area. In a step titled ENC_SECRET1_STEP, the computing
subsystem CS 1 of the first mobile device MD 1 creates a message which comprises a
secret, i.e., secret1, encrypted with the initiation key. The message is forwarded
to the mobile subsystem MS 1 which in turn sends the message to the second mobile
device MD2. Here, the mobile subsystem MS2 forwards the message to the computing subsystem
CS2. In a step titled DEC_SECRET1_STEP, the computing subsystem CS2 decrypts the message
with the initiation key. In a step titled ENC_SECRET2_STEP, the computing subsystem
CS2 creates a message with another secret, i.e., secret 2, encrypted with the initiation
key. Moreover, in a step titled CALC_SK_STEP, a session key SK is calculated based
on the combination of both secrets, i.e., secret1 and secret2, and included in the
message. The message is sent back by the second mobile device MD2 to the first mobile
device MD1. Here, the mobile subsystem MS1 forwards the message to the computing subsystem
CS1. In a step titled DEC_SECRET2_STEP, the computing subsystem CS1 decrypts the message
with the initiation key. In a step titled CALC_SK_STEP, the session key SK is calculated
based on the combination of both secrets. As a result, on each of the computing subsystems
CS1, CS2, both secrets are available, i.e., secret1 and secret2, thus allowing the
respective computing subsystems to calculate a same session key SK.
[0069] It is noted that instead of the example of Fig. 6, various alternative mechanisms
may be used as well for obtaining the shared secret. For example, one of the point-to-point
key establishment mechanisms as described in the ISO/IEC 11770-2 standard may be used.
For example, the key establishment mechanism 5 as described in section 6.5 of said
document may be used.
[0070] As a result of the subsequent key exchange procedure, a session key is obtained on
each of the mobile devices MD1, MD2. This allows the D2D communication session to
be established over the D2D communication channel based on the session key.
[0071] A second detailed embodiment comprises preloading a so-termed master key on each
of the mobile devices MD1, MD2. Here, the term master key refers to an initiation
key which is combined with a usage count so as to allow multiple D2D communication
sessions to be established using one initiation key. The initiation key and the usage
count constitute an alternative to the preloading of a plurality of initiation keys
which may each be used only once in establishing a D2D communication session. It is
noted that the initiation key may constitute a master key in that, each time an initiation
key is needed for establishing a particular D2D communication session, a temporary
initiation key is derived from the master key for that purpose. Hence, the initiation
key may be used multiple times to establish a temporary initiation key for use in
a particular D2D communication session. The mobile network MN may provide the computing
subsystem CS1, CS2 of each mobile device MD1, MD2 with such an initiation key, the
initiation key being valid for a particular validity period. Moreover, the mobile
network MN may provide or set the usage count. The usage count may represent, e.g.,
a number of time the computing subsystem is allowed to generate a session key using
the initiation key. The mobile network MN may also periodically provide the current
network time so as to enable each computing subsystem CS1, CS2 to dispose of any initiation
keys stored in the computing subsystem which have already expired according to the
current network time. Additionally or alternatively, the mobile network MN may provide
the current network time when preloading an initiation key on a mobile device MD1,
MD2.
[0072] After having possibly verified a match of a virtual network identity, the validity
of the initiation key is verified based on a current time and the usage count, and
if the initiation key is deemed valid, the initiation key is used in performing a
key agreement procedure between the mobile devices over the D2D communication channel.
An example 166 of this is shown in Fig. 7, where the key agreement procedure is shown
which is based on a three-pass authentication procedure, as specified by, e.g., the
ISO/IEC 9798-4 standard.
[0073] Initially, each computing subsystems CS1, CS2 provides an identifier, i.e., ID1 and
ID2, respectively, to each respective mobile subsystem MS1, MS2. Each identifier ID1,
ID2, identifies the respective mobile device MD1, MD2. The identification may be indirect
in that each identifier ID1, ID2 may identify the respective computing subsystem CS1,
CS2, which in turn allows the mobile device MD1, MD2 to be identified since the computing
subsystem CS1, CS2 is an integral or removable part of the mobile device.
[0074] The further steps shown in Fig. 7 may be explained as follows. Here, the numerals
correspond to those shown in Fig. 7.
- 1. The first mobile device MD1, being in this example the mobile device initiating
the key agreement procedure, requests the computing subsystem CS 1 to provide an key
identifier KeyID which identifies an initiation key that is valid at the current time.
The computing subsystem CS 1 determines, in a step titled SELECT_KEYID_STEP, whether
it comprises such an initiation key and if so, whether usage of the initiation key
is still allowed, e.g., by checking whether the usage count is still below a given
threshold in case the usage count corresponds to a number of uses, or whether the
usage count is still above zero in case the usage count corresponds to a number of
remaining uses. If this is the case, the initiation key is considered to be valid,
and the computing subsystem CS 1 establishes a key identifier KeyID identifying the
initiation key. Moreover, the computing subsystem CS 1 generates a random RND1, the
random RND1 constituting a challenge in the authentication of the computing subsystem
CS2 of the second mobile device MD2.
- 2. The computing subsystem CS 1 provides the key identifier KeyID and the random RND1
to the mobile subsystem MS1 of the first mobile device MD1.
- 3. The first mobile device MD1 sends the key identifier KeyID, the random RND1 and
the identifier ID1 to the second mobile device MD2 over the D2D communication channel
DDC so as to initialize the key agreement procedure.
- 4. In response, the second mobile device MD2 requests its computing subsystem CS2
to initiate the key agreement procedure. For that purpose, it provides the key identifier
KeyID, the random RND1 and the identifier ID1 to the computing subsystem CS2. In addition,
the computing subsystem CS2 may request the second mobile device MD2 to provide the
current time so as to enable the computing subsystem CS2 to verify if the initiation
key identified by the key identifier KeyID is valid for the current time. This constitutes
an additional verification step on the receiving, i.e., non-initializing, end of the
key agreement procedure. When the initiation key identified by the key identifier
KeyID is available to the computing subsystem CS2 and if usage of the initiation key
is still allowed, e.g., in case its usage count is still above zero, the computing
subsystem CS2 generates, in a step titled CALC_RESP1_STEP, a random RND2 and a session
key SKA for the authentication. The computing subsystem CS2 further calculates a response
to the challenge from the first mobile device MD1, being indicated as E_SKA(X) with X = RND1 ∥RND2∥ ID2. Here, the E_SKA denotes an encryption function that uses SKA as the session key and X as the message. An example of such a function is a Message
Authentication Code (MAC).
- 5. The computing subsystem CS2 provides E_SKA(X) and the random RND2 to the mobile subsystem MS2 of the second mobile device MD2.
- 6. The second mobile device MD2 sends E_SKA(X), the random RND2 and the identifier ID2 to the first mobile device MD1, constituting
a response to step 3.
- 7. The first mobile device MD1 requests its computing subsystem CS1 to authenticate
the response received from the second mobile device MD2 and to generate a response
to the challenge provided in the form of RND2.
- 8. In a step titled CALC_RESP2_STEP, the computing subsystem CS 1 generates a session
key for authentication of SKA, and checks the response E_SKA(X) from the second mobile device MD2. The computing subsystem CS 1 then calculates
a response to the challenge from the second mobile device MD2, being indicated by
E_SKA(Y) with Y = RND2 ∥RND1∥ID1. The computing subsystem CS 1 generate a session key for
use in the D2D communication session SKc, and optionally a session key for integrity protection SKI. The computing subsystem CS 1 may then adjust, e.g., decrease, the usage count of
the initiation key. Finally, the computing subsystem CS 1 provides E_SKA(Y), the session key SKc, and optionally SKI, to the mobile subsystem MS1.
- 9. The first mobile device MD1 sends a response to the challenge from the second mobile
device MD2 in the form of E_SKA(Y) to the second mobile device MD2.
- 10. In response, the second mobile device MD2 requests its computing subsystem CS2
to check, i.e., authenticate, E_SKA(Y).
- 11. The computing subsystem CS2 then determines, in a step titled CALC_SESSIONKEY_STEP,
if E_SKA(Y) is valid, and if so generates the session key SKc, and optionally SKI, and provides both to the mobile subsystem MS2. The computing subsystem CS2 may then
adjust, e.g., decrease, the usage count of the initiation key.
- 12. The mobile subsystem MS2 of the second mobile device MD2 establishes the D2D communication
session with the mobile subsystem MS1 of the first mobile device MD1 using the session
key SKc. Hence, a secure D2D communication session is obtained.
[0075] Fig. 8 shows an alternative 168 to the key agreement procedure 166 as shown in Fig.
7. A difference concerns that here, the identifiers ID1 and ID2 are encrypted during
exchange, whereas in the key agreement procedure of Fig. 7, the identifiers ID1 and
ID2 were exchanged without being encrypted. By encrypting the identifiers ID1 and
ID2 during exchange, it may be prevented that users are tracked and/or identified
through eavesdropping of the message exchange between the mobile devices MD1, MD2.
[0076] The further steps shown in Fig. 8 may be explained as follows. Here, the numerals
correspond to those shown in Fig. 8.
1. Step 1 corresponds to step 1 as discussed in reference to Fig. 7, with the addition
that the computing subsystem CS 1 generates a challenge, being essentially a message
that is encrypted using the initiation key, the encrypted message being denoted by
E_MK, and the encrypted message comprising the random RND1 and the identifier ID1.
2. The computing subsystem CS 1 provides the key identifier KeyID and the challenge
to the mobile subsystem MS1 1 of the first mobile device MD1.
3. The first mobile device MD1 sends the key identifier KeyID, the challenge to the
second mobile device MD2 over the D2D communication channel DDC so as to initialize
the key agreement procedure.
4. In response, the second mobile device MD2 requests its computing subsystem CS2
to initiate the key agreement procedure. For that purpose, it provides the key identifier
KeyID, the challenge to the computing subsystem CS2. In addition, the computing subsystem
CS2 may request the second mobile device MD2 to provide the current time so as to
enable the computing subsystem CS2 to verify if the initiation key identified by the
key identifier KeyID is valid for the current time. This constitutes an additional
verification step on the receiving, i.e., non-initializing, end of the key agreement
procedure. When the initiation key identified by the key identifier KeyID is available
to the computing subsystem CS2 and if usage of the initiation key is still allowed,
e.g., in case its usage count is still above zero, the computing subsystem CS2 generates,
in a step titled CALC_RESP1_STEP, a random RND2 and a session key SKA for the authentication.
The computing subsystem CS2 further calculates a response to the challenge from the
first mobile device MD1, being indicated as E_SKA(X) with X = RND1 ∥RND2 ∥ID2. Here,
the E_SKA denotes an encryption function that uses SKA as the session key and X as
the message. An example of such a function is a Message Authentication Code (MAC).
The computing subsystem CS2 also calculates a challenge, E_MK(RND2∥ID2), for which
the same E_MK is used that the computing subsystem CS1 of the first mobile device
MD 1 used in its challenge.
5. The computing subsystem CS2 provides E_SKA(X) and the challenge to the mobile subsystem
MS2 of the second mobile device MD2.
6. The second mobile device MD2 sends E_SKA(X) and the challenge to the first mobile
device MD1, constituting a response to step 3.
7. The first mobile device MD1 requests its computing subsystem CS1 to authenticate
the response received from the second mobile device MD2 and to generate a response
to the challenge provided in the form of E_MK(RND2∥ID2).
8-12. Steps 8-12 correspond to steps 8-12 as discussed in reference to Fig. 7.
[0077] It is noted that in general, a computing subsystem of a mobile device may request
a further initiation key via the mobile network if i) no initiation key is deemed
valid, or ii) the key agreement procedure fails in providing the session key.
[0078] It will be appreciated that the present invention may be advantageously applied to
Direct LTE, i.e., LTE-based D2D communication between mobile devices. In particular,
the present invention allows the following advantageous uses.
[0079] Corporation X has purchased a direct mode subscription from operator Y for all its
employees. As a result, for example once a week during the night or during low network
load, all mobile devices of the corporation, such as mobile phones and dongles, are
provided with a set of a hundred initiation keys which are valid for every day of
the following week. On a next Monday, several employees have a meeting in which they
would like to share a presentation. However, they are located in a meeting room without
network coverage, i.e., are outside a range of the mobile network. They plug-in their
dongles into their laptops and setup an ad hoc network based on Direct LTE. Since
all dongles were provided with a same set of initiation keys, the employees are able
to setup a LTE-based D2D communication session in the meeting room without needing
to access the mobile network.
[0080] Another advantageous use may be the following. Again, corporation X has purchased
a direct mode subscription. Again, for example once a week during the night or during
low network load, all mobile devices of the corporation are provided with a set of
a hundred initiation keys which are valid for every day of the following week. However,
one dongle was turned off during said preloading procedure. On a next Monday, several
employees have a meeting in which they would like to share a presentation. They are
located in a room with network coverage. They plug-in their dongles into their laptops
and setup an ad hoc network based on Direct LTE. Because most of the dongles were
provided with a same set of initiation keys, the employees are able to setup a LTE-based
D2D communication session in the meeting room without needing to access the mobile
network. However, the dongle which was turned off during the preloading procedure
can still join the D2D communication session by requesting from the mobile network
the set of initiation keys, and once said set has been provided, the dongle joins
the D2D communication session.
[0081] Another advantageous use may be the following, which is a same as the aforementioned
use, except that the employees are located in a room with network coverage. They plug-in
their dongles into their laptops and setup an ad hoc network based on Direct LTE.
Some dongles already have keys available for the D2D communication session, but some
only have expired keys, e.g., because D2D communication hasn't been used for some
time and therefore no initiation keys needed to be preloaded or updated. All dongles
now request from the mobile network a set of initiation keys and once said set has
been provided, each dongle joins the D2D communication session. Later that day, the
employees meet again. Now, a D2D communication session can be established immediately,
i.e., without a need to contact the mobile network, since the dongles now already
have a set of valid initiation keys.
[0082] Yet another advantageous use may the following. For emergency services, it is of
utmost importance to be able to communicate at all times. Hence, a mobile device which
relies on network coverage to establish a D2D communication session may not be desirable.
This may be avoided by preloading initiation keys frequently, e.g., every time when
a mobile device is switched on, and/or by preloading initiation keys which are associated
with a validity period that is relatively long. The preloading may also occur every
night, when all the mobile devices are at a central location. During the day, the
firefighters, policemen and ambulance personnel can choose direct mode operation in
case network reception is inadequate, thereby still allowing communication amongst
said emergency service personnel.
[0083] It should be noted that the above-mentioned embodiments illustrate rather than limit
the invention, and that those skilled in the art will be able to design many alternative
embodiments.
[0084] In the claims, any reference signs placed between parentheses shall not be construed
as limiting the claim. Use of the verb "comprise" and its conjugations does not exclude
the presence of elements or steps other than those stated in a claim. The article
"a" or "an" preceding an element does not exclude the presence of a plurality of such
elements. The invention may be implemented by means of hardware comprising several
distinct elements, and by means of a suitably programmed computer. In the device claim
enumerating several means, several of these means may be embodied by one and the same
item of hardware. The mere fact that certain measures are recited in mutually different
dependent claims does not indicate that a combination of these measures cannot be
used to advantage.
1. Method (100) for a mobile device (MD 1, MD2) to establish a device-to-device [D2D]
communication session with a further mobile device (MD2, MD1), the mobile device (MD1,
MD2) being connectable via a D2D communication channel (DDC) to the further mobile
device (MD2, MD1) and the mobile device (MD1, MD2) being connectable to a mobile network
(MN), comprising the steps on the mobile device (MD1, MD2) of:
- preloading (120) an initiation key on the mobile device (MD1, MD2), the initiation
key being associated with a validity period;
- verifying (140) a validity of the initiation key based on the validity period;
- if the initiation key is deemed valid, generating (160) a session key by using the
initiation key in performing (164, 166) a key agreement procedure with the further
mobile device (MD1, MD2) over the D2D communication channel (DDC), the key agreement
procedure resulting in the session key if the initiation key matches a further initiation
key used by the further mobile device; and
- establishing (180) the D2D communication session over the D2D communication channel
(DDC) based on the session key.
2. Method (100) according to claim 1, wherein the preloading (120) the initiation key
comprises providing the initiation key to the mobile device (MD1, MD2) via the mobile
network (MN) when the mobile device is connected to the mobile network.
3. Method (100) according to claim 1 or 2, wherein the preloading (120) the initiation
key comprises storing the initiation key in a secure storage area (SA1) of the mobile
device (MD1, MD2), wherein optionally the secure storage area (SA1) is provided by
a trusted computing subsystem (CS1, CS2) of the mobile device (MD1, MD2).
4. Method (100) according to claim 3, wherein at least one of the group of: verifying
(140) the validity of the initiation key, and using the initiation key in performing
the key agreement procedure, is performed by the trusted computing subsystem (CS 1,
CS2).
5. Method (100) according to any one of the above claims, further comprising:
- preloading (120) a set of initiation keys on the mobile device (MD1, MD2), the set
of initiation keys key being associated with a respective set of validity periods;
and
- performing (162) a key synchronization procedure with the further mobile device
(MD2, MD1) over the D2D communication channel (DDC) for selecting a matching one of
the set of initiation keys as the initiation key.
6. Method (100) according to claim 5, further comprising:
- preloading (120) a set of key identifiers on the mobile device (MD1, MD2), each
of the set of key identifiers identifying a respective one of the set of initiation
keys; and
- performing (162) the key synchronization procedure based on an exchange of one or
more of the set of key identifiers with the further mobile device.
7. Method (100) according to claim 5 or 6, further comprising disabling or removing the
initiation key from the set of initiation keys after use in establishing the D2D communication
session.
8. Method (100) according to any one of claims 5-7, wherein the set of validity periods
is constituted at least in part by different but overlapping validity periods.
9. Method (100) according to any one of the above claims, wherein the initiation key
is associated with a virtual network identity, and wherein the verifying (140) the
validity of the initiation key further comprises determining (142) a match of the
virtual network identity on the mobile device (MD1, MD2) with a virtual network identity
on the further mobile device (MD2, MD1) via the D2D communication channel (DDC).
10. Method (100) according to any one of the above claims, wherein the initiation key
is associated with a usage count for limiting a number of uses of the initiation key,
and wherein the verifying (140) the validity of the initiation key is further based
on the usage count, the method further optionally comprising adjusting the usage count
after use of the initiation key in establishing the D2D communication session.
11. Method (100) according to any one of the above claims, further comprising requesting
a further initiation key via the mobile network (MN) if i) no initiation key is deemed
valid, or ii) the key agreement procedure fails in providing the session key.
12. Method according to any one of the above claims, wherein the key agreement procedure
comprises:
- a three-pass authentication procedure (166); or
- a use (164) of the initiation key to encrypt a message exchange between the mobile
device and the further mobile device for obtaining a shared secret, and a Diffie-Hellman
key exchange procedure which is initiated based on the shared secret.
13. Control software comprising instructions for, upon execution of the control software
on a mobile device (MD1, MD2), causing the mobile device to establish the D2D communication
session according to the method of any one of the above claims.
14. Mobile device (MD1) for establishing a device-to-device [D2D] communication session
with a further mobile device (MD2), the mobile device being connectable to the further
mobile device via a D2D communication channel (DDC) and the mobile device being connectable
to a mobile network (MN), the mobile device comprising:
- a storage area (SA1) for storing an initiation key which is provided during a preloading
procedure, the initiation key being associated with a validity period; and
- a computing subsystem (CS1) for:
- verifying a validity of the initiation key based on the validity period;
- if no initiation key is deemed valid, requesting a further initiation key via the
mobile network (MN);
- if the initiation key is deemed valid, generating a session key by using the initiation
key in performing a key agreement procedure with the further mobile device (MD2) over
the D2D communication channel (DDC), the key agreement procedure resulting in the
session key if the initiation key used by the mobile device and the further mobile
device matches; and
- a mobile subsystem (MS1) for establishing the D2D communication session over the
D2D communication channel based on the session key.
15. Mobile network (MN) arranged for preloading an initiation key on a mobile device (MD1)
according to claim 14 when the mobile device is connected to the mobile network, the
initiation key being associated with a validity period.