CN101174945B - 一种用于验证push消息及其发送方身份的方法 - Google Patents
一种用于验证push消息及其发送方身份的方法 Download PDFInfo
- Publication number
- CN101174945B CN101174945B CN2006101379557A CN200610137955A CN101174945B CN 101174945 B CN101174945 B CN 101174945B CN 2006101379557 A CN2006101379557 A CN 2006101379557A CN 200610137955 A CN200610137955 A CN 200610137955A CN 101174945 B CN101174945 B CN 101174945B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- certificate
- portable terminal
- digital
- digital certificate
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种用于验证PUSH消息及其PI(PUSH消息发送方)身份的方法,包括以下步骤:PI在CA登记,生成一个数字证书;PI生成一个随机密钥;PI用随机密钥生成对PUSH消息的数字签名,并利用自己的私有密钥对随机密钥进行加密;PI将多种信息一起发送给移动终端;移动终端收到PI发送的信息后,首先利用数字证书来验证PI的身份,并解密随机密钥;然后利用随机密钥重新生成对PUSH消息的数字签名,并与PI发送的数字签名进行比较,验证PUSH消息完整性;验证结束后,移动终端查看PUSH消息。本发明的优点在于可以实现PI到移动终端的PUSH消息的安全验证和完整性验证,防止通信过程中的攻击。
Description
技术领域
本发明涉及移动终端(Mobile Equipment,以下简称ME)接收内容提供商向ME推送数据的业务(PUSH)消息的安全性的技术领域,更具体地说,本发明涉及一种用于验证PUSH消息及其发送方(以下称PI)身份的方法。
背景技术
随着无线数据网络的高速发展,以及基于手机的增值业务的广泛应用,向手机推送更多更复杂的数据越来越受到各移动运营商的重视,而在手机和WAP网关之间以及手机和其他SP之间进行数据传输的安全性保证的需求也日趋强烈。PUSH就是一种向手机等ME推送数据的业务,手机能够对所收到的PUSH消息以及PUSH消息的PI进行验证。
目前用于手机对PI进行鉴权的手段有限,主要通过比较PI的IP地址来验证PI的有效性,也就是说在手机必须先存放若干组可信任的PI的IP地址,在收到一个PUSH消息后,首先要验证是否存放有PI的IP地址,若能够找到PI的IP地址,则说明该PI是可信任的,该PUSH消息是安全的。否则,认为该PUSH消息是一个垃圾信息,可选择拒收。
手机对PUSH消息的验证主要是使用如下方法:
PI在发送利用HMAC算法和密钥Key生成PUSH消息的摘要DS,ME在接收到该PUSH消息后,用同样的方法生成该消息的摘要DS’,若DS与DS’匹配,则说明该PUSH消息是完整的。否则,认为该PUSH消息已被篡改。此方法中生成签名的密钥Key是需要PI通过其它途径发送给ME的,如短消息或互联网等。
由于现有方法主要是利用PI的IP地址来鉴别PI的身份,而IP地址存在被伪造的可能,因此这种方法的缺点在于判断PI的身份并不安全。而检验PUSH消息完整性的时候需要用到一个密钥,这个密钥需要和PUSH消息分开传输。而密钥传输过程中未考虑到PI的身份鉴别等安全性问题,且密钥的传输过程中也容易遭恶意篡改。
发明内容
本发明的目的在于,提供一种安全、方便的PI及PUSH消息鉴权/验证方法,不仅可以验证PUSH消息的完整性,还可以验证PI的身份。
鉴于上述目的,本发明提供了一种用于验证PUSH消息及其PI身份的方法,其特征是包括以下步骤:
步骤1,PI在证书认证中心(Certificate Authority,以下简称CA)登记,获取一个数字证书;
步骤2,PI在发送PUSH(推送数据的业务)消息前,再生成一个随机密钥;
步骤3,PI用上述随机密钥生成对上述PUSH消息的数字签名,并利用自己的私有密钥对上述随机密钥进行加密;
步骤4,PI将多种信息一起发送给ME,上述信息至少包括加密后的随机密钥,上述PUSH消息的数字签名和上述PUSH消息;
步骤5,ME收到PI发送的上述信息后,首先利用数字证书来验证PI的身份,并解密上述随机密钥;
步骤6,ME验证了上述PI的身份后,再利用随机密钥重新生成用于上述PUSH消息的数字签名,并与PI发送的数字签名进行比较,验证上述PUSH消息完整性;
步骤7,上述PUSH消息完整性的验证结束后,ME查看上述PUSH消息。
其中,ME可以随步骤4中的信息一起收到获取数字证书,也可以通过互联网下载数字证书或由PI单独发送上述数字证书给ME。
上述数字证书至少包括PI的信息和发放证书的CA的信息,其中PI的信息包括数字证书的版本信息、唯一的证书序列号、PI的签名算法、PI的公共密钥、证书的有效期限和发行证书的CA的名称等等。CA的信息至少包括上述CA的数字签名和用来生成上述数字签名的签名算法。
如果ME随所述步骤4中的信息一起收到上述数字证书,则上述ME在步骤5中还进行对上述数字证书的验证工作,即ME利用CA的公共密钥和数字证书中的上述签名算法计算CA对上述数字证书的签名,如果上述数字签名与上述计算结果匹配,则认为上述数字证书中的信息完整可信,ME同意接收;如果不匹配,则ME拒绝接收。
在所述步骤5中,ME利用上述数字证书中的公共密钥解密上述随机密钥。
本发明的优点在于引入数字证书后,可以实现PI到ME的PUSH消息的安全验证和完整性验证,还可以防止通信过程中的任何攻击。
下面结合附图,对本发明的具体实施方式作进一步的详细说明。对于所属技术领域的技术人员而言,从对本发明的详细说明中,本发明的上述和其他目的、特征和优点将显而易见。
附图说明
图1为本发明一较佳实施例的PUSH业务网络拓扑图。
图2为本发明一较佳实施例的PUSH消息发送及验证流程图。
具体实施方式
下面结合附图和具体实施例对本发明所述的一种用于验证PUSH消息及其PI身份的方法作进一步的详细说明。
如图1所示,本发明的应用场景为PI通过在CA101注册以获取数字证书C,CA101通过以太网102得到数字证书C,该数字证书C为PI103身份的唯一表示,PI103可以在通过无线网络104向ME105发送PUSH消息时携带该数字证书C以供ME105验证,该ME105可以是手机。
图2所示为本发明一较佳实施例的PUSH消息发送及验证流程,具体描述如下。
PUSH消息的PI103处理步骤:
步骤1,PI103首先在一个公共的CA101申请公开的数字证书C,该数字证书C包含PUSH消息PI103的公共密钥,随机密钥R的加密算法,CA101对该数字证书C的数字签名和用来生成该数字签名的签名算法H1,任何人收到该数字证书C后都能使用该签名算法来验证该数字证书C是否由CA101的签名密钥签发。假设PI103的数字证书C中采用的加密算法是RSA算法,私有密钥K是(112276673,126098207),公共密钥K2是(65537,126098207)。
步骤2,PI103生成一个随机数作为生成PUSH消息的数字签名随机密钥R。假设R=1234。
步骤3,利用R对PUSH消息生成数字签名Ds。假设PUSH消息的字符串“push test”,采用HMAC(keyed-hashing for message authenticationcode)算法,用随机密钥R生成其数字签名为“001B50483CEDF0C50F562716A9CD4820515AF711”。
步骤4,PI103用其私有密钥K对随机密钥R加密,得到K(R)。用私有密钥(112276673,126098207)对“1234”加密后得到密文K(R)=“BhP1zAW8xi”。
步骤5,PI103把PUSH消息连同PI103对其的数字签名Ds、数字证书C、以及密文K(R)一起发送给PUSH消息的接收方,即ME105。其中,该移动终端也可通过移动终端通过互联网下载获取该数字证书C或由发送方单独发送数字证书C给移动终端。
PUSH消息的接收方处理步骤:
步骤1,接收方收到PI103发送的PUSH消息后,立即解析该消息中包含的PI103的数字证书C,接收方为ME105,可以是手机。
步骤2,ME105取得该数字证书C后,首先进行对其的验证工作。假设CA101对该证书的签名为DS1。ME105运用CA101的公共密钥K1和证书中制定的签名算法H1计算CA101对该证书的签名DS1’。若DS1和DS1’匹配,则说明该数字证书C是CA101签发的,证书中的信息完整可信;否则,说明该证书内容已被篡改,ME105应拒收此PUSH消息。
步骤3,通过对PUSH消息中数字证书C的解析,可以得到PI103的公共密钥K2,PI103对随机密钥R加密的密文K(R),和PI103对该消息的签名DS2。ME105利用K2和K(R)计算出PI103生成PUSH消息签名的随机密钥R,并利用该随机密钥R重新生成用于PUSH消息的签名DS’2。若DS2与DS’2完全匹配,则说明此PUSH消息是由PI103发送的,并且此PUSH消息是完整的;否则,认为该PUSH消息已经通过篡改,ME105可以拒收。
假设ME105从PI103的数字证书C中得到PI103的公共密钥K2是(65537,126098207),而从PI103发送的信息中得到用PI103私有密钥K加密过的密文“BhP1zAW8xi”,PUSH消息内容“push test”及数字签名
“001B50483CEDF0C50F562716A9CD4820515AF711”。
ME105利用公共密钥解密密文“BhP1zAW8xi”后得到随机密钥“1234”。利用该随机密钥R重新生成PUSH消息“push test”的数字签名。如果DS’2与DS2完全匹配,ME105认为此PUSH消息是由PI103发送的。
步骤4,通过步骤2对数字证书C的验证和步骤3对PUSH消息的验证后,ME105可认为该PUSH消息是安全和完整的,可以接收该消息到本地。
本发明处理过程中,除了在PUSH消息中携带PI103的数字证书C外,ME105还可以通过其他途径获取数字证书C,比如通过互联网下载特定PI103的数字证书C,或者是PI103单独发送数字证书C给ME105。
这样在PUSH消息的PI103处理步骤的步骤5中不发送数字证书C给ME105;在PUSH消息的接收方处理步骤的步骤1中,ME105也不必在PI103的消息中解析数字证书C了,而是在自己已经存储的数字证书中找到与该PI103对应的数字证书C即可。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;如果不脱离本发明的精神和范围,对本发明进行修改或者等同替换的,均应涵盖在本发明的权利要求的保护范围当中。
Claims (5)
1.一种用于验证推送数据的业务消息及其发送方身份的方法,其特征在于,包括以下步骤:
步骤1,发送方在证书认证中心登记,获取一个数字证书;
步骤2,发送方生成一个随机密钥;
步骤3,发送方用上述随机密钥生成对上述推送数据的业务消息的数字签名,并利用自己的私有密钥对上述随机密钥进行加密;
步骤4,发送方将多种信息一起发送给移动终端,上述信息至少包括加密后的随机密钥,上述推送数据的业务消息的数字签名和上述推送数据的业务消息;
步骤5,移动终端收到发送方发送的上述信息后,首先利用上述数字证书来验证发送方的身份,并解密上述随机密钥;
步骤6,移动终端验证了上述发送方的身份后,再利用上述随机密钥重新生成对上述推送数据的业务消息的数字签名,并与发送方发送的数字签名进行比较,验证上述推送数据的业务消息完整性;
步骤7,上述推送数据的业务消息完整性的验证结束后,移动终端查看上述推送数据的业务消息。
2.根据权利要求1所述的方法,其特征在于,移动终端获取上述数字证书的方式包括移动终端随步骤4中的信息一起收到、移动终端通过互联网下载或由发送方单独发送数字证书给移动终端。
3.根据权利要求2所述的方法,其特征在于,上述数字证书至少包括发送方的信息和发放证书的证书认证中心的信息,其中发送方的信息包括发送方的公共密钥,还包括数字证书的版本信息、唯一的证书序列号、发送方的签名算法、证书的有效期限和发行证书的证书认证中心的名称中的一种或几种,证书认证中心的信息至少包括上述证书认证中心对所述数字证书的数字签名,和所述证书认证中心用来生成数字证书的数字签名的签名算法。
4.根据权利要求3所述的方法,其特征在于,如果移动终端随所述步骤4中的信息一起收到上述数字证书,则上述移动终端在步骤5中还进行对上述数字证书的验证工作,即移动终端利用证书认证中心的公共密钥,和所述证书认证中心用来生成数字证书的数字签名的签名算法计算证书认证中心对上述数字证书的签名,如果所述证书认证中心对所述数字证书的数字签名与上述计算结果匹配,则认为上述数字证书中的信息完整可信,移动终端同意接收;如果不匹配,则移动终端拒绝接收。
5.根据权利要求1所述的方法,其特征在于,在所述步骤5中,移动终端利用上述数字证书中的公共密钥解密上述随机密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101379557A CN101174945B (zh) | 2006-10-31 | 2006-10-31 | 一种用于验证push消息及其发送方身份的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101379557A CN101174945B (zh) | 2006-10-31 | 2006-10-31 | 一种用于验证push消息及其发送方身份的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101174945A CN101174945A (zh) | 2008-05-07 |
CN101174945B true CN101174945B (zh) | 2011-03-16 |
Family
ID=39423226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101379557A Expired - Fee Related CN101174945B (zh) | 2006-10-31 | 2006-10-31 | 一种用于验证push消息及其发送方身份的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101174945B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895847A (zh) * | 2010-08-02 | 2010-11-24 | 刘明晶 | 基于数字证书的短信认证加密系统及认证加密方法 |
CN102201919B (zh) * | 2011-06-17 | 2013-07-10 | 深圳一卡通新技术有限公司 | 基于数字证书的移动终端实名信息传输系统与方法 |
CN108270567B (zh) * | 2016-12-30 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 消息来源验证方法、装置和系统以及消息发送方法和装置 |
CN109889344B (zh) * | 2019-01-31 | 2020-06-16 | 深圳中兴飞贷金融科技有限公司 | 终端、数据的传输方法和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645843A (zh) * | 2005-03-02 | 2005-07-27 | 北京立通无限科技有限公司 | 一种高效智能获取Lotus Domino邮件服务器中邮件的系统及其方法 |
CN1805480A (zh) * | 2005-12-12 | 2006-07-19 | 周红 | 手机阅读连环画的实现方法 |
-
2006
- 2006-10-31 CN CN2006101379557A patent/CN101174945B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645843A (zh) * | 2005-03-02 | 2005-07-27 | 北京立通无限科技有限公司 | 一种高效智能获取Lotus Domino邮件服务器中邮件的系统及其方法 |
CN1805480A (zh) * | 2005-12-12 | 2006-07-19 | 周红 | 手机阅读连环画的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101174945A (zh) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656503B (zh) | 密钥存储方法、数据加解密方法、电子签名方法及其装置 | |
WO2017201809A1 (zh) | 终端通信方法及系统 | |
CN101136748B (zh) | 一种身份认证方法及系统 | |
CN102547688B (zh) | 一种基于虚拟专用信道的高可信手机安全通信信道的建立方法 | |
CN101272616B (zh) | 一种无线城域网的安全接入方法 | |
CN113596778A (zh) | 一种基于区块链的车联网节点匿名认证方法 | |
CN108599925A (zh) | 一种基于量子通信网络的改进型aka身份认证系统和方法 | |
CN104301115B (zh) | 一种手机与蓝牙key签名验证密文通讯方法 | |
CN104735068A (zh) | 基于国密的sip安全认证的方法 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN102036236A (zh) | 一种对移动终端认证的方法和装置 | |
CN109474419A (zh) | 一种活体人像照片加密、解密方法及加解密系统 | |
CN105554760A (zh) | 无线接入点认证方法、装置及系统 | |
CN102065016A (zh) | 报文发送和接收方法及装置、报文处理方法及系统 | |
CN110048849A (zh) | 一种多层保护的会话密钥协商方法 | |
CN109728896A (zh) | 一种基于区块链的来电认证和溯源方法及流程 | |
CN105141635A (zh) | 一种群发消息安全通讯的方法和系统 | |
CN103118363A (zh) | 一种互传秘密信息的方法、系统、终端设备及平台设备 | |
CN114826656A (zh) | 一种数据链路可信传输方法和系统 | |
CN101895847A (zh) | 基于数字证书的短信认证加密系统及认证加密方法 | |
CN1316405C (zh) | 一种获得数字签名和实现数据安全的方法 | |
CN111147257A (zh) | 身份认证和信息保密的方法、监控中心和远程终端单元 | |
CN116506854A (zh) | 一种北斗短报文的加密通信系统和方法 | |
CN102404329A (zh) | 用户终端与虚拟社区平台间交互的认证加密方法 | |
CN101174945B (zh) | 一种用于验证push消息及其发送方身份的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110316 Termination date: 20151031 |
|
EXPY | Termination of patent right or utility model |