METHOD AND APPARATUS FOR SECURE PASSIVE WIRELESS COMMUNICATION WITH BLUETOOTH VITALS DEVICES
20220038539 · 2022-02-03
Inventors
- Siddharth Kandan (Philadelphia, PA, US)
- Jonathan Pry (Phildelphia, PA, US)
- Carlos Roque (Philadelphia, PA, US)
Cpc classification
H04W28/06
ELECTRICITY
H04L12/2834
ELECTRICITY
H04W4/80
ELECTRICITY
H04W12/02
ELECTRICITY
H04L67/02
ELECTRICITY
H04L67/12
ELECTRICITY
H04L69/18
ELECTRICITY
International classification
H04L12/28
ELECTRICITY
H04W12/02
ELECTRICITY
H04W28/06
ELECTRICITY
Abstract
A system for transmitting and receiving medical vital signs from a “smart” vital sign apparatus over multi-protocol communication channels to and from a remote electronic health record database that may include a plurality of vital sign sources that communicate over a plurality of standard communication channels including: Bluetooth, LoRa, WiFi, cellular, Ethernet or other direct IP paths. The system reduces the volume of data transferred and extends BLE security.
Claims
1. A gateway comprising: (a) a Bluetooth Low Energy (BLE) controller adapted to communicate with a plurality of BLE vital sign measuring devices (BVSMDs), the BLE controller adapted to receive, via a Bluetooth Low Energy connection, vital sign data (VSD) from a BVSMD that has been formerly provisioned, defining a known BVSMD, with the gateway, the gateway defining a first gateway, each BVSMD being capable of advertising its presence; (b) a transceiver adapted to: (i) transmit VSD received by the BLE controller to a remote VSD data store; (ii) transmit, for receipt by a second gateway, provisioning data for the known BVSMDs; (iii) receive provisioning data from the second gateway for BVSMDs known by the second gateway; (iv) with respect to a BVSMD that has not been formerly provisioned by either the first or second gateway (unknown BVSMD), obtain BVSMD provisioning data from a remote cloud service; (c) processing circuitry and memory having program code for: (i) provisioning the BVSMDs by: a. detecting each BVSMD advertising its presence; b. for unknown BVSMDs, obtaining BVSMD provisioning data from the second gateway, if available, and from the remote cloud service if not available from the second gateway; c. mapping a MAC address of each detected BVSMD to a randomly generated access address (RGAA); d. pairing each detected BVSMD to the BLE controller; e. employing the RGAA for communications between each detected BVSMD and the BLE controller; f. generating a bonding key for each detected BVSMD; and g. bonding the detected BVSMD to the BLE controller with the bonding key via the RGAA; (ii) causing the transceiver to transmit the VSD to the remote VSD server; and, (iii) periodically changing the RGAA.
2. The gateway according to claim 1 wherein the program code further comprises code for securely storing in the memory the bonding key generated for each detected BVSMD and securely sharing the bonding key stored in the first gateway with other gateways, including the second gateway.
3. The gateway according to claim 1 wherein the first gateway is a trusted gateway and the program code further comprises code for configuring the first gateway as a node in a mesh network of a plurality of trusted gateways such that the first gateway and at least one of the other trusted gateways may form a BLE mesh network, wherein the first gateway and at least one of the other trusted gateways are capable of communicating data with each other via BLE communications including bonding keys.
4. The gateway according to claim 3 further comprising program code for configuring the first gateway to have a same identity as the other trusted gateways from the perspective of each detected BVSMD.
5. The gateway according to claim 1 wherein the BVSMDs are non-audio devices that do not stream audio.
6. The gateway according to claim 1 wherein the BVSMDs do not store provisioning data or bonding keys.
7. The gateway according to claim 1 wherein the memory has stored therein a library containing provisioning information for BVSMDs.
8. The gateway according to claim 1 wherein the transceiver is configured to transmit and receive data over a wide area network (WAN) via one or more of multiple communication protocols, including one or more of LoRa, WiFi, cellular, ethernet, or direct IP protocol.
9. The gateway according to claim 1 wherein the transceiver is configured to transmit and receive data over a wide area network (WAN) via one or more publicly offered communication channels.
10. The gateway according to claim 1 wherein the first gateway is a trusted gateway adapted to communicate with other trusted gateways, including the second gateway, further comprising program code for configuring the first gateway so as to maintain a consistent over the air profile with respect to the other trusted gateways from the perspective of each detected BVSMD.
11. The gateway according to claim 10 further comprising program code for configuring the first gateway to have a same identity as the other trusted gateways from the perspective of each detected BVSMD.
12. The gateway according to claim 1 wherein the gateway lacks a hardware user input on the gateway for pairing BVSMDs.
13. The gateway according to claim 1 further comprising program code for determining a relative location of each detected BVSMD.
14. The gateway according to claim 1 wherein the BLE controller is configured to enable automatic and simultaneous connections with the plurality of BVSMDs.
15. The gateway of claim 1 wherein the first gateway is a trusted gateway adapted to communicate with other trusted gateways, including the second gateway, and the BVSMD provisioning data comprises pairing and bonding data for use by the other trusted gateways in provisioning BVSMDs.
16. The gateway according to claim 1 wherein the VSD is transmitted to the remote VSD server via a wide area network (WAN), further comprising program code for removing non-essential data contained in the VSD transmitted from each detected BVSMD to the gateway, including at least layered packet transport protocol overhead data, before transmitting the VSD via the WAN.
17. A method of communicating vital sign data (VSD) from a plurality of non-audio streaming Bluetooth Low Energy vital sign measuring devices (BVSMDs) located within a facility to a health data store that is remote from the facility via at least one of a plurality of gateways located within the environment, wherein each gateway in the plurality of gateways comprises a transceiver, the method comprising, at the gateway: i) detecting BVSMDs advertising their presence; ii) correlating identification information sent by each detected BVSMD with BVSMDs known to the gateway; iii) mapping a MAC address of each detected BVSMD to a randomly generated access address (RGAA), unless previously mapped thereto; iv) automatically pairing each detected BVSMD to the gateway; v) employing the RGAA for communications between each detected BVSMD and the gateway; vi) generating a bonding key for each detected BVSMD; vii) bonding the detected BVSMD to the controller via the RGAA; viii) forming simultaneous connections between a plurality of detected BVSMDs and the gateway; ix) securely sharing the bonding key among the plurality of gateways such that a BVSMD bonded to the gateway is also bonded with all gateways among the plurality of gateways in the environment; x) for BVSMDs unknown to any gateway among the plurality of gateways, obtaining BVSMD provisioning information from a remote cloud service via one or more communication protocols; xi) periodically changing the RGAA; and, xii) sharing the changed RGAA with all gateways among the plurality of gateways in the environment via one or more of the communication protocols.
18. The method according to claim 17 wherein the VSD is transmitted to the remote VSD server via a wide area network (WAN) further comprising receiving VSD from the detected BVSMD, and removing non-essential data contained in VSD transmitted from the detected BVSMD to the gateway, including at least layered packet transport protocol overhead data, before transmitting VSD over the WAN.
19. The method according to claim 17 further comprising configuring the first gateway as a node in a mesh network of the plurality of gateways such that the first gateway and at least one of the other gateways may form a BLE mesh network, wherein the first gateway and at least one of the other gateways communicate data with each other via BLE communications including bonding keys.
20. The method according to claim 17 wherein BVSMDs are paired without using a hardware user input on the gateway.
21. The method according to claim 17 further comprising determining a relative location of each detected BVSMD.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The accompanying drawings, illustrate exemplary embodiments of the invention, and together with all of the parts of this application, serve to explain the features of the invention.
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0033] Many smart devices are now readily available in consumer markets. For example: body weight scales, blood-pressure monitors, glucometers, thermometers, pulse oximeters and fitness trackers are a subset of the myriad of medical monitoring devices available to consumers and healthcare professionals. Manufacturers consistently focus on providing a more ideal user experience involving the user's phone and either a single medical smart vitals device or a number of medical smart vitals devices. Communication standards, so far, have been a low priority, and in many cases, manufacturers have undertaken efforts specifically aimed at limiting interoperability. From a healthcare perspective, this has limited the utility of what is clearly a preferred digital generated healthcare data format, since the smart home devices already have the capability to transmit data wirelessly. The various embodiments set forth herein create a form of wireless wide area network (WWAN) that is capable of communicating with this plethora of smart devices using an extension of the BLE standard.
[0034] As an example, an individual may own various smart home devices in their home, such as a body-weight scale or a blood pressure monitor, as well as use several more portable devices, such as a glucometer and a pulse oximeter. All of these smart home devices, while having a need to navigate a diverse set of higher level protocols, would make use of the underlying BLE protocol. Although these devices are all designed to make use of a personal area network (PAN), a preferred embodiment using a wireless system set forth herein allows them to work as though BLE is a wide area network (WAN) protocol.
[0035] By installing one or many of the device gateways 110 to communicate with a vitals device 130, the data flow system in
[0036] Internet 150 may be used to distribute vitals information to any number of users of the system, data management services 170, or electronic health records (EHR) 160 that may in turn be transmitted or accessed by, for example, physicians 161 and/or patients 162. The vitals information or data may be distributed via Internet 150 to, for example, care management 180, patients 185, and/or personalized data services 190.
[0037] Internet 150 may also distribute such vitals information and/or data to data management services 170 capable of long term storage for both archival and analytical purposes.
[0038] Data may then be processed by the remote data management service 170 in such a way as to allow for direct insertion into an EHR 160. It may also be analyzed for anomalies or critical situations where manual intervention may be necessary to ensure integrity of such data and information.
[0039] With reference to
[0040] As seen in
[0041] The gateway 110 may also contain a LoRa module 235 which may have a LoRa compatible transceiver and associated protocol stack running on either an included processing unit or another processor embedded into the gateway. LoRa module 235 may include a connection to a 915 MHz antenna 237. In a preferred embodiment, module 250 is programmed to control LoRa module 235 as well as to control any link between the BLE module 220 and the LoRa module 235.
[0042] The gateway 110 may contain a cellular radio 245 as well as a higher performance CPU in the form of a embedded computer 250 to manage this high bandwidth connection. This higher performance computer 250 is capable of running a standard operating system such as Linux, while simultaneously maintaining a secure channel to a remote server using a virtual private network (VPN) or other encrypted transport channel; remote updates to the software for all processors are possible over such a link. By a preferred embodiment utilizing a mini PCIE card 240 for the cellular radio 245, further in combination with computer 250, may allow for economies of scale to be achieved while providing a high performance computer 250 capable of being programmed as necessary to achieve various functionalities. In a preferred embodiment, a subscriber identity module (SIM) card 246, which is attached via a mini PCIE card 240, to enable authorized access to cellular networks. In a preferred embodiment a MicroSD 251 or Embedded MultiMediaCard (eMMC) 251 is attached to this higher performance computer 250 in order to provide bulk storage for software as well as long term logs of measurements taken and other logs useful for debugging.
[0043] A preferred embodiment for gateway 110 includes a BLE module that incorporates BLE module 220, a LoRa radio 235, a cellular radio incorporated into PCIE card 245 that further includes both primary antenna 247 and a diversity antenna 249, and a computer module 250. The foregoing components are connected via a serial connection 261, and Universal Serial Bus (USB) 260 and may be powered by a power supply unit (PSU) 210, which may be plugged into a 110V/220V wall outlet and constructed to convert alternating current to direct current that supplies 5 volts of power to gateway unit 110 and its components. Gateway 110 may solely utilize the BLE module 220 or combinations of the above identified components and radios. Gateway 110 must provide at least one link between bluetooth and connection methods 140. Since nearby Gateways 110 may provide such a connection, a given gateway may need only contain BLE module 220, omitting the LoRa Radio 235, MPU module 250 and cellular module 245, so long as it is known that at least one gateway within the mesh can provide a service 140. Relatedly, an installed Gateway 110 meant to provide a service 140, may need only contain BLE module 220 along with LoRa module 235, if LoRa is the chosen transport. MPU module 250 can be included to give WiFi support, along with a cellular module 245 for cellular access.
[0044] With reference to
[0045]
[0046] At system initialization time, the gateway 110 performs a process of identifying all possible available communication channels; this flow is illustrated in
[0047] The three affordances of the implementation of security in BLE devices are: authentication, confidentiality and authorization. Many BLE slave devices may refuse to transmit vitals data if the link encryption protocol is not enabled. Additionally, most devices require some sort of mechanical user input, such as pushing a specific button in order to enable encryption with a new peer.
[0048] With reference to
[0049] Once the provisioning request is extended, an attempt is made to locate the corresponding gateways in proximity to the specific user, then the provision is stored in the database. Upon location of corresponding gateways 110, MS 470 forwards the requisite information to the correct gateway via links 490.
[0050] The real-time processor associated with the BLE module 220 is responsible for executing smart device specific drivers during every connection. These drivers may be distributed in a binary device-agnostic form and in a preferred embodiment, a reformatted variant of the WebAssembly binary format. These drivers are relatively small and can be transferred even over low-bandwidth links such as LoRa. Multiple drivers can be simultaneously loaded on BLE module 220 of gateway 110 in unique combinations specific to the gateway 110, in particular by making use of knowledge of which devices 130, 135 are expected to be in range.
[0051]
[0052]
[0053] Below is the description of the events that occur in a typical Bluetooth Low-Energy connection flow. Further details can be found in the Bluetooth Core Specification version 4.0 and later. Specific details of the physical layer such as modulation, whitening and the various polynomials used are omitted for brevity. The specific meaning of bits, the frequencies used and the timing of the events in the channel is also left to the reader. Special attention must be paid to the padding of fields during concatenation of the cryptographic primitives. All messages can lead to a variety of error notification and subsequent handling conditions, none of which are covered here.
[0054]
[0055] The MAC address is critical to the identification of peers while establishing and securing the link. A mapping between device MAC address and a randomly generated Access Address is created when a connection is initiated. The features of the security extensions offered in the claimed invention improve limitations contained in the standard BLE security protocol. Since the BLE protocol exposes the MAC addresses of both the master and slave during a connection process, provisions to the protocol were made in which devices could remain anonymous. This is implemented by creating MAC addresses, which are periodically updated.
[0056] The device gateway 110 makes use of an address in the random private resolvable space in the BLE specification. This is used in bonded devices and requires the Identity Resolving Key (IRK) to be shared during Phase Three of the pairing procedure as defined in the Bluetooth Core Specification version 4.1. In usual practice, such addresses are made to change periodically based on a timer or other method whereas, in the present invention, such addresses may remain static. Each gateway 110 in environment 105, uses a different such address, all generated from this same IRK, where IRK is any suitable 128-bit key material. This allows the bonding keys to be transparently copied between trusted device gateways 110 in a manner that will be more fully described hereinafter. This implies there exists a multitude of MAC addresses that a peer will associate with correct link keys. The resulting scheme easily allows inter-gateway connections to be created for the purpose of creating a mesh network.