用于传送和接收消息的用户终端和方法与流程

文档序号:11064793阅读:350来源:国知局
用于传送和接收消息的用户终端和方法与制造工艺

本申请要求2015年10月27日在韩国知识产权局提交的韩国专利申请No.10-2015-0149491的权益,通过引用的方式将其公开内容全文合并在此。

技术领域

一个或多个示例性实施例涉及用于传送和接收消息的用户终端和方法以及/或者存储计算机程序的计算机可读记录介质,更具体来说涉及被配置成使得不与消息服务器共享被用于加密或解密消息的密钥信息的用户终端、方法以及/或者存储计算机程序的计算机可读记录介质。



背景技术:

基于信使(messenger)的通信在多个终端与服务器之间传送和接收消息。当第一用户通过安装在他或她的终端上的消息应用输入文本时,所述文本通过相应的信使服务提供商的服务器被传送到安装在第二用户的终端上的消息应用。大多数消息应用在终端(例如智能电话)与服务器之间应用加密设备。被传送到服务器的已加密消息通常由服务器解密。

根据相关的技术,消息可以由服务器解密。因此,如果服务器被破解,则在用户之间传送的消息可能会被公之于众或者可能会被未经授权的第三方访问。

为了解决这样的问题,已经应用了允许所选的用户终端解密消息的端对端加密技术。

但是如果应用端对端加密技术,则相同的消息根据接收方或发送方被不同地加密,并且服务器需要单独管理用户之间的消息。



技术实现要素:

一个或多个示例性实施例包括用户终端、方法以及/或者存储计算机程序的计算机可读记录介质,其通过使用加密密钥对第一消息进行加密,把第一消息从第一用户终端传送到第二用户终端,并且通过使用与加密密钥配对的解密密钥对接收自第二用户终端的第二消息进行解密。

一个或多个示例性实施例包括用户终端、方法以及/或者存储计算机程序的计算机可读记录介质,其在作为由用户持有的另一个终端的第二用户终端上实施认证,并且在认证完成时实施控制以便与第二用户终端共享消息。

一个或多个示例性实施例包括用户终端、方法以及/或者存储计算机程序的计算机可读记录介质,其中不与控制一个或多个用户终端之间的消息的传送和接收的消息服务器共享不应由该消息服务器解码的已加密或已解密的消息。

附加的方面将部分地在后面的描述中进行阐述并且部分地将通过所述描述而变得显而易见,或者可以通过实践所给出的示例性实施例而获知。

根据一个示例性实施例,提供一种存储计算机可读指令的非瞬时性计算机可读记录介质,所述计算机可读指令在由第一用户终端执行时使得第一用户终端实施一种方法,所述方法包括:接收包括第一随附文件的第一消息;基于第一随附文件的类型生成用于对第一消息进行加密的至少一个加密密钥;利用所述至少一个加密密钥对第一随附文件进行加密;把发送方信息添加到第一消息,所述发送方信息与第一消息相关联;以及把包括发送方信息的第一消息传送到消息服务器。

在一些示例性实施例中,所述生成至少一个加密密钥可以包括生成第一随附文件的散列值以作为第一随附文件的加密密钥。

在一些示例性实施例中,当第一随附文件的类型是视频文件时,所述生成至少一个加密密钥可以包括生成第一随附文件的散列值以作为第一随附文件的加密密钥。

在一些示例性实施例中,所述生成至少一个加密密钥可以包括生成用于多个第二用户终端的多个加密密钥以用于把第一消息传送到所述多个第二用户终端。

在一些示例性实施例中,所述方法还可以包括:接收第二消息以及与第二随附文件相关联的索引,所述第二消息由第二用户终端通过消息服务器传送;提取索引;利用索引从消息服务器调用第二随附文件;以及利用接收自第二用户终端的解密密钥对第二随附文件进行解密。

在一些示例性实施例中,所述方法还可以包括输入认证密钥,所述认证密钥从第二用户终端通过消息服务器传送,以便从第二用户终端读取第一消息。

在一些示例性实施例中,所述输入认证密钥可以包括:从第二用户终端向消息服务器传送认证密钥;响应于所传送的认证密钥接收关于认证密钥的验证结果;以及根据验证结果把第一消息和第二消息传送到第二用户终端。

在一些示例性实施例中,所述输入认证密钥可以包括通过使用认证密钥对第一和第二消息进行加密并且把已加密的第一和第二消息传送到第二用户终端。

根据一个示例性实施例,一种用户终端包括通信器、存储器和至少一个处理器,其包括:被配置成接收包括第一随附文件的第一消息的输入控制器,所述第一消息包括发送方信息;被配置成通过考虑第一随附文件的类型生成用于对第一消息进行加密的加密密钥;被配置成通过使用加密密钥对第一消息的第一随附文件进行加密的加密器;以及被配置成把第一消息传送到消息服务器的消息传送器。

在一些示例性实施例中,当第一随附文件的大小等于或大于阈值时,密钥生成器还可以被配置成生成第一随附文件的散列值以作为第一随附文件的加密密钥。

在一些示例性实施例中,当第一随附文件的类型是视频文件时,密钥生成器还可以被配置成生成第一随附文件的散列值以作为第一随附文件的加密密钥。

在一些示例性实施例中,当希望把第一消息传送到多个用户终端时,密钥生成器还可以被配置成生成用于各个用户终端的多个加密密钥。

在一些示例性实施例中,所述至少一个处理器还可以包括:被配置成接收第二消息以及与第二随附文件相关联的索引的消息接收器,所述第二消息由第二用户终端通过消息服务器传送;被配置成提取索引并且利用索引从消息服务器调用第二随附文件的数据调用器;以及被配置成通过使用接收自第二用户终端的解密密钥对第二随附文件进行解密的解密器。

在一些示例性实施例中,所述至少一个处理器还可以包括被配置成输入认证密钥的认证管理器,所述认证密钥从第二用户终端通过消息服务器传送,以便从第二用户终端读取第一消息。

在一些示例性实施例中,认证管理器还可以被配置成:从第二用户终端向消息服务器传送认证密钥;响应于所传送的认证密钥接收关于认证密钥的验证结果;以及根据验证结果把第一消息和第二消息传送到第二用户终端。

在一些示例性实施例中,认证管理器还可以被配置成通过使用认证密钥对第一和第二消息进行加密并且把已加密的第一和第二消息传送到第二用户终端。

通过附图、权利要求书和关于示例性实施例的详细描述,其他方面、特征、优点将变得显而易见。

附图说明

通过后面结合附图对示例性实施例作出的描述,前述和/或其他方面将变得显而易见并且更容易认识到,其中:

图1是根据一个示例性实施例的用于传送和接收消息的系统的示意图;

图2是根据一个示例性实施例的消息服务器的方块图;

图3是根据一个示例性实施例的消息服务器的处理器的方块图;

图4是根据一个示例性实施例的用户终端的方块图;

图5是根据一个示例性实施例的用户终端的处理器的方块图;

图6是根据一个示例性实施例的用户终端的认证管理器的方块图;

图7和8是根据一个示例性实施例的传送和接收消息的方法的流程图;

图9和10是用户终端与消息服务器之间的数据传送和接收的流程图;

图11到14是示出了根据一些示例性实施例的用户界面的实例的图示;以及

图15A和15B是用于详细描述加密处理的图示。

具体实施方式

下面将参照附图详细描述一个或多个示例性实施例。但是示例性实施例可以通过多种不同形式来具体实现,并且不应当被解释成仅限制到所示出的实施例。相反,作为实例提供所示出的实施例是为了使得本公开内容透彻且完整,并且将向本领域技术人员完全传达本公开内容的概念。因此,关于其中一些示例性实施例可以不描述已知的处理、元件和技术。除非另行声明,否则相同的附图标记在附图和书面描述中始终标示相同的元件,因此将不重复描述。

虽然在这里可以使用术语“第一”、“第二”、“第三”等等来描述各个元件、组件、区段、层和/或节段,但是这些元件、组件、区段、层和/或节段不应受限于这些术语。这些术语仅仅被用来将一个元件、组件、区段、层或节段与另一个区段、层或节段进行区分。因此,下面所讨论的第一元件、组件、区段、层或节段也可以被称作第二元件、组件、区段、层或节段而不会背离本公开内容的范围。

为了易于描述,在这里可以使用诸如“之下”、“以下”、“下方”、“下面”、“以上”、“上方”等空间相对术语来描述如图中所示的一个元件或特征与另一个(或多个)元件或特征的关系。应当理解的是,所述空间相对术语意图涵盖除了图中所描绘的指向之外的设备在使用或操作中的不同指向。举例来说,如果图中的设备被翻转,则被描述成处于其他元件或特征“以下”、“之下”或“下面”的元件的指向将是其他元件或特征“以上”。因此,示例性术语“以下”和“下面”可以同时涵盖“以上”和“以下”的指向。还可以使得设备具有其他指向(旋转90度或处于其他指向)并且相应地解释这里所使用的空间相对描述项。此外,当一个元件被称为处于两个元件“之间”时,该元件可以是处于所述两个元件之间的仅有的元件,或者可以存在一个或多个中间元件。

除非上下文清楚地另有所指,否则这里所使用的单数形式“一个”、“一项”和“所述”也意图包括复数形式。还应当理解的是,在本说明书中所使用的术语“包括”和/或“包含”表明所述特征、整数、步骤、操作、元件和/或组件的存在,而不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合。这里所使用的术语“和/或”包括所列出的相关联的项目当中的一项或多项的任意和所有组合。当处在元件列表之前时,例如“至少其中之一”之类的表达法修饰整个元件列表而不修饰所述列表的单独元件。此外,术语“示例性”意图指代实例或说明。

当提到一个元件处于另一个元件“之上”、与之“连接”、与之“耦合”或与之“邻近”时,所述元件可以直接处于所述另一个元件之上、与之连接、与之耦合或与之邻近,或者可以存在一个或多个中间元件。与此相对,当提到一个元件“直接”处于另一个元件“之上”、与之“直接连接”、与之“直接耦合”或与之“紧邻”时,则不存在中间元件。

除非另行定义,否则这里使用的所有术语(包括技术和科学术语)都具有与示例性实施例所属领域内的技术人员通常所理解的相同的含义。除非在这里被明确定义,否则例如在通常使用的字典中定义的那些术语应当被解释成具有与其在相关领域和/或本公开内容的情境中的含义一致的含义,而不应按照理想化或者过于正式的意义来解释。

可以参照能够结合后面更加详细地讨论的单元和/或设备实施的动作和操作的符号表示来描述示例性实施例(例如采取流程图、程序图、数据流图、结构图、方块图等形式)。虽然是通过特定方式来讨论,但是在特定方块中规定的功能或操作可以按照不同于在流程图、程序图等等中规定的流程的方式来实施。举例来说,被图示成在两个相继的方块中依次实施的功能或操作可以实际上被同时实施,或者在某些情况下可以按照相反的顺序来实施。

根据一个或多个示例性实施例的单元和/或设备可以利用硬件和/或硬件与软件的组合来实施。举例来说,硬件设备可以利用处理电路来实施,比如(而不限于)处理器、中央处理单元(CPU)、控制器、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、芯片上系统(SoC)、可编程逻辑单元、微处理器或者能够按照已定义的方式对指令作出响应并且执行指令的任何其他设备。

软件可以包括用于独立地或统一地指示或配置硬件设备按照所期望的方式操作的计算机程序、程序代码、指令或者其某种组合。计算机程序和/或程序代码可以包括程序或计算机可读指令、软件组件、软件模块、数据文件、数据结构等等,其能够由一个或多个硬件设备实施,比如前面所提到的其中一个或多个硬件设备。程序代码的实例既包括由编译器产生的机器代码也包括利用解释器执行的更高层级程序代码。

举例来说,当硬件设备是计算机处理设备(例如处理器、中央处理单元(CPU)、控制器、算术逻辑单元(ALU)、数字信号处理器、微型计算机、微处理器等等)时,所述计算机处理设备可以被配置成通过根据程序代码实施算术、逻辑以及输入/输出操作来实施所述程序代码。一旦程序代码被加载到计算机处理设备中,所述计算机处理设备可以被编程来实施所述程序代码,从而将所述计算机处理设备变成专用计算机处理设备。在一个更加具体的实例中,当程序代码被加载到处理器中时,所述处理器被编程来实施所述程序代码和与之对应的操作,从而将所述处理器变成专用处理器。

软件和/或数据可以永久性地或者临时被具体实现在能够向硬件设备提供指令或数据或者能够由硬件设备解释的任何类型的机器、组件、物理或虚拟装备或者计算机存储介质或设备中。软件还可以通过网络耦合的计算机系统分发,从而按照分布式方式来存储和执行软件。具体来说,例如软件和数据可以由一个或多个计算机可读记录介质存储,其中包括这里所讨论的有形或非瞬时性计算机可读存储介质。

根据一个或多个示例性实施例,计算机处理设备可以被描述成包括实施各种操作和/或功能的各种功能单元以使得描述更加明晰。但是计算机处理设备不应当被限制到这些功能单元。举例来说,在一个或多个示例性实施例中,某些功能单元的各种操作和/或功能可以由其他功能单元实施。此外,计算机处理设备可以实施各种功能单元的操作和/或功能而无需把计算机处理单元的操作和/或功能细分到所述各种功能单元中。

根据一个或多个示例性实施例的单元和/或设备还可以包括一个或多个存储设备。所述一个或多个存储设备可以是有形或非瞬时性计算机可读存储介质,比如随机存取存储器(RAM)、只读存储器(ROM)、永久性大容量存储设备(比如硬盘驱动器)、固态(例如NAND闪存)设备以及/或者能够存储和记录数据的任何其他类似的数据存储机制。所述一个或多个存储设备可以被配置成存储用于一个或多个操作系统以及/或者用于实施这里所描述的示例性实施例的计算机程序、程序代码、指令或者其某种组合。还可以利用驱动机制把计算机程序、程序代码、指令或者其某种组合从单独的计算机可读存储介质加载到一个或多个存储设备和/或一个或多个计算机处理设备中。这样的单独的计算机可读存储介质可以包括通用串行总线(USB)闪存驱动器、记忆棒、Blu-ray/DVD/CD-ROM驱动器、记忆卡以及/或者其他类似的计算机可读存储介质。可以通过网络接口而不是通过本地计算机可读存储介质把计算机程序、程序代码、指令或者其某种组合从远程数据存储设备加载到一个或多个存储设备和/或一个或多个计算机处理设备中。此外,可以把计算机程序、程序代码、指令或者其某种组合从被配置成通过网络传输和/或分发计算机程序、程序代码、指令或者其某种组合的远程计算系统加载到一个或多个存储设备和/或一个或多个处理器中。所述远程计算系统可以通过有线接口、空中接口和/或任何其他类似的介质来传输和/或分发计算机程序、程序代码、指令或者其某种组合。

所述一个或多个硬件设备、一个或多个存储设备以及/或者计算机程序、程序代码、指令或者其某种组合可以特别出于示例性实施例的目的而被设计和构造,或者其可以是出于示例性实施例的目的而被改动和/或修改的已知设备。

例如计算机处理设备之类的硬件设备可以运行操作系统(OS)以及在OS上运行的一个或多个软件应用。计算机处理设备还可以响应于软件的执行来访问、存储、操纵、处理以及创建数据。为了简单起见,一个或多个示例性实施例可以被简化成一个计算机处理设备;但是本领域技术人员将认识到,硬件设备可以包括多个处理元件以及多种类型的处理元件。举例来说,硬件设备可以包括多个处理器或者一个处理器和一个控制器。此外,其他处理配置也是可能的,比如并行处理器。

虽然参照具体实例和附图进行了描述,但是本领域技术人员根据所述描述可以对示例性实施例作出各种修改、添加和替换。举例来说,可以按照不同于所描述的方法的顺序来实施所描述的技术,并且/或者可以按照不同于前述方法的方式连接或组合例如所描述的系统、架构、设备、电路等的组件,或者可以通过其他组件或等效方案实现适当的结果。

在后面的示例性实施例中,“电路”例如可以单独地或者组合地包括硬连线电路、可编程电路、状态机电路和/或固件,其存储由可编程电路执行的指令。应用可以通过可在可编程电路(例如寄主处理器或其他可编程电路)上执行的代码或指令来实施。在示例性实施例中使用的模块可以通过电路来实施,并且电路可以通过例如集成电路芯片之类的集成电路来实施。

此外,这里所使用的术语“单元”、“——器”和“模块”表示用于处理至少一项功能或操作的设备,其可以通过硬件、软件或者硬件与软件的组合来实施。

图1是根据一个示例性实施例的用于传送和接收消息的系统10的图示。

参照图1,根据所述示例性实施例的系统10可包括消息服务器100、用户终端200和300以及通信网络400。

消息服务器100可以在多个用户终端200和300之间传送和接收消息。举例来说,消息服务器100可以通过一个或多个规程(例如成员注册规程和/或登录规程)在用户终端200和300之间传送或接收消息。此外,消息服务器100可以提供聊天室,从而允许多个用户终端200和300之间的聊天。消息服务器100可以控制聊天室,从而使得与聊天室中的其他用户共享聊天室中的某一用户的聊天输入或者由聊天室中的某一用户接收到的聊天。

消息服务器100可以向例如尚未完成成员注册规程、登录规程等等的用户终端200和/或300传送聊天室邀请消息。

消息服务器100可以对用户终端200和300之间的消息、聊天或谈话进行加密或解密。举例来说,消息服务器100可以通过使用端对端加密技术来接收和传送消息或者处理聊天室中的聊天。此外,消息服务器100例如还可以向发送方本身的用户终端传输通过端对端加密技术所加密的消息,并且不可以存储和/或管理与已加密消息的解密和/或解码相关联的信息。

此外,消息服务器100可以控制传送,从而把将要传送到第一用户终端201的消息传送到与第一用户终端201进行交互的第二用户终端202。消息服务器100可以实施认证处理,以便在第一用户终端201与第二用户终端202之间确认身份。此外,消息服务器100可以控制传送,从而将被用于由第一用户终端201传送和接收消息的加密密钥传送到与第一用户终端201进行交互的第二用户终端202。可以利用被用于对第一用户终端201和第二用户终端202进行认证的认证密钥在已加密状态下传送和接收加密密钥。

此外,消息服务器100可以把消息传送和接收应用分发到用户终端200和300。

用户可以通过用户终端200和300来访问消息服务器100。用户终端200和300可以在其上安装消息传送和接收应用(例如计算机程序),并且可以通过使用消息传送和接收应用向/从用户终端200和300传送和接收消息。

此外,用户终端200和300可以对消息进行加密从而使得消息不被公之于众,并且传送已加密消息。用户终端200和300不可以与消息服务器100共享加密相关信息。

用户终端200和300可以意味着能够在有线和/或无线通信环境下使用web服务的通信终端。用户终端200和300可以是用户的个人计算机201和301,或者可以是用户的移动终端202和302。移动终端202和302在图1中被图示成智能电话,但是不限于此。如前所述,移动终端202和302可以是其上安装有能够进行web浏览的应用的任何终端。为了彼此区分,用户终端201、202、301和302可以分别被命名为第一用户终端、第二用户终端、第三用户终端和第四用户终端。作为一个实例,后面将描述包括第一到第四用户终端的用户终端200和300。在该例中,第一和第二用户终端201、202由一个用户持有,第三和第四用户终端301、302由另一个用户持有。

用户终端200的实例可以包括计算机(例如台式计算机、膝上型计算机、平板计算机等等)、媒体计算平台(例如有线电视、卫星机顶盒、数字视频记录器等等)、手持式计算设备(例如个人数字助理(PDA)、电子邮件客户端等等)、任何类型的移动电话或者任何类型的计算或通信平台,但是不限于此。

通信网络400可以把多个用户终端200和300连接到消息服务器100。也就是说,例如通信网络400可以意味着提供连接路径的通信网络,从而使得用户终端200和300向/从消息服务器100传送和接收数据。通信网络400的实例可以包括有线网络(例如局域网(LAN)、城域网(MAN)或综合服务数字网络(ISDN))和无线网络(例如无线LAN、码分多址(CDMA)、Bluetooth或卫星通信),但是不限于此。

图2是根据一个示例性实施例的消息服务器100的方块图。

参照图2,根据一个示例性实施例的消息服务器100可以包括通信器110、处理器120和数据库130。

通信器110可以包括允许消息服务器100与一个或多个用户终端200和300之间的通信的一个或多个元件。

通信器110可以是包括对于通过与其他网络设备的有线/无线连接来传送和接收信号(例如控制信号和/或数据信号)所期望的硬件和软件的设备。

处理器120可以控制消息服务器100的总体操作。举例来说,处理器120可以通过执行存储在数据库130中的程序来控制通信器110、数据库130等等。

处理器120可以包括能够处理数据的任何类型的设备。“处理器”可以意味着嵌入在硬件中的数据处理器,其包括被物理构造来实施由包括在程序中的代码或命令所表示的功能的电路。如前所述,嵌入在硬件中的数据处理器的实例可以包括微处理器、中央处理单元(CPU)、处理器核心、多处理器、专用集成电路(ASIC)和现场可编程门阵列(FPGA),但是不限于此。

数据库130可以存储用于处理器120的处理和控制的程序以及输入/输出数据(例如多个菜单,对应于多个菜单当中的每一个的多个第一层子菜单,以及/或者对应于多个第一层子菜单当中的每一个的多个第二层子菜单)。

数据库130可以包括闪存、硬盘、多媒体卡微型存储器、卡型存储器(例如SD或XD存储器)、随机存取存储器(RAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、电可擦写可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘或者光盘中的至少其中之一。消息服务器100可以操作因特网上的基于数据库130的存储功能的web存储或云端服务器。

存储在数据库130中的程序可以根据其功能被分类成多个模块,例如用户界面(UI)模块、触摸屏模块和/或通知模块。

消息服务器100可以向用户终端200和300传送消息(例如短消息、即时消息和/或电子邮件)。由消息服务器100传送和接收的消息类型是多样的,并且不限于一种类型。

图3是消息服务器100的处理器120的一个示例性实施例的方块图。

参照图3,消息服务器100的处理器120可以包括消息接收器121、消息处理器122和索引生成器123。

消息接收器121可以接收来自用户终端200和300的消息。所述消息例如可以包括消息的标题、内容、发送方信息、接收方信息和/或随附文件。消息的发送方信息和接收方信息可以包括用户的ID信息、电子邮件地址、电话号码等等。随附文件可以包括图像、视频、语音文件、链接信息等等。消息服务器100可以在已经通过成员注册规程注册为成员的用户的用户终端200和300之间传送和接收消息。

消息处理器122可以把接收自消息发送方的用户终端200和300之一的一条或多条消息传送到用户终端200和300中的另一个。当消息包括随附文件时,消息处理器122可以把用于随附文件的索引(例如仅有索引)传送到用户终端200或300而不是传送随附文件。举例来说,当一个随附文件由许多用户传送或共享时,消息处理器122可以实施处理,从而通过一个索引传送或共享随附文件,而不是存储和管理与随附文件的传送或共享的数目一样多的随附文件拷贝和索引。举例来说,在受人欢迎的视频的情况下,可能会发生在许多用户之间交换同一视频的事件。在这种情况下,如果消息服务器100在由用户创建的每一个事件(消息传送和接收)中都生成视频或者对应于视频的索引,则会浪费资源。为了减少这种浪费,消息处理器122可以被配置成确定是否存在表明所接收到的消息的随附文件已被传送的历史,并且确定是否要新生成用于随附文件的元数据。

消息处理器122可以根据消息的接收方信息把消息传送到能够接收消息的另一服务器,并且/或者可以把消息直接传送到用户终端200和300。

当消息包括随附文件时,索引生成器123可以生成能够标识随附文件的索引,并且生成其中索引对应于随附文件的表。索引生成器123可以生成对应于随附文件或消息的索引。

图4是根据一个示例性实施例的用户终端200的方块图。

参照图4,根据所述示例性实施例的用户终端200可以包括通信器210、处理器250和存储器260,并且还可以包括输出设备230和用户输入设备240。

通信器210可以包括允许用户终端200和300之间的通信或者用户终端200与消息服务器100之间的通信的一个或多个元件。举例来说,通信器210可以包括短距离无线通信器211和移动通信器212。

短距离无线通信器211的实例可以包括Bluetooth通信器、Bluetooth低能量(BLE)通信器、近场通信器、无线LAN(WLAN)(Wi-Fi)通信器、ZigBee通信器、红外数据关联(IrDA)通信器、Wi-Fi直连(WFD)通信器以及/或者Ant+通信器,但是不限于此。

移动通信器212可以通过移动通信网络向/从基站、外部终端或服务器的至少其中之一传送和接收无线电信号。所述无线电信号可以包括语音呼叫信号、视频呼叫信号或者根据文本/多媒体消息的传送和接收的各种类型的数据。

通信器210可以接收来自消息服务器100或者其他用户终端200和300的消息。

输出设备230可以包括显示设备231、音频输出设备232、振动电动机233等等。

显示设备231可以输出由用户终端200处理的信息。举例来说,显示设备231可以输出在执行消息传送和接收应用时所提供的用户界面。根据所安装的消息传送和接收应用,显示设备231可以显示与消息生成或消息接收相关联的用户界面。显示设备231可以根据所安装的消息传送和接收应用的版本显示不同的用户界面。当所接收到的消息是已加密消息时,显示设备231可以显示例如请求用户认证的屏幕。显示设备231可以提供被配置成根据用户输入改变的用户界面。

当显示设备231包括具有分层结构和触摸板的触摸屏时,显示设备231可以被用作输入设备以及输出设备。显示设备231可以包括液晶显示器、薄膜晶体管液晶显示器、有机发光二极管显示器、柔性显示器、三维(3D)显示器或电泳显示器的至少其中之一。根据一些示例性实施例,消息服务器100可以包括两个或更多显示设备231。在这种情况下,所述两个或更多显示设备231可以通过使用铰链而朝向彼此。

音频输出设备232可以输出接收自通信器210或者存储在存储器260中的音频数据。此外,音频输出设备232可以输出与由用户终端200实施的功能相关联的音频信号(例如执行消息应用时输出的背景声音,以及/或者每当消息应用实施操作时生成的效果声音)。音频输出设备232例如可以包括扬声器或蜂鸣器。

振动电动机233可以输出振动信号。举例来说,振动电动机233可以输出对应于音频数据或图像数据的输出的振动信号(例如每当游戏应用实施操作时或者每当图像作为游戏应用实施的操作的结果而改变时生成的效果振动信号)。此外,振动电动机233可以在触摸被输入到触摸屏时输出振动信号。

处理器250可以控制用户终端200的总体操作。举例来说,处理器250可以通过执行存储在存储器260中的程序来控制通信器210、输出设备230、用户输入设备240和/或存储器260。

处理器250可以基于与存储(例如预先存储)在存储器260中的消息传送和接收应用相关联的元数据确定对应于用户输入的操作和/或用户终端200的状态信息。

用户输入设备240可以是允许用户输入数据以便控制用户终端200的设备。用户输入设备240的实例可以包括小键盘、穹顶开关、触摸板(例如电容性类型的触摸屏、电阻性类型的触摸屏、红外光束类型的触摸屏、表面声波类型的触摸屏、整体应变计类型的触摸屏或者压电效应类型的触摸屏)、拨动轮或者拨动开关,但是不限于此。

存储器260可以存储用于处理器250的处理和控制的程序以及输入/输出数据(例如多个菜单,对应于多个菜单当中的每一个的多个第一层子菜单,以及/或者对应于多个第一层子菜单当中的每一个的多个第二层子菜单)。

存储器260可以在先存储与消息传送和接收应用相关联的元数据。

存储器260可以包括闪存、硬盘、多媒体卡微型存储器、卡型存储器(例如SD或XD存储器)、RAM、SRAM、ROM、EEPROM、PROM、磁性存储器、磁盘或者光盘的至少其中之一。此外,用户终端200可以操作因特网上的基于存储器260的存储功能的web存储或云端服务器。

图5是用户终端200或300的处理器250的示例性结构的方块图。

参照图5,用户终端200或300的处理器250可以包括输入控制器251、消息接收器252、消息传送器253、数据调用器254、加密器255、解密器256、密钥生成器257以及认证管理器258。首先将参照关于消息传送的一些示例性实施例来描述用户终端200的结构。

输入控制器251可以实施控制第一消息的输入操作。输入控制器251可以实施控制,从而根据通过用户输入设备240输入的输入信号生成第一消息。输入控制器251可以响应于由用户输入的输入信号生成第一消息,其中例如包括第一消息的标题、内容、发送方信息、接收方信息和/或随附文件。

消息传送器253可以把第一消息传送到用户终端300(例如第一消息的接收方)。消息传送器253可以根据与第一消息相关联的协议改变第一消息的格式。举例来说,当通过例如传输控制协议/互联网协议TCP/IP或近场通信(NFC)之类的通信网络传送和接收第一消息时,消息传送器253可以改变第一消息的结构以符合相关的通信标准。此外,消息传送器253可以例如根据由用户所设定的设定对第一消息的参数进行加密。也就是说,例如,根据由用户设定的安全性相关设定,消息传送器253可以加密并传送第一消息或者在不加密的情况下传送第一消息。在一些示例性实施例中,消息传送器可以把第一消息的发送方信息添加到第一消息并且把所得到的第一消息(包括发送方信息)传送到用户终端300。

密钥生成器257可以生成用于加密第一消息的加密密钥。密钥生成器257可以生成用于加密第一消息的加密密钥(私有密钥)以及对应于加密密钥的解密密钥(公共密钥)。加密密钥与解密密钥之间的关系可以是对称或不对称的。

密钥生成器257可以生成用于加密第一消息的内容的密钥以及用于加密第一消息的随附文件的密钥。首先,对于生成随附文件的加密密钥的操作,密钥生成器257可以通过例如考虑第一消息的随附文件的大小而生成第一消息的随附文件的加密密钥。举例来说,当第一消息的随附文件的大小小于阈值大小时,密钥生成器257可以生成随机值以作为随附文件的加密密钥而不管随附文件的类型如何。

当第一消息的随附文件的大小大于阈值大小时,密钥生成器257可以生成随附文件的散列值以作为随附文件的加密密钥。当生成随机值以作为随附文件的加密密钥时,控制用户终端200和300之间的消息传送和接收的消息服务器100把具有相同内容的随附文件加密成具有不同内容的文件,因此许多资源被利用来管理随附文件。另一方面,当生成散列值以作为随附文件的加密密钥时,控制用户终端200和300之间的消息传送和接收的根据所述示例性实施例的消息服务器100仅仅管理一个原始文件,而不管随附文件被传送到多少用户终端或者在多少用户终端之间共享。

密钥生成器257可以例如通过考虑第一消息的随附文件的类型而生成第一消息的随附文件的加密密钥。举例来说,当第一消息的随附文件是视频文件时,密钥生成器257可以生成随附文件的散列值以作为随附文件的加密密钥。当消息的随附文件是语音文件或图像文件时,密钥生成器257可以生成随机值以作为随附文件的加密密钥而不管随附文件如何。

在一些示例性实施例中,密钥生成器257可以通过考虑消息接收方的数目或者第一消息被共享的次数而生成第一消息的随附文件的加密密钥。举例来说,如果希望把输入消息传送到许多用户并且第一消息的接收方的数目等于或大于阈值,则密钥生成器257可以生成随附文件的散列值以作为关于第一消息的接收方的随附文件的加密密钥,而不是根据第一消息的接收方信息生成用于加密随附文件的密钥。如果希望与许多其他用户共享输入消息,并且消息被共享的次数等于或大于阈值,则密钥生成器257可以生成随附文件的散列值以作为随附文件的加密密钥,而不管消息的发送方或接收方如何。接下来,对于生成用于加密消息内容的加密密钥的操作,密钥生成器257可以按照随机方式生成用于加密消息内容的加密密钥。在这种情况下,可以例如通过考虑接收方信息、发送方信息、发送时间和/或发送日期按照随机方式生成加密密钥。

在另一个示例性实施例中,如果将把第一消息传送到多个接收方的用户终端200和300,则密钥生成器257可以对于各个接收方生成不同的加密密钥。如果将把第一消息传送到第三用户终端301和第四用户终端302,则密钥生成器257可以生成被用来把第一消息传送到第三用户终端301的第一加密密钥以及被用来把第一消息传送到第四用户终端302的第二加密密钥。

对于散列值,随附文件的散列值可以是通过散列函数或散列算法在随附文件的数据上实施计算而获得的值,并且可以是用于随附文件的唯一值。由于散列值是用于随附文件的唯一值,因此两个不同文件的散列值彼此相等的事实可以意味着所述两个文件实质上是相同的文件。散列函数的实例可以包括CRC32、md5、SHA-1、RIPEMD-128和Tiger。

对于加密方法,根据本示例性实施例的用户终端200或300可以使用利用不对称密钥的加密方法,以便当在发送方与接收方之间传送和接收第一消息时防止除了发送方和接收方之外的第三方解密消息。也就是说,例如,根据本示例性实施例的用户终端200或300可以生成用于加密第一消息的私有密钥,或者用于由传送第一消息的用户终端200或者由接收第一消息的第二用户终端300解密第一消息的公共密钥。通过使用第一私有密钥加密的消息可以通过使用对应于第一私有密钥的第一公共密钥来解密,并且通过使用第一公共密钥加密的消息可以通过使用第一私有密钥来解密。也就是说,例如,私有密钥和对应于私有密钥的公共密钥可以关于彼此具有对应关系,并且可以被用来实施解密或加密。在对称密码术中,相同的加密密钥(私有密钥)可以被用于加密和解密。另一方面,在不对称密码术中,用于加密的私有密钥和用于解密的公共密钥关于彼此具有钥和锁的关系,并且相对难以从私有密钥解密公共密钥。对称密码术的实例可以包括DES、双重DES、三重DES、AES、IDEA、SEED、Blowfish和ARIA。不对称密码术的实例可以包括RSA、DSA、ECC、EIGamal和Rabin。根据本示例性实施例的用户终端200或300可以通过使用对称密码术来加密第一消息。

加密器255可以通过使用由密钥生成器257生成的加密密钥对第一消息的内容和随附文件进行加密。加密器255可以通过使用一个或多个加密密钥对第一消息的内容和随附文件进行加密。加密器255可以通过使用对于各个接收方生成的加密密钥来加密希望被传送到多个接收方的第一消息。

加密器255通过考虑随附文件的大小和类型选择随附文件的加密方法。当随附文件的大小等于或大于阈值大小或者随附文件的类型是视频时,加密器255生成随附文件的散列值以作为加密密钥,当不是这种情况时,加密器255可以生成随机加密密钥。加密器255可以把散列值或加密密钥传送到接收方的用户终端300,此时加密器255可以传送通过使用另一加密密钥对散列值或加密密钥进行加密而生成的密钥。此时,可以与接收方预先共享另一个加密密钥。

根据本示例性实施例的用户终端200或300可以通过使用按照随机方式生成的加密密钥来加密第一消息的内容,并且把第一消息传送到消息服务器100。举例来说,用户终端200或300可以通过使用考虑第一消息的随附文件的类型或大小而生成的加密密钥来加密第一消息的内容并且传送消息,使得消息的内容不会被公之于众。

接下来将通过专注于与消息接收有关的一些示例性实施例来描述用户终端200或300的结构。

消息接收器252可以接收由用户终端300通过消息服务器100传送的第二消息或者对应于第二消息的索引。消息接收器252可以接收用于解密第二消息的解密密钥连同第二消息或者对应于第二消息的索引。根据本示例性实施例的用户终端200可以使用解密密钥来传送用于第二消息的响应消息。所述索引可以是由消息服务器100生成和管理的信息。由于索引的传送和接收所消耗的资源少于消息的传送和接收,因此可以在不传送和接收消息自身的情况下传送对应于消息的索引。

当在没有加密的情况下传送和接收消息时,可能不需要数据的调用。在传送和接收分别对应于第二消息及其随附文件的索引(而不是未加密的消息)的情况下,数据调用器254可以提取与包括在第二消息中的随附文件相关联的索引,并且通过使用对应于包括在来自消息服务器100的第二消息中的随附文件的索引来调用随附文件。对于第二消息的内容,当数据调用器254未能接收到第二消息的内容时,第一用户终端201可以通过使用对应于第二消息的索引来调用第二消息的内容。数据调用器254可以通过使用索引调用包括在第二消息中的一个或多个项目。

解密器256可以通过使用解密密钥来解密所接收到的索引、第二消息的内容、随附文件等等。

接下来将描述与通过使用由同一用户携带或拥有的多个终端(例如第一用户终端201和第二用户终端202)来使用消息传送和接收服务的方法有关的配置。

认证管理器258可以对第二用户终端202实施认证,从而使得通过第一用户终端201传送和接收消息的用户与第二用户终端202共享第一用户终端201的传送和接收历史。

如图6中所示,认证管理器258可以包括认证密钥接收器2581、认证密钥处理器2582、加密器2583以及密钥传送器2584。

首先,用户可能需要通过消息传送和接收应用完成登录规程,以便通过使用第二用户终端202来传送和接收消息(例如第二用户终端是由第一用户终端201的用户持有的另一用户终端)。当登录规程中的用户ID和口令与第一用户终端201的用户信息完全相同时,消息服务器100可以通过第一用户终端201和第二用户终端202传送和接收消息。

当通过第一用户终端201传送和接收消息时,不同于第一用户终端201的第二用户终端202的认证密钥接收器2581可以从消息服务器100接收用于消息共享以及消息传送和接收的第一认证密钥。

第二用户终端202可以包括被配置成输入所接收到的认证密钥的认证密钥处理器2582。认证密钥处理器2582可以输入通过第一用户终端201接收到的认证密钥。此外,认证密钥处理器2582可以把第二认证密钥传送到消息服务器100。认证密钥处理器2582可以响应于第二认证密钥的传送接收关于第二认证密钥是否有效的确定的结果。当第一认证密钥与第二认证密钥完全相同时,认证密钥处理器2582可以接收表明认证已完成的消息。因此,第二用户终端202可以例如与第一用户终端201共享传送到和通过第一用户终端201接收的一条或多条消息。

此外,认证密钥处理器2582可以通过使用认证密钥从第一用户终端201接收加密密钥或解密密钥。当消息传送和接收通过认证变为可能时,认证密钥处理器2582可以通过实施控制以共享加密密钥或解密密钥来实现消息的解密和加密。在这种情况下,加密密钥或解密密钥可以通过使用认证密钥被加密,并且可以从第一用户终端201被传送到第二用户终端202。

加密器2583可以通过使用通过认证密钥处理器2582接收的认证密钥来加密消息。

因此,用户可以通过使用第二用户终端202以及第一用户终端201来传送和接收消息,并且可以通过第二用户终端202读取由第一用户终端201传送和接收的消息。

因此,可以根据接收方对随附文件进行加密,并且可以节省对于单独存储已加密数据所需要的资源。由于在发送方与接收方之间仅仅传输用于访问具有较大大小的随附文件的索引信息而不是传输随附文件本身,因此减少了对于传输随附文件所需的存储空间和通信容量,并且可以通过使用这样的存储空间和通信容量来传输随附文件。通过传输对应于包括在被传送到多个接收方的消息中的随附文件的已加密索引而不是根据接收方对随附文件进行加密,减少了对于传输随附文件所需的存储空间和通信容量,并且可以通过使用所述存储空间和通信容量来传输随附文件。

图7和8是根据示例性实施例的传送和接收消息的方法的流程图。

参照图7,根据本示例性实施例的传送和接收消息的方法可以包括消息输入操作S110、密钥生成操作S120、加密操作S130以及传送操作S140。

在操作S110中,第一用户终端201可以输入第一消息。第一用户终端201可以实施控制,从而根据通过用户输入设备240输入的输入信号生成第一消息。第一用户终端201可以生成对应于由用户输入的输入信号的第一消息,其中例如包括第一消息的标题、内容、发送方信息、接收方信息以及随附文件。

在操作S120中,第一用户终端201可以生成用于加密第一消息的加密密钥。在一些示例性实施例中,第一用户终端201可以生成用于加密第一消息的加密密钥(私有密钥)以及对应于加密密钥的解密密钥(公共密钥)。

第一用户终端201可以生成用于加密第一消息的内容的密钥以及用于加密第一消息的随附文件的密钥。首先,对于生成随附文件的加密密钥的操作,第一用户终端201可以通过例如考虑消息的随附文件的大小生成第一消息的随附文件的加密密钥。举例来说,当消息的随附文件的大小小于给定的(或者所期望的或预定的)阈值大小时,第一用户终端201可以生成随机值以作为随附文件的加密密钥而不管随附文件的类型如何。当第一消息的随附文件的大小大于给定的(或者所期望的或预定的)阈值大小时,第一用户终端201可以生成随附文件的散列值以作为随附文件的加密密钥。

第一用户终端201可以通过考虑消息的随附文件的类型生成第一消息的随附文件的加密密钥。当第一消息的随附文件是视频文件时,第一用户终端201可以生成随附文件的散列值以作为随附文件的加密密钥。当第一消息的随附文件是语音文件或图像文件时,第一用户终端201可以生成随机值以作为随附文件的加密密钥而不管随附文件如何。

接下来,对于生成用于加密第一消息的内容的加密密钥的操作,第一用户终端201可以按照随机方式生成用于加密第一消息的内容的加密密钥。在这种情况下,可以例如通过考虑接收方信息、发送方信息、发送时间和/或发送日期按照随机方式生成加密密钥。

在另一个示例性实施例中,如果由第一用户终端201生成的第一消息将被传送到多个接收方,则第一用户终端201可以生成用于各个接收方的不同加密密钥。如果第一消息将被传送到第三用户终端301和第四用户终端302,则第一用户终端201可以生成被用来把第一消息传送到第三用户终端301的第一加密密钥以及被用来把第一消息传送到第四用户终端302的第二加密密钥。

在操作S130中,第一用户终端201可以通过使用由密钥生成器257生成的加密密钥对第一消息的内容和随附文件进行加密。第一用户终端201可以通过使用一个或多个加密密钥(或密码密钥)对第一消息的内容和随附文件进行加密。第一用户终端201可以通过使用对于各个用户生成的加密密钥对希望传送到多个用户的第一消息进行加密。

在操作S140中,第一用户终端201可以把已加密的第一消息传送到消息服务器100,以便把已加密的第一消息传送到第二用户终端(例如第一消息的接收方)。此外,第一用户终端201可以通过使用另一加密密钥来加密和传送被用来加密第一消息的加密密钥。

参照图8,根据本示例性实施例的传送和接收消息的方法可以包括消息接收操作S210、消息调用操作S220以及消息解密操作S230。

在操作S210中,第一用户终端201可以接收由用户终端300通过消息服务器100传送的第二消息或者对应于第二消息的索引。第一用户终端201可以接收用于解密第二消息的解密密钥连同第二消息或者对应于第二消息的索引。

在操作S220中,如果消息被原样传送和接收(没有被加密),则不需要调用数据。但是在传送和接收对应于第二消息及其随附文件的索引的情况下,第一用户终端201可以通过使用对应于包括在第二消息中的随附文件的索引来调用随附文件。对于第二消息的内容,当第一用户终端201未能接收到第二消息的内容时,第一用户终端201可以通过使用对应于第二消息的索引来调用第二消息的内容。第一用户终端201可以通过使用索引调用包括在第二消息中的一个或多个项目。

在操作S230中,第一用户终端201可以通过使用解密密钥对所接收到的第二消息的索引、内容和随附文件等等进行解密。当第一用户终端201未能实施解密时,第一用户终端201可以显示包括请求针对第二消息的安全性的内容的屏幕。为了获得解密密钥,第一用户终端201可以附加地接收加密密钥,并且此时可以通过使用预先接收或预先存储的另一加密密钥对被用来加密第二消息或随附文件的加密密钥进行加密。换句话说,第一用户终端201可以通过对加密密钥进行解密而获得加密密钥。

图9是在用户终端200与用户终端300之间传送和接收消息的方法的一个示例性实施例的流程图。

在操作S901中,用户终端200(例如第一用户终端201)可以生成用于加密输入消息的加密密钥并且生成对应于加密密钥的解密密钥。由于前面已经描述了加密密钥与解密密钥之间的关系,因此将省略其详细描述。加密密钥可以分别被生成来加密消息的内容和随附文件。

在操作S902中,用户终端200可以接收用于生成包括随附文件的消息的用户输入。

在操作S903中,用户终端200可以通过使用加密密钥对消息的随附文件和内容进行加密。

在操作S904和S905中,用户终端200可以把解密密钥以及已加密的文件和消息传送到消息服务器100。在这种情况下,可以分别对于消息和包括在消息中的随附文件生成多个解密密钥。

在操作S906和S907中,用户终端300可以从消息服务器100接收解密密钥以及已加密的文件和消息。

在操作S908中,在接收到解密密钥以及已加密的文件和消息之后,用户终端300可以通过使用解密密钥对消息和包括在消息中的随附文件进行解密。

图10是在第一用户终端与第二用户终端之间共享消息的方法的一个示例性实施例的流程图。

在操作S1001中,携带或拥有第一用户终端201和第二用户终端202二者的用户可以通过第二用户终端202输入用于消息传送和接收的登录信息。

在操作S1002中,第二用户终端202可以把登录信息传送到消息服务器100。

在操作S1003中,消息服务器100可以确定登录信息是否有效。也就是说,例如消息服务器100可以确定包括在登录信息中的ID信息和口令信息是否彼此相关联。

在操作S1004中,消息服务器100可以确定第一用户的ID和口令是否相关联。当登录信息有效时,消息服务器100可以把按照随机方式生成的第一认证数字传送到第二用户终端202。随后,可以把请求用户输入认证数字的信号传送到同样由该用户携带或拥有的第一用户终端201。

在操作S1005中,第一用户终端201可以响应于所述信号显示请求认证数字的输入的用户界面。

在操作S1006中,第一用户终端201可以通过所述用户界面接收第二认证数字。

在操作S1007中,第一用户终端201可以把所输入的第二认证数字传送到消息服务器100。

在操作S1008中,消息服务器100可以确定第一认证数字是否与第二认证数字相同。

在操作S1009中,当第一认证数字与第二认证数字相同时,消息服务器100可以结束第二用户终端202的认证。

在操作S1001到操作S1009之后,消息服务器100可以把由第一用户终端201接收或传送的消息传输到第二用户终端202。类似地,消息服务器100可以把由第二用户终端202接收或传送的消息传输到第一用户终端201。也就是说,例如,第一用户终端201和第二用户终端202可以彼此共享相同的消息传送和接收历史。

在一些示例性实施例中,表明每一条消息是否被读取的信息在第一用户终端201与第二用户终端202之间可以是不同的。举例来说,在第一用户终端201上被读取的消息可能在第二用户终端202上被显示成未读消息。

图11到14是根据一些示例性实施例的示出了由用户终端提供的用户界面的实例的图示。

在图11中,附图标记1101可以表示显示在第一用户终端201上的用户界面,其是请求输入被传送到第二用户终端202的认证数字的屏幕。如图11中所示,当用户输入作为六位数字的认证数字并且点击身份确认按钮1102时,第一用户终端201可以实施认证。

在图12中,附图标记1201可以表示用于在用户终端200或300上显示消息的用户界面。尚未完成身份确认的用户终端200或300可以在已加密状态下显示消息(1202),并且用户可能需要通过点击用于身份确认的按钮1203来单独实施身份确认。

在图13中,附图标记1301可以显示以下两项:显示出由用户创建的一个或多个聊天室的列表的屏幕,以及显示出每一个聊天室中的对话的屏幕。当对话方传送需要附加的安全性规程的消息1302时,即使对于已经完成身份确认的用户也不可以显示该消息。因此,用户终端200或300可以实施控制以请求用户完成附加的认证规程以便读取消息的内容(S1303)。

如图14中所示,附图标记1401可以显示聊天室的列表,并且在聊天室的列表中不显示已加密消息(1402)。

图15A和15B是用于详细描述加密处理的图示。

参照图15A,在操作S1500中,发送方的第一用户终端200接收针对从发送方传送文件的请求。当文件的类型是图像或者文件的大小小于阈值大小时,安装在第一用户终端200中的消息应用在操作S1501中生成用于加密文件的随机第一加密密钥SRK。第一用户终端200在操作S1502中通过利用第一加密密钥SRK加密文件而生成已加密文件EF,并且在操作1503中通过利用与发送方共享的第二加密密钥AK加密第一加密密钥SRK而生成已加密密钥EK以用于消息传送和接收。换句话说,在根据一个或多个实施例的传送和接收消息的方法中,为了防止被生成来加密文件的第一加密密钥SRK泄露,通过另一加密密钥(即第二加密密钥AK)对第一加密密钥SRK进行加密以用于消息传送和接收。第一用户终端200在操作S1504中把已加密文件EF传送到消息服务器100,并且在操作S1505中把已加密密钥EK传送到消息服务器100。消息服务器100分别在操作S1506和S1507中把已加密文件EF和已加密密钥EK完好地传送到第二用户终端300。接收方的第二用户终端300通过安装在其中的消息应用接收已加密文件EF和已加密密钥EK。在对已加密文件EF进行解密之前,第二用户终端300在操作S1508中通过使用第二加密密钥AK对已加密密钥EK进行解密以便获得第一加密密钥SRK。第二用户终端300在操作S1509中通过使用第一加密密钥SRK对已加密文件EF进行解密以便生成当时由发送方传送的原始文件。

如图15B中所示,当将由发送方的第一用户终端200传送的文件的类型是视频或者文件的大小大于阈值大小时,可以把文件的散列值FH用作加密密钥。

第一用户终端200在操作1510中接收来自发送方的文件传送的输入,并且在操作S1511中计算文件的散列值FH。第一用户终端200在操作S1512中通过使用文件的散列值FH对文件进行加密而生成已加密文件EF。第一用户终端200在操作S1513中通过使用与接收方共享的第二加密密钥AK对散列值FH进行加密而生成已加密密钥EK。第一用户终端200分别在操作S1514和S1515中把已加密文件EF和已加密密钥EK传送到消息服务器100,并且消息服务器100分别在操作S1516和S1517中把已加密文件EF和已加密密钥EK传送到第二用户终端300。第二用户终端300在操作S1518中通过在解密之前使用第二加密密钥AK对已加密密钥EK进行解密而输出散列值FH,并且在操作S1519中通过使用散列值FH对已加密文件EF进行解密而输出原始文件。

正如前面类似地讨论的那样,在这里阐述的示例性实施例可以被具体实现为可以由各种元件在计算机上执行的计算机程序,并且所述计算机程序可以由非瞬时性计算机可读介质实施。非瞬时性计算机可读介质的实例可以包括磁性介质(例如硬盘、软盘、磁带等等)、光学介质(例如紧致盘只读存储器(CD-ROM)、数字通用盘(DVD)等等)、磁-光介质(例如软光盘等等)以及特别被配置成存储和执行程序指令的硬件设备(例如ROM、随机存取存储器(RAM)、闪存等等)。非瞬时性计算机可读介质可以包括被实施成可以在网络上传送的无形介质。举例来说,非瞬时性计算机可读介质可以由能够通过网络传送和分发的软件或应用来实施。

所述计算机程序可以是特别针对本公开内容设计和配置的,或者可以是计算机软件领域的技术人员所熟知并且可以由其使用的。计算机程序的实例不仅可以包括由编译器准备的机器语言代码,而且还可以包括可由计算机通过使用解释器执行的高层级代码。

这里所示出和描述的特定实现方式是本公开内容的说明性实例,而不意图以任何方式限制本公开内容的范围。为了简明起见,可能没有详细描述传统的电子装置、控制系统、软件以及系统的其他功能方面。此外,各幅图中示出的连接线或连接构件意图表示各个元件之间的示例性功能关系以及/或者物理或逻辑连接。应当提到的是,可以存在许多替换的或附加的功能关系、物理连接或者逻辑连接。此外,除非元件被特别描述成“必要的”或“关键的”,否则没有组件对于示例性实施例的实践来说是必要的。

除非在这里另行表明,否则这里对于值范围的引述仅仅意图作为单独提到落在该范围内的每一个单独值的简写方法,并且每一个单独值都被合并到说明书中就如同其在这里被单独引述。最后,除非在这里另行表明或者在上下文中明显存在矛盾,否则这里所描述的所有方法步骤可以按照任何适当的顺序来实施。除非另行声明,否则对于任何和所有实例以及这里所提供的示例性语言(例如“比如”)的使用仅仅意图更好地阐明本公开内容,并且不对本公开内容的范围构成限制。在不背离本公开内容的精神和范围的情况下,本领域技术人员将很容易认识到许多修改和适配。

应当理解的是,这里所描述的示例性实施例应当仅仅在描述性的意义下来考虑,而不是出于限制的目的。关于每一个示例性实施例的各个特征或方面的描述通常应当被视为可用于其他示例性实施例中的其他类似特征或方面。

虽然参照附图描述了一个或多个示例性实施例,但是本领域技术人员应当理解的是,在不背离由所附权利要求书限定的发明概念的精神和范围的情况下,可以在其形式和细节方面作出各种改变。

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