CN103222227B - 用于以无线方式重编程通信系统中的存储器的系统和方法 - Google Patents
用于以无线方式重编程通信系统中的存储器的系统和方法 Download PDFInfo
- Publication number
- CN103222227B CN103222227B CN201180017670.9A CN201180017670A CN103222227B CN 103222227 B CN103222227 B CN 103222227B CN 201180017670 A CN201180017670 A CN 201180017670A CN 103222227 B CN103222227 B CN 103222227B
- Authority
- CN
- China
- Prior art keywords
- control system
- wireless control
- memory
- application code
- remote equipment
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00857—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the data carrier can be programmed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/2818—Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00857—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the data carrier can be programmed
- G07C2009/00865—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the data carrier can be programmed remotely by wireless communication
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/20—Binding and programming of remote control devices
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/20—Binding and programming of remote control devices
- G08C2201/21—Programming remote control devices via third means
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/92—Universal remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42226—Reprogrammable remote control devices
Abstract
本发明涉及一种用于重编程存储器的系统和方法,具体涉及以无线方式重编程驻留在可训练式收发机的存储器中的诸如应用代码这类的软件。通过以无线方式重编程存储器,允许从远端位置更新或替换可训练式收发机中的软件,而在远端位置处到该产品的直接或有线连接是不可用的。
Description
要求优先权
本申请要求享有于2010年2月4日提交的、美国临时申请No.61/301,507的权益,本申请的全部内容通过引用并入本文。
背景技术
本发明涉及一种用于重编程存储器的系统和方法,具体涉及以无线方式重编程驻留在可训练式收发机的存储器中的软件。
用于控制诸如车库开门器、防盗门、家用报警器、照明设备、计算机等之类的电器和设备的常规系统使用了单独的遥控器以操作相应的电器和/或设备。对这种常规系统来说,难于控制多个设备或电器,更不用说将电器和设备的操作并入单个可控系统。例如,车库开门器机制响应于射频控制信号而开关车库门。该控制信号通常是从与车库开门器一起销售的遥控器产生并发送的。所述控制信号具有预设的载波频率和控制代码,以使车库开门器机制只对发出相关联的控制信号的遥控器做出响应。与这种系统相关联的问题在于:开门器必须接收特定的预定控制信号来被操作。换言之,每个电器和设备必须接收特定的预定控制信号。因此,希望控制多个电器和/或设备的用户需要具有多个遥控器。
随着技术社会不断演进,对于能以合并方式操作多个远端电子设备(例如位于离控制设备远端的电器和电子设备)的无线通信系统的需要不断增长。当前存在的无线通信系统允许多个电器和设备与集中式或单个远端设备通信。一个此类系统是JohnsonControls Inc.拥有的HomelinkTM,在该系统中,可训练式收发机能“学习”接收到的控制信号的特性,以使所述可训练式收发机随后可以产生并向受遥控的设备或电器发送具有学习到的特性的信号。例如,在美国专利No.5,903,226中公开了一个此类系统,并通过引用将其并入本申请。图1示出的是具有收发机电路54的示例性无线控制系统12以及同样具有收发机电路53的远端电子系统(远程设备)18。另 一个此类系统是在欧洲专利No.0935226B1中公开的,并同样通过引用将其并入本申请。
为使可训练式收发机工作,每一个信号通常与用户致动的开关相关联,或者用户通过选择关联的开关(例如通过按下可训练式收发机上的与将被操作的设备相关联的按钮)来选择在可训练式收发机上经学习的信号之一。为使可训练式收发机学习长度和持续时间不同的各种信号的信号特性,在可训练式收发机内部为每一个传输信道提供并分配的存储器容量必须足以存储将被学习的最大信号的特性。
此外,为使可训练式收发机在通信系统中正常工作,其必须与远端电子设备兼容,特别是与可训练式收发机随着时间的推移很可能与其进行通信的数量可能很多的远端电子设备兼容。显然,要预测这些远端电子设备中用户可能希望控制的远端电子设备以使为了兼容性而对可训练式收发机进行编程是较困难的。另外,随着新的远端电子设备的发展,在初始编程了可训练式收发机之后,当前还没有用以更新可训练式收发机以使新的远端电子设备兼容地用于无线通信系统的处理。
发明内容
本发明涉及一种重编程存储器的系统和方法,具体涉及以无线方式重编程驻留在可训练式收发机的存储器中的诸如应用代码之类的软件。通过以无线方式重编程存储器,允许从远端位置更新或替换可训练式收发机中的软件,而在远端位置处到该产品的直接或有线连接是不可用的。
在本发明的一个实施例中,存在一种使用远端设备来对无线控制系统中的存储器进行编程的方法,其包括:接收来自所述远端设备的应用代码;以及将所述应用代码编程到所述无线控制系统的所述存储器的至少一部分中,以使所述无线控制系统使用所编程的应用代码来操作原本与所述无线控制系统不配对的至少一个远端电子设备。
在本发明的一个方面中,所述方法包括:在所述无线控制系统上进入编程模式;对所述无线控制系统与所述远端设备之间的通信进行验证;以及指示所述验证通信的状态。
在本发明的另一个方面中,所述应用代码用公共密钥来加密并附加了报头信息。
在本发明的另一个方面中,所述方法包括:提取所述报头信息;使用所述公共密钥来解密至少第一数据块;以及将数据保存在所述远端设备的程序代码缓存器中,以便发送到所述无线控制系统。
在本发明的另一个方面中,所述无线控制系统还包括:从所述远端设备接收所述至少第一数据块;核实所述至少第一数据块的完整性;确定所述至少第一数据块的传输的结束;以及用所述应用代码来编程所述无线控制系统的存储器的至少一部分。
在本发明的另一个方面中,所述远端设备包括核实所述应用代码兼容于所述远端电子设备;以及将至少一个数据块发送到所述无线控制系统直至到达数据的结束为止。
在本发明的另一个实施例中,存在一种用于编程存储器的系统,其包括:至少包含收发机电路和存储器的无线控制系统;以及至少包含收发机电路和存储器的远端设备,其中,在所述远端设备的所述存储器中保存的应用代码被发送到所述无线控制系统,并由所述收发机电路接收,以及由所述收发机电路接收的所述应用代码被编程到所述无线控制系统的所述存储器的至少一部分中,以使所述无线控制系统使用所编程的应用代码来操作原本与所述无线控制系统不配对的至少一个远端电子设备。
附图说明
以下将参考例图来描述本发明,其中:
图1示出的是根据现有技术的示例性无线控制系统和远端电子设备。
图2A示出的是根据本发明来重编程存储器的示例性流程图。
图2B示出的是根据本发明的示例性存储设备和工具。
图2C示出的是根据本发明的具有输入设备的放大视图的示例性无线控制系统。
图3示出的是根据本发明与工具通信的示例性无线控制系统。
图4A和4B示出的是根据本发明在可训练式收发机与工具之间进行的通信。
图5示出的是根据本发明转换并加密的示例性代码流。
图6示出的是根据本发明的被插入到工具中以用于编程存储器的经加密的代码。
图7A和7B示出的是从工具观测到的数据接收和发送的示例性流程图。
图8A和8B示出的是从可训练式收发机观测到的数据接收和发送的示例性流程图。
图9示出的是无线通信系统中的存储器的示例性示意图。
具体实施方式
本发明涉及一种用于重编程存储器的系统和方法,具体涉及以无线方式重编程驻留在可训练式收发机的存储器中的软件,例如应用代码。通过以无线方式重编程存储器,允许从远端位置更新或替换可训练式收发机中的软件,而在远端位置处到该产品的直接或有线连接是不可用的。
在本发明的一个实施例中,驻留在可训练式收发机的存储器中的软件被重编程(以有线或无线方式)。在示例性实施例中,经加密的程序代码以无线方式例如经由射频(RF)链路从处于离可训练式收发机的远端位置处的设备(或“工具”)进行传送。远端位置可以是能够针对其执行有线或无线传输的任何远处。可训练式收发机使用驻留在一个存储区域中的软件(称为引导加载器代码)来解密并处理程序代码,以便将其编程到另一个存储区域中(称为应用代码)。这种编程可以是对当前驻留在存储器中的应用代码进行的完整或部分的重编程。以下将会参考附图来进行更详细的描述。
图2A示出的是根据本发明来重编程存储器的示例性流程图。优选地经加密(如下文中参考图5所述)的程序代码可以保存在存储器中,例如USB闪存驱动器、计算机、蜂窝电话、PDA等等。如下所述,该程序代码被插入或发送到用于重编程可训练式收发机的工具。
在步骤(1)中,保存有经加密的程序代码(Appcode.enc)的诸如闪存驱动器之类的设备被插入到工具中。相关示例可以参见图2B,该图示出的是被插入工具RT的闪存驱动器USB的一个示例性实施例。工具RT从闪存驱动器USB中提取数据,并且将数据解密成二进制程序数据(AppCode.bin)以便存入工具RT中并供以后使用。在步骤(2)中,例如通过按下可训练 式收发机12上的如图2C所示的一系列按钮B1、B2、B3,将可训练式收发机12置成编程模式。一旦将设备置成编程模式,在步骤(3)中在工具RT与可训练式收发机12之间就发生验证序列。在该验证序列期间传送的是与对应用代码的重编程相关的数据,包括例如部件编号(EPN)、序列号(SN)以及当前的应用版本(如果适用的话)和引导加载器版本。一旦通过验证(通常是在计算了各种密钥和计数器之后),可训练式收发机12就向工具RT通告该应用准备好被编程。
工具RT开始以每次一个RF数据帧的方式传送保存在闪存设备上的经加密的应用程序代码,直至传送了全部应用程序代码为止。应该理解的是,虽然在示例性实施例中描述的是RF传输,但是本发明并不局限于这种类型的传输,并且很容易理解,任何形式的无线传输都是可以使用的。还在每次数据帧的传输期间从可训练式收发机12向工具RT回发应答(ACK),以确认在传送期间没有出现过错误。如果在数据帧的传输期间出现错误(例如校验和(Checksum)失败),则将进行规定次数的“重试”,直至认定传输成功为止。如图2的步骤(4)所示,可以在可训练式收发机的显示器和/或工具RT的显示器上指示在传送期间发生的任何错误。该显示器36a可以例如是LED或其他任何装置以指示响应。例如,当可训练式收发机12写入程序存储器AC时,可训练式收发机上的LED可以闪烁,以表明正在执行处理,或者屏幕可以显示正在将数据写入存储器。显示器36a还可以指示成功完成或是未成功完成数据的传送。例如,LED可以将指示错误类型且指示需要进行额外编程的数字代码进行闪烁,或者绿灯可以指示成功完成。
图3示出的是根据图2B和2C的与工具通信的示例性无线控制系统。在示例性实施例中,该无线控制系统(也称为可训练式收发机)12和工具RT中的每一个都包括操作者输入设备32/32a、显示器36/36a、控制电路30/30a、存储器31/31a以及收发机电路54/54a。该工具还包括用于接收数据的输入端,例如用于USB存储设备的输入端。应该了解,这些描述本质上是为举例,并且所述工具和可训练式收发机(即无线控制系统)并不局限于所公开的实施例。例如,可训练式收发机和工具不必包含实施例中示出的每一个设备,并且还可以包括额外特征,例如为连接到其他设备提供 的接口。
图4A和4B示出的是根据本发明而在可训练式收发机与工具之间进行的通信。应用代码驻留在可训练式收发机12(参见图9)的应用代码块AC存储器31中。在编程可训练式收发机12以例如更新可训练式收发机的存储器31中的应用代码从而与新的或不兼容的远端电子设备一起工作期间,用从工具RT发送的应用代码更新或取代应用代码块中的数据(应用代码)。作为构造所发送的应用代码的一部分并且为了保护代码存储的安全,从应用代码中解析出相关数据并将相关数据加密(例如使用公共密钥),并且将诸如部件(类型)编号之类的信息添加至应用代码文件的报头中(5),如图5所示以及如下文更详细描述地那样。然后,将经加密的程序代码(AppCode.enc)保存在工具RT或是能够由工具RT访问的另一存储设备(例如闪存驱动器)中,以供以后使用。相关示例可以参见在下文中更详细描述的图6。应该了解,任何加密技术均可用于加密数据,并且加密并不局限于所描述的示例性实施例。
为了重编程可训练式收发机12的存储器31,可以使用能够读取保存在USB闪存驱动器上的应用代码的设备RT(例如前述工具RT)。所述工具RT可以例如是可以正确解密保存在USB闪存驱动器上的经加密的应用代码的独立单元或计算机。应该了解,该工具可以是用于读取和解密应用代码以及将应用代码发送到可训练式收发机的任何设备,如由技术人员所容易理解地。一旦从闪存驱动器USB接收到经加密的数据(AppCode.enc),工具RT就在10处从经加密的数据的报头文件中提取诸如部件(类型)编号之类的信息,并解密第一数据块(例如使用公共密钥)。应该了解,正如技术人员所理解地那样,可以解密整个文件,而不是一个数据块。为使可训练式收发机12与工具RT通信,在15处例如通过在输入设备32上选择一个按钮序列,将所述可训练式收发机12置成编程模式(“引导加载器模式”)。一旦进入编程模式,就由可训练式收发机产生唯一的密钥(例如用于与可训练式收发机相关联的每一个工具的密钥)。然后,将诸如可训练式收发机的部件(类型)编号、序列号、应用版本和引导加载器版本(未经加密)之类的信息发送至工具(20)。在25处,工具RT核实应用代码与可训练式收发机12的部件(类型)编号兼容,以便与可训练式收发机12同步。如果部件编号不兼容(即,部件编号核实未通过),则通信结束。否则,在30处由工具RT计算唯一的密钥,在35处创建一个随机计数器值(AES_CTR),以及在40处创建针对验证的要求。
在45处将所述要求与地址范围一起发送到可训练式收发机12,并且可训练式收发机12核实AES_CTR值和编程地址范围并将其保存在存储器31中(在50处)。在55处,将应答(ACK)发回到工具RT,以及在60和65处,通过使用在工具RT和可训练式收发机12处的AES_CTR值来分别计算密码流。此时,工具RT和可训练式收发机12已经确认了兼容性并核实通过了传输链路。
在70处,通过使用与密码流执行“异或”运算的第一程序数据块来创建经加密的数据(EData),并且创建RF数据帧(在75处)。EData包括程序代码以及为重编程可训练式收发机所需要的相关联的信息。将EData置于RF数据帧内部,以使得可以在传输中包含与数据相关联的额外信息(例如长度和校验和)以及各种命令(CMD)。将RF数据帧从工具RT发送到可训练式收发机12(在80处),此处使用例如校验和来检查其完整性(在85处)。如果核实通过了校验和,则在90处向工具发回校验和应答(ACK),同时工具RT等待来自处理所述数据的可训练式收发机12的“就绪”应答(在95处)。可训练式收发机12从RF数据帧中提取EData,对该数据进行处理以使得使用密码流来对其进行解密,以及使用例如嵌入到EData中的诸如地址和长度之类的额外信息。然后,在100处,将新的/经更新的程序代码写入应用代码块AC中的存储器中。然后在105-115处,在工具RT和可训练式收发机12上递增随机数AES_CTR,并且计算另一个密码流。此时,处理循环进行至用与密码流进行异或运算的下一程序数据块来创建另一EData(在120处),创建RF数据帧(在125处),以及将RF数据帧发送到可训练式收发机12(在130)。处理持续进行,直至可训练式收发机12接收到最后一个数据块为止,此时,工具RT向可训练式收发机12发送数据结束(EOD)命令以及完全的校验和(在135处)。当在可训练式收发机12处接收到EOD命令时,计算经编程的完全的校验和并用接收到的校验和对其进行核实(在140处),并且将ACK发送到工具RT(在145处),其完结数据过程的传送(在150处)。此时存储了应用代码。
图5示出的是根据本发明转换并加密的示例性代码流。虽然程序代码(AppCode.hex)200最初是作为十六进制代码编程的,但并不局限于这样的实施例。应该了解,任何形式的代码都是可以使用的。当转换/加密工具205(其可以是能够转换并加密数据的任何设备,例如计算机或工具RT)接收到AppCode.hex时,在210处输入目标可训练式收发机的部件编号。在215处,为获取相关数据对AppCode.hex文件进行解析,并将其作为二进制文件(AppCode.bin)保存在工具RT中。AppCode.bin文件220是使用AES和公共密钥来在225处加密的,在230处将部件编号附加到该文件的报头中并将其作为经加密的应用代码(AppCode.enc)235来存储(例如,存储在闪存驱动器USB上)。
图6示出的是根据本发明的被插入到工具以用于编程存储器的经加密的代码。将所存储的AppCode.enc文件235发送到工具RT(或者如果该文件是由工具RT创建的,那么其已经驻留在存储器中)。这里,在240处提取报头中的部件编号,并且在245处使用公共密钥来解密第一数据块。然后,在250处,将数据保存在存储器中,以便在以后发送到可训练式收发机12。
图7A和7B示出的是如图4A和4B所描述的从工具观测到的数据的发送和接收的示例性流程图。一旦程序代码准备好(255)从工具RT发送到可训练式收发机12,工具RT就在260处确定是否接收到来自可训练式收发机12的状态消息。如果没接收到,则工具RT等待状态消息。如果已经接收到状态消息,则工具RT在265处确定所发送的消息中包含的部件编号是否匹配。如果不匹配,那么在270处出现处理错误。如果目标匹配,则在280处计算唯一的密钥,在285处创建随机计数器AES-CTR,以及在290处创建针对验证的要求并将其连同地址范围一起发送。一旦在300处接收到来自可训练式收发机12的应答(ACK),则在310处使用AES_CTR计算一个密码流。如果没有接收到ACK,那么在305处出现处理错误。一旦ACK被接收到并且是就绪的,则在325处创建EData,在330处创建RF数据帧,以及在335处发送该RF数据帧。如果没有接收到“就绪的”ACK,那么在320处出现处理错误。否则,工具RT等待表明RF数据帧的校验和被接收到的ACK,并且确定其是“就绪的”(350)还是“未就绪的”(360)。 否则,在360处出现处理错误。如果“就绪”,则在370处确定是否出现数据结束(EOD)。如果没有出现,则在365处递增AES_CTR并且计算新的密码流。处理返回至在325处创建EData。否则,向可训练式收发机12发送EOD命令以及完全的校验和(CS),其中在380处中核实该ACK。如果核实通过,则处理在390处完成,否则,在385处出现处理错误。
图8A和8B示出的是根据图4A和4B的从可训练式收发机观测到的数据的接收和发送的示例性流程图。在400处,例如通过在操作者输入设备32上选择按钮序列来进入引导加载器模式。在405处创建唯一的密钥,并且可训练式收发机12在410处发送信息(例如部件编号、序列号等等)。然后,可训练式收发机在415处确定是否接收到工具RT的要求。如果没有接收到的话,那么在420处出现处理错误。如果接收到的话,那么在425处核实所述要求。如果核实未通过,那么在430处出现处理错误。另一方面,如果核实通过,那么在435处存储地址范围并在440处存储AES_CTR值,以及在445处向工具RT发送ACK。然后,在450处使用AES_CTR来计算密码流,并在455处向工具RT发送ACK。作为回应,在460处接收到来自工具RT的RF数据帧,并使用校验和(CS)来检查数据帧。如果CS无效,那么在470处出现处理错误。如果CS有效,则在480处向工具RT发送ACK传输以确认关于CS的核实。在485处确定是否还接收到指示数据帧传输结束的EOD命令。如果接收到,则在495处接收并证实完全的CS,在500处发送用于指示关于CS的核实的ACK,并且处理在505处结束。否则,如果没有接收到EOD命令,则在490处,从RF数据帧中提取EData,处理该数据,并对存储器进行编程。在510处,递增AES_CTR,并计算下一密码流,其后发送表明可训练式收发机12为“就绪的”的ACK。处理返回至在460处接收额外的RF数据帧。
图9示出的是无线通信系统中的存储器的示例性示意图。可训练式收发机具有存储器31,存储器31包括但不局限于引导加载器代码BLC以及应用代码AC。引导加载器代码BLC包括用于在接收到来自工具RT的应用代码AC的时候控制对应用代码AC的重编程的代码,应用代码AC是允许可训练式收发机12与远端电子设备18通信的代码。通过更新(部分重编程)和完全更新(完全重编程)应用代码AC,允许可训练式收发机与添加 到系统中且先前不能与可训练式收发机通信的新的远端电子设备一起工作,还允许可训练式收发机与自身尚未更新的远端电子设备一起工作。
虽然在附图中示出并在本文描述了示例性实施例,但是应该理解,这些实施例仅仅是作为示例提供的。例如,替换的实施例可以适合在商业市场中使用,其中办公室照明、安全系统、计算机、电视、车库门或是其他任何电器或设备受到控制。相应地,所描述的特征并不局限于特定的实施例,而是应该扩展到仍落入所附权利要求的范围内的各种修改。
现在,本领域技术人员可以从以上的描述中了解到,本文的概括性教导可以采用多种形式来实施。因此,虽然所描述的特征是结合其特定的示例来描述的,但是这些特征的真实范围不应该受此限制,这是因为对本领域技术人员来说,通过研究附图和本说明书,其他的修改将会是显而易见的。
Claims (10)
1.一种使用远端设备来编程无线控制系统中的存储器的方法,包括:
向所述远端设备提供应用代码;
在所述无线控制系统处接收来自所述远端设备的应用代码;以及
由所述无线控制系统的引导加载器将所述应用代码编程到所述无线控制系统的所述存储器的至少一部分中,以使所述无线控制系统使用所编程的应用代码来操作原本与所述无线控制系统不配对的至少一个以前不兼容的远端电子设备,
其中,所述应用代码允许所述无线控制系统与所述至少一个以前不兼容的远端电子设备进行通信,
其中将所述应用代码编程到所述存储器的至少一部分是由所述引导加载器控制,并包括至少重写保存在所述存储器中的软件的一部分,以及
其中将所述应用代码编程到所述存储器的至少一部分使得所述无线控制系统与所述至少一个以前不兼容的远端电子设备重新兼容。
2.如权利要求1所述的用于编程无线控制系统中的存储器的方法,还包括:
在所述无线控制系统上进入编程模式;
验证所述无线控制系统与所述远端设备之间的通信,其中验证所述通信包括:
从所述无线控制系统向所述远端设备发送包括部件编号的信息;
在所述远端设备处核实所述应用代码与所述部件编号兼容;
响应于所述应用代码与所述部件编号兼容,从所述远端设备向所述无线控制系统发送要求和地址范围,以及从所述无线控制系统向所述远端设备发送所述要求的应答;以及
响应于所述应用代码与所述部件编号不兼容,结束所述远端设备与所述无线控制系统之间的通信;以及
指示验证所述通信的状态。
3.如权利要求2所述的用于编程无线控制系统中的存储器的方法,其中,所述应用代码用公共密钥来加密并且附加了报头信息。
4.如权利要求3所述的用于编程无线控制系统中的存储器的方法,还包括:
提取所述报头信息;
使用所述公共密钥来解密至少第一数据块;
将数据保存在所述远端设备的程序代码缓存器中,以便发送到所述无线控制系统;以及
从所述远端设备向所述无线控制系统发送至少一个数据块,直至到达数据的结束为止。
5.如权利要求4所述的用于编程无线控制系统中的存储器的方法,还包括:
从所述远端设备接收所述至少第一数据块;
核实所述至少第一数据块的完整性;
确定所述至少第一数据块的传输的结束;以及
使用所述应用代码来编程所述无线控制系统的所述存储器的至少一部分。
6.一种用于编程存储器的系统,包括:
至少包含收发机电路和存储器的无线控制系统;以及
至少包含收发机电路和存储器以及被配置为被提供应用代码的远端设备,其中:
在所述远端设备的所述存储器中保存的所述应用代码被发送到所述无线控制系统,并由所述收发机电路接收,
由所述收发机电路接收的所述应用代码被所述无线控制系统的引导加载器编程到所述无线控制系统的所述存储器的至少一部分中,以使所述无线控制系统使用所编程的应用代码来操作原本与所述无线控制系统不配对的至少一个以前不兼容的远端电子设备,
所述应用代码允许所述无线控制系统与所述至少一个以前不兼容的远端电子设备进行通信,
将所述应用代码编程到所述存储器的至少一部分是由所述引导加载器控制,并包括至少重写保存在所述存储器中的软件的一部分,以及
将所述应用代码编程到所述存储器的至少一部分使得所述无线控制系统与所述至少一个以前不兼容的远端电子设备重新兼容。
7.如权利要求6所述的用于编程存储器的系统,其中,所述系统验证所述无线控制系统与所述远端设备之间的通信;在验证所述通信的过程中:
所述无线控制系统:
在所述无线控制系统上进入编程模式;
向所述远端设备发送包括部件编号的信息;以及
所述远端设备:
核实所述应用代码与所述部件编号兼容;
响应于所述应用代码与所述部件编号兼容,向所述无线控制系统发送要求和地址范围,以及从所述无线控制系统接收所述要求的应答;以及
响应于所述应用代码与所述部件编号不兼容,结束所述远端设备与所述无线控制系统之间的通信;以及
所述无线控制系统指示验证所述通信的状态。
8.如权利要求7所述的用于编程存储器的系统,其中,所述应用代码用公共密钥来加密并且附加了报头信息。
9.如权利要求8所述的用于编程存储器的系统,其中,所述远端设备:
提取所述报头信息;
使用所述公共密钥来解密至少第一数据块;
将数据保存在所述远端设备的程序代码缓存器中,以便发送到所述无线控制系统;以及
向所述无线控制系统发送至少一个数据块,直至到达数据的结束为止。
10.如权利要求9所述的用于编程存储器的系统,其中,所述无线控制系统:
从所述远端设备接收所述至少第一数据块;
核实所述至少第一数据块的完整性;
确定所述至少第一数据块的传输的结束;以及
使用所述应用代码来编程所述无线控制系统的所述存储器的至少一部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30150710P | 2010-02-04 | 2010-02-04 | |
US61/301,507 | 2010-02-04 | ||
PCT/US2011/023733 WO2011097471A1 (en) | 2010-02-04 | 2011-02-04 | System and method for wireless re-programming of memory in a communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103222227A CN103222227A (zh) | 2013-07-24 |
CN103222227B true CN103222227B (zh) | 2017-05-24 |
Family
ID=44355797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180017670.9A Active CN103222227B (zh) | 2010-02-04 | 2011-02-04 | 用于以无线方式重编程通信系统中的存储器的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9819498B2 (zh) |
EP (1) | EP2532116A4 (zh) |
JP (1) | JP5879271B2 (zh) |
KR (1) | KR101713136B1 (zh) |
CN (1) | CN103222227B (zh) |
WO (1) | WO2011097471A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9516006B2 (en) * | 2013-10-23 | 2016-12-06 | Google Inc. | Re-programmable secure cryptographic device |
US10097680B2 (en) * | 2013-11-01 | 2018-10-09 | Gentex Corporation | Trainable transceiver module |
DE102014208838A1 (de) * | 2014-05-12 | 2015-11-12 | Robert Bosch Gmbh | Verfahren zum Betreiben eines Steuergeräts |
EP2955629B1 (en) * | 2014-06-11 | 2021-10-27 | Home Control Singapore Pte. Ltd. | System for installing new firmware on a small-memory device |
CN108136963B (zh) * | 2015-10-22 | 2021-04-27 | 金泰克斯公司 | 集成车辆通信系统和方法 |
US20170196029A1 (en) * | 2016-01-05 | 2017-07-06 | Gentex Corporation | Communication system for vehicle |
KR102479056B1 (ko) * | 2016-06-17 | 2022-12-19 | 젠텍스 코포레이션 | 범용 톨 모듈을 위한 시스템 및 방법 |
US10652743B2 (en) | 2017-12-21 | 2020-05-12 | The Chamberlain Group, Inc. | Security system for a moveable barrier operator |
US11074773B1 (en) | 2018-06-27 | 2021-07-27 | The Chamberlain Group, Inc. | Network-based control of movable barrier operators for autonomous vehicles |
US11423717B2 (en) | 2018-08-01 | 2022-08-23 | The Chamberlain Group Llc | Movable barrier operator and transmitter pairing over a network |
JP7172395B2 (ja) * | 2018-10-01 | 2022-11-16 | 富士フイルムビジネスイノベーション株式会社 | 送受信装置、送受信システム及びプログラム |
US11220856B2 (en) | 2019-04-03 | 2022-01-11 | The Chamberlain Group Llc | Movable barrier operator enhancement device and method |
US10997810B2 (en) | 2019-05-16 | 2021-05-04 | The Chamberlain Group, Inc. | In-vehicle transmitter training |
WO2021084473A1 (en) | 2019-10-29 | 2021-05-06 | Gentex Corporation | Connected monitoring system |
US11875621B2 (en) * | 2021-05-17 | 2024-01-16 | Marat Kushnir | Lock and switch controller system, lock and switch device with offline responsiveness, lock and switch controller system with flexible commands |
US11348389B1 (en) * | 2021-05-17 | 2022-05-31 | Marat Kushnir | Lock and switch controller device with offline responsiveness to flexible commands |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5903226A (en) | 1993-03-15 | 1999-05-11 | Prince Corporation | Trainable RF system for remotely controlling household appliances |
JP2606613B2 (ja) * | 1994-12-28 | 1997-05-07 | 日本電気株式会社 | 無線選択呼出受信機のデータ書込方式 |
US6512461B1 (en) * | 1996-09-26 | 2003-01-28 | Lear Automotive Dearborn, Inc. | Method of teaching transmitter codes to remote receivers |
US6323566B1 (en) * | 1996-10-10 | 2001-11-27 | Texas Instruments Incorported | Transponder for remote keyless entry systems |
US6137421A (en) | 1997-11-12 | 2000-10-24 | Prince Corporation | Method and apparatus for storing a data encoded signal |
US7586398B2 (en) * | 1998-07-23 | 2009-09-08 | Universal Electronics, Inc. | System and method for setting up a universal remote control |
US6944762B1 (en) * | 1999-09-03 | 2005-09-13 | Harbor Payments Corporation | System and method for encrypting data messages |
EP1190406A2 (en) * | 1999-11-26 | 2002-03-27 | Koninklijke Philips Electronics N.V. | Method and system for programming a universal remote controller |
KR100653801B1 (ko) | 2000-01-21 | 2006-12-05 | 소니 가부시끼 가이샤 | 데이터 처리 장치 및 데이터 처리 방법 |
JP2002101476A (ja) | 2000-09-25 | 2002-04-05 | Toshiba Corp | 情報処理装置 |
US8132105B1 (en) * | 2000-10-10 | 2012-03-06 | Koninklijke Philips Electronics, N.V. | Control codes for programmable remote supplied in XML format |
US20040208182A1 (en) * | 2003-04-16 | 2004-10-21 | Microsoft Corporation | Format independent consumer IR transceiver |
US20060089118A1 (en) * | 2004-10-21 | 2006-04-27 | Thomas Whitehouse | System and method for automated identification of end user devices by a universal remote control device |
US7786843B2 (en) * | 2005-04-19 | 2010-08-31 | Johnson Controls Technology Company | System and method for training a trainable transmitter and a remote control system receiver |
US7526705B2 (en) | 2005-05-03 | 2009-04-28 | Agere Systems Inc. | Acknowledgement message modification in communication networks |
ES2270725B1 (es) | 2005-09-20 | 2008-02-01 | Tuplaza Movilidad Y Desarrollo, S.L. | Sistema, dispositivo de control de acceso y metodo para permitir el intercambio y uso compartido de plazas de aparcamiento. |
US8384513B2 (en) | 2006-01-03 | 2013-02-26 | Johnson Controls Technology Company | Transmitter and method for transmitting an RF control signal |
JP4747996B2 (ja) * | 2006-08-21 | 2011-08-17 | 株式会社デンソー | 車両用無線キー、及び車両ドア遠隔施解錠制御システム |
US7889050B2 (en) * | 2006-08-31 | 2011-02-15 | Johnson Controls Technology Company | System and method for training a trainable transmitter |
JP2008160180A (ja) * | 2006-12-20 | 2008-07-10 | Toshiba Corp | 端末装置、電子機器、および多バイト文字コード伝送システム |
DE102007060808A1 (de) * | 2007-09-01 | 2009-03-05 | Maquet Gmbh & Co. Kg | Anordnung und Verfahren zum Bereitstellen mindestens einer Bedienfunktion einer Fernbedienung zum Bedienen eines Gerätes |
EP2043054A1 (en) * | 2007-09-25 | 2009-04-01 | Continental Automotive GmbH | Wireless flashable remote control |
JP2009217656A (ja) * | 2008-03-12 | 2009-09-24 | Hitachi Ltd | 情報機器におけるソフトウェア更新システム |
US8311490B2 (en) * | 2008-12-24 | 2012-11-13 | Johnson Controls Technology Company | Systems and methods for configuring and operating a wireless control system in a vehicle for activation of a remote device |
US8477019B2 (en) * | 2009-02-12 | 2013-07-02 | Qualcomm Incorporated | Methods and apparatus for a universal device controller using peer to peer communication |
-
2011
- 2011-02-04 JP JP2012552106A patent/JP5879271B2/ja active Active
- 2011-02-04 US US13/576,077 patent/US9819498B2/en active Active
- 2011-02-04 EP EP11740418.6A patent/EP2532116A4/en not_active Withdrawn
- 2011-02-04 CN CN201180017670.9A patent/CN103222227B/zh active Active
- 2011-02-04 WO PCT/US2011/023733 patent/WO2011097471A1/en active Application Filing
- 2011-02-04 KR KR1020127023163A patent/KR101713136B1/ko active IP Right Grant
-
2017
- 2017-11-13 US US15/811,009 patent/US10218516B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013520716A (ja) | 2013-06-06 |
US10218516B2 (en) | 2019-02-26 |
EP2532116A1 (en) | 2012-12-12 |
US20180123806A1 (en) | 2018-05-03 |
KR101713136B1 (ko) | 2017-03-07 |
CN103222227A (zh) | 2013-07-24 |
US9819498B2 (en) | 2017-11-14 |
EP2532116A4 (en) | 2015-11-18 |
US20120313744A1 (en) | 2012-12-13 |
WO2011097471A1 (en) | 2011-08-11 |
JP5879271B2 (ja) | 2016-03-08 |
KR20120120403A (ko) | 2012-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103222227B (zh) | 用于以无线方式重编程通信系统中的存储器的系统和方法 | |
AU2006200340B2 (en) | Method and apparatus to facilitate transmission of ternary movable barrier operator information | |
CN104167029B (zh) | 一种智能锁具及其操作方法 | |
DE60138747D1 (de) | Sendevorrichtung mit einer Funkverbindungssteuerungsschicht in einem Funkkommunikationssystem und entsprechendes Datenübertragungsverfahren | |
CN1682494A (zh) | 使用学习的远程控制的无线消费电子设备的设置 | |
CN106027250B (zh) | 一种身份证信息安全传输方法及系统 | |
US10532618B2 (en) | Tire pressure monitoring sensor | |
US8281130B2 (en) | Authentication system and authentication object device | |
CA2493703A1 (en) | Access control for electronic blasting machines | |
CN110620792A (zh) | 通信加密方法、通信设备、系统及计算机可读存储介质 | |
CN105235642A (zh) | 控制指令安全执行方法以及汽车防盗器主机 | |
CN105416234A (zh) | 控制指令安全传输方法及汽车防盗遥控器 | |
CN105281812A (zh) | 蓝牙取电开关及配套设备 | |
CN101174947A (zh) | 一种生物特征识别模块与智能密码体系相结合的安全系统 | |
KR20080004804A (ko) | 알에프아이디 리더(또는 단말)를 인증하는 보안알에프아이디 태그와 알에프아이디 리더(또는 단말) 인증방법 및 시스템과 이를 위한 기록매체 | |
CN107800563A (zh) | 无头电子装置的恢复 | |
CN109272729B (zh) | 防窃码遥控器识别方法及装置 | |
US8427357B2 (en) | Remote control system and method for operating the same | |
US20240144761A1 (en) | Security system for a moveable barrier operator | |
CN100407616C (zh) | 一种可自动更新一网络系统钥匙码的方法 | |
CN102685747A (zh) | 移动设备及其数据传输方法 | |
CN108632226A (zh) | 一种有线终端到网控器的加密方法 | |
JP2824021B2 (ja) | 遠隔制御装置 | |
EP3195285B1 (en) | Method for creating of an improved rolling code radio control | |
AU2022280894A1 (en) | Security system for a moveable barrier operator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: GENTEX CORP Free format text: FORMER OWNER: JOHNSON CONTROLS TECHNOLOGY COMPANY Effective date: 20140808 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20140808 Address after: michigan Applicant after: Gentex Corp Address before: michigan Applicant before: Johnson Controls Technology Company |
|
GR01 | Patent grant | ||
GR01 | Patent grant |