CN108810003B - 一种多业务方消息接入的安全验证方案 - Google Patents
一种多业务方消息接入的安全验证方案 Download PDFInfo
- Publication number
- CN108810003B CN108810003B CN201810646378.7A CN201810646378A CN108810003B CN 108810003 B CN108810003 B CN 108810003B CN 201810646378 A CN201810646378 A CN 201810646378A CN 108810003 B CN108810003 B CN 108810003B
- Authority
- CN
- China
- Prior art keywords
- link
- message
- service
- party
- protocol
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Abstract
本发明公开了一种多业务方消息接入的安全验证方案,本发明能够保证业务方接入流程规范,业务方必须按规范注册进应用,则所有安全验证都可以有应用主题服务端系统自动完成;能够保证接口调用安全,只有正确接入并持有正确业务关键字和密钥的业务方才能推送消息;保证消息跳转链接正确:若链接为客户端native内跳协议,则协议必须和业务方注册的协议匹配;若为webview链接,则链接URL域名部分必须和注册的URL域名部分一致,这样保证业务方的消息链接只能跳转到自己的功能页面;此外,本发明中,点击跳转链接只能打开对应级别的webview浏览器,使用已授权的客户端原生方法,保证系统权限安全。
Description
技术领域
本发明涉及安全验证技术领域,具体为一种多业务方消息接入的安全验证方案。
背景技术
对于初期的移动端应用来说,推送消息这一功能在安全方面是单一、可控的。然而,随着功能越来越多,业务越来越复杂,往往会将这些功能拆成多个业务方,大多数业务方都有在应用里推动消息的需求。而且在消息体中,往往包含跳转链接,链接会引导用户去进行其他相关操作。跳转到的HTML页面会调用客户端native的接口,而这些接口可能是一些高权限的危险的操作。
其中大部分消息都是业务方根据不同用户进行计算过后由系统自动推送的,作为移动应用主体的管理员不可能逐条验证发送消息。因此推送消息的业务方身份的合法性无法保证,而且跳转链接的存在会带来更大的安全隐患,可能产生的后果包括但不限于用户的页面跳转错误、非法调用未授权的系统功能、应用软件崩溃、操作系统崩溃、甚至跳转到危险的钓鱼网站等等。然而业内尚未有解决消息安全问题的方案。
发明内容
本发明的目的在于提供一种多业务方消息接入的安全验证方案,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种多业务方消息接入的安全验证方案,包括以下步骤:
A、消息链接说明:用户通过消息链接跳转到webview的HTML5页面过后,HTML会调用客户端接口提供的方法,而这些方法需要对权限进行分层;接口权限分为五层:外部方法、内部方法、插件方法、三方方法和通用方法;
B、业务级别对应链接级别说明:接入应用的业务被分为三种业务类型:内部业务、插件业务、第三方业务;
C、应用与业务方对应;
D、业务方接入消息中心推送消息。
优选的,所述步骤C中内部业务对应内部链接、协议链接和外部链接;插件业务对应插件链接、协议链接和外部链接;第三方业务对应第三方链接、协议链接和外部链接。
优选的,所述步骤D中包括:
a、业务方申请接入移动应用以及消息中心:
1)、业务方必须准确提供相关的基本信息进行申请注册:包括但不限于业务名、业务链接或native页面跳转协议、业务级别;
2)、应用管理员对步骤1)中的信息进行审核后,在系统中生成唯一业务关键字和业务密钥,并提供给申请接入的业务方。然后将上述业务关键字和业务密钥连同业务方的基本信息作为一条记录保存到数据库中,即完成注册;
b、业务方发送消息,应用主体服务端对业务方发来的消息进行验证:
1)、所有业务方想要推送的消息都由应用主体服务端进行过滤和验证,并由应用主体服务端统一推送到客户端,因此业务方只需要调用应用主体的应用编程接口,即可完成消息推送;其中调用的输入参数除了消息内容以外,还包含唯一业务关键字,将业务密钥按照签名加密规则进行加密后得到的签名字符串;
2)、验证输入参数完整性:应用主体服务端验证接口调用是否包含所有的必要的输入参数,必须包含消息内容相关参数、业务方的APPKEY、加密后的签名SIGN;若参数包含跳转链接,则参数还需包含链接类型;若缺少任意一项,则返回错误信息,程序终止;
3)、验证步骤2)传入的业务关键字APPKEY是否合法:在数据库中查出所在业务方的在系统中接入时注册的所有基础信息;如果记录为空或者记录已被标记为禁用状态,则返回错误信息,程序终止;
4)、业务方的身份验证:将步骤3)中查出来的业务方信息中的密钥按照签名加密规则进行加密后得到签名SIGN1,与步骤1)中业务方传入的签名SIGN进行比对,一致则身份验证通过,否则返回错误信息,程序终止;
5)、检查消息体是否包含跳转链接:若不含跳转链接,则进入步骤11)推送消息;若消息体包含跳转链接,则进入步骤6)开始进行验证。
6)、验证链接类型:通过步骤3)中查出的业务级别,得到对应的合法的链接类型,步骤1)中传入的链接类型必须被包含于LEGAL TYPES;若LINK TYPE不被包含,则返回错误信息,程序终止;
7)、若链接类型为协议链接,则进入步骤8)验证,否则进入步骤9)进行验证;
8)、将步骤3)中查出的内跳协议和传入的协议进行对比,若一致则进入步骤11)推送消息,不一致则返回错误信息,程序终止;
9)、验证链接符合URL结构,不符合则返回错误信息,程序终止;
10)、验证链接域名:跳转链接URL的域名部分必须和步骤3)中查出来的URL1的域名进行比对,若一致则说明链接合法,进入步骤11)推送消息,若不一致则返回错误信息,程序终止;
11)、推送消息到客户端,若消息包含跳转链接,则推送参数除了消息内容,还需要附带链接类型推送给客户端;
c、用户点击消息中的链接,客户端的处理:
1)、判断链接类型,若为协议链接,进入步骤2)打开链接;否则进入步骤3);
2)、根据传入的URL按照提前约定好的规则打开客户端native页面;
3)、根据LINK TYPE,打开不同权限的WEB VIEW浏览器。
与现有技术相比,本发明的有益效果是:本发明能够保证业务方接入流程规范,业务方必须按规范注册进应用,则所有安全验证都可以有应用主题服务端系统自动完成;能够保证接口调用安全,只有正确接入并持有正确业务关键字和密钥的业务方才能推送消息;保证消息跳转链接正确:若链接为客户端native内跳协议,则协议必须和业务方注册的协议匹配;若为webview链接,则链接URL域名部分必须和注册的URL域名部分一致,这样保证业务方的消息链接只能跳转到自己的功能页面;此外,本发明中,点击跳转链接只能打开对应级别的webview浏览器,使用已授权的客户端原生方法,保证系统权限安全。
附图说明
图1为本发明流程;
图2为本发明业务方发送消息验证流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:一种多业务方消息接入的安全验证方案,包括以下步骤:
A、消息链接说明:用户通过消息链接跳转到webview的HTML5页面过后,HTML会调用客户端接口提供的方法,而这些方法需要对权限进行分层;接口权限分为五层:外部方法、内部方法、插件方法、三方方法和通用方法;App内HTML5页面根据业务需求分为外部链接、第三方业务链接、app插件链接、app内部链接;
B、业务级别对应链接级别说明:接入应用的业务被分为三种业务类型:内部业务、插件业务、第三方业务;
C、应用与业务方对应;
D、业务方接入消息中心推送消息。
本发明中,步骤C中内部业务对应内部链接、协议链接和外部链接;插件业务对应插件链接、协议链接和外部链接;第三方业务对应第三方链接、协议链接和外部链接。
本发明中,步骤D中包括:
a、业务方申请接入移动应用以及消息中心:
1)、业务方必须准确提供相关的基本信息进行申请注册:包括但不限于业务名、业务链接或native页面跳转协议、业务级别;
2)、应用管理员对步骤1)中的信息进行审核后,在系统中生成唯一业务关键字和业务密钥,并提供给申请接入的业务方。然后将上述业务关键字和业务密钥连同业务方的基本信息作为一条记录保存到数据库中,即完成注册;
b、业务方发送消息,应用主体服务端对业务方发来的消息进行验证:
1)、所有业务方想要推送的消息都由应用主体服务端进行过滤和验证,并由应用主体服务端统一推送到客户端,因此业务方只需要调用应用主体的应用编程接口,即可完成消息推送;其中调用的输入参数除了消息内容以外,还包含唯一业务关键字,将业务密钥按照签名加密规则进行加密后得到的签名字符串;
2)、验证输入参数完整性:应用主体服务端验证接口调用是否包含所有的必要的输入参数,必须包含消息内容相关参数、业务方的APPKEY、加密后的签名SIGN;若参数包含跳转链接,则参数还需包含链接类型;若缺少任意一项,则返回错误信息,程序终止;
3)、验证步骤2)传入的业务关键字APPKEY是否合法:在数据库中查出所在业务方的在系统中接入时注册的所有基础信息;如果记录为空或者记录已被标记为禁用状态,则返回错误信息,程序终止;
4)、业务方的身份验证:将步骤3)中查出来的业务方信息中的密钥按照签名加密规则进行加密后得到签名SIGN1,与步骤1)中业务方传入的签名SIGN进行比对,一致则身份验证通过,否则返回错误信息,程序终止;
5)、检查消息体是否包含跳转链接:若不含跳转链接,则进入步骤11)推送消息;若消息体包含跳转链接,则进入步骤6)开始进行验证。
6)、验证链接类型:通过步骤3)中查出的业务级别,得到对应的合法的链接类型,步骤1)中传入的链接类型必须被包含于LEGAL TYPES;若LINK TYPE不被包含,则返回错误信息,程序终止;
7)、若链接类型为协议链接,则进入步骤8)验证,否则进入步骤9)进行验证;
8)、将步骤3)中查出的内跳协议和传入的协议进行对比,若一致则进入步骤11)推送消息,不一致则返回错误信息,程序终止;
9)、验证链接符合URL结构,不符合则返回错误信息,程序终止;
10)、验证链接域名:跳转链接URL的域名部分必须和步骤3)中查出来的URL1的域名进行比对,若一致则说明链接合法,进入步骤11)推送消息,若不一致则返回错误信息,程序终止;
11)、推送消息到客户端,若消息包含跳转链接,则推送参数除了消息内容,还需要附带链接类型推送给客户端;
c、用户点击消息中的链接,客户端的处理:
1)、判断链接类型,若为协议链接,进入步骤2)打开链接;否则进入步骤3);
2)、根据传入的URL按照提前约定好的规则打开客户端native页面;
3)、根据LINK TYPE,打开不同权限的WEB VIEW浏览器。
本发明中加密规则:
将所有的请求参数外加“签名时间参数”、“密钥SECRET”,做成键值对数组,然后根据key进行升序排列.将排列后的结果数组转换为json字符串,再进行MD5加密.得到最后的sign值。
例如:某业务方注册的SECRET为abc,调用消息发送接口的请求参数为[linktype='2',description='hello',title='hi'],当前时间为北京时间2018年3月14日16:08:48,转化为时间戳(秒)为1521014928。
那么需要增加额外参数signTime=1521014928,secret=abc
将所有参数按照key字母升序(abc...xyz顺序)排列为:
[description='hello',linktype='2',secret='abc',signTime=1521014928,title='hi']。
将这些排好序的参数转换为json字符串为:
{"description":"hello","linktype":"2","secret":"abc","signTime":1521014928,"title":"ab"}
将上述json字符串进行MD5转换得到最后的
sign=7757c15658b0e80988d72db7cadd9ba3
将得到的sign和signTime一起作为请求参数传到服务端。
综上所述,本发明能够保证业务方接入流程规范,业务方必须按规范注册进应用,则所有安全验证都可以有应用主题服务端系统自动完成;能够保证接口调用安全,只有正确接入并持有正确业务关键字和密钥的业务方才能推送消息;保证消息跳转链接正确:若链接为客户端native内跳协议,则协议必须和业务方注册的协议匹配;若为webview链接,则链接URL域名部分必须和注册的URL域名部分一致,这样保证业务方的消息链接只能跳转到自己的功能页面;此外,本发明中,点击跳转链接只能打开对应级别的webview浏览器,使用已授权的客户端原生方法,保证系统权限安全。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.一种多业务方消息接入的安全验证方法,其特征在于:包括以下步骤:
A、消息链接说明:用户通过消息链接跳转到webview的HTML5页面过后,HTML会调用客户端接口提供的方法,而这些方法需要对权限进行分层;接口权限分为五层:外部方法、内部方法、插件方法、三方方法和通用方法;
B、业务级别对应链接级别说明:接入应用的业务被分为三种业务类型:内部业务、插件业务、第三方业务;
C、应用与业务方对应;
D、业务方接入消息中心推送消息;
所述步骤D中包括:
a、业务方申请接入移动应用以及消息中心:
1)、业务方必须准确提供相关的基本信息进行申请注册:包括但不限于业务名、业务链接或native页面跳转协议、业务级别;
2)、应用管理员对步骤1)中的信息进行审核后,在系统中生成唯一业务关键字和业务密钥,并提供给申请接入的业务方; 然后将上述业务关键字和业务密钥连同业务方的基本信息作为一条记录保存到数据库中,即完成注册;
b、业务方发送消息,应用主体服务端对业务方发来的消息进行验证:
1)、所有业务方想要推送的消息都由应用主体服务端进行过滤和验证,并由应用主体服务端统一推送到客户端,因此业务方只需要调用应用主体的应用编程接口,即可完成消息推送;其中调用的输入参数除了消息内容以外,还包含唯一业务关键字,将业务密钥按照签名加密规则进行加密后得到的签名字符串;
2)、验证输入参数完整性:应用主体服务端验证接口调用是否包含所有的必要的输入参数,必须包含消息内容相关参数、业务方的APPKEY、加密后的签名SIGN;若参数包含跳转链接,则参数还需包含链接类型;若缺少任意一项,则返回错误信息,程序终止;
3)、验证步骤2)传入的业务关键字APPKEY是否合法:在数据库中查出所在业务方的在系统中接入时注册的所有基础信息;如果记录为空或者记录已被标记为禁用状态,则返回错误信息,程序终止;
4)、业务方的身份验证:将步骤3)中查出来的业务方信息中的密钥按照签名加密规则进行加密后得到签名SIGN1,与步骤1)中业务方传入的签名SIGN进行比对,一致则身份验证通过,否则返回错误信息,程序终止;
5)、检查消息体是否包含跳转链接:若不含跳转链接,则进入步骤11)推送消息;若消息体包含跳转链接,则进入步骤6)开始进行验证。
6)、验证链接类型:通过步骤3)中查出的业务级别,得到对应的合法的链接类型,步骤1)中传入的链接类型必须被包含于LEGAL TYPES;若LINK TYPE不被包含,则返回错误信息,程序终止;
7)、若链接类型为协议链接,则进入步骤8)验证,否则进入步骤9) 进行验证;
8)、将步骤3)中查出的内跳协议和传入的协议进行对比,若一致则进入步骤11)推送消息,不一致则返回错误信息,程序终止;
9)、验证链接符合URL结构,不符合则返回错误信息,程序终止;
10)、验证链接域名:跳转链接URL的域名部分必须和步骤3)中查出来的URL1的域名进行比对,若一致则说明链接合法,进入步骤11)推送消息,若不一致则返回错误信息,程序终止;
11)、推送消息到客户端,若消息包含跳转链接,则推送参数除了消息内容,还需要附带链接类型推送给客户端;
c、用户点击消息中的链接,客户端的处理:
1)、判断链接类型,若为协议链接,进入步骤2)打开链接;否则进入步骤3);
2)、根据传入的URL按照提前约定好的规则打开客户端native页面;
3)、根据LINK TYPE,打开不同权限的WEB VIEW浏览器。
2.根据权利要求1所述的一种多业务方消息接入的安全验证方法,其特征在于:所述步骤C中内部业务对应内部链接、协议链接和外部链接;插件业务对应插件链接、协议链接和外部链接;第三方业务对应第三方链接、协议链接和外部链接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810646378.7A CN108810003B (zh) | 2018-06-21 | 2018-06-21 | 一种多业务方消息接入的安全验证方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810646378.7A CN108810003B (zh) | 2018-06-21 | 2018-06-21 | 一种多业务方消息接入的安全验证方案 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108810003A CN108810003A (zh) | 2018-11-13 |
CN108810003B true CN108810003B (zh) | 2021-02-26 |
Family
ID=64084268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810646378.7A Active CN108810003B (zh) | 2018-06-21 | 2018-06-21 | 一种多业务方消息接入的安全验证方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108810003B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109842611B (zh) * | 2018-12-14 | 2023-04-18 | 平安科技(深圳)有限公司 | 身份验证方法、装置、计算机设备和存储介质 |
CN110719262B (zh) * | 2019-09-16 | 2022-06-24 | 贝壳技术有限公司 | 一种数据处理方法、装置和存储介质 |
CN111355732B (zh) | 2020-02-28 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 链接检测方法、装置、电子设备及存储介质 |
CN112948733B (zh) * | 2021-02-24 | 2023-04-28 | 杭州网易云音乐科技有限公司 | 接口维护方法、装置、计算设备以及介质 |
CN115941316B (zh) * | 2022-12-05 | 2023-08-08 | 广州力麒智能科技有限公司 | 一种智能自助终端中间件调用方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820610A (zh) * | 2009-02-26 | 2010-09-01 | 中国移动通信集团公司 | 业务接入方法和业务接入系统 |
CN101827302A (zh) * | 2010-04-19 | 2010-09-08 | 中兴通讯股份有限公司 | 多业务统一处理方法及统一业务平台 |
CN103139176A (zh) * | 2011-11-30 | 2013-06-05 | 中国联合网络通信集团有限公司 | 媒体业务推送方法、多媒体交换网和多媒体交换网设备 |
CN106294839A (zh) * | 2016-08-20 | 2017-01-04 | 北京云艾科技有限公司 | 一种链接跳转方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050086102A1 (en) * | 2003-10-15 | 2005-04-21 | International Business Machines Corporation | Method and system for validation of service consumers |
-
2018
- 2018-06-21 CN CN201810646378.7A patent/CN108810003B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820610A (zh) * | 2009-02-26 | 2010-09-01 | 中国移动通信集团公司 | 业务接入方法和业务接入系统 |
CN101827302A (zh) * | 2010-04-19 | 2010-09-08 | 中兴通讯股份有限公司 | 多业务统一处理方法及统一业务平台 |
CN103139176A (zh) * | 2011-11-30 | 2013-06-05 | 中国联合网络通信集团有限公司 | 媒体业务推送方法、多媒体交换网和多媒体交换网设备 |
CN106294839A (zh) * | 2016-08-20 | 2017-01-04 | 北京云艾科技有限公司 | 一种链接跳转方法和装置 |
Non-Patent Citations (1)
Title |
---|
"基于Android平台的云推送服务的设计与实现";黄明恩;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150915(第9期);I138-324页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108810003A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810003B (zh) | 一种多业务方消息接入的安全验证方案 | |
US11265307B2 (en) | Credential-free user login to remotely executed applications | |
US11165579B2 (en) | Decentralized data authentication | |
CN109274652B (zh) | 身份信息验证系统、方法及装置及计算机存储介质 | |
US9374369B2 (en) | Multi-factor authentication and comprehensive login system for client-server networks | |
CN102638454B (zh) | 一种面向http身份鉴别协议的插件式单点登录集成方法 | |
US10095846B2 (en) | Web application protection | |
CN111355726B (zh) | 一种身份授权登录方法、装置及电子设备和存储介质 | |
US20160127330A1 (en) | Resource locators with keys | |
CN107733861A (zh) | 一种基于企业级内外网环境的无密码登录实现方法 | |
AU2003262473A1 (en) | Methods and systems for authentication of a user for sub-locations of a network location | |
CN108259502A (zh) | 用于获取接口访问权限的鉴定方法、服务端及存储介质 | |
WO2018149004A1 (zh) | 一种鉴权方法及系统 | |
KR20160092021A (ko) | 제 3 자 애플리케이션 활동 데이터 수집을 위한 시스템 및 방법 | |
CN106487744A (zh) | 一种基于Redis存储的Shiro验证方法 | |
CN111818088A (zh) | 授权模式管理方法、装置、计算机设备及可读存储介质 | |
US20160212123A1 (en) | System and method for providing a certificate by way of a browser extension | |
US20180039771A1 (en) | Method of and server for authorizing execution of an application on an electronic device | |
CN113411324B (zh) | 基于cas与第三方服务器实现登录认证的方法和系统 | |
CN105119916A (zh) | 一种基于http的认证方法及系统 | |
CN109033809A (zh) | 一种基于应用角色托管的用户集成系统及方法 | |
WO2022248938A1 (en) | Authenticating data and communication sources | |
CN114329299A (zh) | 车辆网联服务管理网站架构 | |
CN111723347A (zh) | 身份认证方法、装置、电子设备及存储介质 | |
CN113569166A (zh) | 一种数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |