CN101098234A - 发送安全消息的方法和系统 - Google Patents

发送安全消息的方法和系统 Download PDF

Info

Publication number
CN101098234A
CN101098234A CNA2007101464183A CN200710146418A CN101098234A CN 101098234 A CN101098234 A CN 101098234A CN A2007101464183 A CNA2007101464183 A CN A2007101464183A CN 200710146418 A CN200710146418 A CN 200710146418A CN 101098234 A CN101098234 A CN 101098234A
Authority
CN
China
Prior art keywords
message
certificate
recipient
search
user
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.)
Granted
Application number
CNA2007101464183A
Other languages
English (en)
Other versions
CN101098234B (zh
Inventor
马歇尔·K·布朗
马歇尔·柯卡普
马歇尔·S·布朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN101098234A publication Critical patent/CN101098234A/zh
Application granted granted Critical
Publication of CN101098234B publication Critical patent/CN101098234B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种用于安全发送消息到接收方的用户设备和方法。设备和方法在接收到来自用户的发送指令之前发起对证书的搜索,该证书用来加密发送给特定接收方的消息。设备能够确定当用户改变了消息的接收方时,用户编辑消息时确定需要的证书是否存储在本地的设备上,或者需要从远端来源得到需要的证书。如果需要的证书不在设备上,那么发起对远端来源的搜索。在接收到用户发送的指令之前检测接收方列表的变化并发起任何需要的搜索。

Description

发送安全消息的方法和系统
技术领域
本发明涉及发送安全消息的方法和系统,特别是一种自动检索用于编码安全消息的证书的方法和系统。
背景技术
电子邮件(e-mail)消息利用多个已知协议的其中之一可以编码。这些协议中的一些,例如安全多个因特网邮件扩展(S/MIME),依赖于公有和私有的加密密钥以提供可信性和完整性,以及依赖于在一个公钥架构(PKI)下提供认证和授权以通信信息。使用一个公钥/私钥对中的公钥加密的数据只能使用相应的密钥对中的私钥进行解密。相应的,一个发送方能够在发送消息之前使用接收方的公钥加密信息以保护信息。
接收方的公钥可以是通过一个和接收方相关的证书而被公开得到。一个和个体相关的证书典型的包括个体的公钥和其它标识相关的信息。接收方也能够使用证书验证发送方的标识和认可的协议。
当一个发送方发送消息给一个或多个接收方,消息传送应用程序,如Microsoft OutlookTM或者Lotus NotesTM,检索到接收方的证书,使用从证书里得到的消息解码每个接收方的信息。作为一个例子,消息传送应用程序可以使用从证书里得到的公钥信息以加密发送给接收方的消息。
证书可以是存储在发送消息的设备或系统的存储器中。特别的,证书可以被存储在密钥存储器中,消息传送应用程序能够进入该密钥存储器并检索到证书。如果在密钥存储器中的证书不可用,发送方在得到该证书之前可以不能发送信息。在一些现有系统中,用户为接收方手动的定位证书或者调用一个第二应用以搜索丢失的证书。在一些其它的现有系统中,一旦用户请求发送消息,消息传送应用程序自动的搜索和下载需要的证书。这种搜索和下载过程需要占用大量的时间,因此造成发送消息的显著延迟。
因此,最好是提供一种方法和/或系统,在组成和发送安全消息中提高用户体验。
发明内容
本申请描述了一种安全发送消息到接收方的用户设备和方法。所述设备和方法在接收到一个来自用户的发送指令之前发起一个对证书的搜索,该证书用来加密发送给特定接收方的消息。该方法还包括确定当用户改变了消息的接收方时,用户编辑消息时确定需要的证书是否存储在本地的设备上,或者需要从远端来源得到需要的证书。如果需要的证书不在设备上,那么发起对远端来源的搜索。根据本申请,在接收到用户发送的指令之前检测接收方列表的变化并发起任何需要的搜索。
在一方面中,本申请提供了一种通过计算机网络从发送设备安全发送消息到接收方的方法,发送设备包括一个发送消息的应用,该应用编辑消息并发送给一个或多个接收方;每个接收方有一个相应的证书,每个证书都包含一个接收方特定的公钥,发送设备使用该公钥加密消息并传送给相应的接收方;发送设备包含一个存储器,在密钥存储器存储一个或多个证书。该方法还包括以下步骤:在消息的地址字段检测输入的新接收方;确定密钥存储器没有包含该新接收方的有效证书;  通过计算机网络启动对该有效证书的远端来源搜索,并且下载该有效证书,包括所述新接收方的公钥。检测、确定、启动步骤都是在接收到发送消息的用户指令之前执行的。
另一方面,本申请提供了一种通过计算机网络安全发送消息到接收方的用户设备。该用户设备包括显示器,用于呈现显示消息的用户界面,用户界面包括消息的地址域;用户输入设备,用于接收用户的输入;存储器,包括一个密钥存储器,用来存储一个或多个证书;它还包括处理器,用于和显示器、存储器和用户输入设备交互;消息传送应用程序,由处理器执行,用于组成和发送消息;该用户设备进一步的还包括搜索触发部件,由处理器执行,用于在地址域检测输入的新接收方,以确定密钥存储器没有包含该新接收方的有效证书,并启动对有效证书的搜索;证书获取模块,由处理器执行,用于对有效证书的远端来源搜索;并且下载该有效证书,包括新接收方的公钥。搜索触发部件适合于在接收到发送消息的用户指令之前当搜索触发部件确定密钥存储器没有包含有效证书时通知证书获取模块为该有效证书发起一个搜索。
在另一方面,本申请提供了一种在用户设备处理器上执行的机器可读介质,以执行上述方法。
本申请的其它方面根据以下详细描述和附图对于本领域技术人员来说是显而易见的。
附图说明
通过实例将参考示出本申请的示例实施例的附图,其中:
图1是示出了用户设备具体实施方式的结构图;
图2是示出了主机系统具体实施方式的结构图;
图3是示出了证书链的实例图表;
图4是示出了通过计算机网络从发送设备安全发送消息到接收方的方法的流程图;
图5是示出了移动设备上消息传送应用程序的用户界面的实施例;
图6是示出了检测消息接收方变化的实例方法的流程图;
会在不同附图中使用相同的参考符号来表示类似部件。
具体实施方式
本申请的实施方式并不受特殊的操作系统,移动设备的结构,服务器的结构或者计算机程序语言的限制。
本申请和移动通信设备相关,但实施方式并不必须限制在移动设备上。本申请描述的方法和系统可以内嵌于一系列能够发送和接收消息的客户端设备,包括个人计算机,移动设备,电话,或者其它终端设备。
现在参考附图进行说明,图1是用户设备10具体实施方式的结构图。在一些实施方式中,用户设备10是一个双向,电子的通信设备,具有数据还可以有语音通信功能。在至少一个具体实施方式中,用户设备10有和其它设备和计算机系统交换信息的能力。依靠用户设备10提供的功能,在多个实施方式中用户设备可以是一个多种模式的配置有数据和语音通信功能的通信设备,其中有智能手机,能够进行无线通信的个人数字助理,或者能够进行无线通信的移动计算机系统。
设备10包括一个通信子系统11。在一个实施方式中通信子系统11可以包括接收器,发送器和相应的部件例如一个或多个嵌入式的或内部的天线单元和一个处理器模块如一个数字信号处理器(DSP)。正如通信领域技术人员所知的,通信子系统11的特殊设计主要取决于设备10准备在其中操作的通信网络。
由设备10通过无线通信网络50接收到的信号输入到通信子系统11的接收器中,其执行普通的接收器功能,例如信号放大,频率降频变换,滤波,信道选择和诸如此类的功能。在一种简单的方式下,传输的信号被DSP处理,例如包括调制和编码,然后输入到传输器,进行数模转换,频率升频变换,滤波,放大,然后在无线通信网络50中传输。
设备10包括微处理器38,其控制所有的设备运行。微处理器38和通信子系统11交互,并且也和其它的设备子系统如一个图形显示子系统44,闪速存储器24,随机存取存储器(RAM)26,辅助输入输出(I/O)子系统28,串行端口30,键盘或键区32,扬声器34,麦克风36,短程通信子系统40,和由42指定的任何其它设备子系统。图形显示子系统44和显示器22交互将图形或文本显示在显示器22上。
由微处理器38执行的操作系统软件52和多个软件应用程序54,在一个实施方式中,存储在一个永久存储器例如闪速存储器24或者类似的存储单元中。本领域技术人员可知操作系统52,软件应用程序54,或其中的部分可以暂时的加载在一个易失的存储器上例如RAM26。
微处理器38,除了它的操作系统功能,还能使软件应用程序54在设备上执行。软件应用程序54的预先设置控制基本的设备操作,例如包括数据和语音通信应用,通常会在制造时预先安装在设备10上。其它的软件应用程序54可以通过网络50被加载在设备10上,辅助I/O子系统28,串行端口30,短程通信子系统40,和其它合适的子系统42,是由用户通过微处理器38执行RAM26或者一个永久性存储装置安装的。
在一个数据通信模式中,接收到的信号例如文本消息或网页下载由通信子系统11处理并输入到微处理器38,其进一步的处理接收到的信号并通过图形显示子系统44将其输出到显示器22,或者选择性的输出到辅助I/O设备28。设备10的用户也可以使用键盘32和显示器22和可能的辅助I/O设备28例如指轮一起在软件应用程序54中编辑数据项,例如电子邮件消息。这些组成的项可以通过通信子系统11经由通信网络被传输。
在图1中的串行端口30,通常在个人数字助理(PDA)类型的通信设备中实现用来与用户桌上计算机(未显示)同步,但是其是一个可选的设备部件。这样的端口30可以促使用户通过外部设备或者软件应用设置首选项,能够通过提供信息或软件下载设备10而不是通过无线通信网络而扩展设备的能力。
短程通信子系统40是另一个部件,其为设备10和不同系统和设备间提供通信,这些设备并不必须是相同的。例如子系统40可以包括一个红外设备以及相关的电路和部件,或者一个BluetoothTM通信模块,以和具有相同能力的设备间提供通信。设备10可以是一个手持设备。
在一个实施方式中,无线移动网络50是一个无线分组网络(例如MobitexTM或者DataTACTM),其为移动设备10提供无线覆盖。无线移动网络50可以也是一个语音和数据网络例如GSM(全球移动通信系统)和GPRS(通用数据分组系统),CDMA(码分多址接入),或者多种其它的第三代网络例如EDGE(增强数据速率的GSM演变)或UMTS(通用移动通信系统)。在一些实施方式中,无线移动网络50可以包括IEEE802.11(WiFi)网络,iDEN(综合数字增强网络),EvDO(1x数据发展优化),或HSDPA(高速下行链路分组接入)网络。无线网络50还可以是其它任何想设备10提供和远程网络连接的无线网络类型。
现在参考附图2进行说明,图2是主机系统250具体实施方式的结构图。主机系统250可以是一个公司的办公室或者其它本地局域网络(LAN),或者例如是一个家庭办公计算机或其它私人系统。在本实施方式中,主机系统250被描述为包含移动设备10的一个组织的LAN。
主机系统250包括由LAN连接起来的多个网络组件。例如用户的桌上计算机262a和用户的移动设备10的送受话器叉簧264都位于主机系统250中。移动设备10的底座(cradle)264可以是通过例如一系列通用串行总线(USB)和计算机262a连接。其它用户计算机262b也位于主机系统250中,它们能或不能为一个移动设备配备一个相应的底座264。底座264促进用户计算机262a到移动设备10的信息的加载(例如为了促进移动设备10和主机系统250之间的安全通信的私有的均衡加密密钥),对于在使用的初始化移动设备10中通常执行的大量信息更新来说是特别有用的。下载到移动设备10上的信息可以包括在消息交换中使用的证书。本领域技术人员很容易理解用户计算机262a,262b,典型的还能够与其它未在图2中显示的外围设备相连。
而且,为了便于说明,在图4中只显示了主机系统250的网络组件的子集,本领域技术人员应该能够理解主机系统250还包括其它未在图中显示的组件。更为普遍的主机系统250可以代表一个机构的更大网络的一小部分,可以包括不同的部件,并且能够按照与图4示例的拓扑结构不同的方式设置。
在本实施方式中,移动设备10和主机系统250通过无线网络50的节点202以及共用网络基础设施如服务提供商网络或者公用互联网进行通信。接入到主机系统250需要通过一个或多个路由器,主机系统250的计算机设备可以在一个防火墙或者代理服务器266之后进行操作。
在一个变化的执行中,主机系统250包括一个无线VPN路由器(未在图中显示),以便利主机系统250和移动设备10之间的数据交换。VPN连接可以是传输控制协议(TCP)/IP或用户数据报协议(UDP)/IP连接,以在变化的执行中把消息直接传送给移动设备10。
打算用于移动设备10的消息由主机系统250的消息服务器268首先接收。这些消息可以来自于不同的源头。例如一个消息可以是由主机系统250中的计算机262b、一个连接在无线网络50或者一个不同的无线网络上的不同的移动设备(未显示)、一个不同的计算机设备或者能够发送消息的其它设备发送的,通过共用的网络基础设施224和可能通过例如一个应用服务提供商(ASP)或者因特网服务提供商(ISP)。
消息服务器268在机构中和在共享的网络基础设施224上通常作为消息特别是电子邮件消息交换的一个主要接口。每个机构中被设置发送和接收消息的用户通常都和一个由消息服务器268管理的用户账户相关。消息服务器268的一个例子是一个Microsoft ExchangeTM服务器。在一些执行中,主机系统250可以包括多个消息服务器268。消息服务器268可以也适合提供除了消息管理外的其它功能,例如包括日历和任务表相关的数据管理。
当消息服务器268接收到消息时,消息通常被存储在一个消息存储器中,从该存储器中能够随后重新找到该消息和发送给用户。例如,在用户计算机262a上执行的电子邮件客户应用可以请求将和用户帐户相关的电子邮件消息存储在消息服务器268上。这些消息可以从消息服务器268获取并存储在本地的计算机262a上。
当操作移动设备10时,用户可以希望重新获取电子邮件消息以发送给该手持设备。一个在移动设备10上操作的电子邮件客户端应用可以也从消息服务器268请求和用户帐户相关的消息。电子邮件客户端可以被配置(由用户或者由管理员根据机构的信息技术IT策略)以使在用户的方向发起请求,在一些预先定义的时间间隔或者根据一些预先定义的时间的发生。在一些实施中,移动设备10被分配其自己的电子邮件地址,特定定址到移动设备10的消息在由消息服务器268收到后被自动地重新定向给移动设备10。
为了促进移动设备10和主机系统250的组件之间的消息和消息相关的数据的无线通信,提供一定数量的无线通信支持组件270。在本实施方式中,无线通信支持组件270包括例如一个消息管理服务器272。消息管理服务器272用来特别的提供消息(例如将要被移动设备10处理的电子邮件消息)管理的支持。通常的,当消息还存储在消息服务器268上,消息管理服务器272能够用来控制消息在什么时间,是否和怎样发送到移动设备10。消息管理服务器272还促进在移动设备10上组成的消息的处理,这些消息传送给消息服务器268,用于随后的传送。
例如,消息管理服务器272可以监视用户的“收件箱”(例如,和消息服务器268上用户帐户相关的消息存储)以发现新的电子邮件消息;将用户定义的筛选程序应用到新消息上以决定是否和怎样把消息中继到用户的移动设备10;压缩和加密新的消息(例如使用数据加密标准(DES)或三重DES加密技术)并将它们通过共用的网络基础设施224和无线网络50推送给移动设备10;接收在移动设备10上编辑的消息(使用三重DES加密的),解密和解压缩编辑的消息,如果需要重新定义组成的消息的格式以使它们显示出来自于用户计算机262a,并重新路由编辑的消息到消息服务器268以便传送。
与从移动设备10发送或接收的消息有关的特定属性或约束条件可以由消息管理服务器定义(例如,由管理者根据IT策略)并执行。这些可以包括例如,移动设备10是否可以接收加密的或者签名的消息,使加密密钥的大小最小化,是否发出的消息必须是加密的或签名的,是否拷贝所有移动设备10发送的安全消息到一个预定义地址。
消息管理服务器272可以也适合于提供其它控制功能,例如只推送存储在消息服务器268上的特定的消息信息或者消息的预定义的部分(例如,块)给移动设备10。例如当移动设备10从消息服务器268取回消息时,消息管理服务器272适合于将消息的第一部分推送给移动设备10,该部分有预定一的大小(例如,2KB)。用户可以请求更多该消息由消息管理服务器272用小尺寸的块发送给移动设备10,直到到消息的最大预定义尺寸。
因此,消息管理服务器272促进了对于和移动设备10通信的数据类型和数据量的更好控制,并且能够帮助减少潜在的带宽或其它资源的浪费。
本领域技术人员能够理解消息管理服务器272不需要在主机系统250或者其它网络上的单独的硬件服务器上执行。例如,一些或者所有和消息管理服务器272相关的功能可以和管理服务器268或者主机系统250上的其它服务器结合。另外,主机系统250可以包括多个消息管理服务器272,特别是在需要支持大量数目的移动设备10的变化的执行中。
本发明的实施方式通常跟在消息编码中使用的证书有关,例如被加密或者签名的电子邮件消息。使用简单邮件传输协议(SMTP)、RFC822头、和多用途电子邮件扩展(MIME)体部分来定义典型电子邮件的格式而不需要编码,使用安全/MIME(S/MIME)、MIME协议的版本号,来在通信中编码消息(例如在安全消息传送应用程序中)。S/MIME促进端到端的鉴权和认证,并且从源端发送消息时到消息被消息接收方解码和阅读期间保护数据的完整性和私密性。可以使用其它已知的标准和协议如Pretty GoodPrivacyTM(PGP),开放PGP和其它本领域已知的。
诸如S/MIME的安全消息传送协议依赖于公开的和私有的加密密钥来提供机密性和完整性,以及依赖于公钥基础设施(PKI)来传递提供了认证和鉴权的信息。使用私钥/公钥对中的公钥加密的数据,只能使用私钥/公钥对中相应的私钥进行解密,反之亦然。私钥信息从来不公开,而公钥信息是共享的。
例如,如果发送方希望发送加密形式的信息给接收方,使用接收方的公钥以加密消息,只能在其后使用接收方的私钥进行解密。相应的,在一些编码技术中,生成和使用一次性的会话密钥加密消息体,通常是使用对称加密技术(例如,三重DES)。会话密钥然后使用接收方的公钥加密(例如使用公钥加密算法RSA),其后只能使用接收方的私钥进行解密。解密的会话密钥然后可以用来解密消息体。消息头可以用来指定必须用来解密消息的特定加密方案。其它基于公钥加密算法的加密技术可以在不同的实施中使用。然而在这些情况中,只有接收方的私钥可以用来进行消息的解密,在这种方式下,能够保持消息的机密性。
编码后的消息可以别加密,签名或者即加密又签名。在这些操作中使用的公钥的可靠性由证书进行验证。证书是由认证授权(CA)指定的一个数字文档。证书用来验证用户和其公钥之间的关联性,并且实质上在用户公钥的可靠性上提供信任等级。证书包括证书持有者的信息,证书内容通常根据接受的标准(如X.509)形成。
参考图3,示出了示例证书链300。发给“John Smith”的证书310是发放给个人的证书的例子,可以作为终端实体的证书。终端实体证书310通常能够识别证书的持有者312(如在本例中的John Smith)、证书的发布方314,并且包括一个发布方的数字签名316和证书持有者的公钥318。证书310将通常包括其它标识证书持有者的信息和属性(如电子邮件地址,机构名称,机构单元名称,位置等)。
对于一个将被信任的公钥,其发行机构必须被信任。一个信任的CA和一个用户的公钥之间的关系可以用一系列相关的证书描述,同样认为其是一个证书链。能够追踪证书链300以确定证书的合法性。
证书310的发布方314可以有其自己的证书320。证书320可以已经存储在计算机设备上了,或者其需要从远程证书存储或资源(如一个公开或私有的轻量级目录访问协议(LDAP)服务器)获取获取。如果证书320已经存储在接收方的计算机设备中并且证书被认定是被接收方信任的,那么就认为证书310时可信任的,因为其链接到一个已存储的,可信任的证书。
然而,在图3的例子当中,还需要证书330以验证证书310的信任状态。证书330是个人签名的,被认为是一个“根证书”。因此,证书320被认为是证书链300中的一个“中间证书”。假定一个到根证书的链能够确定特定的终端实体证书,链中可以包括零个,一个,或多个中间证书。如果证书330是一个由信任的源发行的根证书(例如从一个较大的证书管理局如Verisign或Entrust得到的),证书310可以被认为是能够信任的,因为其链接到一个信任的证书。执行过程是消息的发送方和接收方都信任根证书的源头。如果一个证书不能被链接到一个信任的证书,那么这个证书可以被认为“不可信”。
证书服务器保存关于证书的信息和已经被调用的识别的证书列表。这些证书服务器能够被访问以得到证书,验证证书的可靠性和撤销态。例如一个LDAP服务器可以用来得到证书,一个在线的证书状态协议(OCSP)被用来验证证书的撤销状态。
标准的电子邮件安全协议通常促进在移动或非移动计算机设备之间消息传输的安全性。再次参考图1和图2,为了使移动设备10读取从远程用户接收到的签名的和/或加密的消息,以及为了发送加密的消息给远程用户,移动设备10适合于存储其它个人的证书和相关的公钥。移动设备10可以包括一个指定的密钥存储器58,其存储一个或多个证书62。在其它实施方式中,密钥存储器58可以是闪速存储器24或RAM 26中的限定的区域。例如在用户计算机262a中存储的证书通常会通过底座264从计算机262a被下载到移动设备10。
例如,存储在计算机262a中并被下载到移动设备10的证书并不局限于和个体相关的证书也可以包括指定给CA的证书。存储在计算机262a和/或移动设备10中的特定证书可以被用户明确的指定为“可信任”的。在密钥存储器58存储的一个或多个证书62包括和一个特定证书62相关的个体的相关的公钥。这促使消息传送应用程序56使用个体的公钥加密发送给个体的消息。
移动设备10可以也适合存储和移动设备用户相关的公钥/私钥对中的私钥,以使移动设备10能够对其上编辑的发送消息进行签名,将使用用户的公钥加密的解密消息发送给用户。例如私钥可以通过底座264从用户计算机262a下载到移动设备10上。私钥一般在用户计算机262a和移动设备10之间进行交换,因此用户可以共享接入消息的一个标识和一个方法。
用户计算机262a,262b能够从一定数目的资源那得到证书并存储在用户计算机262a,262b和/或移动设备(如移动设备10)。这些证书资源可以是私有的(例如仅在一个机构中使用)或是公开的,可以在本地驻留或者是远程的,可以经过机构上的私有网络或通过因特网接入。在图2中显示的例子中,多个与机构相关的PKI服务器280位于主机系统250熵。PKI服务器280包括一个发行证书的CA服务器282,一个用来搜索和下载证书(例如为机构中的个体)的LDAP服务器284,和一个用来验证证书的撤销状态的OCSP服务器286。
证书能由用户计算机262a从LDAP服务器284获取,例如,从底座264下载到移动设备10。LDAP服务器284可以由移动设备10直接接入(例如,根据本上下文通过空中接口),移动设备10可以通过一个移动数据服务器288搜索和获取个体证书。相似的,移动数据服务器288可以适合于允许移动设备10直接咨询OCSP服务器286验证证书的撤销状态。
其它证书的源(未显示)可以包括一个WindowsTM证书存储,另外一个安全证书存储在主机系统250上或之外,和智能卡,例如。
再看图1,设备10还包括配置好的依据一个或多个安全消息协议发送和接收消息的消息传送应用程序56。例如在一个实施方式中,消息传送应用程序56被配置依据S/MIME协议发送并接收编码的消息。消息传送应用程序56包括证书获取模块60,用来发起从例如一个LDAP服务器对个体证书的搜索,或/和验证证书的撤销状态。通过图1的显示,证书获取模块60是消息传送应用程序56的一部分,证书获取模块60可以由消息传送应用程序56调用或触发,作为一个单独的应用来部分或整体的执行。
消息传送应用程序56可以还包括搜索触发组件64,以决定什么时间发起对证书的搜索。例如,和消息传送应用程序服务器56中组成的目的地为第一接收方的消息相关,搜索触发组件64可以验证密钥存储器58以确定和第一接收方对应的证书是否可用。如果正确的证书未在密钥存储器58,或者如果接收方的证书到期了或者其它原因不可用,搜索触发组件64可以命令证书获取模块60为接收方得到一个更新的证书。
根据本发明,搜索触发组件64决定是否需要一个证书,并在消息传送应用程序56的用户请求发送消息之前触发必要的搜索。相应的,对丢失的证书的搜索是在从用户接收到发送请求之前发起的。一旦用户输入发送请求,例如通过点击“发送”按钮或者选择“发送”菜单选项,搜索触发组件64可以决定是否搜索正在进行或者是否有任何证书丢失。
现在参考图4,其以流程图的形式显示了通过计算机网络从发送设备安全发送消息到接收方的方法100。方法100从步骤102开始,在消息传送应用程序中的发送设备的用户发起“组成”操作。“组成”操作可以包括开始一个新的消息、响应一个接收到的消息、转发一个接收到的消息,或者其它任何包括创建传送给一个或多个接收方的消息操作。只有在用户决定安全的发送消息时才会调用或应用方法100。在一些实施方式中,这可以是消息传送应用程序的缺省设置或者对用户而言其是可选的选项。
在用户编辑消息时,移动设备10(图1)特别是搜索触发组件64(图1)确定什么时间对接收方列表进行改变。在一个实施方式中,搜索触发组件64确定什么时间新的接收方地址被加到消息上。搜索触发组件64可以也检测列表或接收方是否改变,例如删除一个之前的接收方和/或改变接收方的地址。对于接收方地址的改变可以在一些实施方式中被解释为对之前接收方的删除或者增加新的接收方。
继续参考图4,在步骤104移动设备10确定是否为消息指定了新接收方。有很多方法或机制用来确定是否为消息增加了新接收方,任何适合的这样的方法或机制都可以在步骤104的连接中使用。一些可以的机制在下边概述。本领域技术人员能够知道能够提供该功能的选择的范围和变化。
如果没有检测到新的接收方,方法100循环到步骤106以确定是否用户输入了发送命令,例如通过点击“发送”按钮或者选择“发送”菜单选项。如果没有检测到发送命令,方法100返回到步骤104继续检测新的接收方。
如果在步骤104检测到新的接收方,方法100继续步骤108读取接收方。例如,读取在电子邮件消息的“TO:”字段中的地址。相应的,抵制也可以在步骤104中读取。
对于步骤108中的每个接收方地址的读取,在步骤110中移动设备10确定是否密钥存储器58包含有效的证书(图1)。如果在移动设备10上存在有效的证书,那么在步骤116中方法100估计是否还有更多接收方地址,如果是,那么循环回步骤110尝试定位相应的证书。
如果在步骤110中移动设备10中没有包含有效证书,方法100继续进行步骤112,搜索触发组件64确定证书获取模块60是否正在进行对需要证书的搜索,如果是,方法100跳转到步骤116。否则,在步骤114搜索触发组件64命令证书获取模块60启动对需要的证书的搜索。
本领域技术人员应当知道对于方法100可以有本质上并不影响其执行的多种修改方案。例如,一些步骤可以和其它步骤同时执行,或者合并到其它步骤中,一些步骤的顺序可以改变,可以增加或删除特定的步骤。作为例子,步骤110中确定有效的证书是否在移动设备10上和步骤114中相应的搜索触发器可以仅针对在步骤104中识别的,作为已经添加的接收方执行。这种改变可以消除在步骤112中确定是否搜索正在进行的需要。其它的变化和修改本领域技术人员也很容易理解。
在步骤116之后,方法100确定是否存在针对已经从消息接收方列表中删除的接收方正在进行的证书搜索。如果是,在步骤120中搜索触发组件64命令证书获取模块60取消该未决的搜索。方法100返回到步骤104继续检测消息接收方列表的变化直到用户输入发送命令。
一旦用户输入发送命令,消息根据应用协议如S/MIME被加密和发送。在一些实施方式中,搜索触发组件64可以在发送指令的发起之后重复其确定是否正确的证书可用。
显而易见的是,方法100检测到新用户的增加(包括之前输入地址的改变)并发起证书的获取过程,如果需要,在用户输入发送命令之前。由于在用户发起发送命令之前证书可以被找到或者至少对其的搜索已经发起,这个过程能够提供快速的用户体验。因此,在用户输入发送命令和消息实际被发送之间的时间间隔缩短了。
方法100可以还包括检查证书是否有效的步骤。这些步骤可以应用于存储在密钥存储器58(图1)或者从远程证书服务中获取的证书上。证书的有效性可以因为一些原因根据时间变化,例如证书可以到期。在一个实施方式中,需要一个安全策略使证书的有效状态周期性更新。相应的,在步骤110,消息传送应用程序56可以确定在密钥存储器58上的证书是否在特定的时间周期内有效。如果证书在特定的时间周期内不是有效,证书可以认为是“失效”的,证书的有效性可以在使用前进行验证。典型的,证书的有效性可以通过一个证书管理局或者证书状态提供者验证。在一些例子中,证书状态提供者可以和用来获取证书的服务是一样的。如果需要的证书不是有效的,需要由搜索触发组件64发起搜索。
一旦需要的证书被获取和验证,一旦用户输入一个发送命令,消息传送应用程序56使用证书里的信息例如每个接收方的公钥加密消息。
正如上面提到的,检测是否新接收方被加入到一个消息,包含在方法100的步骤104,可以以多种方式执行。现在参考图5,其显示了移动设备10上的消息传送应用程序56的用户界面150的具体实施方式用户界面150在移动设备10的显示器22上呈现用户界面150。用户和用户界面150通过键盘32、键区、光标运动球、姆指轮、手写笔或者其它输入设备进行交互。
该实施例中的用户界面150包括在显示器22的顶部上的工具栏,可以包括许多图标或菜单选项。例如,可以显示发送按钮160。用户可以利用输入设备选择发送按钮160以便输入发送命令。图5显示的用户界面150描述了“组成”视图,显示了草稿消息。
用户界面150包括多个域,如地址域152,154,主题行域156,和主体域158。在一次只能有一个(或者零个)域被指定为“活动”状态。一个“活动”的域意味着用户的输入会和这个活动域相关。例如,活动域可以包括指针,如果任何数字或字母字符从键盘32输入其会呈现在该活动域。
地址域152,154可以包括TO域152和CC域154。本领域技术人员会知道其它实施方式还包括BCC域,或者其它地址域。在一些实施方式中,在地址域152,154中的多个地址之间以逗号或分号隔开。在其它实施方式中,在地址域152,154中只允许一个地址用户,如果用户希望将消息发送给另一个接收方,可选择增加另一个地址域,例如另一个TO域152。
用户输入接收方地址到地址域152,154。例如,如在图5中看到的,用户将草稿消息发送给john@mail.com和phil@othercompany.com。在一些情况下,用户可以打出接收方的地址到地址域152,154。另外一些情况下,消息传送应用程序56可以存储了名字和其相关的接收方地址。例如,消息传送应用程序56可以识别名字“John Smith”是和john@mail.com相关的,这使用户能够输入“John Smith”代替先前的地址。在其它情况下,消息传送应用程序56可以提供用户一个接收方的选择列表或者菜单。列表可以是从存储的一系列联系人中抽出的。本领域技术人员知道这些能够接收用户输入的相关接收方的机制和方法的范围。
主体域158包括消息的文本。在其它实施方式中,草稿消息可以包括嵌入的或附加的非文本单元,包括HTML格式,图片和/或文件。在一些情况下,当前的消息在消息链中是回复或转发时,主体域158可以包括之前消息中的文本内容。
在一个实施方式中,搜索触发组件64(图1)通过监测用户在这些域中的输入确定是否新的接收方被加到地址域152,154。在一个实施方式的例子中,搜索触发组件64在活动域是地址域152,154中的一个时记录所有的键盘32输入,一旦活动域变成另外一个域,其可以读取地址域以确定是否新的接收方被增加了或者是否旧的接收方被被删除或改动了。在另一个实施方式中,搜索触发组件64可以也相应的监测地址域152,154中通常用来间隔地址的分号的出现。在一些情况下,抵制可以由用户通过已知地址或分布式列表的选择列表或菜单输入。在这种情况下,搜索触发组件64可以记录这些菜单被接入了。当用户输入字符或者改变地址域152,154的内容时还可以使用其它的机制或方法进行检测。
当前另一个实施方式中,搜索触发组件64可以在焦点(即,活动域)在地址域152,154其中的一个时进行检测,当焦点改变到另一个域时可以记录,例如主体域158。在许多消息传送应用程序中,用户通常通过将消息定址为想要的接收方开始编辑消息。用户然后在输入发送命令前打出消息内容。相应的,搜索触发组件64可以配置为记录什么时候活动的焦点从地址域152,154改变到主体域158或者其它域,响应于这个改变,其确定是否接收方列表是否改变或/和是否需要任何证书。
本领域技术人员能够知道,搜索触发组件64能够通过多种机制检测事件,如活动域改变的时间或用户输入收到的时间。例如,操作系统52(图1)可以允许搜索触发组件64注册以接收特定事件发生的通知或消息。搜索触发组件64可以监测特定的寄存器或存储器域,被安排接收或监测特定的中断,或者另外确定移动设备10状态的特征。准确的执行可以是一种设计好的选择,可以取决于操作系统52和移动设备10的特征。
现在参考图6,其显示了检测消息接收方变化的示例方法400的流程图。方法400从步骤402开始,判断是否焦点在其中一个地址域上,例如是否其中一个地址域是“活动”。如果不是,方法400循环。如果其中的一个地址域变成活动,方法400移动到步骤404以监测是否焦点改变。在其中一个实施方式中,步骤404可以确定是否焦点从当前的地址域变化到另一个地址域。在其它实施方式中,步骤404可以监测是否焦点从当前的地址域变化到另一个非地址域。在当前另一个实施方式中,步骤404包括监测焦点改变到特定的域,例如主体域158(图5)。
如果在步骤404检测到远离当前的地址域的焦点变化了,那么移动设备10(图1)可以推断用户很可能改变了接收方。在图6的实施方式中,方法400可以包括从地址域读取接收方列表和将这些接收方和之前存储的接收方列表进行比较。如果检测到列表的变化,那么方法400可以继续,确定在设备上必需的证书是否可用并且发起对丢失证书的搜索,正如在上边图4中所描述。搜索触发组件64可以在临时存储器中存储当前的接收方列表,以在用户将焦点返回地址域时(例如增加或删除一个接收方时)再执行比较。
在另一个实施方式中,方法400可以假定是在步骤404之后的,接收方列表的改变是相似的,可以确定对于所有接收方是否需要的证书都是可用的,以及对任何丢失或无效证书发起图4进行相关描述的搜索过程。其它的变化对本领域技术人员来说也是显然的。
对于描述的实施方式的进行特定改写和修改是允许的。这些讨论的实施方式只是举例并不是对本发明的限制。

Claims (20)

1、一种通过计算机网络(50)从发送设备(10)向接收方安全发送消息的方法,发送设备(10)包括消息传送应用程序(56)用于编辑发送给一个或多个接收方的消息;每个接收方有相应的证书(62),每个证书(62)都包含接收方特定的公钥,发送设备(10)使用该公钥加密传送给相应的接收方的消息;发送设备(10)包括存储器(24,26),在密钥存储器(58)存储一个或多个证书(62);该方法还包括以下步骤:
检测步骤,在消息的地址域(152,154)检测输入的新接收方;
确定步骤,确定密钥存储器(58)没有包含该新接收方的有效证书;
启动步骤,通过计算机网络(50)启动对该有效证书的远端来源(280)搜索;和
下载步骤,下载该有效证书,包括所述新接收方的公钥;
其中所述检测、确定、启动步骤都是在接收到发送消息的用户指令之前执行的。
2、根据权利要求1的方法,其中检测步骤包括检测所述地址域(152,154)是活动的和检测所述地址域(152,154)的用户输入。
3、根据权利要求2的方法,其中检测用户输入的步骤包括检测键盘(32)输入。
4、根据权利要求1的方法,其中消息传送应用程序(56)包括用户界面(150),该用户界面(150)具有编辑消息视窗,和该用户界面包括多个域,所述多个域包括所述的地址域(152,154),并且其中所述的检测步骤包括检测已经被指定为活动域的所述的地址域(152,154),然后检测指定中的变化从而使得所述多个域(156,158)的另一个是所述的活动域。
5、根据权利要求4的方法,其中所述的多个域包括两个或多个地址域(152,154),其中所述多个域(156,158)的另一个不包括所述地址域(152,154)。
6、根据以上任一权利要求的方法,其中所述检测步骤输入的所述新接收方包括从所述地址域(152,154)中读出当前的接收方列表,比较当前的接收方列表和预先存储的列表,并把所述当前的接收方列表存储为所述预先存储的列表。
7、根据以上任一权利要求的方法,其中所述启动步骤包括确定是否正在进行对所述有效证书的活动的搜索,如果没有,启动该所述搜索。
8、根据以上任一权利要求的方法,其中该方法还进一步包括步骤:确定是否针对与所述地址域(152,154)中删除的接收方对应的证书正在进行活动搜索,如果是,发起一个指令取消该活动的搜索。
9、根据以上任一权利要求的方法,其中该方法还进一步包括步骤:使用所述公钥加密消息并传输加密的消息,其中所述加密和传输步骤是响应接收到的所述用户的发送指令执行的。
10、一种通过计算机网络(50)向接收方发送安全消息的用户设备(10),其中其中该用户设备(10)包括:
显示器(22),用于呈现显示消息的用户界面(150),用户界面(150)包括消息的地址域(152,154);
用户输入设备(32,42),用于接收用户的输入;
存储器(24,26),包括密钥存储器(58)用来存储一个或多个证书(62);
处理器(38),用于和所述显示器(22)、存储器(24,26)和用户输入设备(32,42)交互;
消息传送应用程序(56),由所述处理器(38)执行,用于编辑和发送消息;
搜索触发组件(64),由所述处理器(38)执行,用于检测所述地址域(152,154)中输入的新接收方,以确定所述密钥存储器(58)没有包含该新接收方的有效证书,并启动对所述有效证书的搜索;
证书获取模块(60),由所述处理器(38)执行,用于对所述有效证书的远端来源(280)搜索;并且下载该有效证书,包括所述新接收方的公钥;
其中所述搜索触发组件(64)适合于在接收到发送消息的用户指令之前当所述搜索触发组件(64)确定所述密钥存储器(58)没有包含所述有效证书时,通知所述证书获取模块(60)对所述有效证书发起一个搜索。
11、根据权利要求10中所述的用户设备,其中所述搜索触发组件(64)适合检测所述地址域(152,154)是活动的并检测所述地址域(152,154)的用户输入。
12、根据权利要求11中所述的用户设备,其中所述搜索触发组件(64)适合通过所述用户输入设备(32,42)检测输入。
13、根据权利要求10中所述的用户设备,其中所述用户界面(150)包括多个域,所述多个域包括所述的地址域(152,154),其中所述的搜索触发组件(64)适合检测已经被指定为活动域的所述的地址域(152,154),然后检测指定的变化,从而使得所述多个域(156,158)的另一个是所述的活动域。
14、根据权利要求13中所述的用户设备,其中所述多个域包括两个或以上的地址域(152,154),其中所述多个域(156,158)的另一个不包括所述地址域(152,154)。
15、根据权利要求10-14中任一所述的用户设备,其中所述搜索触发组件(64)适合从所述地址域(152,154)中读出当前的接收方列表,比较该当前的接收方列表和一个预先存储的列表,并把所述当前的接收方列表存储为所述预先存储的列表。
16、根据权利要求10-15中任一所述的用户设备,其中所述搜索触发组件(64)包括组件,用于确定是否正在进行对所述有效证书的活动的搜索,如果没有,启动该所述搜索。
17、根据权利要求10-16中任一所述的用户设备,其中所述搜索触发组件(64)包括组件,用于确定是否针对与所述地址域(152,154)中删除的接收方对应的证书进行活动的搜索,如果是,发起指令取消该活动的搜索。
18、根据权利要求10-17中任一所述的用户设备,其中,响应接收的所述用户的发送指令,所述消息传送应用程序(56)适合使用所述公钥加密消息并传输加密的信息。
19、根据权利要求10-18中任一所述的用户设备,其中所述用户设备(10)包括手持移动设备(10),其中计算机网络(50)包括无线网络(50)。
20、用于在权利要求10-19中任一所述的用户设备(10)处理器上执行的机器可读介质,以执行权利要求1-9中任一的方法。
CN2007101464183A 2006-05-05 2007-05-08 发送安全消息的方法和系统 Active CN101098234B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06113557A EP1853028B1 (en) 2006-05-05 2006-05-05 Method and system for sending secure messages
EP06113557.0 2006-05-05

Publications (2)

Publication Number Publication Date
CN101098234A true CN101098234A (zh) 2008-01-02
CN101098234B CN101098234B (zh) 2010-09-29

Family

ID=37056926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101464183A Active CN101098234B (zh) 2006-05-05 2007-05-08 发送安全消息的方法和系统

Country Status (5)

Country Link
EP (1) EP1853028B1 (zh)
CN (1) CN101098234B (zh)
CA (1) CA2587574C (zh)
HK (1) HK1112785A1 (zh)
SG (2) SG157372A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200007347A1 (en) * 2018-06-29 2020-01-02 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and storage medium
CN112291268A (zh) * 2020-11-26 2021-01-29 上海优扬新媒信息技术有限公司 信息的传输方法、装置、设备以及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2266051B1 (en) * 2008-02-27 2022-08-17 Rpost International Limited Method of adding a postscript message to an email

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133774A1 (en) * 2003-01-07 2004-07-08 Callas Jonathan D. System and method for dynamic data security operations
SG152298A1 (en) 2004-05-05 2009-05-29 Research In Motion Ltd System and method for sending secure messages
EP1653655B1 (en) * 2004-10-29 2006-11-29 Research In Motion Limited System and method for verifying digital signatures on certificates

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200007347A1 (en) * 2018-06-29 2020-01-02 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus, and storage medium
CN112291268A (zh) * 2020-11-26 2021-01-29 上海优扬新媒信息技术有限公司 信息的传输方法、装置、设备以及存储介质
CN112291268B (zh) * 2020-11-26 2023-05-26 度小满科技(北京)有限公司 信息的传输方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
EP1853028B1 (en) 2013-02-27
SG157372A1 (en) 2009-12-29
CA2587574A1 (en) 2007-11-05
EP1853028A1 (en) 2007-11-07
SG136939A1 (en) 2007-11-29
CN101098234B (zh) 2010-09-29
HK1112785A1 (en) 2008-09-12
CA2587574C (en) 2013-02-12

Similar Documents

Publication Publication Date Title
CA2509204C (en) System and method of secure authentication information distribution
EP1417814B1 (en) System and method for processing encoded messages
CN1729476B (zh) 消息设置选择
CN100566236C (zh) 在系统中提供证书匹配以及用于搜索和获得证书的方法
KR101149958B1 (ko) 이메일을 사용하는 공개 정보의 인증된 교환
CN100536395C (zh) 用于验证证书上的数字签名的系统和方法
CN101027869B (zh) 用于确定应用于输出消息的安全编码的系统和方法
US20080280644A1 (en) Sim Messaging Client
US20120084376A1 (en) Method and apparatus for processing digitally signed messages to determine address mismatches
EP1410601A1 (en) System and method for secure message key caching in a mobile communication device
JP2011048389A (ja) 暗号化の強度を示すシステムおよび方法
US20070260876A1 (en) Method and system for sending secure messages
US8429413B2 (en) Systems and methods for server aided processing of a signed receipt
CN101098234B (zh) 发送安全消息的方法和系统
CN1905449B (zh) 处理数字签名消息以确定地址失配的方法和设备
CN1905442B (zh) 用于处理用户正在编写的消息的系统及方法
CN101420664B (zh) 用于控制移动设备上的消息附件处理功能的系统和方法
EP2079208B1 (en) Systems and methods for server aided processing of a signed receipt

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant