CN115910312A - 用于植入式医疗设备远程编程的系统和方法 - Google Patents
用于植入式医疗设备远程编程的系统和方法 Download PDFInfo
- Publication number
- CN115910312A CN115910312A CN202210920436.7A CN202210920436A CN115910312A CN 115910312 A CN115910312 A CN 115910312A CN 202210920436 A CN202210920436 A CN 202210920436A CN 115910312 A CN115910312 A CN 115910312A
- Authority
- CN
- China
- Prior art keywords
- imd
- configuration change
- programming
- hash
- transaction
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012508 change request Methods 0.000 claims abstract description 122
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims description 58
- 230000005540 biological transmission Effects 0.000 claims description 5
- 208000034585 immunodeficiency 102 Diseases 0.000 description 54
- 208000018603 immunodeficiency 12 Diseases 0.000 description 34
- 230000000747 cardiac effect Effects 0.000 description 21
- 230000000638 stimulation Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000007920 subcutaneous administration Methods 0.000 description 8
- 238000002560 therapeutic procedure Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000035939 shock Effects 0.000 description 6
- 206010003119 arrhythmia Diseases 0.000 description 5
- 230000006793 arrhythmia Effects 0.000 description 5
- 206010003658 Atrial Fibrillation Diseases 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000012806 monitoring device Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 208000001871 Tachycardia Diseases 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006794 tachycardia Effects 0.000 description 3
- 210000001519 tissue Anatomy 0.000 description 3
- 210000003484 anatomy Anatomy 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 230000029058 respiratory gaseous exchange Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 208000010496 Heart Arrest Diseases 0.000 description 1
- 206010019280 Heart failures Diseases 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 208000008784 apnea Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 208000006218 bradycardia Diseases 0.000 description 1
- 230000036471 bradycardia Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000013194 cardioversion Methods 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 210000003748 coronary sinus Anatomy 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000763 evoking effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 210000001308 heart ventricle Anatomy 0.000 description 1
- 238000002847 impedance measurement Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000002638 palliative care Methods 0.000 description 1
- 230000004962 physiological condition Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000036279 refractory period Effects 0.000 description 1
- 230000000241 respiratory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
- 230000001225 therapeutic effect Effects 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 230000002861 ventricular Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/40—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/372—Arrangements in connection with the implantation of stimulators
- A61N1/37211—Means for communicating with stimulators
- A61N1/37252—Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
- A61N1/37254—Pacemaker or defibrillator security, e.g. to prevent or inhibit programming alterations by hackers or unauthorised individuals
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/372—Arrangements in connection with the implantation of stimulators
- A61N1/37211—Means for communicating with stimulators
- A61N1/37252—Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
- A61N1/37264—Changing the program; Upgrading firmware
-
- 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
-
- 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/3247—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 involving digital signatures
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/372—Arrangements in connection with the implantation of stimulators
- A61N1/37211—Means for communicating with stimulators
- A61N1/37235—Aspects of the external programmer
- A61N1/37247—User interfaces, e.g. input or presentation means
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/372—Arrangements in connection with the implantation of stimulators
- A61N1/37211—Means for communicating with stimulators
- A61N1/37252—Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/30—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
- G16H40/67—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
-
- 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
- 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Veterinary Medicine (AREA)
- Radiology & Medical Imaging (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Animal Behavior & Ethology (AREA)
- Primary Health Care (AREA)
- Epidemiology (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Biophysics (AREA)
- Heart & Thoracic Surgery (AREA)
- Electrotherapy Devices (AREA)
Abstract
提供了计算机实现的方法和系统,该方法和系统在植入式医疗设备(IMD)处接收编程包,该编程包包括配置改变请求的集合、交易凭证和指示编程包的来源的签名。交易凭证包括配置改变请求的集合的第一散列。IMD通过使用与外部设备唯一相关联的密钥解密签名来校验作为来源的外部设备。IMD验证交易凭证和编程包的配置改变请求,并生成配置改变请求的集合的第二散列。响应于(i)第二散列与第一散列匹配和(ii)交易凭证和配置改变请求被验证,IMD执行配置改变请求的集合以更新IMD的操作配置。
Description
相关申请的交叉引用
本申请要求2021年8月23日提交的美国临时专利申请第63/235,959号的优先权,名称为“System And Method For Implantable Medical Device Remote Programming(植入式医疗设备远程编程的系统和方法)”。该临时申请的主题通过引用整体结合于此。
技术领域
本发明的实施例一般涉及经由远程通信更新植入式医疗设备(IMD)的操作配置的方法、系统和设备。
背景技术
植入式医疗设备(IMD)是医疗设备,所述医疗设备被配置以植入患者解剖结构内,且通常采用一个或多个电极,所述电极从器官或组织接收电压、电流或其他电磁脉冲或向器官或组织传送电压、电流或其他电磁脉冲,以用于诊断或治疗目的。通常,IMD包括电池、电子电路、脉冲发生器、收发器和微处理器。微处理器被配置为处理与外部设备或仪器的通信以及控制患者治疗。IMD的部件被密封在外壳内。IMD完全封闭在人体内。因此,除了通过无线通信之外,在IMD和外部设备之间没有直接交互的手段。
随着时间的推移,IMD可能需要编程更新,以调整IMD的行为和操作。编程更新从患者体外的外部设备无线传送到患者体内的IMD。编程通信需要是安全的,以确保交换信息的真实性和完整性。对无线编程通信进行认证的一种方式是使IMD能够检测发送编程更新的外部设备的接近度,另一种方式是使IMD能够连接到网络(例如,因特网)以与认证机构通信。然而,这些方法中的每一种都需要额外的硬件和软件(例如,接近传感器、网络连接等)这将增加成本,将占据IMD的外壳中的宝贵空间,并且将从IMD的车载电池中汲取大量电力,该电池通常是不可充电的。
仍需改进方法和系统,以利用现有硬件在IMD和外部设备之间建立安全的远程编程通信,且不会过度从电池中获取电力。
发明内容
根据一个实施例,提供了一种IMD,IMD包括配置为植入患者体内的外壳和设置在外壳内的一个或多个处理器。该一个或多个处理器被配置为接收编程包,该编程包包括配置改变请求的集合、交易凭证和指示编程包的来源的签名。交易凭证包括配置改变请求的集合的第一散列。一个或多个处理器被配置为通过使用与外部设备唯一相关联的密钥解密签名来校验作为来源的外部设备;验证编程包的交易凭证和配置改变请求;并且生成配置改变请求的集合的第二散列。响应于(i)第二散列与第一散列匹配以及(ii)交易凭证和配置改变请求被验证,一个或多个处理器被配置为执行配置改变请求的集合以更新IMD的操作配置。
可选地,响应于以下中的至少一个:(i)第二散列与第一散列不匹配或(ii)交易凭证或配置改变请求中的至少一个未被验证,一个或多个处理器被配置为放弃配置改变请求的集合的执行。可选地,交易凭证包括到期凭证,该到期凭证包括编程包到期的指定时间。一个或多个处理器被配置为通过确定编程包未到期来验证交易凭证的到期凭证。
可选地,所述交易凭证包括目标设备凭证,目标设备凭证识别旨在执行配置改变请求的集合的特定装置或装置平台中的一者或两者。一个或多个处理器被配置为通过确定IMD是特定设备或具有设备平台来验证目标设备凭证。可选地,交易凭证包括角色凭证,该角色凭证提供选择了配置改变请求的集合的用户的特权级别。一个或多个处理器被配置为通过确定每个相应的配置改变请求没有超过与角色凭证相关联的特权级别来验证配置改变请求中的每一个。可选地,交易凭证包括识别IMD的当前操作配置或指示IMD的操作配置的最近更新的最后编程时间戳中的一者或两者的编程凭证。一个或多个处理器被配置为通过确认编程凭证是正确的来验证编程凭证。
可选地,响应于配置改变请求的集合的执行,该一个或多个处理器被配置为生成结果消息,以传送至外部设备。结果消息指示IMD的操作配置被更新。可选地,密钥是存储在IMD的存储器设备中的公共密钥。编程包中的签名由外部设备使用私有密钥生成,该私有密钥与外部设备唯一相关联,并与公共密钥形成密钥对。
可选地,该IMD具有通信调制解调器,该通信调制解调器被配置为在IMD皮下设置于所述患者体内时无线接收该编程包。可选地,该一个或多个处理器被配置为通过确定签名的解密数据与编程包的交易凭证中的一个或多个相匹配来校验作为编程包的来源的外部设备。可选地,一个或多个处理器被配置为基于IMD接收编程包的配置改变请求的顺序来生成第二散列。
在至少一个实施例中,提供了一种包括IMD和一个或多个外部设备的系统。该IMD包括被配置为植入患者体内的外壳和设置在外壳内的一个或多个处理器。一个或多个外部设备中的每一个包括控制器和通信电路。一个或多个外部设备中的至少一个外部设备的控制器被配置为获得配置改变请求的集合;获得交易凭证的组;并且生成配置改变请求的集合的第一散列。第一散列表示组中的交易凭证之一。控制器还被配置为通过使用与一个或多个外部设备中的第一外部设备唯一相关联的第一密钥加密该组中的交易凭证中的一个或多个来生成签名,并且通过组合配置改变请求的集合、交易凭证的组和签名来构建编程包。一个或多个外部设备中的至少一个的通信电路被配置为将编程包无线传送到IMD。IMD的一个或多个处理器被配置为从一个或多个外部设备的通信电路接收编程包,并且通过使用第一密钥或与第一外部设备唯一相关联的第二密钥解密签名来校验作为编程包的来源的第一外部设备。用于解密签名的第一密钥或第二密钥存储在IMD的存储器设备中。IMD的一个或多个处理器被配置为验证编程包的交易凭证和配置改变请求,并生成配置改变请求的集合的第二散列。响应于(i)第二散列与第一散列匹配以及(ii)交易凭证和配置改变请求被验证,IMD的一个或多个处理器被配置为执行配置改变请求的集合以更新IMD的操作配置。
可选地,第一密钥是与第一外部设备相关联的私有密钥。IMD的一个或多个处理器被配置为使用第二密钥来解密签名。第二密钥是公共密钥,该公共密钥与私有密钥形成密钥对。可选地,响应于以下中的至少一个:(i)第二散列与第一散列不匹配或(ii)交易凭证或配置改变请求中的至少一个未被验证,IMD的一个或多个处理器被配置为放弃配置改变请求的集合的执行。可选地,一个或多个外部设备包括或代表临床医生编程设备、床边监视器、智能手机、平板电脑、膝上型电脑、台式电脑、服务器或可穿戴计算机中的一个或多个。
可选地,所述交易凭证包括第一散列和以下中的至少两者:(i)到期凭证,该到期凭证包括所述编程包到期的指定时间;(ii)目标设备凭证,该目标设备凭证识别旨在执行配置改变请求的集合的特定设备或设备平台中的一者或两者;(iii)角色凭证,该角色凭证提供选择配置改变请求的集合的用户的特权级别;以及(iv)编程凭证,该编程凭证识别IMD的当前参数组或指示IMD的操作配置的最近更新的最后编程时间戳中的一者或两者的编程凭证。可选地,一个或多个外部设备的通信电路被配置为当IMD被皮下植入患者体内并且一个或多个外部设备在患者体外时,将编程包无线传送到IMD。
在至少一个实施例中,提供了一种包括在配置为植入患者体内的IMD处接收编程包的方法。该编程包包括配置改变请求的集合、交易凭证和指示编程包的来源的签名。交易凭证之一是配置改变请求的集合的第一散列。该方法包括经由IMD的一个或多个处理器,通过使用与外部设备唯一相关联并存储在IMD的存储器设备中的密钥解密签名,来校验作为来源的外部设备。该方法还包括验证编程包的交易凭证和配置改变请求,并生成配置改变请求的集合的第二散列。响应于(i)第二散列与第一散列匹配以及(ii)交易凭证和配置改变请求被验证,该方法包括执行配置改变请求的集合以更新IMD的操作配置。
可选地,校验作为编程包的来源的外部设备包括使用密钥确定签名的解密数据与编程包的交易凭证中的一个或多个相匹配。可选地,响应于以下中至少一个:(i)第二散列与第一散列不匹配或(ii)交易凭证或配置改变请求中的至少一个未被验证,该方法包括放弃配置改变请求的集合的执行。
附图说明
图1示出了根据本文实施例操作的系统的简化框图。
图2显示了根据实施例的图1系统的框图。
图3是根据实施例的系统的示意图。
图4是向IMD提供编程包的方法的流程图。
图5是在更新IMD的操作配置之前安全分析编程包的方法的流程图。
具体实施方式
本文的实施例提供了设计用于增强一个或多个外部设备和IMD之间的无线编程通信的完整性和真实性的方法和系统。
容易理解的是,除了所述示例性实施例之外,本文附图中总体描述和说明的实施例的部件还可以多种不同配置进行布置和设计。因此,如附图中所示,以下对示例性实施例的更详细描述并不旨在限制所要求保护的实施例的范围,而仅仅是示例性实施例的代表。
本说明书中提及的“一个实施例”或“实施例”(等)是指结合实施例描述的特定特征、结构或特性包含在至少一个实施例中。因此,在整个说明书的不同地方出现的短语“在一个实施例中”或“在实施例中”等不一定都指同一实施例。
此外,所述特征、结构或特性可在一个或多个实施例中以任何合适的方式组合。在下面的描述中,提供了许多具体细节以给出对实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有一个或多个具体细节的情况下,或者利用其他方法、部件、材料等来实践各种实施例。在其他情况下,为了避免混淆,没有详细示出或描述公知的结构、材料或操作。以下描述仅旨在作为示例,并且简单地示出了某些示例实施例。
本文所述方法可采用本文所述各种实施例(例如,系统和/或方法)的结构或方面。在各种实施例中,可以省略或添加某些操作,可以组合某些操作,可以同时执行某些操作,可以同时执行某些操作,可以将某些操作分成多个操作,可以以不同的顺序执行某些操作,或者可以以迭代的方式重新执行某些操作或一系列操作。应当注意的是,根据这里的实施例,可以使用其他方法。此外,其中指出,这些方法可以完全或部分地由一个或多个设备或系统的一个或多个处理器来实现。虽然一些方法的操作可以被描述为由一个设备的处理器来执行,但是另外,一些或所有这样的操作可以由这里描述的另一个设备的处理器来执行。
术语“皮肤下”和“皮下”是指皮肤之下,但不是静脉内(例如,非经静脉)。例如,皮下袋中的植入设备不位于心室、心脏静脉或冠状窦的侧支或后支中。皮肤下或皮下袋位于皮肤之下,但在肌肉之上。
结合数据、信号、信息等使用的术语“获取”和“获得”包括以下至少一个i)访问外部设备或远程服务器,存储数据、信号、信息等的存储器。ii)通过IMD和本地外部设备之间的无线通信链路接收数据、信号、信息等,和/或iii)通过网络连接接收在远程服务器上的数据、信号、信息等。从IMD的角度来看,获取操作可以包括实时感测新信号,和/或访问存储器以从IMD的存储器读取存储的数据、信号、信息等。从本地外部设备的角度来看,获取操作包括在本地外部设备的收发器中接收数据、信号、信息等,其中该数据、信号、信息等是从IMD和/或远程服务器发送的。获取操作可以从远程服务器的角度来看,诸如在来自本地外部设备和/或直接来自IMD的网络接口处接收数据、信号、信息等。远程服务器也可以从本地存储器和/或从其他存储器(诸如在云存储环境中,和/或从工作站或外部临床编程器的存储器)获得数据、信号、信息等。
图1示出了根据本文实施例操作的系统10的简化框图。系统10包括IMD 12和一个或多个外部设备或仪器14。图1中示出了单个外部设备14。IMD 12和外部设备14被配置为通过无线通信链路16彼此无线通信。在实施例中,外部设备14通过沿着通信链路16向IMD 12发送编程包来更新IMD12的操作配置。本文描述的实施例提供了一种算法或工作流程,用于在执行配置改变请求以更新IMD的操作配置之前,验证编程包的配置改变请求的有效性、完整性和真实性。例如,植入式起搏器或心律转复除颤器的配置改变可以表示灵敏度阈值的改变、宁滨心房纤维性颤动(binning atrial fibrillation)或心动过速事件(tachycardia event)的心率阈值的改变、在递送治疗之前应该发生的心律失常事件的数量的改变、通信增益的改变、通信协议的改变等。配置改变可包括对诊断和/或临床护理的重要执行操作的更新,诸如导线阻抗测试、感测水平测试,或者甚至作为姑息护理的一部分禁用设备操作。
IMD 12植入患者8体内靠近心脏9的部位。IMD 12可以是心脏起搏器、植入式心脏监测设备(ICM)、除颤器、与起搏器耦合的ICM等。IMD 12旨在植入患者的皮下袋中。IMD 12可以被配置为感测心脏信号,以随着时间的推移监测心脏活动。可选地,IMD 12也可以被配置为向心脏9传递刺激治疗。例如,IMD 12可以是双腔刺激设备,该双腔刺激设备能够用刺激疗法治疗快速和慢速心律失常,包括心脏复律、除颤和起搏刺激,并且能够检测心力衰竭、评估其严重性、跟踪其进展以及控制治疗的传递和响应于此的警告。
图示实施例中的IMD 12包括连接至至少一根导线19的主体或外壳18。图1中示出了单根导线19,但是在另一个实施例中,IMD 12可以包括多根导线。导线19从外壳18延伸到心脏9,使得远端与心脏9周围的患者组织接触。导线19包括一个或多个电极,其可以测量心脏9的心脏信号并向心脏9传递刺激治疗。在实施例中,单个电极可以在刺激模式下发射刺激脉冲,然后可以快速切换到监测模式以检测刺激脉冲之后的心脏信号。
尽管所示实施例中的IMD 12包括导线19,但本文所述的一个或多个实施例采用不包括任何引线的无引线IMD。例如,IMD 12可以是无引线起搏器、无引线心脏监测设备(ICM)等。通常,IMD 12可以代表心脏监测设备、起搏器、心脏复律器、心律管理设备、除颤器、神经刺激器、无引线监测设备、无引线起搏器等。例如,IMD可以包括在美国专利9,333,351“Neurostimulation Method And System To Treat Apnea(用于治疗呼吸暂停的神经刺激方法和系统)”中描述的设备的一个或多个结构和/或功能方面;美国专利9,044,610“System And Methods For Providing A Distributed Virtual Stimulation CathodeFor Use With An Implantable Neurostimulation System(用于提供与可植入神经刺激系统一起使用的分布式虚拟刺激阴极的系统和方法)”;美国专利10,765,860“Subcutaneous Implantation Medical Device With Multiple Parasternal-AnteriorElectrodes(具有多个胸骨旁前电极的皮下植入式医疗设备)”;美国专利10,722,704“Implantable Medical Systems And Methods Including Pulse Generators And Leads(包括脉冲发生器和导线的植入式医疗系统和方法)”;和美国专利11,045,643“SingleSite Implantation Methods For Medical Devices Having Multiple Leads(用于具有多个引线的医疗设备的单点植入方法)”,在此通过引用将其全部内容并入。另外或可选地,IMD可以是无引线植入式医疗设备(LIMD),其包括在美国专利9,216,285“LeadlessImplantable Medical Device Having Removable And Fixed Components(具有可移除和固定部件的无引线植入式医疗设备)”和美国专利8,831,747““LeadlessNeurostimulation Device And Method Including The Same(无引线神经刺激设备和包括该设备的方法)”中描述的设备的一个或多个结构和/或功能方面,这些专利通过引用结合于此。附加地或可替换地,IMD可以包括在美国专利8,391,980“Method And System ForIdentifying A Potential Lead Failure In An Implantable Medical Device(用于识别植入式医疗设备中潜在导线故障的方法和系统)”和美国专利9,232,485“System AndMethod For Selectively Communicating With An Implantable Medical Device(用于选择性地与植入式医疗设备通信的系统和方法)”中描述的设备的一个或多个结构和/或功能方面,这些专利通过引用结合于此。附加地或替代地,可以利用2020年7月16日提交的题为“METHODS,DEVICES AND SYSTEMS FOR HOLISTIC INTEGRATED HEALTHCARE PATIENTMANAGEMENT(用于整体综合健康护理患者管理的方法、设备和系统)”(美国公开号2021/0020294)的美国申请序列号16/930791中描述的方法和系统的全部或部分来实现实施例。
在另一个示例中,IMD 12可为ICM,该ICM包括美国专利9,949,660中题为“MethodAnd System To Discriminate Rhythm Patterns In Cardiac Activity(识别心脏活动节律模式的方法和系统)”所述设备的一个或多个结构和/或功能方面,该专利通过引用明确纳入本文。本文引用的所有参考文献,包括出版物、专利申请和专利,都在此引入作为参考,就好像每个参考文献都被单独和具体地指出引入作为参考,并且在本文中被完整地阐述。
外壳18可包含电池、脉冲发生电路、通信电路、数据存储设备(例如,存储器)和/或包括一个或多个处理器的控制电路。控制电路用于接收和分析来自电极13的心电图IEGM信号。控制电路可以包括至少一个处理器,用于根据算法处理IEGM信号,以确定心脏9的状态。存储器为心脏信号和控制电路的编程指令提供存储。电池为外壳10的电路供电。例如,电池为脉冲发生电路供电以生成刺激脉冲,并为通信电路供电以与外部设备16通信。控制电路可以生成将经由通信电路传送到外部设备14的消息。这些消息可以包括IEGM信号和/或基于IEGM信号生成的数据。控制电路还被配置为分析经由通信电路从外部设备14接收的消息,该消息包括用于更新IMD 12的操作配置的编程包,该操作配置包括设置、参数、行为等。下面结合图2讨论并示出了IMD 12的示例性结构。
外部设备14可表示患者或临床医生可访问或拥有的计算设备,诸如平板电脑、智能手机、可穿戴设备、笔记本电脑、台式电脑、安装在患者家中的床边监视器等。外部设备14可选地可以是临床医生在诊所中使用的编程器设备。外部设备可以是上面列出的设备之一,其通信连接到第二外部设备,该第二外部设备表示旨在更新IMD 12的操作配置的编程包的来源。例如,第二外部设备可以是经由网络连接(例如,因特网)通信连接到第一外部设备14的服务器或另一计算设备。通常,外部设备14便于医生访问患者数据,并且允许医生查看实时心电图(ECG)信号,并且如本文具体描述的,在临床医生不在患者附近的情况下更新IMD 12的操作配置。
图2显示了根据实施例的系统10的框图。IMD 12的外壳18或壳体容纳电子和/或计算部件。外壳18还包括具有至少一个端子52和可选的附加端子54、56、58、60的连接器(未示出)。端子可以连接到位于心脏内和心脏周围的不同位置的电极,诸如在导线19上(如图1所示)。电极可以包括环、尖端、线圈、电击电极等的各种组合。
IMD 12包括可编程微控制器20,其控制IMD 12的各种操作,包括心脏监测和刺激治疗。微控制器20包括一个或多个处理器(例如,微处理器或等效的控制电路)、RAM和/或ROM存储器、逻辑和定时电路、状态机电路和I/O电路。微控制器20包括心律失常检测器34,其被配置为根据心脏活动数据来识别潜在的心房纤维性颤动(AF)发作以及其他心律失常(例如心动过速、心动过缓、心搏停止等)。
可选地提供电极配置开关26,以允许在微控制器20的控制下选择不同的电极配置。电极配置开关26可以包括多个开关,用于将期望的电极连接到适当的I/O电路,从而促进电极可编程性。开关26由来自微控制器20的控制信号28控制。可选地,可以省略开关26,并且I/O电路直接连接到外壳电极。
IMD 12可包括室脉冲发生器22,其生成刺激脉冲,用于将所需电极连接至适当的I/O电路,从而促进电极可编程性。脉冲发生器22由微控制器20经由控制信号24控制。IMD12包括选择性地耦合到一个或多个电极的感测电路44,该感测电路44通过开关26执行感测操作以检测心脏活动。感测电路44可以包括专用感测放大器、多路复用放大器或共享放大器。感测电路44可以在单极感测配置或双极感测配置中操作。感测电路44的输出连接到微控制器20,微控制器20响应心脏活动的存在或不存在而触发或抑制脉冲发生器22。感测电路44从微控制器20接收控制信号46,用于控制耦合到感测电路的任何阻塞电路(未示出)的增益、阈值、极化和定时。
IMD 12还包括模数A/D数据采集系统(DAS)84,其经由开关26耦合至一个或多个电极,以对任意一对所需电极上的心脏信号进行采样。A/D DAS84由来自微控制器20的控制信号86控制。
IMD 12还配备有通信调制解调器(调制器/解调器)或电路40,以实现无线通信。调制解调器240能够及时准确地将数据从患者直接传输到外部设备14,反之亦然。例如,通信调制解调器40被配置为建立与外部设备14的通信链路16。在实施例中,通信调制解调器40从外部设备14接收编程包,并在执行包含在编程包中的配置改变请求和/或命令执行请求之前,将编程包传送到微控制器20进行验证。除了IMD 12的远程编程之外,与外部设备14的无线通信链路16便于医生和/或患者访问由IMD 12生成的患者数据。
通信调制解调器40可利用射频(RF)、蓝牙或蓝牙低能量遥测协议。信号在高频范围内传输,并将在液体中穿过身体组织,而不会刺激心脏或被患者感觉到。通信调制解调器40可以作为微控制器20的一部分在硬件中实现,或者作为编程到微控制器20中并由微控制器20执行的软件/固件指令来实现。或者,调制解调器40可以作为独立的硬件部件与微控制器20分开。
微控制器20通过合适的数据/地址总线62耦合至非暂时性数据存储设备,本文称为存储器设备88。存储器设备88存储微控制器20使用的可编程操作参数和/或与心律失常的检测和确定相关联的数据。在实施例中,存储器设备88还存储一个或多个密钥,该密钥用于对接收到的编程包的密码签名进行解密,以校验编程包的来源。例如,存储器设备88可以存储与外部设备14或另一外部设备唯一相关联的公共密钥,该外部设备生成或构建编程包。
IMD 12可选地包括一个或多个生理传感器70,可调节起搏刺激率,检测心输出量的改变、心脏生理状况的改变和/或活动的昼夜改变(例如,检测睡眠和觉醒状态)。生理传感器70的示例可以包括例如感测呼吸率、血液pH值、心室梯度、活动、身体运动、位置/姿势、每分钟通气量(MV)等的传感器。
电池72为IMD 12中的所有部件提供工作电源。电池72能够在低电流消耗下长时间工作,并且能够在患者需要电击脉冲(例如,超过2A,电压高于2V,持续10秒或更长时间)时提供高电流脉冲(用于电容器充电)。
IMD 12还包括阻抗测量电路74,可用于多种用途,包括感知呼吸相位。IMD 12还可以配备遥测电路64,当经由物理(例如,有线)通信链路连接时,该遥测电路64可以选择性地与外部设备(诸如,设备14)通信。IMD 12包括由微控制器20生成的控制信号86控制的电击电路80。电击电路80生成由微控制器20控制的低能量(例如,高达0.5焦耳)、中等能量(例如,0.5-10焦耳)或高能量(例如,11至40焦耳)的电击脉冲。在IMD 12感测和监测心脏活动而不实施刺激治疗的替代实施例中,IMD 12可以没有脉冲发生器22和电击电路80。
微控制器20可包括其他专用电路和/或固件/软件部件,诸如定时控制(模块)32和形态检测器(模块)36。定时控制32用于控制各种定时参数,诸如刺激脉冲(例如,起搏速率、心房-心室(AV)延迟、心房间传导(A-A)延迟、心室间传导(V-V)延迟等)以及跟踪RR间隔、不应期、消隐间隔、噪声检测窗口、诱发反应窗口、警报间隔、标记通道定时等的定时。形态检测器36被配置为检查和分析心脏活动信号的形态的一个或多个特征,诸如检测到的R波的形态,以确定是否包括或排除一个或多个心跳进行进一步分析。
图3是根据实施例的系统100的示意图。当IMD 102植入患者体内时,系统100提供IMD 102的安全远程编程。除了IMD 102,系统100包括一个或多个外部设备。在图示的实施例中,外部设备包括第一外部设备104和第二外部设备106,但是在其他实施例中,系统100可以仅包括单个外部设备或者多于两个外部设备。系统100可以表示图1和图2所示的系统10。例如,IMD 102可以表示IMD 12,第二外部设备106可以表示外部设备14。
一个或多个外部设备构建编程包108,被设计用于更新IMD 102的操作配置。IMD102的操作配置通常指规定设备行为的特定设置、功能、参数等。例如,操作配置影响IMD102如何收集数据,诸如心脏信号,IMD 102如何分析数据,以及IMD 102如何响应数据。该响应可以包括激活脉冲发生器或电击电路以向患者传递刺激治疗、将数据保存在存储器设备中、将数据传送到外部设备106等。即使IMD 102先前已经被编程,由于患者的生理改变、IMD102在患者体内的计划外移动,或者甚至为了基于软件开发增强IMD 102的功能,操作配置也可能随着时间而更新。
在图示实施例中,第一外部设备104构建编程包108。在非限制性示例中,临床医生访问并利用第一外部设备104来选择多个配置改变请求114的集合112以包括在编程包108中。第一外部设备104可以是临床编程器设备、工作站或计算设备(例如,智能手机、平板电脑、膝上型电脑等)。临床医生可以通过经由网络110与云中的服务器或其他计算设备通信来选择集合112。例如,在接收访问以选择配置改变请求114并命令生成编程包108之前,可能需要临床医生登录到安全门户。第一外部设备104可以远离第二外部设备106和患者。
第一外部设备104经由网络110将编程包108作为消息传送至第二外部设备106。在非限制性示例中,第二外部设备106是至少在第二外部设备106将编程包108传送给IMD 102时靠近患者放置的设备。例如,第二外部设备104可以是患者使用或拥有的床边监视器设备或计算设备,诸如智能手机、平板电脑、膝上型电脑等。
当第二外部设备106接收到编程包108时,编程包108可安排在未来的指定时间向IMD 102发送编程包108。第二外部设备106最初将编程包108存储在设备106的存储器设备中,直到指定时间。在指定的时间,第二外部设备106将编程包108无线传输到IMD 102。这种预先安排经由中间设备向IMD传送编程包的过程被称为异步远程编程。在IMD 102接收编程包108时,IMD 102被植入患者体内。根据本文的实施例,在执行配置改变请求114的集合112之前,IMD 102执行一系列操作来验证编程包108的真实性、有效性和完整性。如果编程包108的所有元素都被验证,则IMD 102执行所有的配置改变请求114,以更新IMD 102的操作配置。另一方面,如本文所述,如果至少一个元件未被验证,则IMD 102不执行任何配置改变请求114,使得IMD 102的操作配置不被更新。
第一外部设备104和第二外部设备106包括各自的控制器电路(例如,控制器)和通信电路。每个控制器包括一个或多个处理器。在上述过程中,第一外部设备104的控制器116生成编程包108。第一外部设备104的通信电路118经由网络110将编程包108传送给第二外部设备106。第二外部设备106的通信电路120接收编程包108,并将编程包108传送到第二外部设备106的控制器122进行分析。控制器122确定用于将编程包108传送到IMD102的安排的传送时间和传输特性,诸如频道和协议。在安排的交付时间,控制器122利用通信电路120将编程包108发送到IMD 102。通信电路120可以包括天线124,该天线124经由RF信号(诸如蓝牙)无线发送编程包108。表示编程包108的信号穿透患者的身体126并到达IMD 102的接收器。接收器可以是图2所示的通信调制解调器40,其将接收到的数据包传送到微控制器20的一个或多个处理器进行分析。这样,IMD 102有利地能够接收编程包108,而不需要网络连接或接近传感器。
在上述情况下,编程包108从来源到IMD 102的通信被延迟和/或间接,存在编程包108的内容在生成后和被IMD 102接受前被篡改或破坏的风险。本文描述的系统100和方法执行密码操作以确保配置改变请求114是不可变的,并且包108的来源在由IMD 102执行之前被认证。
图4是向IMD提供编程包的方法200的流程图。图4所示的方法200可以表示用于提供IMD的安全远程编程的更大方法的一部分。方法200由一个或多个外部设备执行。参考图3描述了图4中的方法200,因此以下操作可以由外部设备104、106中的一个或两个来执行。
在步骤202,获得多个配置改变请求114的集合112。外部设备或其一个或多个处理器(例如,控制器)可以经由接收来自用户的用户输入选择来获得配置改变请求。例如,临床医生可以从外部设备显示的用户界面进行选择。具有可用配置改变的用户界面可以在外部设备处从诸如因特网的网络接收。或者,外部设备的一个或多个处理器可以通过从外部设备上的存储器设备访问配置改变来获得由临床医生选择的配置改变请求。配置改变请求114的集合112可以包括用于改变IMD如何操作的至少一部分的参数、设置、功能、算法、指令等。集合112中的配置改变请求114可以是相关的,使得请求114的执行更新IMD 102的不同方面,总的来说,完成IMD操作配置的改变。
在步骤204,获得交易凭证(transaction credential)130的组128。交易凭证130提供关于要传送给IMD 102的编程包108的信息,诸如识别生成编程包108的来源。IMD 102使用交易凭证130来验证编程包108来自真实的来源而没有被篡改或在生成后被破坏。在实施例中,获得所有以下交易凭证130。或者,交易凭证130可以不包括以下示例中的至少一个。一个交易凭证130是到期凭证。到期凭证包括(正在构造的)编程包108将到期的未来的指定时间。一旦编程包108到期,配置改变请求变得没有意义。
另一个交易凭证130是目标设备凭证,用于识别正在构建的编程包108的预期接受方。目标设备是旨在执行配置改变请求114的集合112的设备。可以经由包括与一个(且仅一个)特定设备唯一相关联的识别符来具体识别预期接受方。此外,或者作为替代,预期接受方可以是编程包108被设计为与之兼容的设备平台。设备平台可以包括硬件和/或软件。
第三交易凭证130为角色凭证,其提供选择配置改变请求114的用户的权限级别。角色凭证指定了要检查的编程请求的特权级别。给定的编程请求可以作为临床医生授权的用于改变设备操作行为的配置改变来发起,或者可以作为用于设备监测的远程护理特定配置改变来发起。选择请求的用户可以包括患者(其中植入了IMD 102)、护理患者并被指派确保IMD 102的功能的临床医生、或者既不是患者也不是患者的临床医生的第三方。每个用户可能必须在接收访问由IMD 102生成的查看数据和选择配置改变请求114之前登录到用户界面。临床医生比患者具有更高的特权级别,使得临床医生比患者具有更高的权限来影响IMD 102的功能。角色凭证还可以包含除用户身份之外的其他特性,诸如用户选择配置改变请求114的时间和/或在用户选择配置改变请求114时用户是位于患者附近还是远离患者。
在非限制性示例中,IMD/外部通信接口基于领域信息模型(DIM)。基于建立连接的访问级别,该接口支持的每个命令/请求都有受限的访问级别。第二外部设备106可以是远程患者应用或临床编程器应用。临床编程器应用可以被授予比远程患者应用更高的许可级别,使得如果与远程患者应用建立连接,则临床编程器应用允许的一些命令不被允许。角色凭证可以允许临时使用交易上下文中的其他访问角色。例如,经由将角色设置为临床编程器应用的角色凭证,利用远程患者应用的用户可以执行通常只允许临床编程器应用执行的命令。
第四交易凭证130为编程凭证,其识别IMD 102所利用的当前操作配置,如制定编程包108的外部设备所理解的。当前操作配置包括控制IMD 102的行为以监测心脏活动的参数、设置、算法等。除了当前操作配置之外,或者作为当前操作配置的替代,编程凭证可以包括最后编程时间戳,该时间戳指示IMD 102的操作配置最近被更新的时间,如制定编程包108的外部设备所理解的。
另一个交易凭证130可为来源凭证,其识别生成编程包108的来源设备,诸如特定外部设备(例如,计算机、服务器、程序等)。来源凭证可选地可以识别用于生成编程包108的软件版本、固件版本等。另一个交易凭证130是散列凭证,该散列凭证是配置改变请求114的集合112的加密散列。
在步骤206,生成配置改变请求114的集合112的第一散列。第一散列定义或表示交易凭证130的散列凭证。第一散列是通过对数据应用散列函数而生成的密码散列。该数据可以是按照IMD 102打算执行的顺序的配置改变请求114。例如,配置改变请求114可以从第一个到最后一个连接在数组中,而不包括非请求数据,诸如识别集合112的开始和/或结束的字符串,然后通过对该数组应用散列函数来生成散列。根据实施例的第一散列是SHA-256散列,但是在另一个实施例中可以是另一种类型的散列。在(i)M.Singh and D.Garg,"Choosing Best Hashing Strategies and Hash Functions,"2009IEEE InternationalAdvance Computing Conference,2009,pp.50-55,doi:10.1109/IADCC.2009.4808979和(ii)B.Preneel,“Cryptographic hash functions,”Eur.Trans.Telecomm.,5:431-448(1994),https://doi.org/10.1002/ett.4460050406中描述了散列函数的其他示例,这两篇文章在此引入作为参考。
在步骤208,使用与生成编程包108的来源唯一相关联的密钥生成签名132。例如,来源可以是第一外部设备104,因此与第一外部设备104唯一相关联的密钥被用于生成签名132。在实施例中,签名132是使用密钥生成的组128中的一个或多个交易凭证130的密码加密。签名132可以被称为密码签名。在第一示例中,通过加密整个组128并且仅加密组128来生成签名132。在第二示例中,签名132是组128的仅一部分的加密,诸如仅散列凭证。在第三示例中,签名132是一个或多个交易凭证130和一个或多个配置改变请求114的加密,可选地是整个组128和整个集合112。
用于生成签名132的密钥可以是作为秘密(例如,不为公众所知)的私有密钥。私有密钥只为相关联的设备所知,在该示例中,该相关联的设备是第一外部设备104。签名132只能使用与私有密钥形成密钥对的公共密钥来解密。公共密钥也唯一地与第一外部设备104相关联,但公共密钥不是秘密。例如,与第一外部设备104对应的密钥对的公共密钥可以存储在IMD 102上的存储器设备88中。在另一示例中,密钥可以是对称密钥,使得IMD 102可以使用相同的密钥来解密签名132。
在步骤210,通过组合配置改变请求114的集合112、交易凭证130的组128和签名132,构建编程包108。可选地,签名132可以被分组为组128中的交易凭证130之一。
可选地,如果编程包108由一个外部设备(例如,设备104)生成,并经由中间外部设备(例如,设备106)传输至IMD 102,则该方法还可包括外部设备之间的包108的移交的认证步骤。例如,第一外部设备104可以对包108进行密码签名,然后将包108发送给第二外部设备106。在接受时,第二外部设备106验证所接收的包108及其签名,以确保在实体之间传递的包108的真实性。包108的签名可以利用设备104和106的公共密钥基础设施(例如,与设备104和106唯一相关联的公共密钥和私有密钥)。例如,第一外部设备104可以使用第二外部设备106的公共密钥对整个包108进行密码签名,并且第二外部设备106可以使用第二外部设备106的私有密钥对接收到的包108进行解密。第二外部设备106的私有密钥只有第二外部设备106知道,并且只有私有密钥能够解密使用第二外部设备106的公共密钥加密的消息,从而确保包108的传输的机密性。
在步骤212,建立与IMD 102的通信会话。通信会话是在IMD 102与多个外部设备中的一个之间进行的。在示例中,建立通信会话的外部设备是第二外部设备106。例如,第一外部设备104可以构建编程包108,然后将编程包108传送给第二外部设备106。在安排的传递时间,第二外部设备106建立与IMD 102的通信会话。通信会话可以经由RF握手协议来建立,该协议设置了外部设备106和IMD 102之间的通信规则,包括发送和接收信号的频道(例如,通信链路)。或者,生成编程包108的同一外部设备可以与IMD102建立通信会话。
在步骤214,经由已建立的通信链路,将编程包108传送至IMD 102。编程包108可以经由第二外部设备106的通信电路120无线传送。在执行所接收的编程包108的配置改变请求114之前,IMD 102验证包108的真实性、有效性和完整性。
图5是在更新IMD的操作配置之前安全分析编程包的方法220的流程图。图5所示的方法220可以接续或跟随图4中的方法200,以表示用于提供IMD的安全远程编程的方法。方法220由IMD 102执行。例如,方法220的至少一些步骤或操作由IMD 102的一个或多个处理器(例如,微处理器20)执行。
在步骤222,与外部设备建立通信会话。通信会话可以是参照图4在操作212中描述的通信会话。在步骤224,在通信会话期间从外部设备接收编程包108。编程包108可以是在操作210中构建并在操作214中被传送到IMD的编程包。在实施例中,当IMD 102被放置于患者体内时,诸如在患者解剖结构的皮下袋和/或皮肤下袋内,IMD 102接收编程包108。编程包108可以经由RF信号无线接收。
在步骤226,将编程包108解压缩并分割成部件部分。部件部分至少包括配置改变请求114的集合112、交易凭证130的组128和签名132。在实施例中,编程包108的非签名部分不被加密。或者,编程包108可以被加密以获得额外的安全性,如下面更详细描述的。
在步骤228,确定签名132是否可信。签名132指示生成编程包108的来源。校验签名132证明了来源的身份,从而确认了交易凭证128中识别的声称的来源。通过使用外部设备104在图4的操作208中用来生成签名132的同一密钥(例如,第一密钥)的副本或者不同的密钥(例如,第二密钥)来解密签名132来校验签名132。
在实施例中,外部设备104使用与外部设备104唯一相关联的私有密钥来生成签名132,IMD 102使用与私有密钥形成密钥对的公共密钥来解密签名132。公共密钥可以存储在IMD 102的存储器设备88中,并由一个或多个处理器(例如,微处理器20)访问以解密签名132。通过使用私有-公共密钥对,公共密钥可以是能够解密签名132的唯一密钥。经由使用与外部设备104唯一相关联的公共密钥成功解密签名132表明外部设备104是生成编程包108的真正来源。与其他设备相关联的密钥将不能解密签名132。
可选地,为确定解密成功,IMD 102的一个或多个处理器将解密数据与编程包108中的其他未加密数据进行比较,以检查匹配。解密数据是通过使用存储在IMD 102中的公共密钥对签名132进行解密的输出。与解密数据相比较的非加密数据可以包括交易凭证130的组128。例如,签名132可以是一个或多个交易凭证130的加密。如果使用公共密钥解密的数据与在组128中接收的一个或多个交易凭证130相匹配,则确认解密成功,公共密钥是正确的密钥,因此与公共密钥相关联的外部设备104是真正的来源。在替换实施例中,IMD 102用来解密签名132的密钥可以是由来源用来生成签名132的同一密钥的副本。校验编程包108的来源极大地降低了恶意行动者冒充配置改变请求的授权来源的可能性。
如果签名132成功认证为有效来源,则流程进行至步骤230。如果签名132不能被认证,或者是由于未能解密签名132、解密的数据不匹配任何未加密的数据(例如,交易凭证130)等,则流程直接进行到步骤229。在步骤229,IMD 102(例如,其一个或多个处理器)放弃配置改变请求114的集合112的执行。IMD 102通过不执行或实现任何配置改变请求114来放弃执行。结果,即使接收到编程包108并命令更新,IMD 102的操作配置也不被更新。
在步骤230,在成功认证签名132后,确定组128中的所有交易凭证130是否都被验证。例如,通过确定编程包108未到期(例如,到期日期尚未过去)来验证到期凭证。可以通过确定IMD 102是被识别为预期接受方和/或具有被识别为执行配置改变请求114的集合112的特定设备平台的特定设备来验证目标设备凭证。在另一示例中,识别当前操作配置和/或最后编程时间戳的编程凭证可以通过确认编程凭证是正确的来验证。IMD 102的一个或多个处理器可以从板载存储器设备88中访问关于先前编程事件的时间和/或当前操作配置的记录,然后将这些记录与编程凭证中的信息进行比较。验证编程凭证是重要的,因为编程包108中的配置改变请求114可以指示对被认为是当前配置的特定操作配置的改变。如果请求114所基于的特定操作配置不正确,诸如如果IMD配置已经在中间被再次更新,则请求114在被执行时可能不会实现期望的结果。可结合签名132的校验来验证来源凭证。例如,来源凭证可识别所声称的来源,且签名132的校验可将所声称的来源认证为真实来源。在步骤236,检查并验证散列凭证。可以通过在选择对编程包108的请求114之前要求用户的认证步骤来预先验证角色凭证。在步骤232,角色凭证用于验证配置改变请求114。
如果成功验证了组128中的每个(非散列)交易凭证130,则流程进行至步骤232。如果交易凭证130中的一个或多个没有被验证,则流程进行到229以放弃所有配置改变请求114的执行。
在步骤232,在成功验证所有非散列交易凭证130之后,确定集合112中的所有配置改变请求114是否都被验证。像交易凭证130一样,请求114可以被逐一验证,以确定请求114中包含的语法和/或自变量是否正确。角色凭证用于通过确定每个请求114是否在与用户的角色凭证相关联的特权级别内来验证配置改变请求114。例如,如果角色是患者,则可以允许IMD 102如果有的话非常少的配置改变。对于临床医生,特权级别允许远程编程对IMD102进行一些配置改变。可能有一些IMD 102的关键功能不允许通过远程编程操作来修改,即使当临床医生请求时也是如此。如果任何提交的请求114超过与角色凭证相关联的特权级别,则这些请求114不被验证。相反,如果没有请求114超过角色的特权级别,则所有请求114都被验证。
如果集合112中的每个配置改变请求114均成功通过验证,则流程进行至步骤234。如果一个或多个配置改变请求114没有被验证,则流程进行到229以放弃所有配置改变请求114的执行。
在步骤234,生成配置改变请求114的集合112的第二散列。第一散列由编程包108的来源生成,并作为交易凭证130之一被包括在包108内。第二散列由IMD 102的一个或多个处理器基于在编程包108中接收的配置改变请求114生成。在实施例中,IMD 102按照接收请求114的顺序编译配置改变请求114,然后生成配置改变请求114的SHA-256散列。
在步骤236,确定由IMD 102生成的第二散列是否与由编程包108的来源生成的第一散列匹配。如果散列匹配,则一个或多个处理器推断集合112是正确的并且没有被篡改或破坏。例如,如果黑客试图篡改配置改变请求114或将新的配置改变请求添加到集合112,则第二散列将与第一散列不匹配。散列之间的对应还确保了由IMD 102接收的配置改变请求114的顺序与构建到编程包108中的顺序相匹配。如果散列不匹配,则流程进行到229,以放弃配置改变请求114的整个集合112的执行。另一方面,如果散列匹配,则流程进行到步骤238。
在步骤238,执行配置改变请求114的集合112,以更新IMD 102的运行配置。例如,IMD 102的一个或多个处理器按顺序执行或实现请求114。所有的请求114都被执行。需要注意的是,为了到达步骤238并更新操作配置,一个或多个处理器首先认证或校验签名,验证每个交易凭证,包括确保散列匹配,并验证每个配置改变请求。在更新IMD 102的配置之前,所有都必须通过检查。如果甚至一个方面没有通过检查,则不执行任何配置改变请求114。这种全有或全无的方法确保了IMD 102不执行操作配置的不完全或部分更新,这可能导致不期望的行为。
在步骤240,生成结果消息,用于与作为编程包108的来源的外部设备(诸如图3中的外部设备104)进行通信。结果消息指示编程包108中的请求114是否已被执行来更新IMD102。无论远程编程操作是否成功,都可以生成并发送结果消息。结果消息可能包括额外的信息,诸如更新发生的时间戳或者哪个方面没有通过检查的识别。响应于接收到编程不成功的通知,来源可以生成另一个编程包108来重试远程编程操作。
在替代实施例中,可通过包括额外的加密和解密操作来提高保密性。在一个非限制性示例中,来源外部设备和IMD中的每一个都具有各自唯一相关联的公共-私有密钥对。可选地,在图4的步骤210建立编程包之后,来源外部设备使用IMD的公共密钥加密编程包。加密数据包括签名132,签名132本身是使用来源外部设备的私有密钥加密的数据。只有IMD的私有密钥可以解密编程包,这降低了在向IMD传输之前和期间篡改编程包的可能性。如上所述,加密的编程包被传送到IMD。在接受时,在图5的步骤226解压缩编程包之前,IMD最初使用IMD的私有密钥解密编程包。
结尾
应清楚理解的是,根据附图广泛描述和说明的各种布置和过程,和/或此类布置的一个或多个单独部件或元件,和/或与此类过程相关联的一个或多个过程操作,可独立于或与本文描述和说明的一个或多个其他部件、元件和/或过程操作一起使用。因此,尽管本文广泛地设想、描述和说明了各种布置和过程,但是应当理解的是,它们仅仅是以说明性而非限制性的方式提供的,并且此外可以被视为仅仅是一个或多个布置或过程可以在其中起作用或操作的可能工作环境的示例。
如本领域技术人员所知,各方面可体现为系统、方法或计算机(设备)程序产品。因此,各方面可以采取完全硬件实施例或包括硬件和软件的实施例的形式,这些实施例在本文中可以统称为“电路”、“模块”或“系统”。此外,各方面可以采取包含在一个或多个计算机(设备)可读存储介质中的计算机(设备)程序产品的形式,该计算机(设备)可读存储介质上包含有计算机(设备)可读程序代码。
可利用一个或多个非信号计算机(设备)可读介质的任何组合。非信号介质可以是存储器介质。存储器介质可以是例如电子、磁、光、电磁、红外或半导体系统、装置或设备,或者前述的任何合适的组合。存储器介质的更具体的例子包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或前述的任何合适的组合。
可采用一种或多种编程语言的任意组合编写用于执行操作的程序代码。程序代码可以完全在单个设备上执行,部分在单个设备上执行,作为独立的软件包,部分在单个设备上执行,部分在另一个设备上执行,或者完全在另一个设备上执行。在一些情况下,设备可以通过任何类型的网络连接,包括局域网(LAN)或广域网(WAN),或者可以通过其他设备(例如,通过使用互联网服务提供商的互联网)或通过硬线连接(诸如,通过USB连接)进行连接。例如,具有第一处理器、网络接口和用于存储代码的存储器设备的服务器可以存储用于执行操作的程序代码,并通过其网络接口经由网络将该代码提供给具有第二处理器的第二设备,用于在第二设备上执行代码。
本文参考附图描述了各方面,附图说明了根据各种示例实施例的示例方法、设备和程序产品。程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理设备或信息处理设备的处理器,以产生机器,使得经由设备的处理器执行的指令实现指定的功能/动作。程序指令也可以存储在设备可读介质中,该介质可以指导设备以特定方式运行,使得存储在设备可读介质中的指令产生包括实现指定功能/动作的指令的制造品。程序指令也可以被加载到设备上,以使一系列操作步骤在设备上执行,从而产生设备实现的过程,使得在设备上执行的指令提供用于实现指定功能/动作的过程。
本文中的单元/模块/应用可包括任何基于处理器或基于微处理器的系统,包括使用微控制器、精简指令集计算机(RISC)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、逻辑电路和能够执行本文所述功能的任何其他电路或处理器的系统。附加地或替代地,这里的模块/控制器可以表示电路模块,该电路模块可以被实现为具有执行这里描述的操作的相关指令的硬件(例如,存储在有形的和非暂时性的计算机可读存储介质上的软件,诸如计算机硬盘驱动器、ROM、RAM等)。上述例子仅仅是示例性的,因此不打算以任何方式限制术语“控制器”的定义和/或含义。这里的单元/模块/应用可以执行存储在一个或多个存储元件中的一组指令,以便处理数据。存储器元件也可以根据期望或需要存储数据或其他信息。存储元件可以是信息源的形式,或者是这里的模块/控制器内的物理存储元件。这组指令可以包括各种命令,这些命令指示这里的模块/应用执行特定的操作,诸如这里描述的主题的各种实施例的方法和过程。这组指令可以是软件程序的形式。软件可以是各种形式,诸如系统软件或应用软件。此外,软件可以是独立程序或模块的集合、较大程序中的程序模块或程序模块的一部分的形式。该软件还可以包括面向对象编程形式的模块化编程。处理机对输入数据的处理可以响应于用户命令,或者响应于先前处理的结果,或者响应于另一处理机做出的请求。
应理解的是,本文所述主题的应用不限于本文所述或附图所示的结构细节和部件布置。本文描述的主题能够有其他实施例,并且能够以各种方式实践或执行。此外,应该理解的是,这里使用的措辞和术语是为了描述的目的,而不应该被认为是限制性的。本文中“包括”、“包含”或“具有”及其变体的使用意在涵盖其后列出的项目及其等同物以及附加项目。
应理解的是,上述说明旨在说明,而非限制。例如,上述实施例(和/或其方面)可以彼此结合使用。此外,在不脱离其范围的情况下,可以进行许多修改以使特定情况或材料适应本文的教导。虽然在此描述的尺寸、材料类型和涂层旨在限定各种参数,但它们决不是限制性的,而是说明性的。通过阅读以上描述,许多其他实施例对于本领域技术人员来说将是显而易见的。因此,实施例的范围应当参照所附权利要求以及这些权利要求的等同物的全部范围来确定。在所附权利要求中,术语“包括”和“其中”被用作相应术语“包括”和“其中”的简明英语等价物。此外,在以下权利要求中,术语“第一”、“第二”和“第三”等仅用作标签,并不旨在对它们的对象施加数字要求或对它们的行为施加执行顺序。
Claims (20)
1.一种植入式医疗设备(IMD),包括:
外壳,所述外壳被配置为植入患者体内;以及
一个或多个处理器,所述一个或多个处理器设置在所述外壳内,并且所述一个或多个处理器被配置为:
接收编程包,所述编程包包括配置改变请求的集合、交易凭证和指示编程包的来源的签名,其中所述交易凭证包括配置改变请求的集合的第一散列;
通过使用与所述外部设备唯一相关联的密钥解密所述签名来校验作为所述来源的外部设备;
验证所述编程包的交易凭证和配置改变请求;
生成配置改变请求的集合的第二散列;以及
响应于(i)所述第二散列与所述第一散列匹配以及(ii)所述交易凭证和所述配置改变请求被验证,执行配置改变请求的集合以更新所述IMD的操作配置。
2.根据权利要求1所述的IMD,其中响应于以下中的至少一个:(i)所述第二散列与所述第一散列不匹配或(ii)所述交易凭证或所述配置改变请求中的至少一个未被验证,所述一个或多个处理器被配置为放弃配置改变请求的集合的执行。
3.根据权利要求1所述的IMD,其中所述交易凭证包括到期凭证,所述到期凭证包括所述编程包到期的指定时间,并且所述一个或多个处理器被配置为通过确定所述编程包未到期来验证所述交易凭证的到期凭证。
4.根据权利要求1所述的IMD,其中所述交易凭证包括目标设备凭证,所述目标设备凭证识别旨在执行配置改变请求的集合的特定设备或设备平台之一或两者,并且所述一个或多个处理器被配置为通过确定所述IMD是所述特定设备或具有所述设备平台来验证所述目标设备凭证。
5.根据权利要求1所述的IMD,其中所述交易凭证包括角色凭证,所述角色凭证提供选择了配置改变请求的集合的用户的特权级别,并且所述一个或多个处理器被配置为通过确定每个相应的配置改变请求没有超过与所述角色凭证相关联的特权级别来验证所述配置改变请求中的每一个。
6.根据权利要求1所述的IMD,其中所述交易凭证包括编程凭证,所述编程凭证识别所述IMD的当前操作配置或指示所述IMD的操作配置的最近更新的最后编程时间戳中的一者或两者,并且所述一个或多个处理器被配置为通过确认所述编程凭证是正确的来验证所述编程凭证。
7.根据权利要求1所述的IMD,其中响应于配置改变请求的集合的执行,所述一个或多个处理器被配置为生成用于传送到所述外部设备的结果消息,所述结果消息指示所述IMD的操作配置被更新。
8.根据权利要求1所述的IMD,其中所述密钥是存储在IMD的存储器设备中的公共密钥,并且所述编程包中的签名是由所述外部设备使用私有密钥生成的,所述私有密钥与所述外部设备唯一相关联,并与所述公共密钥形成密钥对。
9.根据权利要求1所述的IMD,其中所述IMD具有通信调制解调器,所述通信调制解调器被配置为当所述IMD被皮下设置于所述患者体内时无线接收所述编程包。
10.根据权利要求1所述的IMD,其中所述一个或多个处理器被配置为通过确定所述签名的解密数据与所述编程包的交易凭证中的一个或多个相匹配来校验作为所述编程包的来源的外部设备。
11.根据权利要求1所述的IMD,其中所述一个或多个处理器被配置为基于所述IMD接收编程包的配置改变请求的顺序来生成所述第二散列。
12.一种系统,包括:
植入式医疗设备(IMD),所述植入式医疗设备包括被配置为植入患者体内的外壳和设置在所述外壳内的一个或多个处理器;以及
一个或多个外部设备,所述一个或多个外部设备中的每一个包括控制器和通信电路,所述一个或多个外部设备中的至少一个外部设备的控制器被配置为:
获得配置改变请求的集合;
获得交易凭证的组;
生成配置改变请求的集合的第一散列,所述第一散列表示所述组中的交易凭证之一;
通过使用与所述一个或多个外部设备中的第一外部设备唯一相关联的第一密钥加密所述组中的交易凭证中的一个或多个来生成签名;以及
通过组合配置改变请求的集合、交易凭证的组和所述签名来构建编程包,
所述一个或多个外部设备中的至少一个外部设备的通信电路被配置为将所述编程包无线传送到所述IMD,
所述IMD的一个或多个处理器被配置为:
从所述一个或多个外部设备的通信电路接收所述编程包;
通过使用与所述第一外部设备唯一相关联的第一密钥或第二密钥解密所述签名来校验作为所述编程包的来源的第一外部设备,其中用于解密所述签名的第一密钥或第二密钥存储在所述IMD的存储器设备中;
验证所述编程包的交易凭证和配置改变请求;
生成配置改变请求的集合的第二散列;以及
响应于(i)所述第二散列与所述第一散列匹配以及(ii)所述交易凭证和所述配置改变请求被验证,执行配置改变请求的集合以更新所述IMD的操作配置。
13.根据权利要求12所述的系统,其中所述第一密钥是与所述第一外部设备相关联的私有密钥,并且所述IMD的一个或多个处理器被配置为使用所述第二密钥来解密所述签名,所述第二密钥是与所述私有密钥形成密钥对的公共密钥。
14.根据权利要求12所述的系统,其中响应于以下中的至少一个:(i)所述第二散列与所述第一散列不匹配或(ii)所述交易凭证或所述配置改变请求中的至少一个未被验证,所述IMD的一个或多个处理器被配置为放弃配置改变请求的集合的执行。
15.根据权利要求12所述的系统,其中所述一个或多个外部设备包括临床医生编程设备、床边监视器、智能手机、平板电脑、膝上型电脑、台式电脑、服务器或可穿戴计算机中的一个或多个。
16.根据权利要求12所述的系统,其中所述交易凭证包括所述第一散列和以下中的至少两者:
到期凭证,所述到期凭证包括所述编程包到期的指定时间;
目标设备凭证,所述目标设备凭证识别旨在执行配置改变请求的集合的特定设备或设备平台中的一者或两者;
角色凭证,所述角色凭证提供选择了配置改变请求的集合的用户的特权级别;和
编程凭证,所述编程凭证识别所述IMD的当前参数集或指示所述IMD的操作配置的最近更新的最后编程时间戳中的一者或两者。
17.根据权利要求12所述的系统,其中所述一个或多个外部设备的通信电路被配置为当所述IMD被皮下植入所述患者体内并且所述一个或多个外部设备在所述患者体外时,将所述编程包无线传送至所述IMD。
18.一种方法,包括:
在被配置为植入患者体内的植入式医疗设备(IMD)处接收编程包,所述编程包包括配置改变请求的集合、交易凭证和指示编程包的来源的签名,其中所述交易凭证中的一个是配置改变请求的集合的第一散列;
经由所述IMD的一个或多个处理器,通过使用与外部设备唯一地相关联并存储在所述IMD的存储器设备中的密钥解密所述签名来校验作为所述来源的外部设备;
验证所述编程包的交易凭证和配置改变请求;
生成配置改变请求的集合的第二散列;以及
响应于(i)所述第二散列与所述第一散列匹配以及(ii)所述交易凭证和所述配置改变请求被验证,执行配置改变请求的集合以更新所述IMD的操作配置。
19.根据权利要求18所述的方法,其中校验作为所述编程包的来源的外部设备包括使用所述密钥确定所述签名的解密数据与所述编程包的交易凭证中的一个或多个相匹配。
20.根据权利要求18所述的方法,其中响应于以下中的至少一个:(i)所述第二散列与所述第一散列不匹配或(ii)所述交易凭证或所述配置改变请求中的至少一个未被验证,所述方法包括放弃配置改变请求的集合的执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163235959P | 2021-08-23 | 2021-08-23 | |
US63/235,959 | 2021-08-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115910312A true CN115910312A (zh) | 2023-04-04 |
Family
ID=81854420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210920436.7A Pending CN115910312A (zh) | 2021-08-23 | 2022-08-02 | 用于植入式医疗设备远程编程的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230054317A1 (zh) |
EP (1) | EP4140534A1 (zh) |
CN (1) | CN115910312A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240065637A1 (en) | 2022-08-26 | 2024-02-29 | Pacesetter, Inc. | Implantable medical device data and diagnostics management system method using machine-learning architecture |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039810B1 (en) * | 1999-11-02 | 2006-05-02 | Medtronic, Inc. | Method and apparatus to secure data transfer from medical device systems |
US8391980B2 (en) | 2009-07-07 | 2013-03-05 | Pacesetter, Inc. | Method and system for identifying a potential lead failure in an implantable medical device |
US9044610B2 (en) | 2013-03-15 | 2015-06-02 | Pacesetter, Inc. | Systems and methods for providing a distributed virtual stimulation cathode for use with an implantable neurostimulation system |
US9232485B2 (en) | 2013-08-23 | 2016-01-05 | Pacesetter, Inc. | System and method for selectively communicating with an implantable medical device |
US8831747B1 (en) | 2013-11-19 | 2014-09-09 | Pacesetter, Inc. | Leadless neurostimulation device and method including the same |
US9333351B2 (en) | 2013-12-16 | 2016-05-10 | Pacesetter, Inc. | Neurostimulation method and system to treat apnea |
US9216285B1 (en) | 2014-12-18 | 2015-12-22 | Pacesetter, Inc. | Leadless implantable medical device having removable and fixed components |
EP3091459B1 (en) * | 2015-05-07 | 2020-06-24 | Sorin CRM SAS | Systems and methods for wireless communication with implantable and body-worn devices |
US9949660B2 (en) | 2016-03-29 | 2018-04-24 | Pacesetter, Inc. | Method and system to discriminate rhythm patterns in cardiac activity |
US10541977B2 (en) * | 2017-07-25 | 2020-01-21 | Pacesetter, Inc. | Utilizing signed credentials for secure communication with an implantable medical device |
US11218324B2 (en) * | 2018-04-05 | 2022-01-04 | Ares Technologies, Inc. | Systems and methods authenticating a digitally signed assertion using verified evaluators |
US11045643B2 (en) | 2018-05-07 | 2021-06-29 | Pacesetter, Inc. | Single-site implantation methods for medical devices having multiple leads |
US10765860B2 (en) | 2018-05-07 | 2020-09-08 | Pacesetter, Inc. | Subcutaneous implantation medical device with multiple parasternal-anterior electrodes |
US10722704B2 (en) | 2018-05-07 | 2020-07-28 | Pacesetter, Inc. | Implantable medical systems and methods including pulse generators and leads |
US10967190B2 (en) * | 2018-11-02 | 2021-04-06 | Advanced Neuromodulation Systems, Inc. | Methods of operating a system for management of implantable medical devices (IMDs) using reconciliation operations and revocation data |
US11387983B2 (en) * | 2019-03-25 | 2022-07-12 | Micron Technology, Inc. | Secure medical apparatus communication |
US20230100246A1 (en) * | 2019-06-21 | 2023-03-30 | Advanced Neuromodulation Systems, Inc. | System and method for modulating therapy in a remote care architecture |
US11364386B2 (en) * | 2019-06-21 | 2022-06-21 | Advanced Neuromodulation Systems, Inc. | System, method and architecture for facilitating remote patient care |
EP4000075A4 (en) * | 2019-07-16 | 2023-10-04 | Beta Bionics, Inc. | BLOOD GLUCOSE CONTROL SYSTEM |
WO2021011762A1 (en) | 2019-07-18 | 2021-01-21 | Pacesetter, Inc. | Methods, devices and systems for holistic integrated healthcare patient management |
CN110418338B (zh) * | 2019-07-31 | 2022-08-12 | 徐州医科大学 | 可植入医疗设备的轻量级rfid无线认证方法及其系统 |
US20210058257A1 (en) * | 2019-08-20 | 2021-02-25 | Rune Labs, Inc. | Security and identity verification for neuromodulation therapy implant device programming |
EP3785759A1 (en) * | 2019-09-01 | 2021-03-03 | CereGate GmbH | Data integrity for medical devices using blockchain solutions |
US11582022B1 (en) * | 2020-11-03 | 2023-02-14 | Advanced Neuromodulation Systems, Inc. | Secure file transfer system and method |
-
2022
- 2022-05-31 EP EP22176538.1A patent/EP4140534A1/en active Pending
- 2022-06-07 US US17/805,823 patent/US20230054317A1/en active Pending
- 2022-08-02 CN CN202210920436.7A patent/CN115910312A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4140534A1 (en) | 2023-03-01 |
US20230054317A1 (en) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10541977B2 (en) | Utilizing signed credentials for secure communication with an implantable medical device | |
US12088634B2 (en) | Establishing a secure communication link | |
US12070608B2 (en) | Methods of operating a system for management of implantable medical devices (IMDs) using reconciliation and revocation data | |
EP3873582B1 (en) | An implantable medical device using permanent and temporary keys for therapeutic settings and related methods of operation | |
US9463325B1 (en) | Systems and methods for maintaining a bi-directional communication between an implantable medical device and an external device | |
US20200398062A1 (en) | System, method and architecture for facilitating remote patient care | |
US11173311B2 (en) | Methods for programming an implantable medical device and related systems and devices | |
US20110015693A1 (en) | Enhanced Patient Programming Security for Remote Programming via Paired Communication / IMD Access via Custom Hardware | |
US11582022B1 (en) | Secure file transfer system and method | |
US20140122120A1 (en) | Systems and methods for providing photo-based patient verification for use with implantable medical device programmers | |
EP4140534A1 (en) | System and method for implantable medical device remote programming | |
US20210322779A1 (en) | Methods for operating a system for management of implantable medical devices and related systems | |
US20230414951A1 (en) | System and method for implantable medical device remote programming | |
US11173313B2 (en) | Implantable medical device with offline programming limitations and related methods of operations | |
CN117298453A (zh) | 用于植入式医疗设备远程编程的系统和方法 | |
US20230277857A1 (en) | Secure remote communication with a medical device | |
DOTTINO et al. | A feasibility analysis of asymmetric key distribution system for implantable cardioverter defibrillators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |