TW202147099A - A device for internet of things, a server, and a software updating method - Google Patents

A device for internet of things, a server, and a software updating method Download PDF

Info

Publication number
TW202147099A
TW202147099A TW109118518A TW109118518A TW202147099A TW 202147099 A TW202147099 A TW 202147099A TW 109118518 A TW109118518 A TW 109118518A TW 109118518 A TW109118518 A TW 109118518A TW 202147099 A TW202147099 A TW 202147099A
Authority
TW
Taiwan
Prior art keywords
information
software update
server
software
neighboring
Prior art date
Application number
TW109118518A
Other languages
Chinese (zh)
Other versions
TWI754950B (en
Inventor
陳文瑞
Original Assignee
鴻海精密工業股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 鴻海精密工業股份有限公司 filed Critical 鴻海精密工業股份有限公司
Priority to TW109118518A priority Critical patent/TWI754950B/en
Publication of TW202147099A publication Critical patent/TW202147099A/en
Application granted granted Critical
Publication of TWI754950B publication Critical patent/TWI754950B/en

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

The present disclosure provides a software updating method, a server, and a device for internet of things. The software updating method encrypts software updating information with a public key of an adjacent device, and sends the software updating information to the adjacent device, and when a decrypted control information includes address information of storing a software in a server and the software updating information, the software in the device for internet of things corresponding to the software updating information is downloaded from the server according to the address information and the software updating information, thereby improving software updating convenience of the device for internet of things, and reducing a load of the server, and improving security of software updating.

Description

物聯網設備、伺服器及軟體更新方法IoT device, server and software update method

本發明涉及通訊技術領域,尤其涉及一種物聯網設備、伺服器及軟體更新方法。The invention relates to the field of communication technologies, and in particular, to an Internet of Things device, a server and a software update method.

現有技術中,物聯網設備進行集中式軟體更新需要數量眾多的伺服器提供更新服務,然而構建如此多的伺服器增加了設置成本。另外,為了實現低耗能低成本,物聯網設備常常以mesh/tree形式進行物聯網設備間的連接,且物聯網設備並不是總與伺服器連接,因而物聯網設備與伺服器連線的能力與時間都受到限制,造成物聯網設備從伺服器中進行軟體更新的不便。In the prior art, centralized software updates for IoT devices require a large number of servers to provide update services, but building such a large number of servers increases setup costs. In addition, in order to achieve low energy consumption and low cost, IoT devices are often connected between IoT devices in the form of mesh/tree, and IoT devices are not always connected to servers, so the ability of IoT devices to connect to servers Both time and time are limited, which makes it inconvenient for IoT devices to update software from the server.

鑒於以上內容,有必要提供一種物聯網設備、伺服器及軟體更新方法,以提高物聯網設備進行軟體更新的便利性,減少伺服器的負載,以及提高軟體更新的安全性。In view of the above, it is necessary to provide an IoT device, a server and a software update method, so as to improve the convenience of software update for the IoT device, reduce the load of the server, and improve the security of software update.

本發明第一方面提供一種物聯網設備,包括處理單元,所述處理單元用於:A first aspect of the present invention provides an Internet of Things device, comprising a processing unit configured to:

藉由廣播搜尋所述物聯網設備周邊的鄰近設備的設備資訊;Searching for device information of neighboring devices around the IoT device by broadcasting;

獲取所述物聯網設備的設備資訊,並根據所述物聯網設備的設備資訊及所述鄰近設備的設備資訊藉由第一加密方式進行加密,並將加密後的所述物聯網設備的設備資訊及所述鄰近設備的設備資訊發送給伺服器;Obtain the device information of the IoT device, encrypt the device information of the IoT device by a first encryption method according to the device information of the IoT device and the device information of the neighboring device, and encrypt the encrypted device information of the IoT device and the device information of said neighboring device to the server;

解密所述伺服器發送的控制資訊,並判斷解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊,還是所述伺服器中存放軟體的位址資訊及軟體更新資訊;Decrypt the control information sent by the server, and determine whether the decrypted control information is the public key and software update information of the adjacent device, or the address information and software update information of the software stored in the server;

當解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊時,將所述軟體更新資訊以所述鄰近設備的公開金鑰進行加密後發送給所述鄰近設備,並從所述鄰近設備中下載與所述軟體更新資訊對應的軟體;及When the decrypted control information is the public key of the adjacent device and the software update information, encrypt the software update information with the public key of the adjacent device and send it to the adjacent device, and send the software update information from the adjacent device to the adjacent device. download the software corresponding to the software update information in the adjacent device; and

當解密出的控制資訊是所述伺服器中存放軟體的位址資訊及軟體更新資訊時,根據所述位址資訊及軟體更新資訊從所述伺服器中下載與所述軟體更新資訊對應的軟體。When the decrypted control information is the address information and software update information of the software stored in the server, download the software corresponding to the software update information from the server according to the address information and software update information .

本發明第二方面提供一種伺服器,包括處理單元,所述處理單元用於:A second aspect of the present invention provides a server, comprising a processing unit configured to:

接收物聯網設備發送的所述物聯網設備的設備資訊及鄰近設備的設備資訊,根據所述鄰近設備的設備資訊判斷所述鄰近設備是否為合法設備;Receive the device information of the IoT device and the device information of the neighboring device sent by the IoT device, and determine whether the neighboring device is a legitimate device according to the device information of the neighboring device;

當所述鄰近設備為合法設備時,根據所述鄰近設備的軟體版本及服務狀態判斷所述鄰近設備是否具有提供軟體更新功能的能力;When the neighboring device is a legitimate device, determine whether the neighboring device has the ability to provide a software update function according to the software version and service status of the neighboring device;

當確定所述鄰近設備具有提供軟體更新功能的能力時將所述鄰近設備的公開金鑰及所述軟體更新資訊藉由第二加密方式發送給所述物聯網設備;When it is determined that the adjacent device has the ability to provide a software update function, the public key of the adjacent device and the software update information are sent to the Internet of Things device by a second encryption method;

當確定所述鄰近設備為非法設備時或當確定所述鄰近設備不具有提供軟體更新功能的能力時,將所述伺服器中存放軟體的位址資訊及軟體更新資訊藉由第二加密方式發送給所述物聯網設備。When it is determined that the adjacent device is an illegal device or when it is determined that the adjacent device does not have the ability to provide a software update function, send the address information of the software stored in the server and the software update information by a second encryption method to the IoT device.

本發明協力廠商面提供一種軟體更新方法,應用在物聯網設備中,所述方法包括:The third party aspect of the present invention provides a software update method, which is applied in an Internet of Things device, and the method includes:

藉由廣播搜尋所述物聯網設備周邊的鄰近設備的設備資訊;Searching for device information of neighboring devices around the IoT device by broadcasting;

獲取所述物聯網設備的設備資訊,並根據所述物聯網設備的設備資訊及所述鄰近設備的設備資訊藉由第一加密方式進行加密,並將加密後的所述物聯網設備的設備資訊及所述鄰近設備的設備資訊發送給伺服器;Obtain the device information of the IoT device, encrypt the device information of the IoT device by a first encryption method according to the device information of the IoT device and the device information of the neighboring device, and encrypt the encrypted device information of the IoT device and the device information of said neighboring device to the server;

解密所述伺服器發送的控制資訊,並判斷解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊,還是所述伺服器中存放軟體的位址資訊及軟體更新資訊;Decrypt the control information sent by the server, and determine whether the decrypted control information is the public key and software update information of the adjacent device, or the address information and software update information of the software stored in the server;

當解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊時,將所述軟體更新資訊以所述鄰近設備的公開金鑰進行加密後發送給所述鄰近設備,並從所述鄰近設備中下載與所述軟體更新資訊對應的軟體;及When the decrypted control information is the public key of the adjacent device and the software update information, encrypt the software update information with the public key of the adjacent device and send it to the adjacent device, and send the software update information from the adjacent device to the adjacent device. download the software corresponding to the software update information in the adjacent device; and

當解密出的控制資訊是所述伺服器中存放軟體的位址資訊及軟體更新資訊時,根據所述位址資訊及軟體更新資訊從所述伺服器中下載與所述軟體更新資訊對應的軟體。When the decrypted control information is the address information and software update information of the software stored in the server, download the software corresponding to the software update information from the server according to the address information and software update information .

本發明第四方面提供一種軟體更新方法,應用在伺服器中,其特徵在於,所述方法包括:A fourth aspect of the present invention provides a software update method, which is applied in a server, wherein the method includes:

接收物聯網設備發送的所述物聯網設備的設備資訊及鄰近設備的設備資訊,根據所述鄰近設備的設備資訊判斷所述鄰近設備是否為合法設備;Receive the device information of the IoT device and the device information of the neighboring device sent by the IoT device, and determine whether the neighboring device is a legitimate device according to the device information of the neighboring device;

當所述鄰近設備為合法設備時,根據所述鄰近設備的軟體版本及服務狀態判斷所述鄰近設備是否具有提供軟體更新功能的能力;When the neighboring device is a legitimate device, determine whether the neighboring device has the ability to provide a software update function according to the software version and service status of the neighboring device;

當確定所述鄰近設備具有提供軟體更新功能的能力時將所述鄰近設備的公開金鑰及所述軟體更新資訊藉由第二加密方式發送給所述物聯網設備;When it is determined that the adjacent device has the ability to provide a software update function, the public key of the adjacent device and the software update information are sent to the Internet of Things device by a second encryption method;

當確定所述鄰近設備為非法設備時或當確定所述鄰近設備不具有提供軟體更新功能的能力時,將所述伺服器中存放軟體的位址資訊及軟體更新資訊藉由第二加密方式發送給所述物聯網設備。When it is determined that the adjacent device is an illegal device or when it is determined that the adjacent device does not have the ability to provide a software update function, send the address information of the software stored in the server and the software update information by a second encryption method to the IoT device.

本發明第五方面提供一種軟體更新方法,應用在鄰近設備中,所述方法包括:A fifth aspect of the present invention provides a software update method, which is applied in a neighboring device, and the method includes:

接收物聯網設備發送的藉由鄰近設備的公開金鑰進行加密的軟體更新資訊,並藉由所述鄰近設備的私密金鑰解密得到所述軟體更新資訊;Receive the software update information encrypted by the public key of the adjacent device sent by the Internet of Things device, and decrypt the software update information by the private key of the adjacent device to obtain the software update information;

判斷所述軟體更新資訊是否正確;Determine whether the software update information is correct;

當所述軟體更新資訊正確時將與所述軟體更新資訊對應的軟體發送給所述物聯網設備。When the software update information is correct, the software corresponding to the software update information is sent to the Internet of Things device.

相較於現有技術,所述物聯網設備、伺服器及軟體更新方法,可提高物聯網設備進行軟體更新的便利性,減少伺服器的負載,以及提高軟體更新的安全性。Compared with the prior art, the IoT device, the server and the software update method can improve the convenience of the IoT device to update the software, reduce the load of the server, and improve the security of the software update.

為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和具體實施例對本發明進行詳細描述。需要說明的是,在不衝突的情況下,本發明的實施例及實施例中的特徵可以相互組合。In order to more clearly understand the above objects, features and advantages of the present invention, the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present invention and the features in the embodiments may be combined with each other under the condition of no conflict.

在下面的描述中闡述了很多具體細節以便於充分理解本發明,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。In the following description, many specific details are set forth in order to facilitate a full understanding of the present invention, and the described embodiments are only some, but not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

除非另有定義,本文所使用的所有的技術和科學術語與屬於本發明的技術領域的技術人員通常理解的含義相同。本文中在本發明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在於限制本發明。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terms used herein in the description of the present invention are for the purpose of describing specific embodiments only, and are not intended to limit the present invention.

參閱圖1所示,為本發明較佳實施例提供的物聯網設備軟體更新系統的架構圖。Referring to FIG. 1 , it is a structural diagram of a software updating system for an Internet of Things device provided by a preferred embodiment of the present invention.

本實施例中,物聯網設備軟體更新系統110包括作為軟體更新請求方的物聯網設備1、作為軟體更新控制方的伺服器2,以及作為軟體更新提供方的鄰近設備3。本實施例中,作為軟體更新控制方的伺服器2用於控制作為軟體更新請求方的物聯網設備1從所述物聯網設備1周邊相鄰的鄰近設備3下載軟體進行更新。In this embodiment, the IoT device software update system 110 includes an IoT device 1 as a software update requester, a server 2 as a software update controller, and a neighboring device 3 as a software update provider. In this embodiment, the server 2 as the software update controller is used to control the IoT device 1 as the software update requester to download software from the neighboring devices 3 adjacent to the IoT device 1 to update the software.

本實施例中,所述物聯網設備1、鄰近設備3可以為個人電腦、手機、平板電腦、家用電話、家用電視、家用冰箱等終端設備。需要說明的是,所述鄰近設備3是指與物聯網設備1藉由實體傳輸介質連接成同一個廣播區域的設備。本實施例中,所述伺服器2可以是單一的伺服器,伺服器集群或雲端伺服器。In this embodiment, the IoT device 1 and the adjacent device 3 may be terminal devices such as personal computers, mobile phones, tablet computers, home phones, home TVs, home refrigerators, and the like. It should be noted that the adjacent device 3 refers to a device that is connected to the Internet of Things device 1 to form the same broadcast area through a physical transmission medium. In this embodiment, the server 2 may be a single server, a server cluster or a cloud server.

本實施例中,所述物聯網設備1包括互相之間電氣連接的第一記憶體11、至少一個第一處理器12、一個第一通訊單元13。所述鄰近設備3包括互相之間電氣連接的第二記憶體31、至少一個第二處理器32、一個第二通訊單元33。所述物聯網設備1與所述鄰近設備3藉由所述第一通訊單元13、第三通訊單元33通訊連接。本實施例中,所述第一通訊單元13、第三通訊單元33可以為有線通訊模組,例如電纜等。在其他實施例中,所述第一通訊單元13、第三通訊單元33可以為無線通訊模組,例如WiFi通訊模組,4G\5G通訊模組等。本實施例中,所述伺服器2包括互相之間電氣連接的第三記憶體31、至少一個第三處理器22。本實施例中,所述物聯網設備1與所述伺服器2藉由網路4通訊連接。本實施例中,用於支援物聯網設備1與伺服器2進行通訊的網路4可以是有線網路,也可以是無線網路,例如無線電、無線保真(Wireless Fidelity, WIFI)、蜂窩、衛星、廣播等。In this embodiment, the IoT device 1 includes a first memory 11 , at least one first processor 12 , and a first communication unit 13 that are electrically connected to each other. The adjacent device 3 includes a second memory 31 , at least one second processor 32 , and a second communication unit 33 that are electrically connected to each other. The IoT device 1 and the neighboring device 3 are connected through the first communication unit 13 and the third communication unit 33 for communication. In this embodiment, the first communication unit 13 and the third communication unit 33 may be wired communication modules, such as cables. In other embodiments, the first communication unit 13 and the third communication unit 33 may be wireless communication modules, such as WiFi communication modules, 4G\5G communication modules, and the like. In this embodiment, the server 2 includes a third memory 31 and at least one third processor 22 that are electrically connected to each other. In this embodiment, the IoT device 1 and the server 2 are communicated and connected through a network 4 . In this embodiment, the network 4 used to support the communication between the IoT device 1 and the server 2 may be a wired network or a wireless network, such as radio, wireless fidelity (WIFI), cellular, satellite, radio, etc.

本領域技術人員應該瞭解,圖1示出的物聯網設備1、伺服器2、鄰近設備3的結構並不構成本發明實施例的限定,所述物聯網設備1、伺服器2、鄰近設備3可以包括比圖1更多或更少的其他硬體或者軟體,或者不同的部件佈置。Those skilled in the art should understand that the structures of the IoT device 1 , the server 2 , and the neighboring device 3 shown in FIG. 1 do not constitute a limitation of the embodiments of the present invention. More or less other hardware or software than Figure 1 may be included, or a different arrangement of components.

需要說明的是,所述物聯網設備1、伺服器2和鄰近設備3僅為舉例,其他現有的或今後可能出現的物聯網設備1、伺服器2和鄰近設備3如可適應於本發明,也應包含在本發明的保護範圍以內,並以引用方式包含於此。It should be noted that the IoT device 1, the server 2 and the neighboring device 3 are only examples, and other existing or possible future IoT devices 1, server 2 and neighboring device 3 can be adapted to the present invention. It should also be included within the scope of the present invention and incorporated herein by reference.

在一些實施例中,所述第一記憶體11、第二記憶體31和第三記憶體21可以用於存儲電腦程式的程式碼和各種資料。例如,所述第一記憶體11可以用於存儲安裝在所述物聯網設備1中的物聯網設備軟體更新系統110,並在物聯網設備1的運行過程中實現高速、自動地完成程式或資料的存取。所述第三記憶體21可以用於存儲安裝在所述伺服器2中的軟體更新控制系統210,並在所述伺服器2的運行過程中實現高速、自動地完成程式或資料的存取。所述第二記憶體31可以用於存儲安裝在所述鄰近設備3中的軟體更新回應系統310,並在所述鄰近設備3的運行過程中實現高速、自動地完成程式或資料的存取。需要說明的是,所述物聯網設備軟體更新系統110、軟體更新控制系統210和軟體更新回應系統310也可以整合為一個系統。In some embodiments, the first memory 11 , the second memory 31 and the third memory 21 can be used to store program codes and various data of computer programs. For example, the first memory 11 can be used to store the IoT device software update system 110 installed in the IoT device 1 , and realize high-speed and automatic completion of programs or data during the operation of the IoT device 1 access. The third memory 21 can be used to store the software update control system 210 installed in the server 2 , and realize high-speed and automatic access to programs or data during the operation of the server 2 . The second memory 31 can be used to store the software update response system 310 installed in the adjacent device 3 , and realize high-speed and automatic access to programs or data during the operation of the adjacent device 3 . It should be noted that the IoT device software update system 110 , the software update control system 210 and the software update response system 310 may also be integrated into one system.

本實施例中,所述第一記憶體11、第二記憶體31、第三記憶體21可以分別是包括唯讀記憶體(Read-Only Memory,ROM)、可程式設計唯讀記憶體(Programmable Read-Only Memory,PROM)、可擦除可程式設計唯讀記憶體(Erasable Programmable Read-Only Memory,EPROM)、一次可程式設計唯讀記憶體(One-time Programmable Read-Only Memory,OTPROM)、電子擦除式可複寫唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、唯讀光碟(Compact Disc Read-Only Memory,CD-ROM)或其他光碟記憶體、磁碟記憶體、磁帶記憶體、或者任何其他能夠用於攜帶或存儲資料的非易失性的電腦可讀的存儲介質。In this embodiment, the first memory 11 , the second memory 31 , and the third memory 21 may respectively include a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable memory) Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), One-time Programmable Read-Only Memory (OTPROM), Electronically-Erasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or other CD-ROM, magnetic disk, magnetic tape Memory, or any other non-volatile computer-readable storage medium that can be used to carry or store data.

在一些實施例中,所述第一處理器12、第二處理器32和第三處理器22可以分別由積體電路組成。例如,可以分別由單個封裝的積體電路所組成,也可以是分別由複數相同功能或不同功能封裝的積體電路所組成,包括一個或者複數中央處理器(Central Processing unit,CPU)、微處理器、數文書處理晶片、圖形處理器及各種控制晶片的組合等。In some embodiments, the first processor 12, the second processor 32 and the third processor 22 may each be composed of integrated circuits. For example, it can be composed of a single packaged integrated circuit, or it can be composed of a plurality of integrated circuits packaged with the same function or different functions, including one or a plurality of central processing units (Central Processing Unit, CPU), microprocessor A combination of computer, digital word processing chip, graphics processor and various control chips, etc.

所述第一處理器12是所述物聯網設備1的控制核心(Control Unit),利用各種介面和線路連接整個物聯網設備1的各個部件,藉由執行存儲在所述第一記憶體11內的程式或者模組或者指令,以及調用存儲在所述第一記憶體11內的資料,以執行物聯網設備1的各種功能和處理資料,例如,執行軟體更新的功能。The first processor 12 is the control core (Control Unit) of the IoT device 1, and uses various interfaces and lines to connect various components of the entire IoT device 1, and is stored in the first memory 11 by executing it. The program or module or instruction, and call the data stored in the first memory 11, to perform various functions of the IoT device 1 and process data, for example, perform the function of software update.

所述第三處理器22是所述伺服器2的控制核心(Control Unit),利用各種介面和線路連接整個伺服器2的各個部件,藉由執行存儲在所述第三記憶體21內的程式或者模組或者指令,以及調用存儲在所述第三記憶體21內的資料,以執行伺服器2的各種功能和處理資料,例如,執行軟體更新控制的功能的部分。The third processor 22 is the control core (Control Unit) of the server 2 , and uses various interfaces and circuits to connect various components of the entire server 2 , and executes the programs stored in the third memory 21 . Or modules or instructions, and call data stored in the third memory 21 to perform various functions of the server 2 and process data, for example, to perform part of the function of software update control.

所述第二處理器32是所述鄰近設備3的控制核心(Control Unit),利用各種介面和線路連接整個鄰近設備3的各個部件,藉由執行存儲在所述第二記憶體31內的程式或者模組或者指令,以及調用存儲在所述第二記憶體31內的資料,以執行鄰近設備3的各種功能和處理資料,例如,執行軟體更新回應的功能的部分。The second processor 32 is the control core (Control Unit) of the adjacent device 3 , and uses various interfaces and lines to connect various components of the entire adjacent device 3 , by executing the programs stored in the second memory 31 . Or modules or instructions, and call the data stored in the second memory 31 to perform various functions of the adjacent device 3 and process data, for example, to perform part of the function of the software update response.

在本實施例中,物聯網設備軟體更新系統110可以包括一個或複數模組,所述一個或複數模組存儲在所述第一記憶體11中,並由至少一個或複數處理器(本實施例為第一處理器12)執行,以實現軟體更新的功能的部分。在本實施例中,所述物聯網設備軟體更新系統110根據其所執行的功能,可以被劃分為複數模組。參閱圖2所示,所述物聯網設備軟體更新系統110包括搜尋模組1101、請求模組1102、解密模組1103、軟體更新模組1104。本發明所稱的模組是指一種能夠被至少一個處理器(例如第一處理器12)所執行並且能夠完成固定功能的一系列電腦可讀的指令段,其存儲在記憶體(例如第一記憶體11)中。In this embodiment, the IoT device software updating system 110 may include one or more modules, and the one or more modules are stored in the first memory 11 and are processed by at least one or more processors (this embodiment For example, the first processor 12) executes the part of the function to realize the software update. In this embodiment, the Internet of Things device software update system 110 can be divided into plural modules according to the functions it performs. Referring to FIG. 2 , the IoT device software update system 110 includes a search module 1101 , a request module 1102 , a decryption module 1103 , and a software update module 1104 . The module referred to in the present invention refers to a series of computer-readable instruction segments that can be executed by at least one processor (eg, the first processor 12 ) and can perform fixed functions, which are stored in a memory (eg, the first processor 12 ). memory 11).

本實施例中,以軟體功能模組的形式實現的集成的單元,可以存儲在一個非易失性可讀取存儲介質中。上述軟體功能模組包括一個或複數電腦可讀指令,所述第一處理器12藉由執行所述一個或複數電腦可讀指令實現本發明各個實施例的方法的部分。在進一步的實施例中,所述第一記憶體11中存儲有電腦程式的程式碼,且所述至少一個第一處理器12可調用所述第一記憶體11中存儲的程式碼以執行相關的功能。例如,圖2中所述物聯網設備軟體更新系統110的各個模組是存儲在所述第一記憶體11中的程式碼,並由所述至少一個第一處理器12所執行,從而實現所述各個模組的功能以達到軟體更新的目的。In this embodiment, the integrated unit implemented in the form of a software function module may be stored in a non-volatile readable storage medium. The above-mentioned software function module includes one or more computer-readable instructions, and the first processor 12 implements part of the method of each embodiment of the present invention by executing the one or more computer-readable instructions. In a further embodiment, the code of a computer program is stored in the first memory 11, and the at least one first processor 12 can call the code stored in the first memory 11 to execute the relevant function. For example, each module of the IoT device software updating system 110 in FIG. 2 is a program code stored in the first memory 11 and executed by the at least one first processor 12, thereby realizing the Describe the functions of each module to achieve the purpose of software update.

本實施例中,所述搜尋模組1101藉由廣播搜尋所述物聯網設備1周邊的鄰近設備3的設備資訊。In this embodiment, the search module 1101 searches for the device information of the neighboring devices 3 around the IoT device 1 by broadcasting.

本實施例中,所述鄰近設備3的設備資訊至少包括鄰近設備3的識別碼、軟體版本及服務狀態,其中所述服務狀態是指是否提供軟體更新功能的狀態,所述服務狀態包括提供軟體更新功能的狀態和不提供軟體更新功能的狀態。In this embodiment, the device information of the neighboring device 3 at least includes the identification code, software version and service status of the neighboring device 3, wherein the service status refers to the status of whether to provide a software update function, and the service status includes the provision of software The status of the update function and the status of the software update function not being provided.

所述請求模組1102獲取所述物聯網設備1的設備資訊,並根據所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊藉由第一加密方式進行加密,並將加密後的所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊發送給伺服器2。本實施例中,所述物聯網設備1的設備資訊至少包括物聯網設備1的識別碼。The requesting module 1102 obtains the device information of the Internet of Things device 1, and encrypts it according to the device information of the Internet of Things device 1 and the device information of the neighboring device 3 by the first encryption method, and encrypts the encrypted data. The device information of the IoT device 1 and the device information of the neighboring device 3 are sent to the server 2. In this embodiment, the device information of the IoT device 1 at least includes the identification code of the IoT device 1 .

本實施例中,所述請求模組1102根據所述伺服器2的公開金鑰對所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊進行加密,並將加密後的所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊發送給伺服器2。所述伺服器2根據所述鄰近設備3的設備資訊判斷所述鄰近設備3是否具有可以提供軟體更新功能的能力,並根據所述判斷結果生成控制資訊給所述物聯網設備1。本實施例中,當所述伺服器2判斷所述鄰近設備3具有提供軟體更新功能的能力時生成包含鄰近設備3的公開金鑰及軟體更新資訊的控制資訊,並將所述控制資訊發送給所述物聯網設備1。當所述伺服器2判斷所述鄰近設備3不具有提供軟體更新功能的能力時生成包含所述伺服器2中存放軟體的位址資訊及軟體更新資訊的控制資訊,並將所述控制資訊發送給所述物聯網設備1。In this embodiment, the request module 1102 encrypts the device information of the IoT device 1 and the device information of the neighboring device 3 according to the public key of the server 2, and encrypts the encrypted The device information of the IoT device 1 and the device information of the neighboring device 3 are sent to the server 2 . The server 2 determines whether the neighboring device 3 has the capability of providing a software update function according to the device information of the neighboring device 3 , and generates control information to the IoT device 1 according to the judgment result. In this embodiment, when the server 2 determines that the adjacent device 3 has the ability to provide a software update function, it generates control information including the public key of the adjacent device 3 and software update information, and sends the control information to The IoT device 1. When the server 2 determines that the adjacent device 3 does not have the ability to provide a software update function, it generates control information including the address information of the software stored in the server 2 and software update information, and sends the control information to the IoT device 1.

所述解密模組1103解密所述伺服器2發送的控制資訊,並判斷解密出的控制資訊是所述鄰近設備3的公開金鑰及軟體更新資訊,還是所述伺服器2中存放軟體的位址資訊及軟體更新資訊。本實施例中,所述解密模組1103根據所述伺服器2的私密金鑰解密所述伺服器2發送的控制資訊。The decryption module 1103 decrypts the control information sent by the server 2, and determines whether the decrypted control information is the public key and software update information of the adjacent device 3, or the bit in the server 2 that stores the software. address information and software update information. In this embodiment, the decryption module 1103 decrypts the control information sent by the server 2 according to the private key of the server 2 .

當解密出的控制資訊是所述鄰近設備3的公開金鑰及軟體更新資訊時,所述軟體更新模組1104將所述軟體更新資訊以所述鄰近設備3的公開金鑰進行加密後發送給所述鄰近設備3,並從所述鄰近設備3中下載與所述軟體更新資訊對應的軟體。When the decrypted control information is the public key of the adjacent device 3 and the software update information, the software update module 1104 encrypts the software update information with the public key of the adjacent device 3 and sends it to The adjacent device 3 downloads the software corresponding to the software update information from the adjacent device 3 .

當解密出的控制資訊是所述伺服器2中存放軟體的位址資訊及軟體更新資訊時,所述軟體更新模組1104根據所述位址資訊及軟體更新資訊從所述伺服器2中下載與所述軟體更新資訊對應的軟體。When the decrypted control information is the address information and software update information of the software stored in the server 2, the software update module 1104 downloads the software from the server 2 according to the address information and software update information Software corresponding to the software update information.

在本實施例中,軟體更新控制系統210可以包括一個或複數模組,所述一個或複數模組存儲在所述第二記憶體31中,並由至少一個或複數處理器(本實施例為第二處理器32)執行,以實現軟體更新控制的功能。In this embodiment, the software update control system 210 may include one or more modules, and the one or more modules are stored in the second memory 31 and are processed by at least one or more processors (in this embodiment, The second processor 32) executes to realize the function of software update control.

在本實施例中,所述軟體更新控制系統210根據其所執行的功能,可以被劃分為複數模組。參閱圖3所示,所述軟體更新控制系統210包括第一接收模組2101、控制模組2102。本發明所稱的模組是指一種能夠被伺服器2的第三處理器22所執行並且能夠完成固定功能的一系列電腦可讀的指令段,其存儲在伺服器2的第三記憶體21中。In this embodiment, the software update control system 210 can be divided into plural modules according to the functions performed by the software update control system 210 . Referring to FIG. 3 , the software update control system 210 includes a first receiving module 2101 and a control module 2102 . The module referred to in the present invention refers to a series of computer-readable instruction segments that can be executed by the third processor 22 of the server 2 and can perform fixed functions, which are stored in the third memory 21 of the server 2 middle.

在本實施例中,所述軟體更新控制系統210根據其所執行的功能,可以被劃分為複數模組。參閱圖3所示,所述軟體更新控制系統210包括第一接收模組2101、控制模組2102。本發明所稱的模組是指一種能夠被伺服器2的第三處理器22所執行並且能夠完成固定功能的一系列電腦可讀的指令段,其存儲在伺服器2的第三記憶體21中。In this embodiment, the software update control system 210 can be divided into plural modules according to the functions performed by the software update control system 210 . Referring to FIG. 3 , the software update control system 210 includes a first receiving module 2101 and a control module 2102 . The module referred to in the present invention refers to a series of computer-readable instruction segments that can be executed by the third processor 22 of the server 2 and can perform fixed functions, which are stored in the third memory 21 of the server 2 middle.

在本實施例中,所述第一接收模組2101接收所述物聯網設備1發送的所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊,根據所述鄰近設備3的設備資訊判斷所述鄰近設備3是否為合法設備。In this embodiment, the first receiving module 2101 receives the device information of the IoT device 1 and the device information of the neighboring device 3 sent by the IoT device 1, according to the device information of the neighboring device 3 The information determines whether the neighboring device 3 is a legitimate device.

本實施方式中,所述第一接收模組2101根據所述鄰近設備3的設備資訊判斷所述鄰近設備3是否在伺服器2中登記過,當所述鄰近設備3在所述伺服器2中登記過則確定所述鄰近設備3為合法設備,當所述鄰近設備3沒有在所述伺服器2中登記過則確定所述鄰近設備3為非法設備。In this embodiment, the first receiving module 2101 determines whether the adjacent device 3 has been registered in the server 2 according to the device information of the adjacent device 3 , when the adjacent device 3 is in the server 2 If it has been registered, it is determined that the neighboring device 3 is a legitimate device. When the neighboring device 3 has not been registered in the server 2, it is determined that the neighboring device 3 is an illegal device.

當所述鄰近設備3為合法設備時,所述控制模組2102根據所述鄰近設備3的軟體版本及服務狀態判斷所述鄰近設備3是否具有提供軟體更新功能的能力,並當確定所述鄰近設備3具有提供軟體更新功能的能力時將所述鄰近設備3的公開金鑰及軟體更新資訊藉由第二加密方式發送給所述物聯網設備1。在具體實施例中,所述控制模組2102當確定所述鄰近設備3具有提供軟體更新功能的能力時將所述鄰近設備3的公開金鑰及軟體更新資訊藉由伺服器2的公開金鑰進行加密後發送給所述物聯網設備1。When the neighboring device 3 is a legitimate device, the control module 2102 determines whether the neighboring device 3 has the ability to provide a software update function according to the software version and service status of the neighboring device 3, and when determining the neighboring device 3 When the device 3 has the capability of providing a software update function, it sends the public key of the neighboring device 3 and the software update information to the Internet of Things device 1 by a second encryption method. In a specific embodiment, the control module 2102 passes the public key of the adjacent device 3 and the software update information through the public key of the server 2 when it is determined that the adjacent device 3 is capable of providing a software update function It is encrypted and sent to the IoT device 1.

當確定所述鄰近設備3為非法設備時或當確定所述鄰近設備3不具有提供軟體更新功能的能力時,所述控制模組2102將所述伺服器2中存放軟體的位址資訊及軟體更新資訊藉由第二加密方式發送給所述物聯網設備1。When it is determined that the adjacent device 3 is an illegal device or when it is determined that the adjacent device 3 is not capable of providing a software update function, the control module 2102 stores the address information of the software stored in the server 2 and the software The update information is sent to the IoT device 1 by the second encryption method.

在本實施例中,所述軟體更新回應系統310根據其所執行的功能,可以被劃分為複數模組。參閱圖4所示,所述軟體更新回應系統310包括第二接收模組3101、判斷模組3102、回應模組3103。本發明所稱的模組是指一種能夠被鄰近設備3的第二處理器32所執行並且能夠完成固定功能的一系列電腦可讀的指令段,其存儲在鄰近設備3的的第二記憶體31中。In this embodiment, the software update response system 310 can be divided into plural modules according to the functions performed by the software update response system 310 . Referring to FIG. 4 , the software update response system 310 includes a second receiving module 3101 , a judging module 3102 , and a response module 3103 . The module referred to in the present invention refers to a series of computer-readable instruction segments that can be executed by the second processor 32 of the adjacent device 3 and can perform fixed functions, which are stored in the second memory of the adjacent device 3 31.

本實施方式中,所述第二接收模組3101接收物聯網設備1發送的藉由鄰近設備3的公開金鑰進行加密的軟體更新資訊,並藉由鄰近設備3的私密金鑰解密得到所述軟體更新資訊。In this embodiment, the second receiving module 3101 receives the software update information encrypted by the public key of the neighboring device 3 sent by the Internet of Things device 1, and decrypts the private key of the neighboring device 3 to obtain the Software update information.

所述判斷模組3102判斷所述軟體更新資訊是否正確。The determining module 3102 determines whether the software update information is correct.

所述回應模組3103用於在所述軟體更新資訊正確時將與軟體更新資訊對應的軟體發送給所述物聯網設備1。The response module 3103 is used for sending the software corresponding to the software update information to the IoT device 1 when the software update information is correct.

圖5是本發明一實施例提供的軟體更新方法的流程圖。所述方法應用在物聯網設備1中。如圖5所示,所述軟體更新方法具體包括以下步驟,根據不同的需求,該流程圖中步驟的順序可以改變,某些步驟可以省略。FIG. 5 is a flowchart of a software update method provided by an embodiment of the present invention. The method is applied in the IoT device 1 . As shown in FIG. 5 , the software updating method specifically includes the following steps. According to different requirements, the order of the steps in the flowchart can be changed, and some steps can be omitted.

步驟S501、藉由廣播搜尋物聯網設備1周邊的鄰近設備3的設備資訊。Step S501 , searching for device information of neighboring devices 3 around the IoT device 1 by broadcasting.

本實施例中,所述鄰近設備3的設備資訊至少包括鄰近設備3的識別碼、軟體版本及服務狀態,其中所述服務狀態是指是否提供軟體更新功能的狀態,所述服務狀態包括提供軟體更新功能的狀態和不提供軟體更新功能的狀態。In this embodiment, the device information of the neighboring device 3 at least includes the identification code, software version and service status of the neighboring device 3, wherein the service status refers to the status of whether to provide a software update function, and the service status includes the provision of software The status of the update function and the status of the software update function not being provided.

步驟S502、獲取所述物聯網設備1的設備資訊,並根據所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊藉由第一加密方式進行加密,並將加密後的所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊發送給伺服器2。Step S502: Acquire the device information of the Internet of Things device 1, encrypt the device information of the Internet of Things device 1 and the device information of the adjacent device 3 by a first encryption The device information of the IoT device 1 and the device information of the neighboring device 3 are sent to the server 2 .

本實施例中,所述物聯網設備1的設備資訊至少包括物聯網設備1的識別碼。本實施例中,所述物聯網設備1根據所述伺服器2的公開金鑰對所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊進行加密,並將加密後的所述物聯網設備1的設備資訊及所述鄰近設備3的設備資訊發送給伺服器2。所述伺服器2根據所述鄰近設備3的設備資訊判斷所述鄰近設備3是否具有可以提供軟體更新功能的能力,並根據所述判斷結果生成控制資訊給所述物聯網設備1。本實施例中,當所述伺服器2判斷所述鄰近設備3具有提供軟體更新功能的能力時生成包含鄰近設備3的公開金鑰及軟體更新資訊的控制資訊,並將所述控制資訊發送給所述物聯網設備1。當所述伺服器2判斷所述鄰近設備3不具有提供軟體更新功能的能力時生成包含所述伺服器2中存放軟體的位址資訊及軟體更新資訊的控制資訊,並將所述控制資訊發送給所述物聯網設備1。In this embodiment, the device information of the IoT device 1 at least includes the identification code of the IoT device 1 . In this embodiment, the IoT device 1 encrypts the device information of the IoT device 1 and the device information of the neighboring device 3 according to the public key of the server 2, and encrypts the encrypted The device information of the IoT device 1 and the device information of the neighboring device 3 are sent to the server 2 . The server 2 determines whether the neighboring device 3 has the capability of providing a software update function according to the device information of the neighboring device 3 , and generates control information to the IoT device 1 according to the judgment result. In this embodiment, when the server 2 determines that the adjacent device 3 has the ability to provide a software update function, it generates control information including the public key of the adjacent device 3 and software update information, and sends the control information to The IoT device 1. When the server 2 determines that the adjacent device 3 does not have the ability to provide a software update function, it generates control information including the address information of the software stored in the server 2 and software update information, and sends the control information to the IoT device 1.

步驟S503、解密伺服器2發送的控制資訊,並判斷解密出的控制資訊是所述鄰近設備3的公開金鑰及軟體更新資訊,還是所述伺服器2中存放軟體的位址資訊及軟體更新資訊。Step S503, decrypt the control information sent by the server 2, and determine whether the decrypted control information is the public key and software update information of the adjacent device 3, or the address information and software update information of the software stored in the server 2 Information.

步驟S504、當解密出的控制資訊是所述鄰近設備3的公開金鑰及軟體更新資訊時,將所述軟體更新資訊以所述鄰近設備3的公開金鑰進行加密後發送給所述鄰近設備3,並從所述鄰近設備3中下載與所述軟體更新資訊對應的軟體。Step S504, when the decrypted control information is the public key and software update information of the neighboring device 3, encrypt the software update information with the public key of the neighboring device 3 and send it to the neighboring device 3, and download the software corresponding to the software update information from the adjacent device 3.

步驟S505、當解密出的控制資訊是所述伺服器2中存放軟體的位址資訊及軟體更新資訊時,根據所述位址資訊及軟體更新資訊從所述伺服器2中下載與所述軟體更新資訊對應的軟體。Step S505, when the decrypted control information is the address information and software update information of the software stored in the server 2, download and update the software from the server 2 according to the address information and software update information. Update the corresponding software for the information.

圖6是本發明一實施例提供的軟體更新方法的流程圖。所述方法應用在伺服器2中。如圖6所示,所述軟體更新方法具體包括以下步驟,根據不同的需求,該流程圖中步驟的順序可以改變,某些步驟可以省略。FIG. 6 is a flowchart of a software update method provided by an embodiment of the present invention. The method is applied in the server 2 . As shown in FIG. 6 , the software updating method specifically includes the following steps. According to different requirements, the order of the steps in the flowchart can be changed, and some steps can be omitted.

步驟S601、接收物聯網設備1發送的所述物聯網設備1的設備資訊及鄰近設備3的設備資訊,根據所述鄰近設備3的設備資訊判斷所述鄰近設備3是否為合法設備。Step S601 , receiving the device information of the IoT device 1 and the device information of the neighboring device 3 sent by the IoT device 1 , and determining whether the neighboring device 3 is a legitimate device according to the device information of the neighboring device 3 .

本實施方式中,所述伺服器2根據所述鄰近設備3的設備資訊判斷所述鄰近設備3是否在伺服器2中登記過,當所述鄰近設備3在所述伺服器2中登記過則確定所述鄰近設備3為合法設備,當所述鄰近設備3沒有在所述伺服器2中登記過則確定所述鄰近設備3為非法設備。In this embodiment, the server 2 determines whether the adjacent device 3 has been registered in the server 2 according to the device information of the adjacent device 3 . It is determined that the adjacent device 3 is a legitimate device, and when the adjacent device 3 has not been registered in the server 2, the adjacent device 3 is determined to be an illegal device.

步驟S602、當所述鄰近設備3為合法設備時,根據所述鄰近設備3的軟體版本及服務狀態判斷所述鄰近設備3是否具有提供軟體更新功能的能力。Step S602 , when the neighboring device 3 is a legitimate device, determine whether the neighboring device 3 has the ability to provide a software update function according to the software version and service status of the neighboring device 3 .

步驟S603、當確定所述鄰近設備3具有提供軟體更新功能的能力時將所述鄰近設備3的公開金鑰及軟體更新資訊藉由第二加密方式發送給所述物聯網設備1。Step S603 , when it is determined that the neighboring device 3 has the ability to provide a software update function, send the public key and software update information of the neighboring device 3 to the IoT device 1 by a second encryption method.

在具體實施例中,所述伺服器2當確定所述鄰近設備3具有提供軟體更新功能的能力時將所述鄰近設備3的公開金鑰及軟體更新資訊藉由伺服器2的公開金鑰進行加密後發送給所述物聯網設備1。In a specific embodiment, when the server 2 determines that the neighboring device 3 has the ability to provide a software update function, the public key of the neighboring device 3 and the software update information are processed by the public key of the server 2 After encryption, it is sent to the IoT device 1.

步驟S604、當確定所述鄰近設備3為非法設備時或當確定所述鄰近設備3不具有提供軟體更新功能的能力時,將所述伺服器2中存放軟體的位址資訊及軟體更新資訊藉由第二加密方式發送給所述物聯網設備1。Step S604, when it is determined that the adjacent device 3 is an illegal device or when it is determined that the adjacent device 3 does not have the ability to provide a software update function, borrow the address information and software update information of the software stored in the server 2. It is sent to the IoT device 1 by the second encryption method.

圖7是本發明一實施例提供的軟體更新方法的流程圖。所述方法應用在鄰近設備3中。如圖7所示,所述軟體更新方法具體包括以下步驟,根據不同的需求,該流程圖中步驟的順序可以改變,某些步驟可以省略。FIG. 7 is a flowchart of a software update method provided by an embodiment of the present invention. The method is applied in the proximity device 3 . As shown in FIG. 7 , the software updating method specifically includes the following steps. According to different requirements, the order of the steps in the flowchart can be changed, and some steps can be omitted.

步驟S701、鄰近設備3接收物聯網設備1發送的藉由鄰近設備3的公開金鑰進行加密的軟體更新資訊,並藉由鄰近設備3的私密金鑰解密得到所述軟體更新資訊。Step S701 , the neighboring device 3 receives the software update information encrypted by the public key of the neighboring device 3 sent by the IoT device 1 , and decrypts the software update information with the private key of the neighboring device 3 to obtain the software update information.

步驟S702、判斷所述軟體更新資訊是否正確。Step S702, judging whether the software update information is correct.

步驟S703、當所述軟體更新資訊正確時將與軟體更新資訊對應的軟體發送給所述物聯網設備1。Step S703 , when the software update information is correct, send the software corresponding to the software update information to the Internet of Things device 1 .

在本發明所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以藉由其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。In the several embodiments provided by the present invention, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the device embodiments described above are only illustrative. For example, the division of the modules is only a logical function division, and other division methods may be used in actual implementation.

所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,作為模組顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到複數網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. superior. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment.

另外,在本發明各個實施例中的各功能模組可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能模組的形式實現。In addition, each functional module in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware, or can be implemented in the form of hardware plus software function modules.

對於本領域技術人員而言,顯然本發明不限於上述示範性實施例的細節,而且在不背離本發明的精神或基本特徵的情況下,能夠以其他的具體形式實現本發明。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本發明的範圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和範圍內的所有變化涵括在本發明內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。此外,顯然“包括”一詞不排除其他單元或,單數不排除複數。裝置權利要求中陳述的複數單元或裝置也可以由一個單元或裝置藉由軟體或者硬體來實現。第一,第二等詞語用來表示名稱,而並不表示任何特定的順序。It will be apparent to those skilled in the art that the present invention is not limited to the details of the above-described exemplary embodiments, but that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments are to be regarded in all respects as illustrative and not restrictive, and the scope of the invention is to be defined by the appended claims rather than the foregoing description, which are therefore intended to fall within the scope of the claims. All changes within the meaning and range of the equivalents of , are included in the present invention. Any reference signs in the claims shall not be construed as limiting the involved claim. Furthermore, it is clear that the word "comprising" does not exclude other units or, and the singular does not exclude the plural. The plural units or means recited in the device claims can also be realized by one unit or means by means of software or hardware. The terms first, second, etc. are used to denote names and do not denote any particular order.

綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述僅為本發明之較佳實施方式,舉凡熟悉本案技藝之人士,在援依本案創作精神所作之等效修飾或變化,皆應包含於以下之申請專利範圍內。To sum up, the present invention complies with the requirements of an invention patent, and a patent application can be filed in accordance with the law. However, the above descriptions are only the preferred embodiments of the present invention, and for those who are familiar with the techniques of this case, equivalent modifications or changes made in accordance with the creative spirit of this case shall be included in the scope of the following patent application.

110:物聯網設備軟體更新系統 1:物聯網設備 2:伺服器 3:鄰近設備 11:第一記憶體 12:第一處理器 13:第一通訊單元 31:第二記憶體 32:第二處理器 33:第二通訊單元 21:第三記憶體 22:第三處理器 4:網路 210:軟體更新控制系統 310:軟體更新回應系統 1101:搜尋模組 1102:請求模組 1103:解密模組 1104:軟體更新模組 2101:第一接收模組 2102:控制模組 3101:第二接收模組 3102:判斷模組 3103:回應模組 S501~S505:步驟 S601~S604:步驟 S701~S703:步驟110: IoT device software update system 1: IoT Devices 2: Server 3: Nearby devices 11: The first memory 12: The first processor 13: The first communication unit 31: Second memory 32: Second processor 33: Second communication unit 21: Third memory 22: Third processor 4: Internet 210: Software Update Control System 310: Software Update Response System 1101: Search Module 1102: Request Module 1103: Decryption module 1104: Software Update Module 2101: The first receiving module 2102: Control Module 3101: Second receiving module 3102: Judgment Module 3103: Response module S501~S505: Steps S601~S604: Steps S701~S703: Steps

圖1是本發明較佳實施例的物聯網設備軟體更新系統的架構圖。 圖2是本發明較佳實施例的物聯網設備軟體更新系統的功能模組圖。 圖3是本發明較佳實施例的軟體更新控制系統的功能模組圖。 圖4是本發明較佳實施例的軟體更新回應系統的功能模組圖。 圖5是本發明一實施例的軟體更新方法的流程圖。 圖6是本發明另一實施例的軟體更新方法的流程圖。 圖7是本發明另一實施例的軟體更新方法的流程圖。FIG. 1 is a structural diagram of a software updating system for an Internet of Things device according to a preferred embodiment of the present invention. FIG. 2 is a functional module diagram of an IoT device software update system according to a preferred embodiment of the present invention. FIG. 3 is a functional module diagram of a software update control system according to a preferred embodiment of the present invention. FIG. 4 is a functional module diagram of a software update response system according to a preferred embodiment of the present invention. FIG. 5 is a flowchart of a software update method according to an embodiment of the present invention. FIG. 6 is a flowchart of a software update method according to another embodiment of the present invention. FIG. 7 is a flowchart of a software update method according to another embodiment of the present invention.

S501~S505:步驟S501~S505: Steps

Claims (10)

一種物聯網設備,包括處理單元,其改良在於,所述處理單元用於: 藉由廣播搜尋所述物聯網設備周邊的鄰近設備的設備資訊; 獲取所述物聯網設備的設備資訊,並根據所述物聯網設備的設備資訊及所述鄰近設備的設備資訊藉由第一加密方式進行加密,並將加密後的所述物聯網設備的設備資訊及所述鄰近設備的設備資訊發送給伺服器; 解密所述伺服器發送的控制資訊,並判斷解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊,還是所述伺服器中存放軟體的位址資訊及軟體更新資訊; 當解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊時,將所述軟體更新資訊以所述鄰近設備的公開金鑰進行加密後發送給所述鄰近設備,並從所述鄰近設備中下載與所述軟體更新資訊對應的軟體;及 當解密出的控制資訊是所述伺服器中存放軟體的位址資訊及軟體更新資訊時,根據所述位址資訊及軟體更新資訊從所述伺服器中下載與所述軟體更新資訊對應的軟體。An Internet of Things device, comprising a processing unit, the improvement is that the processing unit is used for: Searching for device information of neighboring devices around the IoT device by broadcasting; Obtain the device information of the IoT device, encrypt the device information of the IoT device by a first encryption method according to the device information of the IoT device and the device information of the neighboring device, and encrypt the encrypted device information of the IoT device and the device information of said neighboring device to the server; Decrypt the control information sent by the server, and determine whether the decrypted control information is the public key and software update information of the adjacent device, or the address information and software update information of the software stored in the server; When the decrypted control information is the public key of the adjacent device and the software update information, encrypt the software update information with the public key of the adjacent device and send it to the adjacent device, and send the software update information from the adjacent device to the adjacent device. download the software corresponding to the software update information in the adjacent device; and When the decrypted control information is the address information and software update information of the software stored in the server, download the software corresponding to the software update information from the server according to the address information and software update information . 如請求項1所述的物聯網設備,其中,所述鄰近設備的設備資訊至少包括所述鄰近設備的識別碼、軟體版本及服務狀態,其中所述服務狀態是指是否提供軟體更新功能的狀態,所述服務狀態包括提供軟體更新功能的狀態和不提供軟體更新功能的狀態。The Internet of Things device according to claim 1, wherein the device information of the neighboring device at least includes the identification code, software version and service status of the neighboring device, wherein the service status refers to the status of whether a software update function is provided , the service status includes a status of providing a software update function and a status of not providing a software update function. 如請求項1所述的物聯網設備,其中,所述根據所述物聯網設備的設備資訊及所述鄰近設備的設備資訊藉由第一加密方式進行加密包括: 根據所述伺服器的公開金鑰對所述物聯網設備的設備資訊及所述鄰近設備的設備資訊進行加密。The Internet of Things device according to claim 1, wherein the encrypting according to the device information of the Internet of Things device and the device information of the neighboring devices by a first encryption method comprises: The device information of the IoT device and the device information of the neighboring device are encrypted according to the public key of the server. 如請求項3所述的物聯網設備,其中,所述解密所述控制資訊包括: 根據所述伺服器的私密金鑰解密所述伺服器發送的控制資訊。The Internet of Things device according to claim 3, wherein the decrypting the control information comprises: The control information sent by the server is decrypted according to the private key of the server. 一種伺服器,包括處理單元,其改良在於,所述處理單元用於: 接收物聯網設備發送的所述物聯網設備的設備資訊及鄰近設備的設備資訊,根據所述鄰近設備的設備資訊判斷所述鄰近設備是否為合法設備; 當所述鄰近設備為合法設備時,根據所述鄰近設備的軟體版本及服務狀態判斷所述鄰近設備是否具有提供軟體更新功能的能力; 當確定所述鄰近設備具有提供軟體更新功能的能力時將所述鄰近設備的公開金鑰及所述軟體更新資訊藉由第二加密方式發送給所述物聯網設備; 當確定所述鄰近設備為非法設備時或當確定所述鄰近設備不具有提供軟體更新功能的能力時,將所述伺服器中存放軟體的位址資訊及軟體更新資訊藉由第二加密方式發送給所述物聯網設備。A server, comprising a processing unit, the improvement is that the processing unit is used for: Receive the device information of the IoT device and the device information of the neighboring device sent by the IoT device, and determine whether the neighboring device is a legitimate device according to the device information of the neighboring device; When the neighboring device is a legitimate device, determine whether the neighboring device has the ability to provide a software update function according to the software version and service status of the neighboring device; When it is determined that the adjacent device has the ability to provide a software update function, the public key of the adjacent device and the software update information are sent to the Internet of Things device by a second encryption method; When it is determined that the adjacent device is an illegal device or when it is determined that the adjacent device does not have the ability to provide a software update function, send the address information of the software stored in the server and the software update information by a second encryption method to the IoT device. 如請求項5所述的伺服器,其中,所述將所述伺服器中存放軟體的位址資訊及軟體更新資訊藉由第二加密方式發送給所述物聯網設備包括: 將所述鄰近設備的公開金鑰及所述軟體更新資訊藉由所述伺服器的公開金鑰進行加密後發送給所述物聯網設備。The server according to claim 5, wherein the sending the address information and software update information of the software stored in the server to the Internet of Things device by a second encryption method comprises: The public key of the adjacent device and the software update information are encrypted by the public key of the server and sent to the Internet of Things device. 一種軟體更新方法,應用在物聯網設備中,其改良在於,所述方法包括: 藉由廣播搜尋所述物聯網設備周邊的鄰近設備的設備資訊; 獲取所述物聯網設備的設備資訊,並根據所述物聯網設備的設備資訊及所述鄰近設備的設備資訊藉由第一加密方式進行加密,並將加密後的所述物聯網設備的設備資訊及所述鄰近設備的設備資訊發送給伺服器; 解密所述伺服器發送的控制資訊,並判斷解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊,還是所述伺服器中存放軟體的位址資訊及軟體更新資訊; 當解密出的控制資訊是所述鄰近設備的公開金鑰及軟體更新資訊時,將所述軟體更新資訊以所述鄰近設備的公開金鑰進行加密後發送給所述鄰近設備,並從所述鄰近設備中下載與所述軟體更新資訊對應的軟體;及 當解密出的控制資訊是所述伺服器中存放軟體的位址資訊及軟體更新資訊時,根據所述位址資訊及軟體更新資訊從所述伺服器中下載與所述軟體更新資訊對應的軟體。A software update method, applied in an Internet of Things device, is improved in that the method includes: Searching for device information of neighboring devices around the IoT device by broadcasting; Obtain the device information of the IoT device, encrypt the device information of the IoT device by a first encryption method according to the device information of the IoT device and the device information of the neighboring device, and encrypt the encrypted device information of the IoT device and the device information of said neighboring device to the server; Decrypt the control information sent by the server, and determine whether the decrypted control information is the public key and software update information of the adjacent device, or the address information and software update information of the software stored in the server; When the decrypted control information is the public key of the adjacent device and the software update information, encrypt the software update information with the public key of the adjacent device and send it to the adjacent device, and send the software update information from the adjacent device to the adjacent device. download the software corresponding to the software update information in the adjacent device; and When the decrypted control information is the address information and software update information of the software stored in the server, download the software corresponding to the software update information from the server according to the address information and software update information . 如請求項7所述的軟體更新方法,其中,所述根據所述物聯網設備的設備資訊及所述鄰近設備的設備資訊藉由第一加密方式進行加密包括: 根據所述伺服器的公開金鑰對所述物聯網設備的設備資訊及所述鄰近設備的設備資訊進行加密。The software update method according to claim 7, wherein the encrypting by the first encryption method according to the device information of the IoT device and the device information of the neighboring device comprises: The device information of the IoT device and the device information of the neighboring device are encrypted according to the public key of the server. 一種軟體更新方法,應用在伺服器中,其改良在於,所述方法包括: 接收物聯網設備發送的所述物聯網設備的設備資訊及鄰近設備的設備資訊,根據所述鄰近設備的設備資訊判斷所述鄰近設備是否為合法設備; 當所述鄰近設備為合法設備時,根據所述鄰近設備的軟體版本及服務狀態判斷所述鄰近設備是否具有提供軟體更新功能的能力; 當確定所述鄰近設備具有提供軟體更新功能的能力時將所述鄰近設備的公開金鑰及所述軟體更新資訊藉由第二加密方式發送給所述物聯網設備; 當確定所述鄰近設備為非法設備時或當確定所述鄰近設備不具有提供軟體更新功能的能力時,將所述伺服器中存放軟體的位址資訊及軟體更新資訊藉由第二加密方式發送給所述物聯網設備。A software update method, applied in a server, is improved in that the method includes: Receive the device information of the IoT device and the device information of the neighboring device sent by the IoT device, and determine whether the neighboring device is a legitimate device according to the device information of the neighboring device; When the neighboring device is a legitimate device, determine whether the neighboring device has the ability to provide a software update function according to the software version and service status of the neighboring device; When it is determined that the adjacent device has the ability to provide a software update function, the public key of the adjacent device and the software update information are sent to the Internet of Things device by a second encryption method; When it is determined that the adjacent device is an illegal device or when it is determined that the adjacent device does not have the ability to provide a software update function, send the address information of the software stored in the server and the software update information by a second encryption method to the IoT device. 一種軟體更新方法,應用在鄰近設備中,其改良在於,所述方法包括: 接收物聯網設備發送的藉由鄰近設備的公開金鑰進行加密的軟體更新資訊,並藉由所述鄰近設備的私密金鑰解密得到所述軟體更新資訊; 判斷所述軟體更新資訊是否正確; 當所述軟體更新資訊正確時將與所述軟體更新資訊對應的軟體發送給所述物聯網設備。A software update method, applied in a neighboring device, is improved in that the method comprises: Receive the software update information encrypted by the public key of the adjacent device sent by the Internet of Things device, and decrypt the software update information by the private key of the adjacent device to obtain the software update information; Determine whether the software update information is correct; When the software update information is correct, the software corresponding to the software update information is sent to the Internet of Things device.
TW109118518A 2020-06-02 2020-06-02 A device for internet of things, a server, and a software updating method TWI754950B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW109118518A TWI754950B (en) 2020-06-02 2020-06-02 A device for internet of things, a server, and a software updating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109118518A TWI754950B (en) 2020-06-02 2020-06-02 A device for internet of things, a server, and a software updating method

Publications (2)

Publication Number Publication Date
TW202147099A true TW202147099A (en) 2021-12-16
TWI754950B TWI754950B (en) 2022-02-11

Family

ID=80784004

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109118518A TWI754950B (en) 2020-06-02 2020-06-02 A device for internet of things, a server, and a software updating method

Country Status (1)

Country Link
TW (1) TWI754950B (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10362011B2 (en) * 2015-07-12 2019-07-23 Qualcomm Incorporated Network security architecture
US10091649B2 (en) * 2015-07-12 2018-10-02 Qualcomm Incorporated Network architecture and security with encrypted client device contexts
US10764333B2 (en) * 2015-11-30 2020-09-01 Yeshong, Llc Hardware agnostic platform for transparent access control of Internet of Everything (IoE) destinations via correlation, classification, and/or tagging
US20180048987A1 (en) * 2016-08-15 2018-02-15 Qualcomm Incorporated Updating firmware and/or performing a diagnostic check on an internet of things device while providing wireless power via a magnetic coupling and supporting a two-way wireless power exchange capability at a device
CN108810884B (en) * 2017-05-06 2020-05-08 华为技术有限公司 Key configuration method, device and system
CN109936547A (en) * 2017-12-18 2019-06-25 阿里巴巴集团控股有限公司 Identity identifying method, system and calculating equipment
CN110099427A (en) * 2018-01-31 2019-08-06 阿里巴巴集团控股有限公司 A kind of method and system to distribution net equipment access network hotspot equipment
CA3098344A1 (en) * 2018-04-24 2019-10-31 Spectrum Brands, Inc. Certificate provisioning for electronic lock authentication to a server
TWI673622B (en) * 2018-05-09 2019-10-01 中華電信股份有限公司 System and method of pairing and authentication

Also Published As

Publication number Publication date
TWI754950B (en) 2022-02-11

Similar Documents

Publication Publication Date Title
US8898735B2 (en) Network apparatus based on content name, method of generating and authenticating content name
US9210138B2 (en) Efficient key generator for distribution of sensitive material from multiple application service providers to a secure element such as a universal integrated circuit card (UICC)
CN111263352B (en) OTA upgrading method and system of vehicle-mounted equipment, storage medium and vehicle-mounted equipment
US20190149325A1 (en) Blockchain transaction privacy enhancement through broadcast encryption
EP3846522A1 (en) Mec platform deployment method and device
CN109496414B (en) Identifying a network node to which data is to be copied
CN109450620B (en) Method for sharing security application in mobile terminal and mobile terminal
US11178122B2 (en) Data encryption and decryption method and system
EP3479540A1 (en) Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
EP3289749B1 (en) Method and apparatus for enabling sharing of an asset
US20200274718A1 (en) Device and method for authenticating application in execution environment in trust zone
WO2024032289A1 (en) Video playback method and system, video security platform, and communication device
CN113765950B (en) Internet of things equipment, server and software updating method
US11303439B2 (en) Method of and device for performing authentication using hardware security module in oneM2M environment
US10212598B2 (en) Access point information for wireless access
US20230135920A1 (en) Network device authentication
TWI754950B (en) A device for internet of things, a server, and a software updating method
US20220377550A1 (en) Secure and trusted peer-to-peer offline communication systems and methods
US8595360B2 (en) Method, system and apparatus for distributing digital information including digital rights management information to a plurality of devices
CN112699392A (en) Target data processing method and device, storage medium and electronic device
KR20170008514A (en) Method and system for reproducing contents by secure acquiring decryption key for encrypted contents
US20240303084A1 (en) Executable command security
CN114513526B (en) Method, system and first blockchain for accessing data across chains
CN109525940B (en) Positioning method and device based on antenna and electronic equipment
CN118018947A (en) Bluetooth positioning method, system and Bluetooth equipment