安全的消息传送会话的制作方法

文档序号:17944158发布日期:2019-06-18 23:24阅读:147来源:国知局
安全的消息传送会话的制作方法

本发明涉及用于实现安全的消息传送会话的消息传送应用,所述安全的消息传送会话即由消息传送应用的锁定组件选择性地锁定的消息传送会话。



背景技术:

消息传送应用(app)允许用户经由网络彼此交换消息,所述消息有时被称为“即时消息”。所述网络可以是诸如互联网之类的基于分组的网络。消息包括由每个用户在其用户设备上输入的文本,即字符串。所述消息还可以包括丰富的内容,例如音频或图像数据(静态和视频图像两者)。以该方式,用户可以参与由消息传送应用所实现的消息传送会话。每个用户在他的用户设备上执行消息传送应用的实例以允许消息经由网络被发送和接收。在仅存在短延迟(例如,两秒或更少)的意义上,在发送消息的用户与接收该消息的其他一个或多个用户之间,通信可以是实时的。消息传送应用还可以具有另外的功能,例如,允许用户也彼此拨打语音或视频voip通话的voip功能。

所述用户设备例如可以是诸如智能电话或平板电脑之类的移动设备。可替代地,其可以是另一形式的计算机设备,例如膝上型或台式计算机,或者智能电视。

消息传送应用可以将本地消息历史存储在用户设备自身处。本地消息历史包括在消息传送会话期间交换的内容,例如对最新近发送和接收的消息的选择。以该方式将消息历史本地地存储在设备处允许更快速的访问,以在用户导航其消息传送历史时更加响应性地向该用户呈现消息传送应用。



技术实现要素:

本发明的第一方面针对一种用户设备,其包括用户接口、具有本地无线通信范围的无线收发机、计算机存储单元、以及处理器。所述计算机存储单元被配置为存储消息传送应用,该消息传送应用用于经由网络在用户设备与至少一个远程设备之间实现安全的消息传送会话。消息传送应用包括用于锁定安全的消息传送会话的锁定组件。所述处理器被配置为执行消息传送应用。消息传送应用的锁定组件被配置为响应于经由用户接口接收的解锁输入来确定在本地无线通信范围内是否存在受信设备,并依赖于此来解锁安全的消息传送会话。

本地无线通信范围与用户设备周围的本地空间区域相对应,其中在该区域中,用户设备与受信设备之间经由无线收发机的直接无线(例如,rf)通信是可能的。无线通信范围的程度是由无线收发机和受信设备的发送和接收功率,以及所述设备用于通信的无线通信技术所确定的。例如,蓝牙通常具有在大约0.5m到大约100m之间的无线通信范围,这取决于如由其蓝牙类别所指示的设备的相应功率。当然,这受制于由诸如噪声和干扰之类的无线条件引起的变化,这可能作用以减少无线通信范围的程度。在任何事件中,无线通信范围使得受信设备在其内,并且因此当受信设备处于用户设备附近时,经由无线接口对用户设备可检测且可识别。

应当注意的是,在本发明中,受信设备的角色是指示经授权的用户在用户设备附近存在。在最简单的情况下,受信设备的存在可以仅被认为是对用户设备的用户被授权访问安全的消息传送会话的指示。即,消息传送应用的锁定组件可以响应于确定在无线通信范围内存在受信设备而无条件地解锁安全的消息传送会话(只要检测到受信设备的存在,就解锁该会话)。

然而,优选地,采取初始步骤以向受信设备授权该用户,例如,该用户在受信设备上输入正确的密码。更优选地,受信设备是可穿戴设备,其中,一旦该用户已经将自己认证至可穿戴设备,则只要该可穿戴设备感知到其仍然由该用户穿戴,则其就保持经认证;当可穿戴设备检测到其不再被该用户穿戴时,用户与可穿戴的设备之间的该信任关系终止,以使得对受信设备的检测不再解锁该消息传送会话,直到用户将自己向该受信设备重新认证为止。即,更加一般地,当锁定组件确定在本地无线通信范围内存在受信设备,并且仅在其还确定用户目前对受信设备经认证的情况下,该锁定组件解锁安全的消息传送会话。

相比之下,远程设备可以在无线通信范围之外,例如,网络可以是互联网,并且用户设备和远程设备可以在很远的距离上通过互联网参与消息传送会话。

在实施例中,所述消息传送应用被配置为:当在处理器上被执行时,仅当安全的消息传送会话被解锁时执行以下的消息传送操作:经由用户接口输出安全的消息传送会话中已经经由网络从远程设备接收的消息,以及经由所述网络向远程设备发送安全的消息传送会话的对外的消息,所述对外的消息根据经由所述用户接口接收的消息生成输入所生成的;由此,由消息传送应用的锁定组件对安全的消息传送会话进行解锁允许对所述消息传送操作的执行。

所述消息传送应用可以被配置为将安全的消息传送会话的本地消息历史作为加密的数据存储在计算机存储单元中,并且解锁安全的消息传送会话可以包括解密所述本地消息历史的至少一部分以用于经由用户接口输出。

可以使用从在本地无线通信范围内的受信设备接收的密钥数据来解密所述本地消息历史。

可替代地或另外地,可以使用在用户设备本地在计算机存储单元的安全部分中所保存的密钥数据来解密所述本地消息历史。

例如,可以使用第一密钥数据来加密所述本地消息历史,其中,所述第一密钥数据包括所述密钥数据或者能够从所述密钥数据中导出。

作为另一示例,可以使用第二密钥数据来加密本地消息历史,并且使用第一密钥数据来加密的第二密钥数据的一版本被本地地存储在计算机存储单元中,其中,所述第一密钥数据包括所述密钥数据或者能够从所述密钥数据中导出。

密钥数据能够从受信设备的标识符和/或密码(例如,pin或密码)和/或生物计量(例如,指纹)。

消息传送应用可以被配置为存储用于解密计算机存储单元中的本地消息历史的临时密钥数据,并且消息传送应用的锁定组件可以被配置为通过将临时密钥数据从计算机存储单元中擦除来锁定安全通信会话。

例如,临时密钥数据可以被存储在计算机存储单元的易失性存储器区域中,并且从中被擦除。

消息传送应用的锁定组件可以被配置为响应于确定受信无线设备处于所述无线通信范围内,仅在其确定用户当前对所述设备经认证的情况下,解锁所述安全的消息传送会话。

消息传送应用可以用于实现安全的和不安全的消息传送会话(即,具有安全或不安全的类型),其中,当没有受信设备被确定为在无线通信范围内时,不安全的消息传送会话保持解锁。

消息传送应用可以被配置为根据在用户接口处接收的用户输入将一种类型的消息传送会话设置为安全的或不安全的。

处理器可以被配置为检测在本地无线通信范围内的受信设备,并且使用在计算机存储单元中本地存储的受信设备数据来对其进行认证。

例如,受信设备数据可以是受信设备先前同意的共享的秘密。

计算机存储单元可以被配置为存储用于在处理器上执行的操作系统,并且锁定组件可以被配置为当被执行时作为消息传送应用的一部分在操作系统上运行,其中,消息传送应用及其锁定组件不是该操作系统的一部分。

本发明的第二方面针对一种系统,其包括第一方面或其实施例的用户设备和受信设备。

所述受信设备可以是可穿戴设备。

如所记载的,本地消息历史可以使用从在所述本地无线通信范围内的所述受信设备接收的密钥来解密。即,可以需要从所述可穿戴设备接收的密钥数据来解密所述历史。在该情况下,可穿戴设备可以被配置为在其检测到所述可穿戴设备从用户的移除的情况下擦除所述密钥数据。

本发明的第三方面针对一种经由网络在用户设备与至少一个远程设备之间实现安全的消息传送会话的方法,所述方法包括在所述用户设备处进行以下操作:在于所述用户设备的处理器上执行的消息传送应用处、经由所述用户设备的用户接口接收与所述安全的消息传送会话有关的解锁输入;其中,所述消息传送应用的锁定组件响应于所述解锁输入来确定在所述用户设备的本地无线通信范围内是否存在受信设备,并且依赖于该确定来解锁所述安全的消息传送会话。

在第三方面的实施例中,可以实现第一或第二方面或其任何实施例的任何特征。

在实施例中,消息传送应用可以在用户设备处将安全的消息传送会话的本地消息历史存储为加密的数据,并且解锁安全的消息传送会话可以包括解密所述本地消息历史以经由所述用户接口输出。

可替代地或另外地,消息传送应用可以仅当安全的消息传送会话被解锁时执行以下的消息操作:经由所述用户接口输出已经经由网络从远程设备接收的安全的消息传送会话的消息,并且经由所述网络向所述远程设备发送安全的消息传送会话的对外(outgoing)的消息,所述对外的消息是根据通过所述用户接口接收的消息生成输入生成的。

本发明的第四方面针对一种计算机程序产品,其包括在计算机可读存储介质上存储的消息传送应用,并且其被配置为当被执行时实现第二方面或其任何实施例的方法。

附图说明

为了更好地理解本发明以及示出其实施例可以如何被实现,对附图进行参考,其中:

图1示出了通信系统的示意性框图;

图2示出了与受信设备无线地进行通信的用户设备的示意性框图;

图3示出了管理安全的消息传送会话的方法的流程图,该方法是由在用户设备的处理器上执行的消息传送应用实现的;

图4a示出了一种示例性装置,利用该装置,安全通信系统的本地消息历史可以在用户设备处被加密;

图4b示出了另一种示例性装置,利用该装置,本地消息历史可以在用户设备处被加密;

图5a示意性地示出了用于在加密本地消息历史时使用的密钥数据;

图5b示意性地示出了可以如何生成这样的密钥数据;

图6a和6b示出了可以在用户设备处被实现的加密层级的不同示例;并且

图7a和7b示出了由消息传送应用在用户设备处显示的示例用户接口。

具体实施方式

有时在消息传送会话中交换的信息可以具有敏感的性质。例如,其可以包括用户不希望在没有他们同意的情况下被散播的个人信息或机密信息。现有的用户设备确实提供了某一形式的保护,这在于它们包括选择性地锁定整个设备的通用锁定功能。当所述设备以该方式被锁定时,其是不可用的(或仅在非常有限的程度上可用)直到用户采取积极的动作将其解锁为止,例如,通过输入密码或扫描他的指纹(在所述设备包括这样的功能的情况下)。然而,用户常常发现作为结果的约束是令人生气的,并且因此可能选择不启用该功能。该选择常常是用户在没有完全考虑其后果的情况下做出的。也就是说,用户在设备已经丢失或被偷之前常常不理解禁用设备锁定在他们的个人数据方面的隐含意义,但这时常常已经太晚而无法关于其做任何事情。特别地,禁用设备范围的锁定功能的用户将常常不理解这在他的消息历史方面的隐含意义,以及获取其设备的不法用户将能够看到他的消息历史以及他在消息会话期间交换的任何敏感信息的事实。例如,在聊天历史被本地地存储在用户设备上的情况下,或者在认证数据被存储在用户设备上而该认证数据允许此人没有另外的认证而从服务器取回消息传送历史的情况下(即,在用户仍然登录在消息传送应用中的情况下),其消息历史可以容易地被访问。

现有的用户设备的确通过简化解锁过程在一定程度上解决了该问题。特别地,最近智能电话已经配备有这样的功能,其中,智能电话在其检测到在其附近有用户穿戴了受信的可穿戴设备的情况下,自动地将其自身解锁。然而,该方式仍然存在问题,这在于其仅提供了设备范围的锁定。如所记载的,用户倾向于禁用或选择不建立设备范围的锁定系统,这是因为他们不能够理解在由个体应用并且尤其是消息传送应用所保存的数据方面的后果。

本发明通过提供包括用于锁定个人消息传送会话的锁定组件的消息传送应用来解决该问题。以该方式可锁定的消息传送会话在本文中被称为安全的消息传送会话。将锁定功能实现为消息传送功能自身的一部分,其中,锁定功能在消息传送应用本地并且被包含在消息传送应用内,而不是设备范围的,这显著地降低了用户在没有完全理解在其敏感的消息传送数据方面的后果的情况下选择禁用或不使用该锁定功能的风险。优选地,消息传送应用提供了安全的和不安全的消息传送会话两者,其中,用户可以根据讨论中的消息传送会话的性质来在两者之间进行选择。

为了以给用户施加的最小负担来实现该内部消息传送应用锁定功能,消息传送应用的锁定组件被配置为在其确定在用户设备的本地无线通信范围内存在受信设备(优选地是由用户穿戴的可穿戴设备)的情况下,解锁安全的消息传送会话。即,受到用户设备信任、并且距用户设备足够近以能够基于用户设备与受信设备之间的短距直接无线通信(例如,蓝牙)可检测且可识别的设备。

在下文中所描述的示例中,用户设备运行消息传送应用(聊天客户端)。聊天客户端提供了安全的和不安全的消息传送会话(聊天),其中,不安全的聊天对用户设备的用户总是可查看/可访问的,而安全的聊天在对用户可查看/可访问之前必须被解锁。设备具有无线(例如,蓝牙)连通性,并且用户选择一个或多个连接的蓝牙设备为受信设备。当用户尝试访问安全聊天时,如果检测到所述受信蓝牙设备中的任何一个,则该聊天被解锁并且可访问。

图1示出了一种通信系统,其包括网络2以及连接至网络2的以下设备:用户设备4、各自由远程用户16操作的一个或多个远程用户设备14(远离用户设备4)、以及消息传送服务器18。

用户6(本地用户)被示出为在操作用户设备4以及在用户设备4附近的另一设备24。其他设备24是可穿戴设备,例如智能手表、耳机、用于附接到衣服上的夹持设备等,但这在图1中没有明确示出。可穿戴设备24在用户设备4附近,这在于其在用户设备4的本地无线通信范围20之内以使得可以在可穿戴设备24与用户设备4之间建立无线通信信道37。

网络2是基于分组的计算机网络,例如互联网。用户设备4、14中的每个被示出为执行消息传送应用5的相应实例(聊天客户端或聊天应用)。消息传送应用5允许用户6、16在用户6、16之间进行的消息传送会话(聊天)中经由网络2彼此发送和接收消息,所述消息被称为即时消息。这些消息的内容主要是基于文本的,但其也可以包括诸如音频或图像数据之类的丰富内容。例如,所述消息可以经由消息传送服务器18来中继,并且消息传送服务器18可以将所交换的消息的记录存储在远程数据库19中。以该方式,通信会话的远程消息历史被保存在远程数据库19中,其可以例如被渲染得由用户6、16使用其设备4、14或者受到任何要求的用户和/或设备认证的其他设备可访问。

另外,消息传送应用5在用户设备4上存储本地消息历史7,所述本地消息历史7包括在消息传送会话中交换的内容的至少一部分,例如,最近发送和接收的消息。在本文中所描述的示例中,消息传送应用5根据消息传送会话中的每个会话的类型并且特别地根据用户是否已经将消息传送会话的类型设置为安全的类型来选择性地加密本地消息历史7。用户6可以将每个消息传送会话的类型选择性地设置为安全的或不安全的,并且在一些实现中能够改变现有消息传送会话的类型。如下文详细解释的,消息传送应用5将仅允许在某些情况下访问本地消息历史7的加密的部分。现在有充足的理由说,解锁通信会话以获得对加密的本地消息历史的访问(7u,图2)的方式是将可穿戴设备24带到本地无线通信范围20中,以使得其能够由用户设备4检测到并认证。如已经记载的,这也可以是以用户6向可穿戴设备24进行了认证为条件的。

要注意的是,术语“消息传送会话”、“通信会话”、以及“消息传送通信会话”在本文中可互换地被使用。

图2示出了与可穿戴设备24进行通信的用户设备4的高度示意性的框图。用户设备4被示出为包括处理器32,其中以下组件连接至处理器32:计算机存储单元34、无线收发机36、网络接口38、显示器40、以及诸如触摸屏、鼠标、或触控板之类的至少一个用户输入设备。显示器40和至少一个用户输入设备42构成了用户设备4的用户接口。这仅仅是合适的用户接口的一个示例,并且其他用户设备可以包括其他形式的用户接口,例如,基于语音识别、手势识别、意图识别、或其他形式的所谓“自然”用户接口参与。处理器32可以例如包括一个或多个cpu。计算机存储单元34被示出为保存消息传送应用5和操作系统(os)44以用于在处理器32上执行。如在本领域已知的,当在处理器32上被执行时,操作系统44支持用户设备的基本功能,例如软件调度和对如显示器40和无线收发机36等的外设的管理。操作系统44被示出为包括无线通信管理组件44,其在作为操作系统44的一部分被执行时,与无线收发机36协作,以便向在os44上运行的应用(例如,消息传送应用5)提供无线通信功能。例如,优选地,无线收发机36和无线通信管理组件45是基于蓝牙技术实现的,以便允许经由无线收发机36进行蓝牙通信。当在处理器32上被执行时,消息传送应用5在os44上运行。消息传送应用5被示出为包括锁定组件5l,其在处理器32上作为消息传送应用5的一部分被执行时,实现允许选择性地锁定安全的消息传送会话的功能,包括在上文中简要描述的加密功能。因此,该锁定功能被包含在消息传送应用自身中,并且不是os44的一部分。即,该锁定功能受限于消息传送应用5并且被包含在消息传送应用5内,这与可以是或者不是由os44实现的任何设备范围的锁定功能是分开且独立地进行的,并且因此与这样的设备范围的锁定功能是否被用户6启用是无关地进行的。

还还示出为在计算机存储单元34中存储的是多个不安全的聊天记录7u以及多个安全的本地消息历史7s,所述7u中的每个是不同的不安全的消息传送会话的聊天历史(uc),所述7s中的每个是作为加密的数据被存储的安全的消息传送会话的本地消息历史(被表示为e[sc])。对这些安全的加密的消息历史7s的访问仅由消息传送应用5的锁定组件5l选择性地允许。

另外,计算机存储单元34保存共享的秘密9(ss),共享的秘密9的一版本也被示出为存储在可穿戴设备24上。该共享的秘密9是仅用户设备4和可穿戴设备24知道的一段信息,并且其以安全的方式被保存在这些设备中。共享的秘密9可以是作为诸如蓝牙配对之类的配对过程的一部分在用户设备4与可穿戴设备24之间被商定。蓝牙协议的版本使用diffie-hellman密钥交换,以便在由无线收发机36建立的不安全的无线通信信道上安全地商定共享的秘密。这样的协议是本领域已知的,并且在本文中将不描述该配对的另外的细节。

如果并且当在用户设备4的本地无线通信范围20之内检测到可穿戴设备24,用户设备可以促成所谓的挑战过程,在该过程中其经由无线收发机36向可穿戴设备24发出挑战。该挑战是基于共享的秘密9的,并且使得可穿戴设备24仅能够在也具有共享的秘密9的知识的情况下正确地响应该挑战。共享的秘密9在整个过程中保持是秘密的。因此,用户设备4能够基于该挑战及其响应来认证可穿戴设备24。在该过程期间,共享的秘密9不是由设备而是由该挑战发出的,并且响应过程是这样的,用户设备4知道如果可穿戴设备24正确地响应,则可穿戴设备24也一定能够访问该共享的秘密9。就这个意义而言,可穿戴设备24从用户设备4的角度来看是受信设备,其中,该信任关系是通过对共享的秘密9的共同知识来建立的。这样的基于共享的秘密的挑战响应范式是本领域已知的,并且例如被并入蓝牙协议中,因此在本文中将不讨论另外的细节。

在本示例中,用于经由无线收发机36来建立共享的秘密9以及对可穿戴设备的随后的检测和认证的配对过程是由操作系统44的无线通信管理组件45管理的。即,其作为用户设备的原生os功能的一部分被包括。可替代地,该功能可以由在操作系统44之外的代码来实现,例如,作为无线收发机36的可安装驱动程序的一部分被提供的代码,所述无线收发机36可以是诸如usb外设之类的模块化组件。

图3示出了用于管理消息传送会话的方法的流程图,该方法是由消息传送应用5当在处理器32上被执行时实现的。

在步骤s2处,用户6尝试使用用户输入设备42访问现有的消息传送会话。即,针对其的本地消息历史7u、7s已经被存储在计算机存储单元34中的消息传送会话。图7a示出了聊天选择显示屏幕的高度简化的示例,其可以由消息传送应用5在显示器40上显示以允许用户6从现有的消息传送会话中进行选择。多个现有的消息传送会话中的每个由相应的可选择ui元素72a、72b、72c和72d表示,用户可以选择所述ui元素以便访问该消息传送会话,并且特别地,访问受到某些约束的该消息传送会话的本地消息历史。以该方式,用户6在选择了锁定的会话之后经由用户接口提供解锁输入。在步骤s4,该方法取决于所选择的会话是否是安全的聊天而分支。如果不是,则消息传送应用5无条件地提供对该聊天的本地存储的消息历史7u的访问。在该示例中,消息传送应用5不采取对不安全的消息历史7u加密的任何步骤,并且其就此意义而言是未加密的(但不排除独立于消息传送应用5,例如通过os44,来采用和管理某一加密的可能性。然而,这里的假设是无法依赖于此而确保由消息传送应用5管理的本地消息历史的安全)。这在图3中由步骤s6表示。

另一方面,如果所选择的聊天被确保安全,则对本地消息历史7s的访问仅由消息传送应用5在某些情况下授权(s8)。即,仅由消息传送应用5的锁定组件5l有条件地解锁该安全的聊天。消息传送应用5的锁定组件5l将解锁该聊天的条件之一是当受信的可穿戴设备24在用户设备4的无线通信范围20之内时(s10)。在该事件中,锁定组件5l将允许对所选择的安全的消息传送会话的访问,并且特别地,对加密的本地消息历史7s的访问,而无需任何另外的或诸如对密码的输入、指纹扫描等之类的认证。即,锁定组件5l将仅基于该认证而允许对加密的历史7s的访问,并且得出用户设备4与受信的可穿戴设备24之间的信任关系,如上文记载的,其最终来源于对共享的秘密9的共同知识。也如上文记载的,这还可能需要用户6被范围内的可穿戴设备24认证。如下文进一步详细描述的,这可以例如需要用户6在穿戴可穿戴设备24时向该设备提供用户认证信息,例如密码或生物计量信息(例如,指纹、虹膜扫描等),从而初始对自身进行认证。接着,其可以保持被认证直到他移除该设备24或者某一其他终止事件发生为止。

如果受信的可穿戴设备24不在无线通信范围20之内并且没有其他受信设备在无线通信范围20之内,则为了解锁安全的消息传送会话,消息传送应用5的锁定组件5l需要某一其他形式的认证,例如,在其解锁消息传送会话并允许对加密的本地消息历史7s的访问之前,其可以需要用户输入密码(例如,密码、pin等)(s12)。可替代地或另外地,在该事件中,可能需要用户6将生物计量信息提供至加载组件sl。因此,在该事件中,用户6仍然有可能获得对安全的消息传送会话的访问,但是只有在其能够利用消息传送应用5的加载组件sl来成功地完成合适的认证过程的情况下。

在图7a中,聊天1和4是不安全的,并且能够分别经由ui元素72a和72d来选择。另一方面,聊天2和3是安全的聊天,其受到经由用户接口元素72b和72c可访问的成功解锁。在该示例中,这些聊天由与ui元素72b和72c相关联地显示的图标标记为安全的。

图7b示出了针对聊天2的聊天显示屏幕的示例,以展示在成功解锁该聊天之后可以向用户显示什么。该聊天的本地消息历史可以被显示为在用户6与至少一个远程用户16之间的一系列显示的消息74,所述远程用户16也是安全的消息传送会话的参与者。所述消息是以传统即时消息传送应用的方式被显示的,并且显示机制的另外的细节将不在本文中被描述。用户还可以输入消息,以经由ui元素76向至少一个用户16发送,由此允许安全的消息传送会话从所显示的历史74的结尾处继续。

为了辅助图示,现在将参考图4a至6b来描述可以用来确保安全的消息传送会话的本地消息历史7s的安全的加密机制的各种示例。

图4a和4b示出了两个一般的、可替换的机制,利用所述机制可以存储用于对加密的消息历史7s进行解密的密钥数据kd。在图4a的第一示例中,密钥数据kd被存储在用户设备自身处的计算机存储单元34的特殊安全区域34s中。例如,在作为用户设备4自身的架构一部分来提供的专用密钥存储中。诸如智能电话之类的设备包括与主存储器分离的并且通常在大小上受限的特殊的、安全的存储区域是已知的。确保该区域安全的方式在设备与设备之间不同,但是在没有认证的情况下从其处取回信息要困难得多。

在图4b的第二示例中,密钥数据kd替代地被存储在受信设备24处。该密钥数据kd从安全设备24被传送至用户设备以便经由无线通信信道37(或通过某一其他通信方式)来解锁安全的消息传送会话。也就是说,用于解密安全的消息历史7s所需的数据中的至少一些仅被保留在受信设备24处。这更加安全,因为密钥数据kd仅被保留在受信设备24处的事实意味着在用户设备4自身处没有保留足够的信息来解密安全的消息历史7s。

如在图5a中所示出的,密钥数据可以是被表示成k1的加密密钥,或者其可以是能够用于使用由锁定组件5l实现的密钥导出函数52来导出加密密钥k1的数据(例如)。针对后者,密钥数据kd是对密钥导出函数52的输入,并且在生成加密密钥k1时,除了密钥数据kd之外,密钥导出函数52还可以接收一条或多条其他数据作为其使用的输入。

如在图5b中所示出的,可以例如通过向一条仅由用户6知道的秘密数据(例如,密码58)应用函数来生成密钥数据。该函数在图6b中被表示为56,并且接收密码58作为输入。除了密码之外,该函数还可以接收一条或多条其他数据60作为其使用的输入以生成密钥数据。

例如,用于输入至函数52、56的另一输入可以是对受信设备24唯一的标识符(id),例如mac地址,以提供增加的熵。

如在图6a中所示出的,加密密钥k1可以用于直接对消息历史7s加密——被表示为k1(sc)。然而,优选地,如在图6b中所示出的,使用第二加密密钥k2来加密消息历史7s——被表示为k2(sc)——并且密钥k2的加密的版本也被存储在用户设备处的计算机存储单元34中,其是使用密钥k1来加密的——被表示为k1(k2)。因为其提供了更大的灵活性,所以其是优选的。例如,密钥k2的其他版本可以被存储在以不同方式加密(例如,基于密码或指纹)的用户设备处,以使得即使当密钥k1不可用时仍然能够访问密钥k2以解密消息历史7s。如在图6a和6b中所示出的,仅在消息传送会话被解锁时,可以将密钥k1(或用于导出密钥k1的数据)临时地存储在用户设备4处,例如,在计算机存储单元34的易失性存储区域34v中。锁定模块5l可以通过仅从易失性存储器34v擦除密钥k1的临时版本来可靠地快速锁定消息传送会话。如在本领域中已知的,易失性存储器指的是数据仅在存储器上电时才在其中留存的存储器。易失性存储器的示例是随机存取存储器。一旦已经从易失性存储器擦除了数据则几乎不可能恢复,这提供了非常高等级的安全性。尽管在另一方面中,临时版本的密钥被保存在易失性存储单元34v中,但是消息传送应用5的锁定模块5l可以使用该版本的密钥以快速且有效地访问安全的消息历史7s。在该上下文中,易失性存储器345是有用的,因为其是应用被保证能够访问任何设备的东西(而安全存储345可能不是在所有设备上都可访问,并且在一些设备上,即使可访问,其也仅能够对os44而不是在其上运行的第三方应用可访问)。

在图4a的场景中,在密钥k1和/或密钥数据kd(如果其不同)是从用户信息(例如,密码或生物计量信息)导出的情况下,一旦从易失性存储单元擦除了临时版本的密钥k1,则其不能被恢复直到该用户信息被提供至用户设备4为止。

在图4b的场景中,其中密钥数据kd是由可穿戴设备24提供的,一旦已经从易失性存储单元34v擦除了临时版本的密钥k1,则在用户设备4处取回密钥k1的唯一方式是从可穿戴设备24对其进行接收,这进而仅在可穿戴设备24处于用户设备4的范围20之内的情况下是可能的。

优选地,在该图4b的场景中,可穿戴设备24仅在某些的情况下留存密钥数据kd。例如,当可穿戴设备24检测到其已经从用户被移除时,即,其不再由用户穿戴,则其可以擦除密钥数据kd。例如,可穿戴设备24可以仅将密钥数据kd留存在易失性存储器中,以使得当其检测到其不再被穿戴时可以容易地擦除该数据。为了在可穿戴设备24处恢复密钥数据,用户6不得不重新戴上可穿戴设备,并且通过例如输入密码或指纹来将自己向可穿戴设备24认证。即,更加一般地,仅在可穿戴设备24上保存密钥数据kd以持续用户6保持对可穿戴设备24已认证的时长。参考图5b,对指纹或密码的成功识别允许函数56恢复密钥数据kd,在该示例中,函数56是在可穿戴设备24上实现的。该新鲜的密钥数据kd可以在可穿戴设备24上留存以持续其被用户穿戴的时长,这使得该密钥数据可以当在用户设备4的范围20之内时,经由无线通信信道37被发送至用户设备4,以在解密安全的消息历史7s时使用。

要注意的是,尽管上文已经描述了关于本地消息历史的锁定的示例,但是本发明不限于该类型的锁定。例如,当消息传送应用的锁定组件阻止了与当被锁定时的安全通信会话相关的对消息传送应用的消息传送功能的访问时,安全的消息传送会话可以说是被锁定的。即,使得用户不能够看见已经从远程用户16接收的、被锁定的通信会话的消息,并且防止用户6向远程用户16发送新的、被锁定的消息传送会话的对外的消息。在该情况下,由消息传送应用5的锁定组件5l对安全的消息传送会话的解锁准许对未锁定的会话的消息传送功能的访问,由此允许对这些消息传送操作的执行。作为另一示例,可替代地或另外地,可以通过以下方式来解锁消息传送会话:仅在该消息传送会话未锁定时提供对远程存储在远程数据库19中的安全的消息传送会话的消息历史的访问,例如以至少一个受信设备24在无线通信范围20之内为条件来提供用户设备6对消息传送服务器18的成功认证。

要注意的是,术语“处理器”用于指代一种装置,其包括能够执行代码的一个或多个处理单元(例如,cpu),所述代码即可执行指令,即诸如消息传送应用5和os44之类的软件。在多个处理单元的情况下,这些可以在相同的或不同的芯片、管芯等上。一般而言,术语“计算机存储单元”用于指代一个或多个计算机可读存储设备,例如磁性的或固态存储设备或其他形式的电子存储。一般而言,消息传送应用5可以被存储在一个或多个可读存储器设备中,不仅包括电子存储,还包括诸如光盘之类的光学存储。在本文中所描述的技术特征是与平台无关的,这意味着可以在具有多种处理器的多种商用计算平台上实现上述技术。消息传送应用5可以通过多种不同的配置经由计算机可读介质向用户设备4提供。计算机可读介质的一种这样的配置是信号承载介质,并且因此其被配置为例如经由网络将指令(例如,作为载波)发送至计算设备。计算机可读介质还可以被配置为计算机可读存储介质,并且因此不是信号承载介质。计算机可读存储介质的示例包括随机访问存储器(ram)、只读存储器(rom)、光盘、闪速存储器、硬盘存储器,以及可以使用磁性、光学和其他技术来存储指令和其他数据的其他存储器设备。尽管已经用特定于结构特征和/或方法动作的语言对主题进行了描述,但是所要理解的是,所附权利要求中所限定的主题不一定限于以上所描述的具体特征或动作。相反,以上所描述的具体特征和动作是作为实现权利要求的示例形式而公开的。

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