用于服务器与医疗设备之间的密钥分发的方法和系统与流程

文档序号:15235614发布日期:2018-08-21 20:32阅读:365来源:国知局

医疗设备尤其可以是输液设备,例如位于例如患者床边的架子上的容积式或注射器输液泵。服务器和医疗设备可以例如位于医院环境内并且可以被配置成经由通信网络例如利用因特网协议(ip)彼此通信。

在医疗设备例如输液设备的设置期间或操作期间,在服务器与医疗设备之间交换消息。这些消息可以包括操作数据以及配置数据,应该保护这些数据免受外部访问并且免受未经认证的第三方的操纵。

为了保护数据,通常使用利用复杂加密(以及电力消耗)算法(如https)的加密技术。然而,由于有限的cpu和存储能力,医疗设备例如输液泵可能不具有必要的计算能力来使用这样的复杂加密算法,使得服务器与医疗设备例如输液泵之间的安全密钥分发需要不同的解决方案。

通常,对称密钥算法以及非对称密钥算法是已知的并且用于加密。

对称密钥算法对于明文的加密和密文的解密两者使用相同的加密密钥。密钥可以是完全相同的,或者两个密钥之间可以存在简单的变换。在实践中,密钥被称为两方或更多方之间的“共享秘密”。对称密钥加密的主要缺点是密钥分发漏洞。如果任何人可以访问秘密密钥(以及对数据加密的算法),则他就可以访问秘密数据。

非对称密钥算法(公钥密码术)是指基于不可逆数学特性的一组加密算法。与对称密钥算法不同,非对称密钥算法不需要用于双方之间的一个(或更多个)秘密密钥的初始交换的安全通道。非对称密钥算法是安全应用和协议(例如传输层安全性(tls)或pgp)中的基本安全要素。

本发明的目的是提供一种用于服务器与医疗设备之间的安全密钥分发的方法和系统,该系统中的方法甚至适用于具有低计算和存储能力的医疗设备。

该目的通过根据权利要求1的特征的方法来实现。

因此,该方法包括以下步骤:

-在服务器处提供要用于医疗设备的安全数据通信的安全密钥,

-在服务器与计算设备之间建立第一通信链路,

-在计算设备与医疗设备之间建立第二通信链路,

-由计算设备经由第一通信链路从服务器取回安全密钥,以及

-由计算设备经由第二通信链路将取回的安全密钥发送至医疗设备。

本发明解决了医疗设备例如输液泵的安全密钥管理和传播。本发明使得能够分发和管理服务器与医疗设备之间的安全密钥,以用于服务器与医疗设备之间的安全通信。借助于安全密钥分发,医疗设备与服务器之间的加密通信和认证变得可能。

因此提出了解决方案来解决在安全密钥分发期间双方的机密性、完整性和认证。密钥分发是一种在允许使用加密算法的两(或更多)方之间分发加密密钥的方法。密钥分发的基本问题是如何交换密钥(或其他所需的信息)以使得其他人无法获得副本。本发明提出了一种利用公钥加密算法的优点(高级别安全性)分发密钥并且利用私钥加密算法的优点(简单性和低计算成本)加密或解密消息的解决方案。

一个或多个安全密钥可以被从服务器分发至一个或多个医疗设备例如输液泵。特别地,密钥对可以被从服务器分发至特定的医疗设备,以允许服务器与医疗设备之间的认证和加密通信。

在另一个实施方式中,例如,用于医疗设备的wifi连接的安全密钥,如wpa2密码或radius证书,可以被从服务器分发至医疗设备。

例如,计算设备可以是个人计算机(pc),例如膝上型计算机。然而,计算设备也可以是具有充足的计算能力的移动设备,例如移动电话、平板计算机或其他移动通信设备。

服务器经由其连接至计算设备的第一通信链路例如可以是利用因特网协议的链路。该链路可以例如使用https会话,并且因此通过在https中实施的加密算法来进行保护。因此计算设备经由优选地安全通信链路与服务器进行通信,使得安全密钥可以经由安全链路特别是在https会话的上下文中被从服务器发送到计算设备。

计算设备与医疗设备之间的第二通信链路可以特别地是有线链路,例如串行链路(例如rs232链路)。因此计算设备本地地经由专用通信线路连接至医疗设备,使得不需要特定的且计算上昂贵的安全算法来保护计算设备和医疗设备之间的通信。

安全密钥在服务器处被提供并且经由第一通信链路被从服务器发送至计算设备。计算设备可以具有足够的计算能力,使得可以使用例如在https会话的上下文中的复杂的高级加密算法来在将安全密钥从服务器发送至计算设备时保护服务器与计算设备之间的通信。

然后,计算设备经由第二通信链路将从服务器接收到的安全密钥发送至医疗设备,其中,对此,如果在计算设备与医疗设备之间建立了本地链路,例如有线链路,特别是串行链路,则不需要加密。因此,医疗设备不需要强大的计算能力,因为复杂的加密算法对于保护计算设备与医疗设备之间的通信是没有必要的。

在一个实施方式中,计算设备使用被表示为安全应用程序的专用软件来将安全密钥从服务器分发至医疗设备。安全应用程序的专用软件尤其建立与服务器的通信并且确保从服务器接收的安全密钥不是被计算设备存储,而是仅被发送至医疗设备并且随后在计算设备处被删除。

医疗设备例如输液泵被构造成使得当访问医疗设备时不能读取安全密钥。

在一个实施方式中,包括服务器密钥和设备密钥的密钥对由服务器提供,从计算设备取回(retrieve)并由计算设备发送至医疗设备。在本文中,服务器可以生成与多个医疗设备例如不同的输液设备相关联的多个不同的专用密钥对。因此,每个医疗设备与具有特定服务器密钥和特定设备密钥的专用密钥对相关联,不同的医疗设备使用的服务器密钥和设备密钥彼此不同。

例如,医疗设备a可以具有服务器密钥a和设备密钥a,然而医疗设备b可以具有服务器密钥b和设备密钥b。因此,不同医疗设备的密钥对彼此不同。

对于每个医疗设备,密钥对可以由计算设备从服务器取回并且可以被发送至特定的医疗设备。因此不同的密钥对经由计算设备被分发至不同的医疗设备。

一旦密钥对被分发至不同的医疗设备,就可以例如在医疗设备如输液泵的操作期间在医疗设备与服务器之间进行安全通信以向服务器提供操作数据。医疗设备和服务器之间的通信链路可以例如利用标准通信协议,如http或任何其他种类的协议(ip和非ip协议),其中,可以使用与特定医疗设备相关联的密钥对在服务器处对医疗设备进行认证以及对在医疗设备和服务器之间发送的消息进行加密。

例如,对于较不重要的数据,医疗设备可以在http会话内向服务器发送明文消息,该消息具有根据与医疗设备相关联的密钥对的设备密钥和服务器密钥中的至少一个所生成的签名。签名可以由服务器读取,并且服务器可以借助于签名来认证医疗设备,使得确保该消息从信任的医疗设备接收并且没有被第三方操纵。特别地,如果该方法将在从医疗设备到服务器的途中被操纵,则签名将被改变,这可以被服务器检测到。如果服务器接收并检测到正确的签名,则服务器知道该消息未被操纵并且由经认证的医疗设备发送。

为了避免来自不可信任的第三方的消息重放,每一条消息可以具有非静态部分(例如日期和时间)以确保为每一条消息获得不同的签名计算(因为具有相同密钥的相同消息否则会提供相同的签名)。为此,可以将时间戳或计数器添加在消息体中,并且服务器和/或医疗设备可以被配置成拒绝具有不良时间戳(即,太旧的时间戳)或者具有不良消息计数器的消息。由于这些原因,系统的每个项目(医疗设备、服务器和计算设备)之间的时间同步可以被初始执行。

在另一个示例中,医疗设备和服务器之间的通信可以被加密,特别是对于要保护的数据。为了加密,可以使用密钥对的设备密钥和服务器密钥中的至少一个,其中,医疗设备根据密钥对对消息进行加密,并且服务器使用密钥对将从医疗设备接收到的消息进行解密,反之亦然。再一次,为了避免来自不可信任的第三方的消息重放,每一条消息可以具有非静态部分(例如日期和时间)以确保为每一条消息获得不同的加密(因为具有相同密钥的相同消息否则会提供相同的加密)。

在一段时间的使用之后,例如在服务器和医疗设备之间发送预定量的消息之后,可能需要更改与医疗设备相关联的安全密钥。医疗设备可以通过向服务器发送加密消息来请求更改安全密钥,此时,服务器就以加密消息将新安全密钥例如新密钥对发送至医疗设备。利用旧安全密钥例如旧密钥对对其中将新安全密钥发送至医疗设备的消息进行加密。当在医疗设备处接收到新安全密钥例如新密钥对时,为了医疗设备与服务器之间的进一步通信,则使用新的安全密钥。

可以将特定更改的密钥消息发送给服务器,以向其通知密钥更改。在这种情况下,使用旧密钥对消息进行加密。

该目的还通过一种用于服务器与医疗设备尤其是输液设备之间的密钥分发的系统来实现,该系统包括:

-服务器,其配置成提供要用于医疗设备的安全数据通信的安全密钥,

-计算设备,其中,服务器和计算设备被配置成在服务器与计算设备之间建立第一通信链路,

-医疗设备,其中,计算设备和医疗设备被配置成在计算设备与医疗设备之间建立第二通信链路。

在本文中,计算设备被配置成经由第一通信链路从服务器取回安全密钥并且经由第二通信链路将取回的安全密钥发送到医疗设备。

上述针对该方法的优点和有利实施方式同样也适用于该系统,使得它将参考上文。

随后将关于附图中所示的实施方式更详细地描述本发明的基本思想。在本文中,

图1示出了包括服务器、计算设备以及多个医疗设备的系统;

图2示出了使用包括用于认证的签名的消息的医疗设备与服务器之间的通信;

图3示出了使用加密消息的医疗设备与服务器之间的通信。

图1示出了包括服务器1、诸如便携式膝上型计算机的计算设备2以及输液泵形式的多个医疗设备3a、3b的系统。该系统可以位于医院环境中,其中,服务器1可以例如放置在医院的中央位置处,并且输液设备3a、3b可以放置在医院的不同房间的不同病房中。

计算设备2可以是便携式设备,使得其例如可以本地连接至特定的医疗设备3a、3b。

为了允许服务器1与医疗设备3a、3b之间的安全通信,专用密钥对4a、4b形式的安全密钥被从服务器1经由计算设备2分发至不同的医疗设备3a、3b。本文中的密钥对4a、4b在服务器1处生成并且被存储在服务器1的存储器10中的安全密钥数据库中。

如图1所示,服务器1针对每个医疗设备3a、3b生成专用密钥对4a、4b。每个密钥对4a、4b包括服务器密钥和设备密钥,服务器密钥和设备密钥在不同的医疗设备3a、3b之间是不同的。

为了允许医疗设备3a、3b与服务器1之间的安全通信,在服务器1处生成的密钥对4a、4b必须被分发至不同的医疗设备3a、3b。这通过计算设备2来进行。

为了分发密钥对4a、4b,计算设备2建立与服务器1的通信链路11并且从服务器1取回密钥对4a、4b。计算设备2经由通信链路30a、30b连接至不同的医疗设备3a、3b(同时或一个接一个),其中通信链路30a、30b可以例如是有线链路,如串行链路(例如rs232链路)。经由本地通信链路30a、30b,将密钥对4a、4b发送至医疗设备3a、3b,使得第一医疗设备3a接收第一密钥对4a,并且第二医疗设备3b接收第二密钥对4b等。

密钥对4a、4b从服务器1到医疗设备3a、3b的分发可以经由在计算设备2上运行的安全应用程序来进行。安全应用程序可以例如建立至服务器1的通信链路11,并且可以将接收到的密钥对4a、4b发送至医疗设备3a、3b,而无需在计算设备2处本地存储密钥对4a、4b。以这种方式确保如果例如计算设备2丢失或受到外界的攻击,密钥对4a、4b也不会变成公知的。

服务器1可以被设置成使得只有运行在计算设备2上的特定安全应用程序可以接收密钥对4a、4b。因此密钥对4a、4b不能被来自外部的另外设备或另外应用程序访问。

密钥对4a、4b被经由利用加密算法例如非对称加密算法——如诸如传输层安全性(tls)或pgp的公钥方法——的安全链路从服务器1发送至计算设备2。因此,服务器1与计算设备2之间的通信被保护。

因为计算设备2经由例如有线链路30a、30b本地连接至医疗设备3a、3b,所以密钥对4a、4b可以通过计算设备2以明文消息而不使用加密地被发送至医疗设备3a、3b。因此医疗设备3a、3b不需要大量的计算能力,并且不需要运行复杂的加密算法。

在分发密钥对4a、4b时,例如为了配置医疗设备3a、3b或者在医疗设备3a、3b的操作期间,医疗设备3a、3b与服务器1之间的通信可以以安全的方式进行。

具体地,如图2所示,医疗设备3a可以以包括根据与医疗设备3a相关联的密钥对4a生成的签名的明文消息(例如在http会话内)来发送数据。服务器1可以读取签名,并且根据该签名以及服务器1已知的密钥对4a可以验证出消息已经由医疗设备3a(而不是由另外的设备)发送并且未被另一方操纵。因此借助于签名,医疗设备3a被认证。

签名可以例如由医疗设备3a使用其设备密钥来生成。当接收到包括签名的消息时,服务器1就根据服务器1已知的与医疗设备3a相关联的设备密钥、通过计算签名并且将计算出的签名与接收到的签名进行比较来验证接收到的签名。反之亦然,服务器1可以向医疗设备3a发送包括根据服务器密钥生成的签名的明文消息,并且医疗设备3a可以根据医疗设备3a已知的服务器密钥、通过计算签名并将其与接收到的签名进行比较来验证签名。

该消息可以包含时间戳或计数器,并且因此可以具有非静态部分。以这种方式可以确保生成的每个消息将具有根据密钥对4a计算出的不同签名。特别地,在不同时间发送的消息将具有不同的签名。以这种方式可以确保从不可信任的第三方重放的消息将具有不匹配的签名,这可以被服务器1或医疗设备3a检测到。

此外,如图3所示,医疗设备3a可以发送由与医疗设备3a相关联的密钥对4a加密的加密消息(例如在https会话内)。加密消息由服务器1接收并且可以由服务器1利用与发送的医疗设备3a相关联的密钥对4a来解密。

再次,由医疗设备3a完成的加密可以利用与医疗设备3a相关联的设备密钥。当接收到加密消息时,服务器1就可以利用服务器1已知的设备密钥来对消息进行解密。反之亦然,服务器1可以使用服务器密钥来发送加密的消息,并且医疗设备3a可以使用医疗设备3a已知的服务器密钥来对接收的消息进行解密。

再次,消息中可以包含时间戳或计数器,使得消息包含非静态部分。因此,避免了来自不可信任的第三方的消息的重放,这是因为在对具有另一个时间戳或另一个计数器的消息的加密中导致了不同的加密,这可以被服务器1或医疗设备3a检测到。

利用所提出的方案,密钥对4a、4b从服务器1到医疗设备3a、3b的分发是使用通常在计算上昂贵的诸如非对称密钥算法(公钥密码术)的高度安全的加密算法以安全的方式进行的。然而,由于密钥分发是通过运行安全应用程序的计算设备2进行的,因此这不会造成问题。然后,在密钥分发之后,可以使用所交换的安全密钥4a、4b来进行医疗设备3a、3b与服务器1之间的进一步通信以在医疗设备3a、3b与服务器1之间交换数据。对于这种通信,可以使用利用共享秘密密钥的对称密钥算法,这在计算上不太昂贵并且因此不会对可能具有降低的计算能力的医疗设备3a、3b造成问题。

因此,所提出的方案可以使用高度安全的非对称密钥算法(公钥算法)来分发安全密钥。对于实际的数据交换和通信,则可以使用计算上不太昂贵的对称密钥算法(私钥算法)。因此,密钥交换可以使用与后面的数据通信不同的加密算法。

因此,医疗设备3a、3b与服务器1之间交换的消息可以使用在医疗设备3a、3b与服务器1之间共享的秘密密钥被签名或加密。本文中的每个医疗设备3a、3b存储其秘密密钥和服务器密钥,并且服务器1存储设备密钥及其服务器密钥。

本文中的每个医疗设备3a、3b与具有特定设备密钥和特定服务器密钥的专用密钥对4a、4b相关联。因为每个医疗设备3a、3b与专用密钥对4a、4b相关联,所以可以避免在设备受到攻击的情况下危及服务器密钥。

密钥对4a、4b可以例如在设备配置期间(经由在计算设备2上运行的安全应用程序)被分发。

由于计算设备2经由尤其可以是有线链路例如串行(rs232)链路的本地链路30a、30b将与特定医疗设备3a、3b相关联的密钥对4a、4b传送至特定医疗设备3a、3b,而不需要使用特定的加密来将密钥对4a,4b从计算设备2传送到特定医疗设备3a、3b。因此,不必为了分发密钥对4a、4b而在医疗设备3a、3b上运行在计算上昂贵的加密算法。

通常,由服务器1生成的密钥对4a、4b应符合签名和/或加密算法,例如sha-1、aes-128或aes-256算法。

与每个医疗设备3a、3b相关联的秘密密钥对4a、4b应该以加密形式存储在服务器1的存储器10的安全服务器数据库中。为此,服务器1应该使用内部秘密密钥来对存储器10的数据库中的所有安全数据特别是密钥对4a、4b进行加密(“加盐”)。

服务器1应该支持与由医疗设备3a、3b使用的签名和/或加密算法相符合的签名和/或加密算法,例如sha-1、aes-128或aes-256算法。

大部分的用例都不需要加密。为了节省医疗设备3a、3b(其可以例如使用电池来运行)的计算能力和能量,建议仅可选地在医疗设备3a、3b一侧使用加密。因此,可以在医疗设备3a、3b一侧选择是否使用根据与医疗设备3a、3b相关联的密钥对4a、4b创建的签名来发送消息,或者是否使用利用与医疗设备3a、3b相关联的密钥对4a、4b的私钥算法来加密消息。

通常,与医疗设备3a、3b相关联的密钥对4a、4b应当被频繁地由新的密钥对4a、4b交换和代替。本文中的密钥替换的频率可以取决于特定医疗设备3a、3b的期望安全级别。例如,可以由医疗设备3a、3b通过向服务器1发送请求消息来触发密钥对4a、4b的改变。该消息可以通过由医疗设备3a、3b使用旧密钥对4a、4b来加密,并且可以由服务器1使用服务器1已知的旧密钥对4a、4b来解密。然后服务器1可以通过向医疗设备4a、4b发送包括新密钥对4a、4b的消息来进行响应,其中,该消息可以再次被使用旧密钥对4a、4b来加密并且可以由医疗设备3a、3b使用旧密钥对4a、4b来解密。然后,对于未来的消息,使用新密钥对4a、4b。

应该将服务器1设置成完全安全并且防止受到网络攻击和本地攻击(类似于例如公钥基础结构中的radius(远程认证拨号用户服务的缩写)服务器)。所有密钥对4a、4b应该被存储在存储器10的数据库中的秘密密钥容器中,其可以以密码形式来存储设备唯一标识符、每个密钥对4a、4b的服务器密钥和设备密钥。

在一个实施方式中,服务器1可以使用例如在aes-256算法中使用的公钥对/私钥对来加密其他数据。公钥对/私钥对也应该被存储在存储器10的数据库的秘密密钥容器中。

在计算设备2的安全应用程序中,例如可以使用基于如x.509证书的可信任认证系统来管理认证。本文中的证书可以被链接至用户以在安全应用程序上认证用户。

在一个实施方式中,计算设备2的安全应用程序可以被设置成对服务器1进行认证(以避免身份盗用),并且应该通过要求用户提供(例如由所谓的轻量级目录访问协议(ldap)管理的)登录名和密码来进行保护。安全应用程序应使用涉及证书(或任何其他认证技术)的认证来向服务器1证明登录到安全应用程序上的用户的用户身份。

当经由本地链路例如rs232串行链路连接至医疗设备3a、3b时,计算设备2的安全应用程序可以被设置成从医疗设备3a、3b取回唯一的id,并且可以被设置成将唯一的id发送到服务器1以从服务器1请求秘密密钥对4a、4b。本文中的安全应用程序可以将信息添加至请求。

每一次安全应用程序从服务器1请求密钥对4a、4b时,都应该生成新密钥对4a、4b。

例如医疗设备3a、3b可以是输液设备,例如注射器输液泵或容积式(蠕动式)输液泵。医疗设备3a、3b应具有用于其自身认证的唯一id。医疗设备3a、3b应该能够从计算设备2的安全应用程序接收秘密密钥,所述计算设备2例如可以是膝上型计算机、诸如智能电话的移动设备或者具有足够计算能力的另一计算设备。医疗设备3a、3b应将经由计算设备2的安全应用程序接收到的所有秘密密钥信息存储在被保护以免受外部读取操作的存储器部分中。特别地,医疗设备3a、3b的维护或操作应用应该不能访问存储在医疗设备3a、3b上的秘密密钥信息。

如果密钥对4a、4b到医疗设备3a、3b的分发失败,或者如果密钥对4a、4b出现问题,则新的密钥对4a、4b必须被分发至医疗设备3a、3b。应该避免密钥对4a、4b的恢复。

本发明不限于上述实施方式,而是可以以完全不同的方式实现。

例如,与上述的用于医疗设备与服务器之间的通信的密钥对的分发类似的方法也可以应用于配置医疗设备例如诸如输液泵的输液设备,以提供wifi连接,例如用于向医疗设备分发wpa2密码或radius证书。

附图标记列表

1安全服务器

10存储器

11链路

2计算设备(pc)

3a,3b医疗设备(输液泵)

30a,30b链路

31a链路

4a,4b密钥对

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1