(19)
(11) EP 3 723 336 A1

(12) EUROPEAN PATENT APPLICATION
published in accordance with Art. 153(4) EPC

(43) Date of publication:
14.10.2020 Bulletin 2020/42

(21) Application number: 18897839.9

(22) Date of filing: 25.12.2018
(51) International Patent Classification (IPC): 
H04L 29/06(2006.01)
(86) International application number:
PCT/CN2018/123457
(87) International publication number:
WO 2019/128982 (04.07.2019 Gazette 2019/27)
(84) Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME
Designated Validation States:
KH MA MD TN

(30) Priority: 29.12.2017 CN 201711477985

(71) Applicant: HUAWEI TECHNOLOGIES CO., LTD.
Shenzhen, Guangdong 518129, (CN)

(72) Inventor:
  • ZHOU, Kai
    Shenzhen, Guangdong 518129 (CN)

(74) Representative: MERH-IP Matias Erny Reichl Hoffmann Patentanwälte PartG mbB 
Paul-Heyse-Strasse 29
80336 München
80336 München (DE)

   


(54) DEVICE BOOTSTRAP METHOD, TERMINAL, AND SERVER


(57) Embodiments of this application disclose a device bootstrap method, to improve security of transmitting and bootstrapping related data. The method in the embodiments of this application includes: sending, by a terminal, a second bootstrap request to a server, where the second bootstrap request includes a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal; receiving, by the terminal, a second acknowledgment message that is sent by the server according to the second bootstrap request, where the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is determined by the server based on the transmission channel parameter; receiving, by the terminal, a temporary identifier indication message sent by a forwarding apparatus, where the temporary identifier indication message includes a temporary identifier and a temporary key, and the forwarding apparatus is a network element that is configured to send a message to the terminal through the transmission channel selected by the server; and sending, by the terminal, a connection request to the server based on the temporary identifier and the temporary key, where the connection request is used to request to establish a secure channel with the server.




Description


[0001] This application claims priority to Chinese Patent Application No. 201711477985.7, filed with the China National Intellectual Property Administration on December 29, 2017 and entitled "DEVICE BOOTSTRAP METHOD, TERMINAL, AND SERVER", which is incorporated herein by reference in its entirety.

TECHNICAL FIELD



[0002] This application relates to the communications field, and in particular, to a device bootstrap method, a terminal, and a server.

BACKGROUND



[0003] As internet of things technologies are widely used and vibrantly developed, ever-increasing terminals access the internet of things. Therefore, provisioning for and management of the terminals are increasingly important. A bootstrap server (bootstrap server, BS Server) helps simplify the process. The provisioning for the terminals includes information such as identifier information, service subscription information, and a target platform address.

[0004] Existing over the air (over the air, OTA) modes may include a client initial bootstrap (client initial bootstrap) mode and a server initial bootstrap (server initial bootstrap) mode. The client initial bootstrap mode is used as an example for description. The BS server is usually deployed on a public network, and an internet of things (internet of things, IoT) platform is a destination platform to which a terminal is to be connected. The public network is a common circuit switched network, namely, a backbone network and a branch network built by China Netcom, China Telecom, China Tie Tong Telecom, or the like.

[0005] A unique identifier for checking the terminal by the BS server is a node identifier (an end point name). The end point name is usually physical hardware identifier information of the terminal, such as a media access control (medium access control, MAC) address, an international mobile equipment identifier (international mobile equipment identifier, IMEI), or a personal identification number (personal identification number, PIN) code, has low strength, and may be maliciously inferred by a user massive times. In addition, information such as a key transmitted by the BS server to the terminal belongs to sensitive information, and there is a leakage risk during plaintext transmission on the public network.

SUMMARY



[0006] Embodiments of this application provide a device bootstrap method, to improve security of transmitting and bootstrapping related data between a terminal and a server.

[0007] In view of this, a first aspect of the embodiments of this application provides a device bootstrap method. The method may include: A terminal may send a second bootstrap request to a server, where the second bootstrap request includes a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal; and the terminal receives a second acknowledgment message that is sent by the server according to the second bootstrap request, where the second acknowledgment message carries a transmission channel selected by the server based on the transmission channel parameter. It may be understood that the transmission channel selected by the server herein may be an identifier, indication information, another parameter, or the like and is used to indicate that the terminal can receive, through the transmission channel selected by the server, the message sent by the server. The terminal receives a temporary identifier indication message sent by a forwarding apparatus, where the temporary identifier indication message includes a temporary identifier and a temporary key, and the forwarding apparatus is a network element that is configured to send a message to the terminal through the transmission channel selected by the server. It should be noted that a trusted communication channel is established between the forwarding apparatus and the terminal. The terminal may send a connection request to the server based on the temporary identifier and the temporary key, where the connection request is used to request to establish a secure channel with the server.

[0008] In this embodiment of this application, the terminal receives the temporary identifier and the temporary key that are sent by the forwarding apparatus, and may initiate the connection request to the server by using the temporary identifier and the temporary key, where the connection request is used to establish the secure channel with the server; and then transmission between the terminal and the server is performed through the secure channel. Therefore, security of transmitting and bootstrapping related data can be improved.

[0009] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a device trigger transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key. That the terminal receives a temporary identifier indication message sent by a forwarding apparatus may include: The terminal receives, through the device trigger transmission channel, a trigger request sent by a machine type communication interworking function network element, where the trigger request includes the pre-shared key identifier and the pre-shared key. That is, a channel through which the terminal receives the trigger request sent by the forwarding apparatus is the device trigger transmission channel, and the forwarding apparatus herein is the machine type communication interworking function (MTC-IWF) network element. Communication between the terminal and the MTC-IWF network element is usually internal communication on a 3GPP network. Therefore, reliability is relatively high.

[0010] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a short message service transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key. That the terminal receives a temporary identifier indication message sent by a forwarding apparatus may include: The terminal receives, through the short message service transmission channel, a mobile terminated short message service message sent by the short message service center network element, where the mobile terminated short message service message includes the pre-shared key identifier and the pre-shared key. That is, a channel through which the terminal receives the trigger request sent by the forwarding apparatus is the short message service transmission channel, and the forwarding apparatus herein is the short message service center (SMSC) network element. Communication between the terminal and the SMSC network element is usually internal communication on a 3GPP network. Therefore, reliability is relatively high.

[0011] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a data transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key. That the terminal receives a temporary identifier indication message sent by a forwarding apparatus may include: The terminal receives, through the data transmission channel, a non-internet protocol IP packet header data delivery message sent by a service creation environment function network element, where the non-IP packet header data delivery message includes the pre-shared key identifier and the pre-shared key. That is, a channel through which the terminal receives the trigger request sent by the forwarding apparatus is the data transmission channel, and the forwarding apparatus herein is the service creation environment function (SCEF) network element. Communication between the terminal and the SCEF network element is usually internal communication on a 3GPP network. Therefore, reliability is relatively high.

[0012] Optionally, in some embodiments of this application, the second bootstrap request may further include a security parameter, where the security parameter is obtained by the terminal by using a first bootstrap request. Before a terminal sends a second bootstrap request to a server, the method may further include: The terminal sends the first bootstrap request to the server, where the first bootstrap request includes the node identifier and the transmission channel parameter of the terminal; and the terminal receives a first acknowledgment message that is sent by the server according to the first bootstrap request, where the first acknowledgment message carries the security parameter. That the terminal sends the first bootstrap request to the server may notify the server of the node identifier and the transmission channel parameter of the terminal. Then, the server may determine identifier information of the terminal, and performs security authentication. Therefore, a security assurance for subsequent communication between the terminal and the server is provided.

[0013] Optionally, in some embodiments of this application, after the terminal sends a connection request to the server based on the temporary identifier and the temporary key, where the connection request is used to request to establish a secure channel with the server, the method may further include: The terminal sends a third bootstrap request to the server through the secure channel, where the third bootstrap request includes the node identifier of the terminal; and the terminal receives, through the secure channel, device management information that is sent by the server according to the third bootstrap request. That is, after the terminal establishes the secure channel with the server, the terminal may send the third bootstrap request to the server. The third bootstrap request is used to request the server to deliver the device security management message.

[0014] Optionally, in some embodiments of this application, after the terminal receives, through the secure channel, device management information that is sent by the server according to the third bootstrap request, the method further includes: The terminal sends a registration request and service data to an internet of things IoT platform based on the device management information.

[0015] Optionally, in some embodiments of this application, the second acknowledgment message further carries a hold on timer parameter, and the terminal receives a temporary identifier indication message sent by a forwarding apparatus may include: The terminal receives within a preset time based on the hold on timer parameter, the temporary identifier indication message sent by the forwarding apparatus. That is, the terminal may receive, in a timely manner based on the hold on timer parameter, the temporary identifier message sent by the server.

[0016] A second aspect of the embodiments of this application provides a device bootstrap method. The method may include: A server receives a second bootstrap request sent by a terminal, where the second bootstrap request includes a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal; and the server determines a forwarding apparatus based on the node identifier and the transmission channel parameter, and sends a second acknowledgment message to the terminal, where the second acknowledgment message carries a transmission channel selected by the server; and the transmission channel selected by the server is used to indicate that the terminal receives, through the transmission channel selected by the server, a message sent by the server. It may be understood that the transmission channel herein may be an identifier, indication information, another parameter, or the like and is used to indicate that the terminal can receive, through the transmission channel selected by the server, the message sent by the server. It should be noted that a trusted communication channel is established between the forwarding apparatus and the terminal. The server sends a temporary identifier indication message to the forwarding apparatus, where the temporary identifier indication message includes a temporary identifier and a temporary key, and the temporary identifier and the temporary key are used by the terminal to initiate a connection request. The server receives the connection request sent by the terminal. The server establishes a secure channel with the terminal according to the connection request.

[0017] In this embodiment of this application, the server sends the temporary identifier and the temporary key to the terminal by using the forwarding apparatus. After receiving the temporary identifier and the temporary key, the terminal may initiate the connection request to the server by using the temporary identifier and the temporary key, where the connection request is used to establish the secure channel with the server; and then transmission between the terminal and the server is performed through the secure channel. Therefore, security of transmitting and bootstrapping related data can be improved.

[0018] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a device trigger transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key. That the server sends a temporary identifier indication message to a forwarding apparatus may include: The server sends through the device trigger transmission channel, a trigger request to a machine type communication interworking function network element, where the trigger request includes the pre-shared key identifier and the pre-shared key. That is, a channel through which the server sends the trigger request to the forwarding apparatus is the device trigger transmission channel, and the forwarding apparatus herein is the machine type communication interworking function (MTC-IWF) network element. Communication between the MTC-IWF network element and the server is usually based on a Restful interface, and based on hypertext transfer protocol secure (hypertext transfer protocol secure, HTTPS). Encryption and integrity protection are performed during communication transmission to ensure reliability of data transmission between the terminal and the server.

[0019] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a short message service transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key. That the server sends a temporary identifier indication message to a forwarding apparatus may include: The server sends, through the short message service transmission channel, a mobile terminated short message service message to a short message service center network element, where the mobile terminated short message service message includes the pre-shared key identifier and the pre-shared key. That is, a channel through which the server sends the trigger request to the forwarding apparatus is the device trigger transmission channel, and the forwarding apparatus herein is the short message service center (SMSC) network element. Communication between the SMSC network element and the server is usually based on a Restful interface, and based on hypertext transfer protocol secure (hypertext transfer protocol secure, HTTPS). Encryption and integrity protection are performed during communication transmission to ensure reliability of data transmission between the terminal and the server.

[0020] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a data transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key. That the server sends a temporary identifier indication message to a forwarding apparatus may include: The server sends, through the data transmission channel, a non-internet protocol IP packet header data delivery message to a service creation environment function network element, where the non-IP packet header data delivery message includes the pre-shared key identifier and the pre-shared key. That is, a channel through which the server sends the trigger request to the forwarding apparatus is the data transmission channel, and the forwarding apparatus herein is the service creation environment function (SCEF) network element. Communication between the SCEF network element and the server is usually based on a Restful interface, and based on hypertext transfer protocol secure (hypertext transfer protocol secure, HTTPS). Encryption and integrity protection are performed during communication transmission to ensure reliability of data transmission between the terminal and the server.

[0021] Optionally, in some embodiments of this application, the second bootstrap request further includes a security parameter. The security parameter is obtained by the terminal by using a first bootstrap request. Before a server receives a second bootstrap request sent by a terminal, the method may further include: The server receives the first bootstrap request sent by the terminal, where the first bootstrap request includes the node identifier and the transmission channel parameter of the terminal; and the server sends a first acknowledgment message to the terminal based on the node identifier and the transmission channel parameter of the terminal, where the first acknowledgment message carries the security parameter, and the security parameter is used by the terminal to prevent a denial-of-service attack. The server receives the first bootstrap request sent by the terminal. The server may learn the node identifier and the transmission channel parameter of the terminal. Then, the server may determine identifier information of the terminal, and performs security authentication. Therefore, a security assurance for subsequent communication between the terminal and the server is provided.

[0022] Optionally, in some embodiments of this application, after the server establishes the secure channel with the terminal according to the connection request, the method may further include: The server receives a third bootstrap request sent by the terminal, where the third bootstrap request includes the node identifier of the terminal; and the server sends device management information to the terminal based on the node identifier of the terminal. That is, after the terminal establishes the secure channel with the server, the terminal may send the third bootstrap request to the server. The third bootstrap request is used to request the server to deliver the device security management message.

[0023] Optionally, in some embodiments of this application, the second acknowledgment message further carries a hold on timer parameter. The hold on timer parameter is used to indicate that the terminal cannot be hibernated within a preset time. In this way, the terminal receives, in a timely manner within the preset time, the temporary identifier indication message delivered by the server.

[0024] A third aspect of the embodiments of this application provides a terminal, having a function of improving security of transmitting and bootstrapping related data. The function may be implemented by hardware, or may be implemented by hardware by executing corresponding software. The hardware or software includes one or more modules corresponding to the foregoing function.

[0025] A fourth aspect of the embodiments of this application provides a server, having a function of improving security of transmitting and bootstrapping related data. The function may be implemented by hardware, or may be implemented by hardware by executing corresponding software. The hardware or software includes one or more modules corresponding to the foregoing function.

[0026] A fifth aspect of the embodiments of this application provides a terminal. The terminal may include: one or more processors, a memory, a plurality of application programs, and one or more computer programs. The one or more computer programs are stored in the memory. The one or more computer programs include an instruction, and when the instruction is executed by the terminal, the terminal is enabled to perform the method according to any one of the first aspect or the optional manners of the first aspect of the embodiments of this application.

[0027] A sixth aspect of the embodiments of this application provides a server. The server may include: one or more processors, a memory, a plurality of application programs, and one or more computer programs. The one or more computer programs are stored in the memory. The one or more computer programs include an instruction, and when the instruction is executed by the terminal, the terminal is enabled to perform the method according to any one of the second aspect or the optional manners of the second aspect of the embodiments of this application.

[0028] A seventh aspect of the embodiments of this application provides a wireless communications apparatus. The wireless communications apparatus may include:
at least one processor, a memory, a transceiver circuit, and a bus system. The processor, the memory, and the transceiver circuit are coupled by using the bus system. The wireless communications apparatus communicates with a server by using the transceiver circuit. The memory is configured to store a program instruction. The at least one processor is configured to execute the program instruction stored in the memory. The wireless communications apparatus is enabled to perform the operation part performed by the terminal in the method according to any one of the first aspect of the embodiments of this application. The wireless communications apparatus may be a terminal, or may be a system chip that is applied to a terminal and that performs a corresponding function.

[0029] An eighth aspect of the embodiments of this application provides a wireless communications apparatus. The wireless communications apparatus may include:
at least one processor, a memory, a transceiver circuit, and a bus system. The processor, the memory, and the transceiver circuit are coupled by using the bus system. The wireless communications apparatus communicates with a server by using the transceiver circuit. The memory is configured to store a program instruction. The at least one processor is configured to execute the program instruction stored in the memory. The wireless communications apparatus is enabled to perform the operation part performed by the server in the method according to any one of the second aspect of the embodiments of this application. The wireless communications apparatus may be a server, or may be a system chip that is applied to a server and that performs a corresponding function.

[0030] A ninth aspect of the embodiments of this application provides a storage medium. It should be noted that the technical solutions of this application essentially, or the part contributing to the prior art, or all or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in the storage medium, and the computer software product is configured to store a computer software instruction used by the foregoing terminal. The computer software instruction includes a program executed by and designed for the terminal in the first aspect. Alternatively, the computer software product is configured to store a computer software instruction used by the foregoing server. The computer software instruction includes a program executed by and designed for the server in the second aspect.

[0031] The storage medium includes various media that may store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc.

[0032] A tenth aspect of the embodiments of this application provides a computer program product including an instruction. When the instruction is run on a terminal, the terminal is enabled to perform the method in the first aspect or any optional implementation of the first aspect in this application.

[0033] An eleventh aspect of the embodiments of this application provides a computer program product including an instruction. When the instruction is run on a server, the server is enabled to perform the method in the second aspect or any optional implementation of the second aspect in this application.

[0034] It can be learned from the foregoing technical solutions that, the embodiments of this application have the following benefits.

[0035] In the embodiments of this application, the terminal sends the second bootstrap request to the server, where the second bootstrap request includes the node identifier and the transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate the transmission channel supported by the terminal; the terminal receives the second acknowledgment message that is sent by the server according to the second bootstrap request, where the second acknowledgment message carries the transmission channel selected by the server, and the transmission channel selected by the server is determined by the server based on the transmission channel parameter; the terminal receives the temporary identifier indication message sent by the forwarding apparatus, where the temporary identifier indication message includes the temporary identifier and the temporary key, and the forwarding apparatus is the network element that is configured to send a message to the terminal through the transmission channel selected by the server; and the terminal sends the connection request to the server based on the temporary identifier and the temporary key, where the connection request is used to request to establish the secure channel with the server. To be specific, the terminal receives the temporary identifier and the temporary key that are sent by the forwarding apparatus, and may initiate the connection request by using the temporary identifier and the temporary key, where the connection request is used to establish the secure channel with the server; and then transmission between the terminal and the server is performed through the secure channel. Therefore, security of transmitting and bootstrapping the related data can be improved.

BRIEF DESCRIPTION OF DRAWINGS



[0036] To describe the technical solutions in the embodiments of this application more clearly, the following briefly describes the accompanying drawings required for describing the prior art or the embodiments. Apparently, the accompanying drawings described in the following show merely some embodiments of this application, and another drawing may still be derived from these accompanying drawings.

FIG. 1 is a schematic diagram of a procedure of a bootstrap mode on an existing internet of things network;

FIG. 2 is an architectural diagram of a system that is applied to an embodiment of this application;

FIG. 3 is a schematic diagram of an embodiment of a device bootstrap method according to an embodiment of this application;

FIG. 4 is a schematic diagram of another embodiment of a device bootstrap method according to an embodiment of this application;

FIG. 5 is a schematic diagram of another embodiment of a device bootstrap method according to an embodiment of this application;

FIG. 6 is a schematic diagram of another embodiment of a device bootstrap method according to an embodiment of this application;

FIG. 7 is a schematic diagram of an embodiment of a terminal according to an embodiment of this application;

FIG. 8 is a schematic diagram of an embodiment of a server according to an embodiment of this application;

FIG. 9 is a schematic diagram of another embodiment of a terminal according to an embodiment of this application; and

FIG. 10 is a schematic diagram of another embodiment of a server according to an embodiment of this application.


DESCRIPTION OF EMBODIMENTS



[0037] Embodiments of this application provide a device bootstrap method, to improve security of transmitting and bootstrapping related data between a terminal and a server.

[0038] To make persons skilled in the art understand the solutions in this application better, the following describes the technical solutions in the embodiments of this application with reference to the accompanying drawings in the embodiments of this application. Apparently, the described embodiments are merely some rather than all of the embodiments of this application. All the embodiments based on this application shall fall within the protection scope of this application.

[0039] In an existing terminal management (device management, DM) protocol, a bootstrap (Bootstrap) procedure usually includes the following several modes.

(1) Factory bootstrap (factory bootstrap) mode:



[0040] In this mode, a terminal vendor directly presets related DM information of a terminal before delivery of the terminal. The DM information may include parameters such as a terminal identifier (identity, ID), a key, an address of a connected destination service platform, subscribed service information, and configuration information, where the terminal key and the subscribed service information belong to sensitive data.

[0041] However, this bootstrap mode is not flexible enough, increases production workload of the terminal vendor, and raises a high capability requirement for production and delivery according to an order. The terminal vendor and an application vendor have a trust relationship. The application vendor may need to re-modify sensitive information such as an initial key after the terminal gets online.

(2) Bootstrap from smartcard (bootstrap from smartcard) mode:



[0042] In this mode, a smartcard (smartcard) stores DM information, and the DM information is read and used by a terminal through a secure channel between the smartcard and the terminal, where the DM information may be preset by a card vendor. The terminal reads the DM information from the smartcard, and then connects to a destination service platform to carry out a service. In this mode, the card vendor needs to provision the DM information to the smartcard according to an order in advance, and therefore this mode has a relatively high security degree. The smartcard may further include a subscriber identity module (subscriber identify module, SIM) card, and the like.

[0043] This bootstrap mode raises a requirement for the card vendor, that is, requires strong cooperation between an application vendor and the card vendor. However, the application vendor usually does not directly cooperate with the card vendor. In other words, this bootstrap mode raises requirements for the card and the terminal.

(3) Client initial bootstrap (client initial bootstrap) mode:



[0044] A terminal proactively initiates a bootstrap request to a BS server, and the BS server returns DM information of the terminal based on hardware information of the terminal. The hardware information of the terminal may include a MAC address, an IMEI, a PIN code, and the like. The DM information of the terminal may include parameters such as a terminal ID, a key, an address of a connected destination service platform, subscribed service information, and configuration information.

(4) Server initial bootstrap (server initial bootstrap) mode:



[0045] A BS Server automatically delivers DM information to a terminal, and the terminal initiates a connection and service request to a destination service platform based on the delivered DM information. The DM information may include parameters such as a terminal ID, a key, an address of a connected destination service platform, subscribed service information, and configuration information.

[0046] Both the client initial bootstrap mode and the server initial bootstrap mode are over the air (over the air, OTA) modes. However, the over the air mode is not secure enough. If sensitive information is transmitted in plaintext on a network, there is a leakage risk. When the terminal initially requests BS information, there is only an end point name parameter of the terminal. Consequently, there is a risk of maliciously forging the terminal.

[0047] FIG. 1 is a schematic diagram of a procedure of a bootstrap mode on an existing IoT network. As shown in FIG. 1, specific steps of the procedure are as follows:

P0. Preset a BS server address of a public network for UE before delivery of the UE. The address is an address of the public network, may be globally unique or unique in an area, and is non-differentiated data for a terminal vendor.

PI. The terminal is powered on, then initiates a tracking area update (tracking area update, TAU) and packet data protocol (packet data protocol, PDP) activation in a network.

P2. The terminal initiates a bootstrap request to a BS server, where the bootstrap request message carries a node name (an end point name) of the terminal.

P3. The BS server returns BS information of the terminal based on the end point name. In P3, a plurality of pieces of terminal management (device management, DM) information may be returned, and the DM information includes a terminal identifier (identifier, ID), a key, subscribed service information, and the like.

P4. After receiving the DM information, the terminal stores the DM information and returns a 2.04 changed message to the BS server.

P5. After all DM information is sent to the terminal, the BS server sends a finished (FINISHED) message to the terminal.

P6. The terminal returns the 2.04 changed message to the BS server.

P7. The terminal initiates service procedures such as registration and data reporting to a destination IoT platform (determines, according to an indication, whether to pre-establish a datagram transport layer security (datagram transport layer security, DTLS) link.



[0048] Note: The foregoing procedures and messages are based on a lightweight machine-to-machine (light weight M2M, LWM2M) protocol of version 1.0.

[0049] The following roles are included in the foregoing procedure:
Smartcard vendor: A smartcard vendor produces a card, writes DM information into the card, and sells the smartcard to a device manufacturer.

[0050] Device manufacturer: A device manufacturer produces a device. To be specific, the device manufacturer purchases production data such as a smartcard in advance, writes DM information into the device, and sells the smartcard to an application service provider.

[0051] Application service provider: An application service provider is a real owner of a device, and may change DM information.

[0052] In conclusion, from a perspective of an end to end (end to end, E2E) procedure, an OTA mode is a flexible bootstrap mode. However, security of the OTA mode needs to be improved. This application provides a secure OTA bootstrap solution, to meet flexible service provisioning and device management requirements.

[0053] FIG. 2 is an architectural diagram of a system that is applied to an embodiment of this application. A terminal requests BS information from a BS server through an access network and a core network. The BS server also returns the BS information to the terminal through the core network and the access network. The BS server may invoke a capability of a machine type communication interworking function (machine type communications-inter working function, MTC-IWF) network element, a short message service center (short message service center, SMSC) network element, or a service creation environment function (service creation environment function, SCEF) network element in the core network to send a temporary identifier indication message to the terminal, where the temporary identifier indication message is used by the terminal to perform temporary access. Then, the terminal initiates a registration procedure to an LWM2M through the access network and the core network based on the temporary identifier indication message.

[0054] FIG. 3 is a schematic diagram of an embodiment of a device bootstrap method according to an embodiment of this application.

[0055] 301. A terminal sends a second bootstrap request to a server, where the second bootstrap request includes a node identifier and a transmission channel parameter of the terminal.

[0056] The server receives the second bootstrap request sent by the terminal. The second bootstrap request carries the node identifier (Node ID) and the transmission channel parameter. The transmission channel parameter may include information such as a terminal mobile terminated (user equipment mobile terminated, UE MT) channel capability (channel capability) parameter, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal.

[0057] It may be understood that the UE MT channel capability parameter represents a capability supported by the terminal on a 3rd generation mobile communication partnership project (third generation partnership project, 3GPP) network, for example, a device trigger (device trigger) capability, a mobile terminated short message service (mobile terminated short message service, MT SMS) capability, and a mobile terminated non-internet protocol (internet protocol, IP) packet header data delivery (mobile terminated Non-IP data delivery, MT NIDD) capability, so that the BS server selects a specific channel for addressing the terminal.

[0058] It should be noted that a node identifier (Node ID, which may also be referred to as an end point name) of a terminal and a mapping relationship between the node ID of the terminal and an identifier of the terminal on the 3rd generation mobile communication partnership project (third generation partnership project, 3GPP) network are preset on the BS server. For example, the identifier on the 3GPP network may include a parameter such as a mobile station integrated services digital network number (mobile station integrated services digital network number, MSISDN) and an external identifier (External ID) beyond the 3GPP network, and is used for addressing the terminal.

[0059] The node identifier of the terminal may specifically include a media access control (medium access control, MAC) address, an international mobile equipment identifier (international mobile equipment identifier, IMEI), a personal identification number (personal identification number, PIN) code, a serial number (serial number, SN), and the like.

[0060] 302. The server determines a forwarding apparatus based on the node identifier and the transmission channel parameter.

[0061] The server determines the forwarding apparatus based on the node identifier and the transmission channel parameter. If the transmission channel parameter is a device trigger capability parameter, the forwarding apparatus determined by the server is a machine type communication interworking function (machine type communications-inter working function, MTC-IWF) network element, and the transmission channel parameter is a device trigger channel parameter. If the transmission channel parameter is a mobile terminated short message service capability parameter, the forwarding apparatus determined by the server is a short message service center (short message service center, SMSC) network element, and the transmission channel parameter is a mobile terminated short message service channel parameter. If the transmission channel parameter is a non-internet protocol packet header data delivery capability parameter, the forwarding apparatus determined by the server is a service creation environment function (service creation environment function, SCEF) network element, and the transmission channel parameter is a non-internet protocol packet header data delivery channel parameter.

[0062] Optionally, the server may determine, based on the node identifier, the transmission channel parameter, channel information supported by the server, channel service quality, and the like, a transmission channel selected by the server, and notify the terminal of the transmission channel selected by the server, so that the terminal knows to receive, through the transmission channel selected by the server, a message sent by the server. The transmission channel selected by the server may include a device trigger (device trigger) channel, a mobile terminated short message service (MT SMS) channel, a mobile terminated non-internet protocol packet header data delivery (MT NIDD) channel, and the like. In other words, the transmission channel is corresponding to the forwarding apparatus determined by the server.

[0063] 303. The server sends a second acknowledgment message to the terminal, where the second acknowledgment message carries the transmission channel selected by the server.

[0064] If the BS server checks that the node ID is correct, the BS server returns the second ACK message to the terminal, where the second ACK message carries the transmission channel selected by the server, and the transmission channel selected by the server may include a selected mobile terminated channel (selected mobile terminated channel, selected MT channel) parameter. The terminal receives the second acknowledgment message that is sent by the server according to the second bootstrap request, where the second acknowledgment message carries the transmission channel selected by the server.

[0065] Optionally, the second acknowledgment message may further carry a client hold on timer (client hold on timer) parameter. The client hold on timer parameter is used to indicate that the terminal cannot be hibernated within a specified time. If the preset time expires, the terminal initiates a registration procedure or the like to the server.

[0066] 304. The server sends a temporary identifier indication message to the forwarding apparatus, where the temporary identifier indication message includes a temporary identifier and a temporary key, and the temporary identifier and the temporary key are used by the terminal to initiate a connection request.

[0067] The forwarding apparatus receives the temporary identifier indication message sent by the server. For example, the temporary identifier may include a pre-shared key identifier (pre-shared key identifier, PSKID), and the temporary key may include a pre-shared key (pre-shared key, PSK) parameter and the like.

[0068] It should be noted that communication between the terminal and the forwarding apparatus is usually internal communication on the 3GPP network. Therefore, reliability is relatively high. The forwarding apparatus usually communicates with the server through a Restful interface based on hypertext transfer protocol secure (hypertext transfer protocol secure, HTTPS), and encryption and integrity protection are performed during communication transmission. Therefore, reliability is relatively high.

[0069] 305. The forwarding apparatus sends the temporary identifier indication message to the terminal, where the temporary identifier indication message includes the temporary identifier and the temporary key.

[0070] The terminal receives the temporary identifier indication message sent by the forwarding apparatus. The temporary identifier indication message includes the temporary identifier and the temporary key. The forwarding apparatus is a network element determined by the server based on the node identifier and the transmission channel parameter of the terminal, and a trusted communication channel is established between the forwarding apparatus and the terminal. Optionally, the receiving, by the terminal, the temporary identifier indication message sent by the forwarding apparatus may include: receiving, by the terminal within the preset time based on the hold on timer parameter, the temporary identifier indication message sent by the forwarding apparatus.

[0071] 306. The terminal sends the connection request to the server based on the temporary identifier and the temporary key, where the connection request is used to request to establish a secure channel with the server.

[0072] For example, the terminal initiates a datagram transport layer security (datagram transport layer security, DTLS) connection procedure to the BS server by using the temporary PSKID and the PSK parameter.

[0073] 307. The server establishes the secure channel with the terminal according to the transport layer connection request.

[0074] The server establishes the secure channel with the terminal according to the transport layer connection request. In this case, the server completes authentication on the terminal and establishment of a secure link. Though a terminal maliciously forges the node ID, the device trigger message is finally sent to the real terminal associated with the node ID because the identifier on 3GPP cannot be forged, the malicious terminal cannot obtain the temporary PSKID and the PSK parameter, and a DTLS link cannot be established. The secure channel is used to transmit and bootstrap related data between the terminal and the server.

[0075] In this embodiment of this application, the terminal may initiate the connection request to the server based on the temporary identifier indication message sent by the forwarding apparatus, where the connection request is used to request to establish the secure channel with the server, and then the terminal and the server can transmit and bootstrap the related data through the secure channel. Therefore, security of transmitting and bootstrapping the related data is improved.

[0076] FIG. 4 is a schematic diagram of an embodiment of a device bootstrap method according to an embodiment of this application.

[0077] 401. A terminal sends a first bootstrap request to a server, where the first bootstrap request includes a node identifier and a transmission channel parameter of the terminal.

[0078] In this embodiment of this application, the server herein may be described by using a BS server as an example. The terminal may initiate the first bootstrap request (bootstrap request) to the BS server on a public network, where the first bootstrap request carries the node identifier (Node ID) and the transmission channel parameter. The transmission channel parameter may include information such as a terminal mobile terminated (user equipment mobile terminated, UE MT) channel capability (channel capability) parameter.

[0079] It may be understood that the UE MT channel capability parameter represents a capability supported by the terminal in a 3rd generation mobile communication partnership project (third generation partnership project, 3GPP) network, for example, a device trigger (device trigger) capability, a mobile terminated short message service (mobile terminated short message service, MT SMS) capability, and a mobile terminated non-internet protocol (internet protocol, IP) packet header data delivery (mobile terminated Non-IP data delivery, MT NIDD) capability, so that the BS server selects a specific channel for addressing the terminal.

[0080] It should be noted that a node identifier (Node ID, which may also be referred to as an end point name) of a terminal and a mapping relationship between the node ID of the terminal and an identifier of the terminal on the 3rd generation mobile communication partnership project (third generation partnership project, 3GPP) network are preset on the BS server. For example, the identifier on the 3GPP network may include a parameter such as a mobile station integrated services digital network number (mobile station integrated services digital network number, MSISDN) and an external identifier (External ID) beyond the 3GPP network, and is used for addressing the terminal.

[0081] The node identifier of the terminal may specifically include a media access control (medium access control, MAC) address, an international mobile equipment identifier (international mobile equipment identifier, IMEI), a personal identification number (personal identification number, PIN) code, a serial number (serial number, SN), and the like.

[0082] 402. The server sends a first ACK message to the terminal, where the first ACK message carries a security parameter.

[0083] The BS server may determine the corresponding identifier of the terminal on the 3GPP network based on the node ID, and further determine, based on the UE MT channel capability parameter, a specific channel to address the UE. To be specific, the BS server may return the first acknowledgment (acknowledgement, ACK) message to the terminal according to the first bootstrap request. The first ACK message carries the security parameter. For example, the security parameter may include a cookie parameter and the like. It may be understood that the security parameter is allocated by the BS server, and is used to prevent a denial-of-service (denial of service, DOS) attack.

[0084] 403. The terminal sends a second bootstrap request to the server, where the second bootstrap request includes the node identifier, the transmission channel parameter of the terminal, and the security parameter.

[0085] The terminal reinitiates the second bootstrap request (bootstrap request) to the BS server. The second bootstrap request may carry the node ID, the UE MT channel capability parameter, and the security parameter that is just received from the BS server. The node ID and the UE MT channel capability parameter in this step are the same as those in step 301. The security parameter is used by the server to verify information, for example, determine whether the security parameter is a security parameter previously delivered by the server to the UE. If the security parameter is the security parameter previously delivered by the server to the UE, the server does not reject the second bootstrap request sent by the UE. If the security parameter is not the security parameter previously delivered by the server to the UE, the server may reject the second bootstrap request sent by the UE. For example, the security parameter may include a cookie parameter and the like.

[0086] 404. The server sends a second ACK message to the terminal, where the second ACK message carries a client hold on timer parameter and a transmission channel selected by the server.

[0087] If the BS server checks that the security parameter and the node ID are correct, the BS server returns the second ACK message to the terminal. The second ACK message carries the client hold on timer (client hold on timer) parameter (indicating that the terminal cannot be hibernated within a specified time) and the transmission channel selected by the server. The transmission channel selected by the server may include information such as a selected mobile terminated channel (selected mobile terminated channel, selected MT channel) parameter. A channel indicated by the transmission channel parameter may include a device trigger (device trigger) channel, a mobile terminated short message service (MT SMS) channel, a mobile terminated non-internet protocol packet header data delivery (MT NIDD) channel, and the like. In this embodiment, the channel selected by the server is a device trigger channel. The client hold on timer parameter is an empirical value determined by the server.

[0088] 405. The server sends a trigger request to a machine type communication interworking function network element, where the trigger request includes a temporary identifier and a temporary key.

[0089] The BS server invokes, based on the identifier of the terminal associated with the 3GPP network, a device trigger (device trigger) capability of the machine type communication interworking function (machine type communications-inter working function, MTC-IWF) network element, to initiate the trigger request to the terminal. The trigger request includes the temporary identifier and the temporary key. For example, the temporary identifier may include a pre-shared key identifier (pre-shared key identifier, PSKID), and the temporary key may include a pre-shared key (pre-shared key, PSK) parameter and the like.

[0090] The PSKID and the PSK parameter that are carried in the trigger request are determined by the server based on the node ID reported by the terminal. It should be noted that communication between the terminal and the MTC-IWF network element is usually internal communication on the 3GPP network. Therefore, reliability is relatively high. The MTC-IWF network element usually communicates with the server through a Restful interface based on hypertext transfer protocol secure (hypertext transfer protocol secure, HTTPS), and encryption and integrity protection are performed during communication transmission.

[0091] 406. The MTC-IWF network element sends the trigger request to the terminal.

[0092] The machine type communication interworking function (MTC-IWF) network element invokes an internal capability of the 3GPP network to complete a device trigger procedure, and sends the temporary PSKID and the PSK parameter to the terminal.

[0093] 407. The MTC-IWF network element sends a device trigger response to the server.

[0094] After the MTC-IWF network element sends the trigger request to the terminal, the MTC-IWF network element sends the device trigger response (device trigger response) to the BS server, to indicate, to the BS server, that the terminal is successfully woken up.

[0095] 408. The terminal initiates a DTLS connection request to the server.

[0096] The terminal sends the connection request to the server based on the temporary identifier and the temporary key. The server receives the connection request sent by the terminal, and the server establishes a secure channel with the terminal according to the connection request.

[0097] For example, the terminal initiates a datagram transport layer security (datagram transport layer security, DTLS) connection procedure to the BS server by using the temporary PSKID and the PSK parameter. In this case, the BS server completes authentication on the terminal and establishment of a secure link. (Though a terminal maliciously forges the node ID, the device trigger message is finally sent to the real terminal associated with the node ID because the identifier on 3GPP cannot be forged, the malicious terminal cannot obtain the temporary PSKID and the PSK parameter, and a DTLS link cannot be established.)

[0098] 409. The terminal sends a third bootstrap request to the server, where the third bootstrap request includes the node identifier.

[0099] The terminal reinitiates the third bootstrap request (bootstrap request) to the BS server. The third bootstrap request carries the node ID. In this case, the third bootstrap request is transmitted through the secure channel.

[0100] 410. The server sends DM information to the terminal.

[0101] The BS server delivers the DM information to the terminal. The DM information includes parameters such as an identifier ID and a PSK that are corresponding to the terminal on a current platform accessed by the terminal. The step may be performed a plurality of times. If the terminal currently accesses a plurality of platforms, the BS server correspondingly sends a plurality of pieces of DM information to the terminal. Each piece of DM information includes parameters such as an identifier and a PSK that are corresponding to the terminal on each platform accessed by the terminal.

[0102] 411. The server sends a finished message to the terminal.

[0103] After the server completes delivering all DM information to the terminal, the BS server delivers the finished (finished) message to the terminal, and the current bootstrap procedure ends.

[0104] 412. The terminal initiates registration and service reporting procedures to an internet of things platform.

[0105] The terminal initiates procedures such as registration and service data reporting to the internet of things (internet of things, IoT) platform based on the DM information.

[0106] In this embodiment of this application, though the terminal maliciously forges the node ID, the device trigger message is finally sent to the real terminal associated with the node ID because the identifier on 3GPP cannot be forged, the malicious terminal cannot obtain the temporary PSKID and the PSK parameter, and the DTLS link cannot be established. Therefore, a secure bootstrap process is provided. The secure bootstrap process is imperceptible to a chip vendor, a module vendor, and a device vendor. An application vendor holds a real security credential; and the device vendor neither needs to add an additional manufacture operation, nor needs to support a delivery capability according to an order. Therefore, a supply chain design requirement for the device vendor is simplified.

[0107] When the terminal requests the server to provision the DM information, the server can verify, based on the associated identifier of the terminal on the 3GPP network when the terminal registers an account in the BS server (the identifier is set by an application server, and may be considered to be secure), whether the terminal is an authorized device, and send the temporary ID and the temporary key to the terminal through a 3GPP network channel. The terminal establishes a secure connection with the server by using the temporary ID and the temporary key. The server returns sensitive data such as a real identifier ID, a key, and subscribed service information based on the secure connection, to complete a data provisioning process. The temporary ID and the temporary key are released after current use.

[0108] FIG. 5 is a schematic diagram of an embodiment of a device bootstrap method according to an embodiment of this application.

[0109] 501. A terminal sends a first bootstrap request to a server, where the first bootstrap request includes a node identifier and a transmission channel parameter of the terminal.

[0110] In this embodiment of this application, the server herein may be described by using a BS server as an example. The terminal may initiate the first bootstrap request (bootstrap request) to the BS server on a public network, where the first bootstrap request carries the node ID and the transmission channel parameter. The transmission channel parameter may include information such as a UE MT channel capability parameter.

[0111] It may be understood that the UE MT channel capability parameter represents a capability supported by the terminal on a 3GPP network, for example, a device trigger capability, an MT SMS capability, and an MT NIDD capability, so that the BS server selects a specific channel for addressing the terminal.

[0112] It should be noted that a node ID (also referred to as an end point name) of a device and a correspondence between the node ID of the terminal and an identifier of the terminal on the 3GPP network are preset on the BS server. For example, the identifier on the 3GPP network includes parameters such as an MSISDN and an external ID, and is used for addressing the terminal.

[0113] The node identifier of the terminal may specifically include a media access control (medium access control, MAC) address, an international mobile equipment identifier (international mobile equipment identifier, IMEI), a personal identification number (personal identification number, PIN) code, a serial number (serial number, SN), and the like.

[0114] 502. The server sends a first ACK message to the terminal, where the first ACK message carries a security parameter.

[0115] The BS server may determine the corresponding identifier of the terminal on the 3GPP network based on the node ID, and further determine, based on the UE MT channel capability parameter, a specific channel to address the UE. To be specific, the BS server may return the first acknowledgment (acknowledgement, ACK) message to the terminal according to the first bootstrap request. The first ACK message carries the security parameter. For example, the security parameter may include a cookie parameter and the like. It may be understood that the security parameter is allocated by the BS server, and is used to prevent a denial-of-service (denial of service, DOS) attack.

[0116] 503. The terminal sends a second bootstrap request to the server, where the second bootstrap request includes the node identifier, the transmission channel parameter of the terminal, and the security parameter.

[0117] The terminal reinitiates the second bootstrap request (bootstrap request) to the BS server. The second bootstrap request may carry the node ID, the UE MT channel capability, and the security parameter that is just received from the BS server. The node ID and the UE MT channel capability parameter in this step are the same as those in step 401. The security parameter is used by the server to verify information, for example, determine whether the security parameter is a security parameter previously delivered by the server to the UE. If the security parameter is the security parameter previously delivered by the server to the UE, the server does not reject the second bootstrap request sent by the UE. If the security parameter is not the security parameter previously delivered by the server to the UE, the server may reject the second bootstrap request sent by the UE. For example, the security parameter may include a cookie parameter and the like.

[0118] 504. The server sends a second ACK message to the terminal, where the second ACK message carries a client hold on timer parameter and a transmission channel selected by the server.

[0119] If the BS server checks that the security parameter and the node ID are correct, the BS server returns the second ACK message to the terminal. The second ACK message carries the client hold on timer (client hold on timer) parameter (indicating that the terminal cannot be hibernated within a specified time) and the transmission channel selected by the server. The transmission channel selected by the server may include information such as a selected mobile terminated channel (selected mobile terminated channel, selected MT channel) parameter. A channel indicated by the transmission channel parameter may include a device trigger (device trigger) channel, a mobile terminated short message service (MT SMS) channel, a mobile terminated non-internet protocol packet header data delivery (MT NIDD) channel, and the like. In this embodiment, the channel selected by the server is a mobile terminated short message service channel. The client hold on timer parameter is an empirical value determined by the server.

[0120] 505. The server sends a mobile terminated short message service message to an SMSC network element, where the mobile terminated short message service message includes a temporary identifier and a temporary key.

[0121] The BS server invokes, based on the identifier of the terminal associated with the 3GPP network, a mobile terminated short message service (mobile terminated short message service, MT SMS) capability of the short message service center (short message service center, SMSC) network element, to send the MT SMS message to the terminal. The MT SMS message includes the temporary identifier and the temporary key. For example, the temporary identifier may include a pre-shared key identifier (pre-shared key identifier, PSKID), and the temporary key may include a pre-shared key (pre-shared key, PSK) parameter and the like.

[0122] The PSKID and the PSK parameter that are carried in the MT SMS message are determined by the server based on the node ID reported by the terminal. It should be noted that communication between the terminal and the SMSC network element is usually internal communication on the 3GPP network. Therefore, reliability is relatively high. The SMSC network element usually communicates with the server through a Restful interface based on hypertext transfer protocol secure (hypertext transfer protocol secure, HTTPS), and encryption and integrity protection are performed during communication transmission.

[0123] 506. The short message service center network element sends the mobile terminated short message service message to the terminal.

[0124] The short message service center (SMSC) network element invokes an internal capability of the 3GPP network to complete an MT SMS procedure, and sends the temporary PSK ID and the PSK parameter to the terminal.

[0125] 507. The SMSC network element sends a mobile terminated short message service response message to the server.

[0126] After the SMSC network element sends the MT SMS message to the terminal, the SMSC network element sends the mobile terminated short message service response (MT SMS response) message to the BS server, to indicate a sending success.

[0127] 508. The terminal initiates a DTLS connection request to the server.

[0128] The terminal sends the connection request to the server based on the temporary identifier and the temporary key. The server receives the connection request sent by the terminal, and the server establishes a secure channel with the terminal according to the connection request.

[0129] For example, the terminal initiates a datagram transport layer security (Datagram Transport Layer Security, DTLS) connection procedure to the BS server by using the temporary PSKID and the PSK parameter. In this case, the BS server completes authentication on the terminal and establishment of a secure link. (Though a terminal maliciously forges the node ID, the SMS message is finally sent to the real terminal associated with the node ID because the identifier on 3GPP cannot be forged, the malicious terminal cannot obtain the temporary PSKID and the PSK parameter, and a DTLS link cannot be established.)

[0130] 509. The terminal sends a third bootstrap request to the server, where the third bootstrap request includes the node ID.

[0131] The terminal reinitiates the third bootstrap request (bootstrap request) to the BS server. The third bootstrap request carries the node ID. In this case, the third bootstrap request is transmitted through the secure channel.

[0132] 510. The server sends DM information to the terminal.

[0133] The BS server delivers the DM information to the terminal. The DM information includes parameters such as an identifier ID and a PSK that are corresponding to the terminal on a current platform accessed by the terminal. The step may be performed a plurality of times. If the terminal currently accesses a plurality of platforms, the BS server correspondingly sends a plurality of pieces of DM information to the terminal. Each piece of DM information includes parameters such as an identifier and a PSK that are corresponding to the terminal on each platform accessed by the terminal.

[0134] 511. The server sends a finished message to the terminal.

[0135] After the server completes delivering all DM information to the terminal, the BS server delivers the finished (finished) message to the terminal, and the current bootstrap procedure ends.

[0136] 512. The terminal initiates registration and service reporting procedures to an internet of things platform.

[0137] The terminal initiates procedures such as registration and service data reporting to the internet of things (internet of things, IoT) platform based on the DM information.

[0138] In this embodiment of this application, though the terminal maliciously forges the node ID, the SMS message is finally sent to the real terminal associated with the node ID because the identifier on 3GPP cannot be forged, the malicious terminal cannot obtain the temporary PSKID and the PSK parameter, and the DTLS link cannot be established. Therefore, a secure bootstrap process is provided. The secure bootstrap process is imperceptible to a chip vendor, a module vendor, and a device vendor. An application vendor holds a real security credential; and the device vendor neither needs add an additional manufacture operation, nor needs to support a delivery capability according to an order. Therefore, a supply chain design requirement for the device vendor is simplified.

[0139] When the terminal requests the server to provision the DM information, the server can verify, based on the associated identifier of the terminal on the 3GPP network when the terminal registers an account in the BS server (the identifier is set by an application server, and may be considered to be secure), whether the terminal is an authorized device, and send the temporary ID and the temporary key to the terminal through a 3GPP network channel. The terminal establishes a secure connection with the server by using the temporary ID and the temporary key. The server returns sensitive data such as a real identifier ID, a key, and subscribed service information based on the secure connection, to complete a data provisioning process. The temporary ID and the temporary key are released after current use.

[0140] FIG. 6 is a schematic diagram of an embodiment of a device bootstrap method according to an embodiment of this application.

[0141] 601. A terminal sends a first bootstrap request to a server, where the first bootstrap request includes a node identifier and a transmission channel parameter of the terminal.

[0142] In this embodiment of this application, the server herein may be described by using a BS server as an example. The terminal may initiate the first bootstrap request (bootstrap request) to the BS server on a public network, where the first bootstrap request carries the node ID and the transmission channel parameter. The transmission channel parameter may include information such as a UE MT channel capability parameter.

[0143] It may be understood that the UE MT channel capability parameter represents a capability supported by the terminal on a 3GPP network, for example, a device trigger capability, an MT SMS capability, and an MT NIDD capability, so that the BS server selects a specific channel for addressing the terminal.

[0144] It should be noted that a node ID (also referred to as an end point name) of a device and a correspondence between the node ID of the terminal and an identifier of the terminal on the 3GPP network are preset on the BS server. For example, the identifier on the 3GPP network includes parameters such as an MSISDN and an external ID, and is used for addressing the terminal.

[0145] The node identifier of the terminal may specifically include a media access control (medium access control, MAC) address, an international mobile equipment identifier (international mobile equipment identifier, IMEI), a personal identification number (personal identification number, PIN) code, a serial number (serial number, SN), and the like.

[0146] 602. The server sends a first ACK message to the terminal, where the first ACK message carries a security parameter.

[0147] The BS server may determine the corresponding identifier of the terminal on the 3GPP network based on the node ID, and further determine, based on the UE MT channel capability parameter, a specific channel to address the UE. To be specific, the BS server may return the first acknowledgment (acknowledgement, ACK) message to the terminal according to the first bootstrap request. The first ACK message carries the security parameter. For example, the security parameter may include a cookie parameter and the like. It may be understood that the security parameter is allocated by the BS server, and is used to prevent a denial-of-service (denial of service, DOS) attack.

[0148] 603. The terminal sends a second bootstrap request to the server, where the second bootstrap request includes the node identifier, the transmission channel parameter of the terminal, and the security parameter.

[0149] The terminal reinitiates the second bootstrap request (bootstrap request) to the BS server. The second bootstrap request may carry the node ID, the UE MT channel capability, and the security parameter that is just received from the BS server. The node ID and the UE MT channel capability parameter in this step are the same as those in step 501. The security parameter is used by the server to verify information, for example, determine whether the security parameter is a security parameter previously delivered by the server to the UE. If the security parameter is the security parameter previously delivered by the server to the UE, the server does not reject the second bootstrap request sent by the UE. If the security parameter is not the security parameter previously delivered by the server to the UE, the server may reject the second bootstrap request sent by the UE. For example, the security parameter may include a cookie parameter and the like.

[0150] 604. The server sends a second ACK message to the terminal, where the second ACK message carries a client hold on timer parameter and a transmission channel selected by the server.

[0151] If the BS server checks that the security parameter and the node ID are correct, the BS server returns the second ACK message to the terminal. The second ACK message carries the client hold on timer (client hold on timer) parameter (indicating that the terminal cannot be hibernated within a specified time) and the transmission channel selected by the server. The transmission channel selected by the server may include information such as a selected mobile terminated channel (selected mobile terminated channel, selected MT channel) parameter. A channel indicated by the transmission channel parameter may include a device trigger (device trigger) channel, a mobile terminated short message service (MT SMS) channel, a mobile terminated non-internet protocol packet header data delivery (MT NIDD) channel, and the like. In this embodiment, the channel selected by the server is a non-internet protocol packet header data delivery channel. The client hold on timer parameter is an empirical value determined by the server.

[0152] 605. The server sends an MT NIDD message to a service creation environment function network element, where the MT NIDD message includes a temporary identifier and a temporary key.

[0153] The BS server invokes, based on the identifier of the terminal associated with the 3GPP network, a mobile terminated non-IP packet header data delivery (mobile terminated Non-IP data delivery, MT NIDD) capability of the service creation environment function (service creation environment function, SCEF) network element, to send the MT NIDD message to the terminal. The MT NIDD message includes a pre-shared key identifier (pre-shared key identifier, PSKID), and the temporary key may include a pre-shared key (pre-shared key, PSK) parameter and the like.

[0154] The PSKID and the PSK parameter that are carried in the MT SMS are determined by the server based on the node ID reported by the terminal. It should be noted that communication between the terminal and the SCEF network element is usually internal communication on the 3GPP network. Therefore, reliability is relatively high. The SCEF network element usually communicates with the server through a Restful interface based on hypertext transfer protocol secure (hypertext transfer protocol secure, HTTPS), and encryption and integrity protection are performed during communication transmission.

[0155] 606. The SCEF network element sends the MT NIDD message to the terminal.

[0156] The service creation environment function (SCEF) network element invokes an internal capability of the 3GPP network to complete an MT SMS procedure, and sends the temporary PSK ID and the PSK parameter to the terminal.

[0157] 607. The SCEF network element sends an MT NIDD response to the server.

[0158] After the SCEF network element sends the MT NIDD to the terminal, the SCEF network element sends the MT NIDD response message to the BS server, to indicate a sending success.

[0159] 608. The terminal initiates a DTLS connection request to the server.

[0160] The terminal sends the connection request to the server based on the temporary identifier and the temporary key. The server receives the connection request sent by the terminal, and the server establishes a secure channel with the terminal according to the connection request.

[0161] For example, the terminal initiates a datagram transport layer security (Datagram Transport Layer Security, DTLS) connection request to the BS server by using the temporary PSKID and the PSK parameter. In this case, the BS server completes authentication on the terminal and establishment of a secure link. (Though a terminal maliciously forges the node ID, the MT NIDD message is finally sent to the real terminal associated with the node ID because the identifier on 3GPP cannot be forged, the malicious terminal cannot obtain the temporary PSKID and the PSK parameter, and a DTLS link cannot be established.)

[0162] 609. The terminal sends a third bootstrap request to the server, where the third bootstrap request includes the node ID.

[0163] The terminal reinitiates the third bootstrap request (bootstrap request) to the BS server. The third bootstrap request carries the node ID. In this case, the third bootstrap request is transmitted through the secure channel.

[0164] 610. The server sends DM information to the terminal.

[0165] The BS server delivers the DM information to the terminal. The DM information includes parameters such as an identifier ID and a PSK that are corresponding to the terminal on a current platform accessed by the terminal. The step may be performed a plurality of times. If the terminal currently accesses a plurality of platforms, the BS server correspondingly sends a plurality of pieces of DM information to the terminal. Each piece of DM information includes parameters such as an identifier and a PSK that are corresponding to the terminal on each platform accessed by the terminal.

[0166] 611. The server sends a finished message to the terminal.

[0167] After the server completes delivering all DM information to the terminal, the BS server delivers the finished (finished) message to the terminal, and the current bootstrap procedure ends.

[0168] 612. The terminal initiates registration and service reporting procedures to an internet of things platform.

[0169] The terminal initiates procedures such as registration and service data reporting to the internet of things (internet of things, IoT) platform based on the DM information.

[0170] In this embodiment of this application, though the terminal maliciously forges the node ID, the MT NIDD message is finally sent to the real terminal associated with the node ID because the identifier on 3GPP cannot be forged, the malicious terminal cannot obtain the temporary PSKID and the PSK parameter, and the DTLS link cannot be established. Therefore, a secure bootstrap process is provided. The secure bootstrap process is imperceptible to a chip vendor, a module vendor, and a device vendor. An application vendor holds a real security credential; and the device vendor neither needs to add an additional manufacture operation, nor needs to support a delivery capability according to an order. Therefore, a supply chain design requirement for the device vendor is simplified.

[0171] When the terminal requests the server to provision the DM information, the server can verify, based on the associated identifier of the terminal on the 3GPP network when the terminal registers an account in the BS server (the identifier is set by an application server, and may be considered to be secure), whether the terminal is an authorized device, and send the temporary ID and the temporary key to the terminal through a 3GPP network channel. The terminal establishes a secure connection with the server by using the temporary ID and the temporary key. The server returns sensitive data such as a real identifier ID, a key, and subscribed service information based on the secure connection, to complete a data provisioning process. The temporary ID and the temporary key are released after current use.

[0172] It should be noted that expressions such as "first", "second", and "third" in this application are not actual names. For example, the first bootstrap request in the foregoing embodiments does not mean that the bootstrap request is referred to as the first bootstrap request. The expressions such as "first" and "second" are merely used to distinguish between a plurality of bootstrap requests sent by the terminal to the server, and do not constitute a limitation on the actual protection scope of this application.

[0173] FIG. 7 is a schematic diagram of an embodiment of a terminal according to an embodiment of this application, and the terminal includes:

a sending module 701, configured to send a second bootstrap request to a server, where the second bootstrap request includes a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal; and

a receiving module 702, configured to receive a second acknowledgment message that is sent by the server according to the second bootstrap request, where the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is determined by the server based on the transmission channel parameter.



[0174] The receiving module 702 is further configured to receive a temporary identifier indication message sent by a forwarding apparatus. The temporary identifier indication message includes a temporary identifier and a temporary key. The forwarding apparatus is a network element that is configured to send a message to the terminal through the transmission channel selected by the server.

[0175] The sending module 701 is further configured to send a connection request to the server based on the temporary identifier and the temporary key, where the connection request is used to request to establish a secure channel with the server.

[0176] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a device trigger transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0177] The receiving module 702 is specifically configured to receive, through the device trigger transmission channel, a trigger request sent by a machine type communication interworking function network element. The trigger request includes the pre-shared key identifier and the pre-shared key.

[0178] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a short message service transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0179] The receiving module 702 is specifically configured to receive, through the short message service transmission channel, a mobile terminated short message service message sent by a short message service center network element. The mobile terminated short message service message includes the pre-shared key identifier and the pre-shared key.

[0180] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a data transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0181] The receiving module 702 is specifically configured to receive, through the data transmission channel, a non-internet protocol IP packet header data delivery message sent by a service creation environment function network element. The non-IP packet header data delivery message includes the pre-shared key identifier and the pre-shared key.

[0182] Optionally, in some embodiments of this application,
the sending module 701 is further configured to send a first bootstrap request to a server, where the first bootstrap request includes the node identifier and the transmission channel parameter of the terminal.

[0183] The receiving module 702 is further configured to receive a first acknowledgment message that is sent by the server according to the first bootstrap request. The first acknowledgment message carries a security parameter.

[0184] Optionally, in some embodiments of this application,
the sending module 701 is further configured to send a third bootstrap request to the server through the secure channel, where the third bootstrap request includes the node identifier of the terminal.

[0185] The receiving module 702 is further configured to receive device management information that is sent by the server according to the third bootstrap request.

[0186] Optionally, in some embodiments of this application,
the sending module 701 is further configured to send a registration request and service data to an internet of things IoT platform based on the device management information.

[0187] Optionally, in some embodiments of this application, the second acknowledgment message further carries a hold on timer parameter. That the terminal receives a temporary identifier indication message sent by the forwarding apparatus includes:

[0188] The terminal receives, based on the hold on timer parameter within a preset time, the temporary identifier indication message sent by the forwarding apparatus.

[0189] FIG. 8 is a schematic diagram of an embodiment of a server according to an embodiment of this application. The server includes:

a receiving module 801, configured to receive a second bootstrap request sent by a terminal, where the second bootstrap request includes a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal;

a determining module 802, configured to determine a forwarding apparatus based on the node identifier and the transmission channel parameter;

a sending module 803, configured to send a second acknowledgment message to the terminal, where the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is used to indicate that the terminal receives, through the transmission channel selected by the server, a message sent by the server; where

the sending module 803 is further configured to send a temporary identifier indication message to the forwarding apparatus, where the temporary identifier indication message includes a temporary identifier and a temporary key, and the temporary identifier and the temporary key are used by the terminal to initiate a connection request; and

the receiving module 801 is further configured to receive the connection request sent by the terminal; and

an establishment module 804, configured to establish a secure channel with the terminal according to the connection request.



[0190] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a device trigger transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0191] The sending module 803 is specifically configured to send, through the device trigger transmission channel, a trigger request to a machine type communication interworking function network element, where the trigger request includes the pre-shared key identifier and the pre-shared key.

[0192] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a short message service transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0193] The sending module 803 is specifically configured to send, through the short message service transmission channel, a mobile terminated short message service message to a short message service center network element, where the mobile terminated short message service message includes the pre-shared key identifier and the pre-shared key.

[0194] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a data transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0195] The sending module 803 is specifically configured to send, through the data transmission channel, a non-internet protocol IP packet header data delivery message to a service creation environment function network element, where the non-IP packet header data delivery message includes the pre-shared key identifier and the pre-shared key.

[0196] Optionally, in some embodiments of this application,
the receiving module 801 is configured to receive a first bootstrap request sent by the terminal, where the first bootstrap request includes the node identifier and the transmission channel parameter of the terminal.

[0197] The sending module 803 is configured to send a first acknowledgment message to the terminal based on the node identifier and the transmission channel parameter of the terminal. The first acknowledgment message carries a security parameter, and the security parameter is used by the terminal to prevent a denial-of-service attack.

[0198] Optionally, in some embodiments of this application,
the receiving module 801 is configured to receive a third bootstrap request sent by the terminal, where the third bootstrap request includes the node identifier of the terminal.

[0199] The sending module 803 is configured to send device management information to the terminal based on the node identifier of the terminal.

[0200] Optionally, in some embodiments of this application, the second acknowledgment message further carries a hold on timer parameter. The hold on timer parameter is used to indicate that the terminal cannot be hibernated within a preset time.

[0201] FIG. 9 is a schematic diagram of another embodiment of a terminal according to an embodiment of this application. The terminal is described by using a mobile phone as an example. FIG. 9 is a block diagram of a partial structure of the mobile phone related to the terminal according to this embodiment of this application. Referring to FIG. 9, the mobile phone includes components such as a radio frequency (Radio Frequency, RF) circuit 910, a memory 920, an input unit 930, a display unit 940, a sensor 950, an audio circuit 960, a wireless fidelity (wireless fidelity, Wi-Fi) module 970, a processor 980, and a power supply 990. Persons skilled in the art may understand that the structure of the mobile phone shown in FIG. 9 constitutes no limitation on the mobile phone. The mobile phone may include more or fewer components than those shown in this figure, may combine some components, or may have different component arrangements.

[0202] The following describes each component included in the mobile phone in detail with reference to FIG. 9.

[0203] The RF circuit 910 may be configured to receive or send a signal in an information receiving or sending process or a call process. In particular, after receiving downlink information from a base station, the RF circuit 910 sends the downlink information to the processor 980 for processing. In addition, the RF circuit 910 sends related uplink data to the base station. The RF circuit 910 usually includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (Low Noise Amplifier, LNA), a duplexer, and the like. In addition, the RF circuit 910 may further communicate with a network and another device through radio communications. Any communications standard or protocol may be used in the radio communications, including but not limited to a global system for mobile communications (Global System of Mobile communication, GSM), a general packet radio service (General Packet Radio Service, GPRS), code division multiple access (Code Division Multiple Access, CDMA), wideband code division multiple access (Wideband Code Division Multiple Access, WCDMA), long term evolution (Long Term Evolution, LTE), an email, a short message service (Short Messaging Service, SMS), and the like.

[0204] The memory 920 may be configured to store a software program and a module. The processor 980 executes various function applications of the mobile phone and performs data processing by running the software program and the module that are stored in the memory 920. The memory 920 may mainly include a program storage area and a data storage area. The program storage area may store an operating system, an application program required by at least one function (such as a voice playback function or an image playback function), and the like. The data storage area may store data (such as audio data and a phone book) created based on use of the mobile phone, and the like. In addition, the memory 920 may include a high speed random access memory, and may further include a nonvolatile memory, for example, at least one magnetic disk storage device, a flash storage device, or another volatile solid-state storage device.

[0205] The input unit 930 may be configured to receive input digit or character information, and generate key signal input related to user settings and function control of the mobile phone. Specifically, the input unit 930 may include a touch control panel 931 and another input device 932. The touch control panel 931, also referred to as a touchscreen, may collect a touch operation (for example, an operation of a user on the touch control panel 931 or near the touch panel 931 by using any proper object or accessory such as a finger or a tablet pen) of the user on or near the touch control panel 931, and drive a corresponding connection apparatus based on a preset program. Optionally, the touch control panel 931 may include two components: a touch detection apparatus and a touch controller. The touch detection apparatus detects a touch direction of a user, detects a signal brought by the touch operation, and transmits the signal to the touch controller. The touch controller receives touch information from the touch detection apparatus, converts the touch information into a coordinate of a touch point. Then the touch controller sends the coordinate of the touch point to the processor 980, and can receive and execute a command sent by the processor 980. In addition, the touch control panel 931 may be implemented in a plurality of types, such as a resistive type, a capacitive type, an infrared type, and a surface acoustic wave type. In addition to the touch control panel 931, the input unit 930 may further include the another input device 932. Specifically, the another input device 932 may include but are not limited to one or more of a physical keyboard, a function key (for example, a volume control press key or a power on/off press key), a trackball, a mouse, a joystick, and the like.

[0206] The display unit 940 may be configured to display information input by the user or information provided for the user, and various menus of the mobile phone. The display unit 940 may include a display panel 941. Optionally, the display panel 941 may be configured in a form such as a liquid crystal display (Liquid Crystal Display, LCD) or an organic light-emitting diode (Organic Light-Emitting Diode, OLED). Further, the touch control panel 931 may cover the display panel 941. When detecting the touch operation on or near the touch control panel 931, the touch control panel 931 transmits the touch operation to the processor 980 to determine a type of a touch event. Then the processor 980 provides a corresponding visual output on the display panel 941 based on the type of the touch event. In FIG. 9, the touch control panel 931 and the display panel 941 are used as two independent components to implement input and input functions of the mobile phone. However, in some embodiments, the touch control panel 931 and the display panel 941 may be integrated to implement the input and output functions of the mobile phone.

[0207] The mobile phone may further include at least one sensor 950, for example, a light sensor, a motion sensor, and another sensor. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. The ambient light sensor may adjust luminance of the display panel 941 based on brightness of ambient light. The proximity sensor may power off the display panel 941 and/or backlight when the mobile phone moves close to an ear. As a type of the motion sensor, an accelerometer sensor may detect values of acceleration in all directions (usually, three axes), may detect a value and a direction of gravity when the mobile phone is still. The accelerometer sensor may be applied to an application for identifying the mobile phone posture (such as landscape-to-portrait switch, a related game, and magnetometer posture calibration), a function related to vibration identification (such as a pedometer or a knock), or the like. Another sensor such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor may be further configured in the mobile phone. Details are not described herein again.

[0208] The audio circuit 960, a speaker 961, and a microphone 962 may provide an audio interface between the user and the mobile phone. The audio circuit 960 may transmit, to the speaker 961, an electrical signal converted from received audio data. The speaker 961 converts the electrical signal into a sound signal for output. In addition, the microphone 962 converts a collected sound signal into an electrical signal. The audio circuit 960 receives the electrical signal, converts the electrical signal into audio data, and then outputs the audio data to the processor 980 for processing. Then, the audio data is sent to, for example, another mobile phone, by using the RF circuit 910, or the audio data is output to the memory 920 for further processing.

[0209] Wi-Fi belongs to a short-distance wireless transmission technology. The mobile phone may help, by using the Wi-Fi module 970, the user send and receive an email, browse a web page, access streaming media, and the like. The Wi-Fi module 970 provides wireless broadband internet access for the user. Although FIG. 9 shows the Wi-Fi module 970, it may be understood that the Wi-Fi module 970 is not mandatory included in the mobile phone. The Wi-Fi module 970 may be omitted based on a requirement without changing the scope of essence of the present invention.

[0210] The processor 980 is a control center of the mobile phone. The processor 980 connects each part of the entire mobile phone through various interfaces and lines. In addition, the processor 980 performs various functions of the mobile phone and data processing by running or executing the software program and/or the module that are/is stored in the memory 920 and invoking data stored in the memory 920, so as to perform overall monitoring on the mobile phone. Optionally, the processor 980 may include one or more processing units. Preferably, an application processor and a modem processor may be integrated in the processor 980. The application processor mainly processes an operating system, a user interface, an application program, and the like. The modem processor mainly processes radio communication. It may be understood that the modem processor may alternatively not be integrated into the processor 980.

[0211] The mobile phone further includes the power supply 990 (for example, a battery) supplying power to all components. Preferably, the power supply may be logically connected to the processor 980 by using a power management system, to implement functions such as management of charging, discharging, and power consumption by using the power management system.

[0212] Although not shown, the mobile phone may further include a camera, a Bluetooth module, and the like. Details are not described herein again.

[0213] The steps performed by the terminal in the foregoing embodiments may be based on the structure of the terminal shown in FIG. 9.

[0214] In this embodiment of this application, the RF circuit 910 is configured to: send a second bootstrap request to a server, where the second bootstrap request includes a node identifier and a transmission channel parameter of a terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal; receive a second acknowledgment message that is sent by the server according to the second bootstrap request, where the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is determined by the server based on the transmission channel parameter; receive a temporary identifier indication message sent by a forwarding apparatus, where the temporary identifier indication message includes a temporary identifier and a temporary key, and the forwarding apparatus is a network element that is configured to send a message to the terminal through the transmission channel selected by the server; and send a connection request to the server based on the temporary identifier and the temporary key, where the connection request is used to request to establish a secure channel with the server.

[0215] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a device trigger transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0216] The RF circuit 910 is specifically configured to receive, through the device trigger transmission channel, a trigger request sent by a machine type communication interworking function network element, where the trigger request includes the pre-shared key identifier and the pre-shared key.

[0217] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a short message service transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0218] The RF circuit 910 is specifically configured to receive, through the short message service transmission channel, a mobile terminated short message service message sent by a short message service center network element, where the mobile terminated short message service message includes the pre-shared key identifier and the pre-shared key.

[0219] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a data transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0220] The RF circuit 910 is specifically configured to receive, through the data transmission channel, a non-internet protocol IP packet header data delivery message sent by a service creation environment function network element, where the non-IP packet header data delivery message includes the pre-shared key identifier and the pre-shared key.

[0221] Optionally, in some embodiments of this application,
the RF circuit 910 is further configured to: send a first bootstrap request to the server, where the first bootstrap request includes the node identifier and the transmission channel parameter of the terminal; and receive a first acknowledgment message that is sent by the server according to the first bootstrap request, where the first acknowledgment message carries a security parameter.

[0222] Optionally, in some embodiments of this application,
the RF circuit 910 is further configured to: send a third bootstrap request to the server through the secure channel, where the third bootstrap request includes the node identifier of the terminal; and receive, through the secure channel, device management information that is sent by the server according to the third bootstrap request.

[0223] Optionally, in some embodiments of this application,
the RF circuit 910 is further configured to send a registration request and service data to an internet of things IoT platform based on the device management information.

[0224] Optionally, in some embodiments of this application,
the RF circuit 910 is specifically configured to receive, based on the hold on timer parameter within a preset time, the temporary identifier indication message sent by the forwarding apparatus.

[0225] FIG. 10 is a schematic structural diagram of a server according to an embodiment of the present invention. The server may have a relatively large difference because of different configuration or performance. The server may include at least one central processing unit (central processing units, CPU) 1022 (for example, at least one processor), a memory 1032, and at least one storage medium 1030 (for example, at least one mass storage device) storing an application program 1042 or data 1044. The memory 1032 and the storage medium 1030 may be used for temporary storage or permanent storage. A program stored in the storage medium 1030 may include at least one module (not shown in the figure), and each module may include a series of instruction operations for the server. Further, the central processing unit 1022 may be configured to: communicate with the storage medium 1030, and perform, on the server, the series of instruction operations in the storage medium 1030.

[0226] The server may further include at least one power supply 1026, at least one wired or wireless network interface 1050, at least one input/output interface 1058, and/or, at least one operating system 1041, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, and FreeBSDTM.

[0227] The steps performed by the server in the foregoing embodiments may be based on the server structure shown in FIG. 10.

[0228] In this embodiment of this application, the at least one wired or wireless network interface 1050 is configured to receive a second bootstrap request sent by a terminal. The second bootstrap request includes a node identifier and a transmission channel parameter of the terminal. The transmission channel parameter is used to indicate a transmission channel supported by the terminal.

[0229] The at least one central processing unit 1022 is configured to determine a forwarding apparatus based on the node identifier and the transmission channel parameter.

[0230] The at least one wired or wireless network interface 1050 is further configured to send a second acknowledgment message to the terminal. The second acknowledgment message carries a transmission channel selected by the server. The transmission channel selected by the server is used to indicate that the terminal receives, through the transmission channel selected by the server, a message sent by the server.

[0231] The at least one wired or wireless network interface 1050 is further configured to: send a temporary identifier indication message to the forwarding apparatus, where the temporary identifier indication message includes a temporary identifier and a temporary key, and the temporary identifier and the temporary key are used by the terminal to initiate a connection request, and receive the connection request sent by the terminal.

[0232] The at least one central processing unit 1022 is further configured to establish a secure channel with the terminal according to the connection request.

[0233] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a device trigger transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0234] The at least one wired or wireless network interface 1050 is specifically configured to send, through the device trigger transmission channel, a trigger request to a machine type communication interworking function network element. The trigger request includes the pre-shared key identifier and the pre-shared key.

[0235] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a short message service transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0236] The at least one wired or wireless network interface 1050 is specifically configured to send, through the short message service transmission channel, a mobile terminated short message service message to a short message service center network element. The mobile terminated short message service message includes the pre-shared key identifier and the pre-shared key.

[0237] Optionally, in some embodiments of this application, the transmission channel selected by the server includes a data transmission channel, the temporary identifier includes a pre-shared key identifier, and the temporary key includes a pre-shared key.

[0238] The at least one wired or wireless network interface 1050 is specifically configured to send, through the data transmission channel, a non-internet protocol IP packet header data delivery message to a service creation environment function network element. The non-IP packet header data delivery message includes the pre-shared key identifier and the pre-shared key.

[0239] Optionally, in some embodiments of this application,
the at least one wired or wireless network interface 1050 is further configured to send a first acknowledgment message to the terminal based on the node identifier and the transmission channel parameter of the terminal, where the first acknowledgment message carries a security parameter, and the security parameter is used by the terminal to prevent a denial-of-service attack.

[0240] The at least one wired or wireless network interface 1050 is further configured to: receive a third bootstrap request sent by the terminal, where the third bootstrap request includes the node identifier of the terminal, and send device management information to the terminal based on the node identifier of the terminal.

[0241] Optionally, in some embodiments of this application, the second acknowledgment message further carries a hold on timer parameter. The hold on timer parameter is used to indicate that the terminal cannot be hibernated within a preset time.

[0242] All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When the software is used to implement the embodiments, the embodiments may be implemented completely or partially in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the procedure or functions according to the embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, and microwave, or the like) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, such as a server or a data center, including one or more integrated usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid-state drive Solid State Disk (SSD)), or the like.

[0243] It may be clearly understood by persons skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments. Details are not described herein again.

[0244] In the several embodiments according to this application, it should be understood that the disclosed system, apparatus, and method may be implemented in another manner. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connection may be implemented through some interfaces. The indirect couplings or communication connection between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

[0245] The units described as separate components may or may not be physically separate, and components displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.

[0246] In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or at least two units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.

[0247] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the prior art, or all or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in the embodiments of this application. The storage medium includes various media that may store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc.

[0248] The foregoing embodiments are merely intended for describing the technical solutions of this application, but not for limiting this application. Although this application is described in detail with reference to the foregoing embodiments, persons of ordinary skill in the art should understand that they may still make modifications to the technical solutions described in the foregoing embodiments or make equivalent replacements to some technical features thereof, without departing from the spirit and scope of the technical solutions of the embodiments of this application.


Claims

1. A device bootstrap method, comprising:

sending, by a terminal, a second bootstrap request to a server, wherein the second bootstrap request comprises a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal;

receiving, by the terminal, a second acknowledgment message that is sent by the server according to the second bootstrap request, wherein the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is determined by the server based on the transmission channel parameter;

receiving, by the terminal, a temporary identifier indication message sent by a forwarding apparatus, wherein the temporary identifier indication message comprises a temporary identifier and a temporary key, and the forwarding apparatus is a network element that is configured to send a message to the terminal through the transmission channel selected by the server; and

sending, by the terminal, a connection request to the server based on the temporary identifier and the temporary key, wherein the connection request is used to request to establish a secure channel with the server.


 
2. The method according to claim 1, wherein the transmission channel selected by the server comprises a device trigger transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the receiving, by the terminal, a temporary identifier indication message sent by a forwarding apparatus comprises:
receiving, by the terminal through the device trigger transmission channel, a trigger request sent by a machine type communication interworking function network element, wherein the trigger request comprises the pre-shared key identifier and the pre-shared key.
 
3. The method according to claim 1, wherein the transmission channel selected by the server comprises a short message service transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the receiving, by the terminal, a temporary identifier indication message sent by a forwarding apparatus comprises:
receiving, by the terminal through the short message service transmission channel, a mobile terminated short message service message sent by a short message service center network element, wherein the mobile terminated short message service message comprises the pre-shared key identifier and the pre-shared key.
 
4. The method according to claim 1, wherein the transmission channel selected by the server comprises a data transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the receiving, by the terminal, a temporary identifier indication message sent by a forwarding apparatus comprises:
receiving, by the terminal through the data transmission channel, a non-internet protocol IP packet header data delivery message sent by a service creation environment function network element, wherein the non-IP packet header data delivery message comprises the pre-shared key identifier and the pre-shared key.
 
5. The method according to any one of claims 1 to 4, wherein the second bootstrap request further comprises a security parameter, the security parameter is obtained by the terminal by using a first bootstrap request; and before the sending, by a terminal, a second bootstrap request to a server, the method further comprises:

sending, by the terminal, the first bootstrap request to the server, wherein the first bootstrap request comprises the node identifier and the transmission channel parameter of the terminal; and

receiving, by the terminal, a first acknowledgment message that is sent by the server according to the first bootstrap request, wherein the first acknowledgment message carries the security parameter.


 
6. The method according to any one of claims 1 to 5, wherein after the sending, by the terminal, a connection request to the server based on the temporary identifier and the temporary key, wherein the connection request is used to request to establish a secure channel with the server, the method further comprises:

sending, by the terminal, a third bootstrap request to the server through the secure channel, wherein the third bootstrap request comprises the node identifier of the terminal; and

receiving, by the terminal through the secure channel, device management information that is sent by the server according to the third bootstrap request.


 
7. The method according to claim 6, wherein after the receiving, by the terminal through the secure channel, device management information that is sent by the server according to the third bootstrap request, the method further comprises:
sending, by the terminal, a registration request and service data to an internet of things IoT platform based on the device management information.
 
8. The method according to any one of claims 1 to 7, wherein the second acknowledgment message further carries a hold on timer parameter, and the receiving, by the terminal, a temporary identifier indication message sent by a forwarding apparatus comprises:
receiving, by the terminal based on the hold on timer parameter within a preset time, the temporary identifier indication message sent by the forwarding apparatus.
 
9. A device bootstrap method, comprising:

receiving, by a server, a second bootstrap request sent by a terminal, wherein the second bootstrap request comprises a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal;

determining, by the server, a forwarding apparatus based on the node identifier and the transmission channel parameter, and sending a second acknowledgment message to the terminal, wherein the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is used to indicate that the terminal receives, through the transmission channel selected by the server, a message sent by the server;

sending, by the server, a temporary identifier indication message to the forwarding apparatus, wherein the temporary identifier indication message comprises a temporary identifier and a temporary key, and the temporary identifier and the temporary key are used by the terminal to initiate a connection request;

receiving, by the server, the connection request sent by the terminal; and

establishing, by the server, a secure channel with the terminal according to the connection request.


 
10. The method according to claim 9, wherein the transmission channel selected by the server comprises a device trigger transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the sending, by the server, a temporary identifier indication message to the forwarding apparatus comprises:
sending, by the server through the device trigger transmission channel, a trigger request to a machine type communication interworking function network element, wherein the trigger request comprises the pre-shared key identifier and the pre-shared key.
 
11. The method according to claim 9, wherein the transmission channel selected by the server comprises a short message service transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the sending, by the server, a temporary identifier indication message to the forwarding apparatus comprises:
sending, by the server through the short message service transmission channel, a mobile terminated short message service message to a short message service center network element, wherein the mobile terminated short message service message comprises the pre-shared key identifier and the pre-shared key.
 
12. The method according to claim 9, wherein the transmission channel selected by the server comprises a data transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the sending, by the server, a temporary identifier indication message to the forwarding apparatus comprises:
sending, by the server through the data transmission channel, a non-internet protocol IP packet header data delivery message to a service creation environment function network element, wherein the non-IP packet header data delivery message comprises the pre-shared key identifier and the pre-shared key.
 
13. The method according to any one of claims 9 to 12, wherein the second bootstrap request further comprises a security parameter, the security parameter is obtained by the terminal by using a first bootstrap request; and before the receiving, by a server, a second bootstrap request sent by a terminal, the method further comprises:

receiving, by the server, the first bootstrap request sent by the terminal, wherein the first bootstrap request comprises the node identifier and the transmission channel parameter of the terminal; and

sending, by the server, a first acknowledgment message to the terminal based on the node identifier and the transmission channel parameter of the terminal, wherein the first acknowledgment message carries the security parameter, and the security parameter is used by the terminal to prevent a denial-of-service attack.


 
14. The method according to any one of claims 9 to 13, wherein after the establishing, by the server, a secure channel with the terminal according to the connection request, the method further comprises:

receiving, by the server, a third bootstrap request sent by the terminal, wherein the third bootstrap request comprises the node identifier of the terminal; and

sending, by the server, device management information to the terminal based on the node identifier of the terminal.


 
15. The method according to any one of claims 9 to 14, wherein the second acknowledgment message further carries a hold on timer parameter, and the hold on timer parameter is used to indicate that the terminal cannot be hibernated within a preset time.
 
16. A terminal, comprising:

a sending module, configured to send a second bootstrap request to a server, wherein the second bootstrap request comprises a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal; and

a receiving module, configured to receive a second acknowledgment message that is sent by the server according to the second bootstrap request, wherein the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is determined by the server based on the transmission channel parameter; wherein

the receiving module is further configured to receive a temporary identifier indication message sent by a forwarding apparatus, wherein the temporary identifier indication message comprises a temporary identifier and a temporary key, and the forwarding apparatus is a network element that is configured to send a message to the terminal through the transmission channel selected by the server; and

the sending module is further configured to send a connection request to the server based on the temporary identifier and the temporary key, wherein the connection request is used to request to establish a secure channel with the server.


 
17. The terminal according to claim 16, wherein the transmission channel selected by the server comprises a device trigger transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the receiving module is specifically configured to receive through the device trigger transmission channel, a trigger request sent by a machine type communication interworking function network element, wherein the trigger request comprises the pre-shared key identifier and the pre-shared key.
 
18. The terminal according to claim 16, wherein the transmission channel selected by the server comprises a short message service transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the receiving module is specifically configured to receive, through the short message service transmission channel, a mobile terminated short message service message sent by a short message service center network element, wherein the mobile terminated short message service message comprises the pre-shared key identifier and the pre-shared key.
 
19. The terminal according to claim 16, wherein the transmission channel selected by the server comprises a data transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the receiving module is specifically configured to receive, through the data transmission channel, a non-internet protocol IP packet header data delivery message sent by a service creation environment function network element, wherein the non-IP packet header data delivery message comprises the pre-shared key identifier and the pre-shared key.
 
20. The terminal according to any one of claims 16 to 19, wherein
the sending module is further configured to send the first bootstrap request to the server, wherein the first bootstrap request comprises the node identifier and the transmission channel parameter of the terminal, and
the receiving module is further configured to receive a first acknowledgment message that is sent by the server according to the first bootstrap request, wherein the first acknowledgment message carries the security parameter.
 
21. The terminal according to any one of claims 16 to 20, wherein
the sending module is further configured to send a third bootstrap request to the server through the secure channel, wherein the third bootstrap request comprises the node identifier of the terminal; and
the receiving module is further configured to receive device management information that is sent by the server according to the third bootstrap request.
 
22. The terminal according to claim 21, wherein
the sending module is further configured to send a registration request and service data to an internet of things IoT platform based on the device management information.
 
23. The terminal according to any one of claims 16 to 22, wherein the second acknowledgment message further carries a hold on timer parameter, and
the receiving module is specifically configured to receive, by the terminal based on the hold on timer parameter within a preset time, the temporary identifier indication message sent by the forwarding apparatus.
 
24. A server, comprising:

a receiving module, configured to receive a second bootstrap request sent by a terminal, wherein the second bootstrap request comprises a node identifier and a transmission channel parameter of the terminal, and the transmission channel parameter is used to indicate a transmission channel supported by the terminal;

a determining module, configured to determine a forwarding apparatus based on the node identifier and the transmission channel parameter;

a sending module, configured to send a second acknowledgment message to the terminal, wherein the second acknowledgment message carries a transmission channel selected by the server, and the transmission channel selected by the server is used to indicate that the terminal receives, through the transmission channel selected by the server, a message sent by the server; wherein

the sending module is further configured to send a temporary identifier indication message to the forwarding apparatus, wherein the temporary identifier indication message comprises a temporary identifier and a temporary key, and the temporary identifier and the temporary key are used by the terminal to initiate a connection request; and

the receiving module is further configured to receive the connection request sent by the terminal; and

an establishment module, configured to establish a secure channel with the terminal according to the connection request.


 
25. The server according to claim 24, wherein the transmission channel selected by the server comprises a device trigger transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the sending module is specifically configured to send, through the device trigger transmission channel, a trigger request to a machine type communication interworking function network element, wherein the trigger request comprises the pre-shared key identifier and the pre-shared key.
 
26. The server according to claim 24, wherein the transmission channel selected by the server comprises a short message service transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the sending module is specifically configured to send, through the short message service transmission channel, a mobile terminated short message service message to a short message service center network element, wherein the mobile terminated short message service message comprises the pre-shared key identifier and the pre-shared key.
 
27. The server according to claim 24, wherein the transmission channel selected by the server comprises a data transmission channel, the temporary identifier comprises a pre-shared key identifier, and the temporary key comprises a pre-shared key; and
the sending module is specifically configured to send, through the data transmission channel, a non-internet protocol IP packet header data delivery message to a service creation environment function network element, wherein the non-IP packet header data delivery message comprises the pre-shared key identifier and the pre-shared key.
 
28. The server according to any one of claims 24 to 27, wherein
the receiving module is configured to receive a first bootstrap request sent by the terminal, wherein the first bootstrap request comprises the node identifier and the transmission channel parameter of the terminal; and
the sending module is configured to send a first acknowledgment message to the terminal based on the node identifier and the transmission channel parameter of the terminal, wherein the first acknowledgment message carries a security parameter, and the security parameter is used by the terminal to prevent a denial-of-service attack.
 
29. The server according to any one of claims 24 to 28, wherein
the receiving module is configured to receive a third bootstrap request sent by the terminal, wherein the third bootstrap request comprises the node identifier of the terminal; and
the sending module is configured to send device management information to the terminal based on the node identifier of the terminal.
 
30. The server according to any one of claims 24 to 29, wherein the second acknowledgment message further carries a hold on timer parameter, and the hold on timer parameter is used to indicate that the terminal cannot be hibernated within a preset time.
 
31. A terminal, comprising:

one or more processors,

a memory,

a plurality of applications, and

one or more computer programs, wherein the one or more computer programs are stored in the memory, the one or more computer programs comprise an instruction, and when the instruction is executed by the terminal, the terminal is enabled to perform the method according to any one of claims 1 to 8.


 
32. A server, comprising:

one or more processors,

a memory,

a plurality of applications, and

one or more computer programs, wherein the one or more computer programs are stored in the memory, the one or more computer programs comprise an instruction, and when the instruction is executed by the server, the server is enabled to perform the method according to any one of claims 9 to 15.


 
33. A computer-readable storage medium, comprising an instruction, wherein when the instruction is run on a terminal, the terminal is enabled to perform the method according to any one of claims 1 to 8.
 
34. A computer-readable storage medium, comprising an instruction, wherein when the instruction is run on a server, the server is enabled to perform the method according to any one of claims 9 to 15.
 




Drawing































Search report










Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description