This application claims the benefit of Korean Patent Application No. 10-2022-0105656, filed on Aug. 23, 2022, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety.
The example embodiments relate to an electronic device for providing one or more protocols that enable not only a user but also an unmanned aerial vehicle to request a key agreement first while satisfying forward unlinkability between the user and the unmanned aerial vehicle in the Internet of drones (IoD) environment, and a method operating the same.
An unmanned aerial vehicle (UAV) (e.g., a drone) is a powered vehicle that can be operated remotely or automatically by using a GPS device without a pilot on board, and the scope of use is expanding not only for military purposes, but also in various fields such as video shooting, delivery service, pesticide spraying, intelligent traffic management, and 3D map information acquisition. Such a UAV may be connected to a terminal of a user (e.g., a manager) in a bidirectional communication method to transmit/receive predetermined information or commands.
In the IoD environment, the key agreement protocol is to exchange a key that allows a user and a UAV to communicate with each other through a server, and in this process, if information of the user and the drone is exposed, privacy may be infringed. Therefore, there is effort with regard to existing key agreement protocols to protect the privacy of the user by generating an anonymous ID to replace the user's ID. However, even if an anonymous ID is used, if the anonymous ID is exposed, there is a concern that the actual user can be traced based on the time and a place where the anonymous ID was used.
Further, when a UAV flying in the air first detects an accident, the UAV should be able to deliver relevant information to a user first, but only the user can make a request first, so there is a problem that a UAV cannot make a request even if the accident was discovered.
Accordingly, the present invention is directed to an electronic device for providing bidirectional key agreement protocol and operating method thereof that substantially obviates one or more problems due to limitations and disadvantages of the related art.
An aspect provides a technology to provide a protocol that allows not only a user but also a UAV to make a key agreement request first, while satisfying forward unlinkability between the user and the UAV in the IoD environment. The technical tasks to be achieved by the present disclosure are not limited to the technical tasks described above, and other technical tasks may be inferred from following example embodiments.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
According to an aspect, there is provided a method of operating an electronic device, including obtaining at least one of an ID of a user, a first anonymous ID of the user corresponding to the ID of the user and a first temporary authentication value of the user, from a user terminal, obtaining at least one of an ID of an unmanned aerial vehicle (UAV), a first anonymous ID of the UAV corresponding to the ID of the UAV and a first temporary authentication value of the UAV, from the UAV, and in response to a key agreement request of the user terminal or a key agreement request of the UAV, intermediating key agreement between the UAV and the user terminal based on first information including information obtained from the user terminal and second information including information obtained from the UAV.
According to an example embodiment, the key agreement request of the UAV may correspond to transmitting the first anonymous ID of the UAV from the UAV to the user terminal, and the key agreement request of the user terminal may correspond to transmitting the first anonymous ID of the user terminal from the user terminal to the UAV.
According to an example embodiment, the intermediating key agreement between the UAV and the user terminal, in response to the key agreement request of the user terminal or the key agreement request of the UAV, may include sharing a same message authentication code (MAC) key and a same session key between the user terminal and the UAV, based on the first information and the second information.
According to an example embodiment, the first anonymous ID of the user and the first temporary authentication value of the user may be randomly generated regardless of the ID of the user.
According to an example embodiment, the first information may include at least one of the ID of the user, the first anonymous ID of the user, the first temporary authentication value of the user, a second anonymous ID different from the first anonymous ID of the user, a second temporary authentication value different from the first temporary authentication value of the user and a random number value of the user.
According to an example embodiment, the first anonymous ID of the UAV and the first temporary authentication value of the UAV may be randomly generated regardless of the ID of the UAV.
According to an example embodiment, the second information may include at least one of the ID of the UAV, the first anonymous ID of the UAV, the first temporary authentication value of the UAV, a second anonymous ID different from the first anonymous ID of the UAV, a second temporary authentication value different from the first temporary authentication value of the UAV and a random number value of the UAV.
According to an aspect, there is provided a method of operating a user terminal, including from a UAV requesting key agreement, obtaining a first anonymous ID of the UAV corresponding an ID of the UAV, identifying at least one of an ID of a user that is input from the user, a first anonymous ID of the user corresponding to the ID of the user, and a first temporary authentication value of the user, generating an encryption key and a first MAC key by using the first temporary authentication value, generating a second anonymous ID different from the first anonymous ID of the user and a second temporary authentication value different from the first temporary authentication value of the user, and generating a same second MAC key and a same session key shared between the user terminal and the UAV based on at least one piece of information related to the user and at least one piece of information related to the UAV.
According to an aspect, there is provided a method of operating a UAV, including obtaining a first anonymous ID of a user terminal corresponding to an ID of the user terminal from the user terminal requesting key agreement, identifying at least one of an ID of the UAV, a first anonymous ID of the UAV corresponding to the ID of the UAV, and a first temporary authentication value of the UAV, generating an encryption key and a first MAC key using the first temporary authentication value, generating a second anonymous ID different from the first anonymous ID of the UAV and a second temporary authentication value different from the first temporary authentication value of the UAV, and generating a same second MAC key and a same session key shared between the user terminal and the UAV based on at least one piece of information related to the user terminal and at least one piece of information related to the UAV.
According to an aspect, there is provided an electronic device, including a communication device, a memory for storing at least one instruction, and a controller that is configured to obtain at least one of an ID of a user, a first anonymous ID of the user corresponding to the ID of the user and a first temporary authentication value of the user, from a user terminal, obtain at least one of an ID of an unmanned aerial vehicle (UAV), a first anonymous ID of the UAV corresponding to the ID of the UAV and a first temporary authentication value of the UAV, from the UAV, and in response to a key agreement request of the user terminal or a key agreement request of the UAV, intermediate key agreement between the UAV and the user terminal based on first information including information obtained from the user terminal and second information including information obtained from the UAV.
Additional aspects of example embodiments will be set forth in part in the description that follows and, in part, will be apparent from the description, or may be learned by practice of the disclosure.
According to example embodiments, when performing key agreement protocol in the IoD environment, it is possible to guarantee strong anonymity that protects not only a user ID but also an anonymous ID from being exposed. Further, if a UAV is hijacked or a user's device is lost, even if the user or the UAV's secret key is exposed, past anonymous IDs cannot be known, so the forward unlinkability between the UAV and the user may be satisfied. Further, if an anonymous ID is generated every time, there is no relation between generated anonymous IDs, so the forward unlinkability between the UAV and the user may be satisfied. Further, even if an anonymous ID is exposed, the real user cannot be traced through the time and a place where the anonymous ID is used, so the forward unlinkability between the UAV and the user may be satisfied. In addition, not only the user but also the drone can make a key agreement request first, so that the occurrence of an incident or accident may be quickly dealt with.
The effect of the example embodiments are not limited to the above-described effects, and other effects not described would be clearly understood by those skilled in the art from the description of the claims.
It is to be understood that both the foregoing general description and the following detailed description are examples and explanatory and are intended to provide further explanation of the invention as claimed.
These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of example embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
Terms used in the example embodiments are selected from currently widely used general terms when possible while considering the functions in the present disclosure. However, the terms may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. Further, in certain cases, there are also terms arbitrarily selected by the applicant, and in the cases, the meaning will be described in detail in the corresponding descriptions. Therefore, the terms used in the present disclosure should be defined based on the meaning of the terms and the contents of the present disclosure, rather than the simple names of the terms.
Throughout the specification, when a part is described as “comprising or including” a component, it does not exclude another component but may further include another component unless otherwise stated. Furthermore, terms such as “ . . . unit,” “ . . . group,” and “ . . . module” described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware, software, or a combination thereof.
Expression “at least one of a, b and c” described throughout the specification may include “a alone,” “b alone,” “c alone,” “a and b,” “a and c,” “b and c” or “all of a, b and c.”
Hereinafter, example embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art to which the present disclosure pertains may easily implement them. However, the present disclosure may be implemented in multiple different forms and is not limited to the example embodiments described herein.
Hereinafter, example embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
According to various example embodiments, a system in the IoD environment that provides a bidirectional key agreement protocol may include a server 120 supporting a key agreement protocol for bidirectional communication between a user terminal 110 and a UAV 130.
The server 120 may perform various control functions related to a key agreement protocol between the user terminal 110 and the UAV 130. The key agreement protocol may indicate having security during communication with a method in which, in general, two entities (e.g., the user terminal 110 and the UAV 130) exchange a symmetric key and encrypt a message by using the corresponding key. Further, the key agreement protocol in the IoD environment may indicate exchanging a key that allows the user terminal 110 and the UAV 130 to communicate with each other through the server 120.
In various example embodiments, the server 120 may use at least one of a symmetric key encryption system, a public key encryption system, a hash function, a message authentication code (MAC), and fuzzy extraction using biometric information. For example, the server 120 may provide a user with strong anonymity and forward unlinkability by using a symmetric key, a hash function and a MAC instead of using the existing hash function and XOR operation.
The user terminal 110 is a device that has mobility and includes a predetermined communication module. For example, the user terminal 110 may correspond to any one of a mobile phone, a smartphone, a portable console, a navigation system, a laptop computer and a tablet. The user terminal 110 may be referred to as a user equipment (UE), a mobile station, a terminal, a station (STA), a user device, a portable electronic device, or the like. In another example embodiment, the user terminal 110 may correspond to a device having a fixed location.
The user terminal 110 may be a device for transmitting a control command to the UAV 130 or receiving predetermined information (e.g., image information) from the UAV 130. The control command may correspond, for example, information for controlling the operation or mobility of the UAV 130.
The UAV 130 may be a device that performs a designated function while a pilot is not on board, and may correspond to a UAV having mobility. For example, the UAV 130 may fly while changing the direction or the altitude in order to perform a designated function. For example, the UAV 130 may fly under the control of the communication-connected server 120 or the user terminal 110 and selectively collect predetermined information. Alternatively, the UAV 130 may autonomously fly, obtain image information, detect whether there is a danger based on the relevant information, and provide the relevant information to the server 120 or the user terminal 110 in the adjacent location.
Hereinafter, operations between the user terminal 110, the server 120 and the UAV 130 will be described in detail.
Referring to
In operation S203, the user terminal 210 may encrypt (vi) the generated anonymous ID and temporary authentication value corresponding to Equation 1 below by using the hashed values of the ID and the password as keys, and store the generated anonymous ID and temporary authentication value. Specifically, a hash function operation may be performed by using a preset hash algorithm (e.g., SHA256, and SHA512) to concatenate ID Ui and password pwi as an input value, a secret value (key) of a symmetric key encryption such as advanced encryption standard (AES) and academy research institute agency (ARIA) may be generated based on the operation result, and using this, anonymous ID PUi and temporary authentication value αi may be encrypted. The same procedure may be applied with respect to EH indicated in many of equations described herein.
v
i
=E
H(U
∥pw
)(PUi∥αi) [Equation 1]
In operation S204, the user terminal 210 may transmit the ID, the generated anonymous ID and the temporary authentication value to a server 230. In operation S205, the server 230 may store the ID, the anonymous ID and the temporary authentication value of the user in the database. In this case, the server 230 may store the received anonymous ID in a past anonymous ID and a current anonymous ID, and the server 230 may store the received temporary authentication value in a past authentication value and a current authentication value. For example, the server 230 may store received anonymous ID 1 in past anonymous ID 1 and current anonymous ID 1. Thereafter, when the anonymous ID is updated to anonymous ID 2, the server 230 may update the current anonymous ID to anonymous ID 2 and store the past anonymous ID as anonymous ID 1.
Referring to
In operation S304, the server 330 may store the received ID, the anonymous ID and the temporary authentication value of the UAV. In this case, the server 330 may store the received anonymous ID in the past anonymous ID and the current anonymous ID, and may store the received temporary authentication value in the past authentication value and the current authentication value. For example, the server 330 may store received anonymous ID 1 as past anonymous ID 1 and current anonymous ID 1. Thereafter, if the anonymous ID is updated to anonymous ID 2, the server 330 may update the current anonymous ID to anonymous ID 2 and store the past anonymous ID as anonymous ID 1.
In operation S401, the UAV 450 may transmit first anonymous ID PDi of the UAV to the user terminal 410.
In operation S402, the user terminal 410 may identify ID Ui and password pwi input by the user. In operation S403, the user terminal 410 may decrypt (DH) the user's first anonymous ID and the first temporary authentication value based on Equation 2 using the identified information.
PU
i∥αi=DH(U
In operation S404, the user terminal 410 may generate encryption key eki based on below Equation 3 by using the temporary authentication value, and may generate MAC key mki based on below Equation 4. Specifically, by using a preset hash algorithm (e.g., SHA256), encryption key eki may be generated by using a value obtained by concatenating temporary authentication value αi and 0 as an input value. Alternatively, by using a preset hash algorithm (e.g., SHA256), MAC key mki may be generated by using a value obtained by concatenating temporary authentication value αi and 1 as an input value. The same procedures may be applied with respect to eki and mki indicated in many of equations described herein.
ek
i
=H(αi∥0) [Equation 3]
mk
i
=H(αi∥1) [Equation 4]
In operation S405, the user terminal 410 may generate random number value rui, new second anonymous ID PUi′ different from the first anonymous ID, and new second temporary authentication value αi′ different from the first temporary authentication value.
In operation S406, the user terminal 410 encrypts the ID, the newly generated second anonymous ID, the newly generated second temporary authentication value, the first anonymous ID of the UAV, and the random number value, by using the encryption key based on Equation 5 below. Specifically, by using eki generated through Equation 3 as a secret value (i.e., an encryption key and a decryption key), an ID, a newly generated second anonymous ID, a newly generated second temporary authentication value, a first anonymous ID of the UAV, and a random number value may be encrypted with a symmetric key. The same procedures may be applied with respect to Eek
c
i
=E
ek
(Ui∥PUi′∥αi′∥PDj∥rui) [Equation 5]
In operation S407, the user terminal 410 may derive first value τi by calculating cipher text ci based on Equation 6 below by using MAC key mki together with the user's first anonymous ID and the server ID. Specifically, authentication value τi may be generated by using MAC key mki generated through Equation 4 along with cipher text ci, the user's firsts anonymous ID and the server ID. Thereafter, using the MAC key, whether authentication value τi is a legitimate message may be authenticated. The same procedure may be applied with respect to operation using the MAC key indicated in many of equations described herein.
τi=Macmk
In operation S408, the user terminal 410 may transmit the user's first anonymous ID, the server ID, the cipher text and the first value to the server 430.
In operation S409, the server 430 may identify the user's ID, the past authentication value, and the current authentication value by using the user's first anonymous ID. In operation S411, the server 430 may generate an encryption key between the user and the server using the current authentication value or the past authentication value based on Equation 7 below, or may generate a MAC key based on Equation 8 below. The contents described in relation to Equation 3 and Equation 4 may be applied.
ek
i
=H(αi∥0) [Equation 7]
mk
i
=H(αi∥1) [Equation 8]
In operation S412, the server 430 may decrypt the received cipher text with the encryption key. In operation S413, the server 430 may authenticate the received first value using the MAC key. In operation S414, when the first value is authenticated, the server 430 may identify the ID, the past authentication value, and the current authentication value of the UAV by using the decrypted anonymous ID of the UAV. In operation S415, the server 430 may generate an encryption key between the UAV and the server based on Equation 9 by using the identified past authentication value or the current authentication value, and may generate a MAC key based on Equation 10. The contents described in relation to Equation 3 and Equation 4 may be applied.
ek
j
=H(βj∥0) [Equation 9]
mk
j
=H(βj∥1) [Equation 10]
In operation S416, the server 430 may encrypt the user's first anonymous PUi and user-generated random number value rui with the generated encryption key based on Equation 11. The contents described in relation to Equation 5 may be applied.
c
j
=E
ek
(PUi∥rui) [Equation 11]
In operation S417, the server 430 may derive a second value by calculating cipher text cj based on Equation 12 by using the MAC key together with the server ID and the first anonymous ID of the drone. The contents described in relation to Equation 6 may be applied.
τj=Macmk
In operation S418, the server 430 may transmit server ID S, the drone's first anonymous ID PDj, cipher text cj and second value τj to the UAV 450.
In operation S419, the UAV 450 may generate an encryption key based on Equation 13 by using the authentication value of the UAV, and may generate a MAC key based on Equation 14. The contents described in relation to Equation 3 and Equation 4 may be applied.
ek
j
=H(βj∥0) [Equation 13]
mk
j
=H(βj∥1) [Equation 14]
In operation S421, the UAV 450 may decrypt the cipher text received from the server 430 using the generated encryption key. In operation S422, the UAV 450 may authenticate the received second value using the MAC key. In operation S423, the UAV 450 may generate a random number value, a new second anonymous ID and a new second temporary authentication value. In operation S424, the UAV 450 may encrypt generated second anonymous ID PDj′, second temporary authentication value βj′, random number value rdj and random number value rui generated by the user terminal 410, based on Equation 15. The contents described in relation to Equation 5 may be applied.
d
j
=E
ek
(PDj′∥βj′∥ruj∥rdj) [Equation 15]
In operation S425, the UAV 450 may derive a third value by calculating generated cipher text dj based on Equation 16 by using the MAC key together with first anonymous ID PDj of the drone and ID S of the server. The contents described in relation to Equation 6 may be applied.
∈j=Macmk
In operation S426, the UAV 450 may transmit the drone's first anonymous ID PDj, server ID S, cipher text dj and third value ∈j to the server 430.
In operation S427, the server 430 may decrypt the received cipher text using the encryption key of the UAV. In operation S428, the server 430 may authenticate the third value using the MAC key. In operation S429, the server 430 may operate encryption based on Equation 17 using the user's encryption key eki. The contents described in relation to Equation 5 may be applied.
d
i
=E
ek
(PDj∥rui∥rdj) [Equation 17]
In operation S431, the server 430 may derive fourth value ∈j by calculating cipher text di based on Equation 18 by using the MAC key. The contents described in relation to Equation 6 may be applied.
∈f=Macmk
In operation S432, the server 430 may store the user's ID Ui, the user's past first anonymous ID PUi, the user's current second anonymous ID PUi′, the user's past first temporary authentication value αi, and the user's current second temporary authentication value αi′, as in Equation 19.
U
i
,PU
i
o
=PU
i
,PU
l
m
=PU
i′,αio=αi,αin=αi′ [Equation 19]
In operation S433, the server 430 may store ID Dj of the UAV, past first anonymous ID PDj of the UAV, current second anonymous ID PDi′ of the UAV, first past temporary authentication value βj of the UAV and current second temporary authentication value βj′ of the UAV, as in Equation 20.
D
j
,PD
j
o
=PD
j
,PD
j
n
=PD
j′,βjo=βj,βjn=βj′ [Equation 20]
In operation S434, the server 430 may transmit the ID of the server, the first anonymous ID of the user, the cipher text and the fourth value to the user terminal 410.
In operation S435, the user terminal 410 may decrypt the received cipher text using the user's encryption key. In operation S436, the user terminal 410 may authenticate the received fourth value using the MAC key.
In operation S437, the user terminal 410 may generate a MAC key based on Equation 21 by using first anonymous ID PUi and random number value rui of the user, and first anonymous ID PDi and random number value rdj of the UAV, and the user terminal 410 may generate a session key based on Equation 22. The contents described in relation to Equation 3 and Equation 4 may be applied.
mk
i,j
=H(PUi∥PDj∥rui∥rdj∥0) [Equation 21]
sk
i,j
=H(PUi∥PDj∥rui∥rdj∥1) [Equation 22]
In operation S438, the user terminal 410 may derive fifth value δi,j by calculating the user's first anonymous ID PUi and the drone's first anonymous ID PDj based on Equation 23 by using the MAC key. The contents described in relation to Equation 6 may be applied.
δi,j=Macmk
In operation S439, the user terminal 410 may encrypt the user's second anonymous ID PUi′ and second temporary authentication value αi′ based on Equation 24 and then store. The contents described in relation to Equation 1 may be applied.
In operation S441, the user terminal 410 may transmit the first anonymous ID of the user, the first anonymous ID of the drone and the fifth value to the UAV 450.
In operation S442, the UAV 450 may generate a MAC key based on Equation 25 by using anonymous IDs and random number values, and may generate a session key based on Equation 26. In this case, the MAC key and the session key generated based on Equation 25 and Equation 26 may be the same as the MAC key and the session key generated based on Equation 21 and Equation 22. Therefore, the user terminal and the UAV may share the same MAC key and the same session key. The contents described in relation to Equation 3 and Equation 4 may be applied.
mk
i,j
=H(PUi∥PDj∥rui∥rdj∥0) [Equation 25]
sk
i,j
=H(PUi∥PDj∥rui∥rdj∥1) [Equation 26]
In operation S443, the UAV 450 may authenticate the fifth value received from the user terminal. Thereafter, the UAV 450 may store an ID of the UAV, current second anonymous ID PDi′ of the UAV and current second temporary authentication value βi′.
According to the request of the UAV, the key agreement protocol may be performed through operations of
Unlike the sequence of the UAV, the user terminal, the server, the UAV, the server, the user terminal and the UAV in
The contents described in the equations of
In operation S501, the user terminal 510 may decrypt an anonymous ID and an authentication value by using a user's ID and password, and may generate an encryption key and a MAC key. In operation S502, the user terminal 510 may transmit the user's first anonymous ID to the UAV 550.
In operation S503, the UAV 550 may generate an encryption key based on Equation 27 by using first temporary authentication value βj, and may generate a MAC key based on Equation 28.
ek
j
=H(βj∥0) [Equation 27]
mk
j
=H(βj∥1) [Equation 28]
In operation S504, the UAV 550 may generate random number value rdj, new second anonymous ID PDj′ and second temporary authentication value βi′. In operation S505, the UAV 550 may encrypt ID Dj of the UAV, second temporary authentication value PDj′, second temporary authentication value βj′, the users first anonymous ID PUi and random number value rdj, based on Equation 29.
c
j
=E
ek
(Dj∥PDj′∥βj′∥PUi∥rdj) [Equation 29]
In operation S506, the UAV 550 may derive first value rj by calculating cipher text ej based on Equation 30 by using MAC key mkj together with first anonymous ID PDj of the UAV and ID S of the server.
r
j=Macmk
In operation S507, the UAV 550 may transmit first anonymous ID PDj of the UAV, ID S of the server, cipher text ej and first value rj to the server 530.
In operation S508, the server 530 may identify the ID of the UAV, the past first temporary authentication value and the current second temporary authentication value, by using the first anonymous ID of the UAV.
In operation S509, the server 530 may generate an encryption key and a MAC key between the UAV and the server, using the past first temporary authentication value or the current second temporary authentication value. In operation S511, the server 530 may decrypt the received cipher text ej using the generated encryption key. In operation S512, the server 530 may authenticate received first value rj by using the generated MAC key.
In operation S513, when the first value is authenticated, by using decrypted first anonymous ID PUi of the user, the server 530 may identify user ID Ui, past first temporary authentication value PUi and current second temporary authentication value PUi′.
In operation S514, the server 530 may generate an encryption key and a MAC key between the user and the server by using first temporary authentication value PUi and second temporary authentication value PUi′.
In operation S515, the server 530 may encrypt first anonymous ID PDj of the UAV and random number value rdj generated by the UAV based on Equation 31 by using the generated encryption key.
c
i
=E
ck
(PDj∥rdj) [Equation 31]
In operation S516, the server 530 may derive second value τi by calculating cipher text ci based on Equation 32 by using MAC key mki together with server ID S and the user's first anonymous ID PUi.
τi=Macmk
In operation S517, the server 530 may transmit server ID S, the user's first anonymous ID PUi, cipher text ci and second value τi to the user terminal 510.
In operation S518, the user terminal 510 may decrypt received cipher text ci by using the encryption key. In operation S519, the user terminal 510 may authenticate received second value τi by using the MAC key. In operation S521, the user terminal 510 may generate random number value rui, second anonymous ID PUi′ of the user, and second temporary authentication value αi′.
In operation S522, the user terminal 510 may encrypt random number values rui and rdj, the users second anonymous ID PUi′, and second temporary authentication value αi′ based on Equation 33.
d
i
=E
ck
(PUi′∥αi′∥rui∥rdj) [Equation 33]
In operation S523, the user terminal 510 may derive third value ei by calculating cipher text di based on Equation 34 by using MAC key mki together with the user's first anonymous ID PUi and server ID S.
e
i=Macmk
In operation S524, the user terminal 510 may transmit the user's first anonymous ID PUi, server ID S, cipher text di and third value ei to the server 530.
In operation S525, the server 530 may decrypt the received cipher text by using the user's encryption key. In operation S526, the server 530 may authenticate the received third value by using the MAC key.
In operation S527, the server 530 may encrypt the user's first anonymous ID PUi and random number values rui and rdj based on Equation 35 by using the encryption key of the UAV.
d
j
=E
ek
(PUi∥rui∥rdj) [Equation 35]
In operation S528, the server 530 may derive fourth value ej by calculating cipher text dj based on Equation 36 using the MAC key together with the server ID and the first anonymous ID of the UAV.
e
j=Macmk
In operation S529, the server 530 may store the user's ID Ui, the user's past first anonymous ID PUi, the user's current second anonymous ID PUi′, the user's past first temporary authentication value αi and the user's current second temporary authentication value αi′ as in Equation 37. Further, the server 530 may store ID Dj of the UAV, past first anonymous ID PDj of the UAV, second anonymous ID PDj′ of the UAV, first temporary authentication value βi of the UAV, and current second temporary authentication value βi′ of the UAV as in Equation 37.
Store (Ui,PUio=PUi,PUin=PUi′,
αio=αi,αin=αi′)
and (Dj,PDjo=PDj,PDnn=PDj′,
βjo=βj,βjn=βj′) [Equation 37]
In operation S531, the server 530 may transmit first anonymous ID PDj of the UAV, server ID S, cipher text dj and fourth value ej to the UAV 550.
In operation S532, the UAV 550 may decrypt the received cipher text using the encryption key of the UAV. In operation S533, the UAV 550 may authenticate the received fourth value by using the MAC key.
In operation S534, the UAV 550 may generate a MAC key based on Equation 38 by using first anonymous ID PDj and random number value rdj of the UAV, and first anonymous ID PUi and random number value rui of the user, and may generate a session key based on Equation 39.
In operation S535, the UAV 550 may derive fifth value δi,j by calculation based on Equation 40 by using the MAC key together with the user's first anonymous ID PUi and the UAV's first anonymous ID PDi.
δi,j=Macmk
The UAV 550 may store ID Dj of the UAV, second anonymous ID PDj′ of the UAV, and second temporary authentication value βj′. In operation S536, the UAV 550 may transmit the user's first anonymous ID PUi, first anonymous ID PDj of the UAV and fifth value (δi,j) to the user terminal 510.
In operation S537, the user terminal 510 may generate a MAC key based on Equation 41 by using the first anonymous ID of the UAV, the first anonymous ID of the user and random number values, and may generate a session key based on Equation 42. In this case, the MAC key and the session key generated based on Equation 41 and Equation 42 may be the same as the MAC key and the session key generated based on Equation 38 and Equation 39. Therefore, the user terminal and the UAV may share the same MAC key and the same session key.
In operation S538, the user terminal 510 may authenticate the fifth value by using the MAC key, and thereafter, the user's second anonymous ID and the second temporary authentication value may be encrypted based on Equation 43 and then store.
v
i
=E
H(U
∥pw
)(PUi′∥αi′) [Equation 43]
According to the user's request, the key agreement protocol may be performed through operations with regard to
Referring to
Through the process of registering the UAV described in
As described with regard to
In operation S630, in response to a key agreement request of the user terminal or a key agreement request of the UAV, the electronic device may intermediate the key agreement between the UAV and the user terminal based on first information including information obtained from the user terminal and second information including information obtained from the UAV.
In this case, the key agreement request of the UAV may correspond to transmitting the first anonymous ID of the UAV from the UAV to the user terminal as described with regard to
Further, according to the key agreement between the UAV and the user terminal, the user terminal and the UAV may share the same MAC key and the same session key.
In this case, the first anonymous ID and the first temporary authentication value of the user may be randomly generated regardless of the user's ID, and the first anonymous ID and the first temporary authentication value of the UAV may also be randomly generated regardless of the ID of the UAV.
Further, the first information may include at least one of the user's ID, the user's first anonymous ID, the user's first temporary authentication value, a second anonymous ID different from the user's first anonymous ID, a second temporary authentication value different from the user's first temporary authentication value, and a random number value of the user.
Further, the second information may include at least one of the ID of the UAV, the first anonymous ID of the UAV, the first temporary authentication value of the UAV, a second anonymous ID different from the first anonymous ID of the UAV, a second temporary authentication value different from the first temporary authentication value of the UAV, and a random number value of the UAV.
Referring to
Referring to
According to the example embodiment, an electronic device 900 may include a communication device 910, a memory 920 and a controller 930.
The communication device 910 may be a device that performs wired/wireless communication, and the memory 920 may be a device that stores at least one instruction. The controller 930 may control the overall operation of the electronic device 900 and process data and signals. The controller 930 may be composed of at least one hardware unit. Further, the controller 930 may operate by one or more software modules generated by executing program codes stored in the memory 920. The controller 930 may execute a program code stored in the memory 920 to control the overall operation of the electronic device 900 and process data and signals.
The controller 930 may obtain at least one of an ID of a user, a first anonymous ID of the user corresponding to the ID of the user and a first temporary authentication value of the user, from a user terminal, obtain at least one of an ID of an unmanned aerial vehicle (UAV), a first anonymous ID of the UAV corresponding to the ID of the UAV and a first temporary authentication value of the UAV, from the UAV, and in response to a key agreement request of the user terminal or a key agreement request of the UAV, intermediate key agreement between the UAV and the user terminal based on information related to the user terminal and information related to the UAV.
The above-described electronic device or terminal may include a controller, a memory (e.g., a non-transitory memory) for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, and a user interface device. In addition to this, it can be understood by those of ordinary skill in the art related to the present disclosure that other general-purpose components may be further included. The controller may control the overall operation of the electronic device and process data and signals. The controller may be configured with at least one hardware unit. Further, a controller may be operated by one or more software modules that are generated by executing a program code stored in a memory. The controller may execute program code stored in the memory to control the overall operation of the electronic device and process data and signals. Methods implemented as software modules or algorithms may be stored in a computer-readable recording medium as computer-readable codes or program instructions executable on the controller. Here, the computer-readable recording medium includes a magnetic storage medium (e.g., ROMs, RAMs, floppy disks and hard disks) and an optically readable medium (e.g., CD-ROMs and DVDs). The computer-readable recording medium may be distributed among network-connected computer systems, so that the computer-readable codes may be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed on a processer.
The example embodiments may be represented by functional block elements and various processing steps. The functional blocks may be implemented in any number of hardware and/or software configurations that perform specific functions. For example, an example embodiment may adopt integrated circuit configurations, such as memory, processing, logic and look-up table, that may execute various functions by the control of one or more microcontrollers or other control devices. Similar to that elements may be implemented as software programming or software elements, the example embodiments may be implemented in a programming or scripting language such as C, C++, Java, assembler, etc., including various algorithms implemented as a combination of data structures, processes, routines, or other programming constructs. Functional aspects may be implemented in an algorithm running on one or more controllers. Further, the example embodiments may adopt the existing art for electronic environment setting, signal processing, and/or data processing. Terms such as “mechanism,” “element,” “means” and “configuration” may be used broadly and are not limited to mechanical and physical elements. The terms may include the meaning of a series of routines of software in association with a controller or the like.
The above-described example embodiments are merely examples, and other embodiments may be implemented within the scope of the claims to be described later. It will be apparent to those skilled in the art that various modifications and variations can be made in the electronic device for providing bidirectional key agreement protocol and operating method thereof of the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0105656 | Aug 2022 | KR | national |