CN113542229B - 一种安全非同源页面跨域通信的方法 - Google Patents
一种安全非同源页面跨域通信的方法 Download PDFInfo
- Publication number
- CN113542229B CN113542229B CN202110684319.0A CN202110684319A CN113542229B CN 113542229 B CN113542229 B CN 113542229B CN 202110684319 A CN202110684319 A CN 202110684319A CN 113542229 B CN113542229 B CN 113542229B
- Authority
- CN
- China
- Prior art keywords
- page
- data
- broadcast
- security verification
- cross
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 title claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 57
- 238000013524 data verification Methods 0.000 claims abstract description 8
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 238000013461 design Methods 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开的属于网络安全技术领域,具体为一种安全非同源页面跨域通信的方法,包括以下步骤:步骤1:在页面一中建立广播数据监听事件;步骤2:在页面一获取页面二所在窗口对象的实例;步骤3:在页面二发送不同类型的广播,触发页面一监听事件;步骤4:在页面一和页面二之间进行安全验证和广播数据验证;步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;本发明提供了一种安全非同源页面跨域通信的方法,实现了不同域间页面的跨域通信,同时能够保证通信过程安全,可以支持企业进行安全有效,且成本低廉的相关网页应用产品设计与构建。
Description
技术领域
本发明涉及网络安全技术领域,具体为一种安全非同源页面跨域通信的方法。
背景技术
随着Internet的不断发展,网络安全问题日益突出。现有技术中,Web浏览器会阻止不同域中的文档互相影响,即对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议,端口号,以及主机时,这两个脚本才能相互通信。而随着互联网技术的发展,在页面中嵌套跨域的第三方页面的方式被越来越多企业采用,页面间进行安全跨域通信的需求也变得普遍。
现有的页面跨域通信时安全性得不到有效的保障,且相关网页应用产品设计与构建成本较高。
发明内容
本发明的目的在于提供一种安全非同源页面跨域通信的方法,以解决上述背景技术中提出的安全性得不到有效的保障,构建成本较高的问题。
为实现上述目的,本发明提供如下技术方案:一种安全非同源页面跨域通信的方法,包括以下步骤:
步骤1:在页面一中建立广播数据监听事件;
步骤2:在页面一获取页面二所在窗口对象的实例;
步骤3:在页面二发送不同类型的广播,触发页面一监听事件;
步骤4:在页面一和页面二之间进行安全验证和广播数据验证;
步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;
其中,所述页面一与页面二属于不同的域;
所述广播数据验证的步骤为:
A、在页面二发送广播时,在结构化对象数据中将包含时间戳;
B、在页面一接收广播后,向页面二发送数据时也带上接收到的时间戳;
C、最后由页面二验证,如果时间戳相同,则视为一次完整的发送-接收过程。
优选的,所述步骤3中发送不同类型的广播其发送方式为PostMessage方式。
优选的,所述发送的广播内容为一个结构化对象数据,所述结构化对象数据包括:待发送数据,数据发送源,数据接受源,广播类型,时间戳,安全验证码。
优选的,所述广播类型为一段字符串,所述结构化对象数据中待发送数据的内容由广播类型确定。
优选的,所述时间戳为当前时间的毫秒数。
优选的,所述不同类型的广播通过结构化对象的广播类型字段定义。
优选的,所述的广播加密包括:
在页面二发送广播时,在结构化对象数据中将包含加密后的安全验证码;
在页面一接收广播前,先对安全验证码进行安全验证,验证通过后才发送返回数据。
优选的,所述安全验证码的生成步骤为:首先将页面二的User Id和Secret Key组合后,再通过HMAC哈希运算生成Code,最后将该Code使用Secret Key通过AES加密生成安全验证码。
优选的,所述安全验证码的验证步骤为:页面一根据接收到的安全验证码,以及页面二的Secret Key和User Id,通过Secret Key和User Id进行与页面二相同的加密运算,比对结果是否和安全验证码完全相同,若相同,则可以向其发送数据。
与现有技术相比,本发明的有益效果是:
本发明提供了一种安全非同源页面跨域通信的方法,实现了不同域间页面的跨域通信,同时能够保证通信过程安全,可以支持企业进行安全有效,且成本低廉的相关网页应用产品设计与构建。
附图说明
图1为本发明流程示意图;
图2为本发明结构化对象数据的结构示意图;
图3为本发明页面一与页面二跨域通信时广播数据验证过程的流程图;
图4为本发明页面一与页面二跨域通信时安全验证码生成过程的流程图;
图5为本发明页面一与页面二跨域通信时安全验证码验证过程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
实施例:
请参阅图1-5,本发明提供一种技术方案:一种安全非同源页面跨域通信的方法,包括以下步骤:
步骤1:在页面一中建立广播数据监听事件;
步骤2:在页面一获取页面二所在窗口对象的实例;
步骤3:在页面二发送不同类型的广播,触发页面一监听事件;
步骤4:在页面一和页面二之间进行安全验证和广播数据验证;
步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;
其中,所述页面一与页面二属于不同的域。
页面一和页面二之间使用PostMessage相互传递消息,消息为一个结构化对象数据,该结构化对象数据中包含待传输数据与安全验证等相关字段,字段经过加密后可实现非同源页面之间的安全跨域通信。
PostMessage技术是H5中的一种新技术,它把父子页面的通信当做事件来处理,而且增加了通信源的判断,因此可以便捷、安全地实现跨域通信。postMessage(data,origin)方法接受两个参数,其中data为页面一与页面二所传递的消息,本实施例中传递的消息为一个结构化对象数据;origin为字符串参数,指明目标窗口的源,格式为:协议+主机+端口号[+URL],URL会被忽略,所以也可以不写。postMessage()方法只会将message传递给指定窗口,若要传递给任意窗口也可以建参数设置为”*”,如果要指定和当前窗口同源则可设置为”/”。
所述步骤3中发送不同类型的广播其发送方式为PostMessage方式。
发送的广播内容为一个结构化对象数据,如图2所示,结构化对象数据包括:待发送数据,数据发送源,数据接受源,广播类型,时间戳,安全验证码,数据发送源与数据接受源即为页面二与页面一的地址,时间戳为当前时间的毫秒数。
不同类型的广播通过结构化对象的广播类型字段定义,广播类型为一段字符串,结构化对象数据中的待发送数据的内容由广播类型确定,具体的,发送方将根据广播类型字段的设置,自动选择页面相应的属性数据放入待发送数据字段中,这样可以减低企业应用过程中的复杂度,减少信息传递的错误率,提高效率。
如图3所示,广播数据验证的步骤为:
A、在页面二发送广播时,在结构化对象数据中将包含时间戳;
B、在页面一接收广播后,向页面二发送数据时也带上接收到的时间戳;
C、最后由页面二验证,如果时间戳相同,则视为一次完整的发送-接收过程;通过发送方,即页面二确认接收方,即页面一所携带的时间戳,能够保证确认通信过程的完整性,准确性,防止因网络等意外原因造成的通信错误。
所述的广播加密包括:
在页面二发送广播时,在结构化对象数据中将包含加密后的安全验证码;
在页面一接收广播前,先对安全验证码进行安全验证,验证通过后才发送返回数据,安全验证码为一个加密的字符串,该字段可以实现所述的广播加密,加密过程贯穿非同源页面跨域通信的整个过程,以此实现通信过程的安全。具体的,包括:首先在所述页面二发送广播时,在所述结构化对象数据中将包含加密后的安全验证码;然后在所述页面一接收广播前,先对所述安全验证码进行安全验证,验证通过后才发送返回数据。
如图4所示,所述安全验证码的生成步骤为:首先将页面二的User Id和SecretKey组合后,再通过HMAC哈希运算生成Code,最后将该Code使用SK通过AES加密生成安全验证码。
如图5所示,所述安全验证码的验证步骤为:页面一根据接收到的安全验证码,以及页面二的SK和User Id,通过SK和User Id进行与页面二相同的加密运算,比对结果是否和安全验证码完全相同,若相同,则可以向其发送数据;具体的:
步骤S501,首先所述页面一将接收到的所述页面二的User Id和Secret Key(SK)进行组合;
步骤S502,再通过HMAC(SHA256)哈希运算生成Code
步骤S503,再将上述Code使用SK通过AES加密生成页面一的安全验证码;
步骤S504,最后将得到的安全验证码与接收到的页面二的安全验证码进行对比,若相同,则可以向其发送数据。
本发明实施例中,安全验证码的初始数据由页面的User Id和Secret Key(SK)组合得到。由于页面的SK是保密的,仅应用方和平台方知晓,故只需要配合适当的签名算法,就可以得到原始信息的数字签名,防止消息在传递过程中被伪造或篡改,大大提高了跨域通信过程中的安全性。同时,安全验证码的在加密过程中还使用了HMAC(Hash-basedMessage Authentication Code)算法和AES(Advanced Encryption Standard)对称加密算法。HMAC是一种基于密钥的报文完整性的验证方法,它要求通信双方共享密钥、约定算法、对报文进行Hash运算,形成固定长度的认证码。其在IPSec和其他网络协议(如SSL)中得以广泛应用,现在已经成为事实上的Internet安全标准。而AES加密和解密用相同的密钥,这种加密方式加密速度非常快,适合经常发送数据的场合。故本发明在实现了不同域间页面的跨域通信的同时,还能够保证通信过程的安全,可以支持企业进行安全有效,且成本低廉的相关网页应用产品设计与构建。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明;因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (9)
1.一种安全非同源页面跨域通信的方法,其特征在于:包括以下步骤:
步骤1:在页面一中建立广播数据监听事件;
步骤2:在页面一获取页面二所在窗口对象的实例;
步骤3:在页面二发送不同类型的广播,触发页面一监听事件;
步骤4:在页面一和页面二之间进行安全验证和广播数据验证;
步骤5:在页面一和页面二之间进行广播加密,加密过程贯穿整个通信过程;
其中,所述页面一与页面二属于不同的域;
所述广播数据验证的步骤为:
A、在页面二发送广播时,在结构化对象数据中将包含时间戳;
B、在页面一接收广播后,向页面二发送数据时也带上接收到的时间戳;
C、最后由页面二验证,如果时间戳相同,则视为一次完整的发送-接收过程。
2.根据权利要求1所述的一种安全非同源页面跨域通信的方法,其特征在于:所述步骤3中发送不同类型的广播其发送方式为PostMessage方式。
3.根据权利要求2所述的一种安全非同源页面跨域通信的方法,其特征在于:所述发送的广播内容为一个结构化对象数据,所述结构化对象数据包括:待发送数据,数据发送源,数据接受源,广播类型,时间戳,安全验证码。
4.根据权利要求3所述的一种安全非同源页面跨域通信的方法,其特征在于:所述广播类型为一段字符串,所述结构化对象数据中待发送数据的内容由广播类型确定。
5.根据权利要求3所述的一种安全非同源页面跨域通信的方法,其特征在于:所述时间戳为当前时间的毫秒数。
6.根据权利要求1-3任一项所述的一种安全非同源页面跨域通信的方法,其特征在于:所述不同类型的广播通过结构化对象的广播类型字段定义。
7.根据权利要求1-3任一项所述的一种安全非同源页面跨域通信的方法,其特征在于:所述的广播加密包括:
在页面二发送广播时,在结构化对象数据中将包含加密后的安全验证码;
在页面一接收广播前,先对安全验证码进行安全验证,验证通过后才发送返回数据。
8.根据权利要求7所述的一种安全非同源页面跨域通信的方法,其特征在于:所述安全验证码的生成步骤为:首先将页面二的User Id和Secret Key组合后,再通过HMAC哈希运算生成Code,最后将该Code使用Secret Key通过AES加密生成安全验证码。
9.根据权利要求7所述的一种安全非同源页面跨域通信的方法,其特征在于:所述安全验证码的验证步骤为:页面一根据接收到的安全验证码,以及页面二的Secret Key和UserId,通过Secret Key和User Id进行与页面二相同的加密运算,比对结果是否和安全验证码完全相同,若相同,则可以向其发送数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110684319.0A CN113542229B (zh) | 2021-06-21 | 2021-06-21 | 一种安全非同源页面跨域通信的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110684319.0A CN113542229B (zh) | 2021-06-21 | 2021-06-21 | 一种安全非同源页面跨域通信的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113542229A CN113542229A (zh) | 2021-10-22 |
CN113542229B true CN113542229B (zh) | 2023-03-24 |
Family
ID=78096331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110684319.0A Active CN113542229B (zh) | 2021-06-21 | 2021-06-21 | 一种安全非同源页面跨域通信的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113542229B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917058A (zh) * | 2012-10-19 | 2013-02-06 | 北京奇虎科技有限公司 | 一种通信方法和系统 |
CN103095762A (zh) * | 2011-11-02 | 2013-05-08 | 腾讯科技(深圳)有限公司 | Web页面跨域通信方法和装置 |
CN104410722A (zh) * | 2014-12-19 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 一种Web页面窗口对象的通信方法及系统 |
CN110213321A (zh) * | 2019-01-17 | 2019-09-06 | 腾讯云计算(北京)有限责任公司 | 互联网应用中提供第三方服务的方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10397243B2 (en) * | 2014-07-25 | 2019-08-27 | Sap Se | Condition checking for page integration of third party services |
US10257253B1 (en) * | 2016-06-23 | 2019-04-09 | Integral Ad Science, Inc. | Systems, methods, and media for correlating information corresponding to multiple related frames on a web page |
CN111309493A (zh) * | 2018-12-12 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 多页面间通信的实现方法、装置及电子设备 |
-
2021
- 2021-06-21 CN CN202110684319.0A patent/CN113542229B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095762A (zh) * | 2011-11-02 | 2013-05-08 | 腾讯科技(深圳)有限公司 | Web页面跨域通信方法和装置 |
CN102917058A (zh) * | 2012-10-19 | 2013-02-06 | 北京奇虎科技有限公司 | 一种通信方法和系统 |
CN104410722A (zh) * | 2014-12-19 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 一种Web页面窗口对象的通信方法及系统 |
CN110213321A (zh) * | 2019-01-17 | 2019-09-06 | 腾讯云计算(北京)有限责任公司 | 互联网应用中提供第三方服务的方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113542229A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10447674B2 (en) | Key exchange through partially trusted third party | |
US10412098B2 (en) | Signed envelope encryption | |
CN109743171B (zh) | 一种解决多方数字签名、时间戳及加密的密钥串联方法 | |
US11914754B2 (en) | Cryptographic method for verifying data | |
US10055591B1 (en) | Secure protocol attack mitigation | |
CN106941404B (zh) | 密钥保护方法及装置 | |
CN106464496A (zh) | 用于创建对用户身份鉴权的证书的方法和系统 | |
US11956367B2 (en) | Cryptographic method for verifying data | |
CN114614994B (zh) | Api接口数据的通信方法、装置、客户端及存储介质 | |
CN107517194B (zh) | 一种内容分发网络的回源认证方法和装置 | |
US20130103944A1 (en) | Hypertext Link Verification In Encrypted E-Mail For Mobile Devices | |
CN111914291A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN101667999A (zh) | 点对点直播流传递的方法、系统、数据签名装置及客户端 | |
WO2023160420A1 (zh) | 群组消息加密方法、装置、设备和存储介质 | |
CN112202773B (zh) | 一种基于互联网的计算机网络信息安全监控与防护系统 | |
US8583921B1 (en) | Method and system for identity authentication | |
CN114499857B (zh) | 一种实现大数据量子加解密中数据正确性与一致性的方法 | |
CN112927026A (zh) | 优惠券的处理方法、装置、电子设备及计算机存储介质 | |
CN113542229B (zh) | 一种安全非同源页面跨域通信的方法 | |
Zhang et al. | A systematic approach to formal analysis of QUIC handshake protocol using symbolic model checking | |
CN114650181B (zh) | 电子邮件加解密方法、系统、设备及计算机可读存储介质 | |
CN115801341A (zh) | 一种面向分布式可调节负荷互动的区块链可信认证方法 | |
CN115001871A (zh) | 基于区块链技术的文件加密共享的方法和系统 | |
CN111641494A (zh) | 全球区块链的实现方法及装置 | |
CN111800384A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240122 Address after: Room 613, Building 2, No. 371, Mingxing Road, Xiaoshan District, Hangzhou, Zhejiang 311215 Patentee after: HANGZHOU JUXIU TECHNOLOGY Co.,Ltd. Country or region after: China Address before: 310000 No.51 Huzhou street, Gongshu District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU City University Country or region before: China |
|
TR01 | Transfer of patent right |