CN104301102A - Widget通信方法、装置及系统 - Google Patents
Widget通信方法、装置及系统 Download PDFInfo
- Publication number
- CN104301102A CN104301102A CN201310305685.6A CN201310305685A CN104301102A CN 104301102 A CN104301102 A CN 104301102A CN 201310305685 A CN201310305685 A CN 201310305685A CN 104301102 A CN104301102 A CN 104301102A
- Authority
- CN
- China
- Prior art keywords
- widget
- data
- key information
- key
- application
- 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
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种Widget通信方法、装置及系统,该方法包括:Widget引擎接收第一Widget应用待发送给第二Widget应用的数据;Widget引擎查找第一Widget应用对应的密钥信息,并使用第一Widget应用对应的密钥信息对接收到的数据进行解密;Widget引擎查找第二Widget应用对应的密钥信息,并使用第二Widget应用对应的密钥信息,对解密得到的数据进行加密;将加密后的数据发送给第二Widget应用。本发明技术方案解决了现有技术中Widget应用之间进行通信时,耗费Widget应用较多的处理资源,以及Widget应用之间的通信效率较低的问题。
Description
技术领域
本发明涉及Widget技术领域,尤其涉及一种Widget通信方法、装置及系统。
背景技术
随着网络的普及,数据传输、信息传输的容量呈现多而复杂的趋势,在移动互联时代,互联网协议多媒体子系统(Internet Protocol MultimediaSubsystem)、专用界面工具(Widget)的应用越来越广泛,其安全性、稳定性逐渐受到越来越多的关注。
Widget是一种轻量级的网页(Web)应用,向用户展现为桌面上的小窗口或网页,例如时钟Widget可以显示当前时间,天气Widget可以显示定制地区的天气预报,中央处理器(Central Processing Unit,CPU)Widget可以显示CPU占用率等等。Widget技术使用可扩展的超文本标记语言(Extensible MarkupLanguage,XML)和层叠样式表级联样式表(Cascading Style Sheet,CSS)等技术展现用户界面,使用JavaScript语言描述用户行为逻辑,出色的界面展现能力以及方便的用户使用功能,使得Widget技术在传统互联网上广泛流行。
由于Widget技术大多应用于移动终端设备,且强依赖于固定的网络资源用于传输、解析各类信息,因此Widget的通信安全成为一个必须要考虑的问题,只有Widget通信的安全性得到保障,其组件的应用才能更加畅通无阻。
现有技术中,Widget应用间进行通信时,通常包含下述三个步骤:
步骤一,需要进行通信的两个Widget应用之间先要建立通信连接,其中,Widget应用之间可以通过应用程序编程接口(Application ProgrammingInterface,API)建立通信连接,还可以通过类超文本传输协议(Hyper TextTransfer Protocol,HTTP)协议建立通信连接;
步骤二,需要进行通信的两个Widget应用通过建立的通信连接,协商数据的加密策略;
步骤三,发送数据的Widget应用使用协商的加密策略,对待发送的数据进行加密,并使用建立的通信连接,将加密后的数据发送给接收数据的Widget应用。
由上可见,Widget应用之间进行通信时,均要先建立通信连接,然后基于建立的通信连接协商加密策略,再根据协商的加密策略对数据进行加密后传输,因此耗费了Widget应用较多的处理资源,且使得Widget应用之间的通信效率较低。
发明内容
本发明实施例提供一种Widget通信方法、装置及系统,用以解决现有技术中Widget应用之间进行通信时,耗费Widget应用较多的处理资源,以及Widget应用之间的通信效率较低的问题。
本发明实施例提供了一种Widget通信方法,其方法包括步骤:Widget引擎接收第一Widget应用待发送给第二Widget应用的数据,其中,所述数据是由第一Widget应用使用本地保存的密钥信息进行加密后发送的;Widget引擎在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息,并使用查找到的第一Widget应用对应的密钥信息,对接收到的数据进行解密;Widget引擎在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息,并使用查找到的第二Widget应用对应的密钥信息,对解密得到的数据进行加密;将加密后的数据发送给所述第二Widget应用,指示所述第二Widget应用使用本地保存的密钥信息对接收到的数据进行解密。
从上述方案可以看出,Widget应用之间进行通信时,发送数据的Widget应用和待接收数据的Widget应用中均保存有密钥信息,设置的Widget引擎中保存有各Widget应用分别对应的密钥信息,发送数据的Widget应用使用本地保存的密钥信息对数据进行加密后发送给Widget引擎,Widget引擎使用发送数据的Widget应用对应的密钥信息对数据进行解密,以及使用待接收数据的Widget应用对应的密钥信息对数据进行加密后发送给待接收数据的Widget应用,待接收数据的Widget应用使用本地保存的密钥信息对数据进行解密,从而通过Widget引擎进行数据转发,实现数据在Widget应用之间的间接传输,也就是说,Widget应用之间无需直接通信,也就无需进行加密策略的协商,因此能够有效地节省Widget应用较多的处理资源,且能够提高Widget应用之间的通信效率。
优选的,在接收第一Widget应用待发送给第二Widget应用的数据之前,还包括:Widget引擎为各Widget应用分别生成密钥信息,并将生成的密钥信息分别发送给对应的Widget应用。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为对称密钥,则只需要Widget引擎生成密钥信息,并将生成的密钥信息下发给各Widget应用即可,因此设置密钥信息的效率较高,此外,Widget应用和Widget引擎后续只需要根据Widget引擎生成的密钥信息进行加解密处理,因此能够提高加解密的处理效率。
优选的,Widget应用对应的密钥信息包含公钥和私钥;在接收第一Widget应用待发送给第二Widget应用的数据之前,还包括:Widget引擎针对各Widget应用,分别执行:生成该Widget应用对应的公钥和私钥;将生成的公钥发送给该Widget应用;接收该Widget应用生成并发送的公钥;将生成的私钥以及接收到的公钥对应存储。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为非对称密钥(包含公钥和私钥),则表明后续对数据进行加密的密钥和对数据进行解密的密钥不同,由于非对称密钥中的公钥是公开的,而私钥不会在Widget引擎和Widget应用间传输,因此增加了密钥信息的安全性。
优选的,所述使用查找到的第一Widget应用对应的密钥信息,对接收到的数据进行解密,具体包括:Widget引擎使用查找到的第一Widget应用对应的密钥信息中包含的私钥,对接收到的数据进行解密;所述使用查找到的第二Widget应用对应的密钥信息,对解密得到的数据进行加密,具体包括:Widget引擎使用查找到的第二Widget应用对应的密钥信息中包含的公钥,对解密得到的数据进行加密。由上可见,若预先设置的对数据进行加密的密钥信息为非对称密钥(包含公钥和私钥),则对数据进行加密的密钥和对数据进行解密的密钥不同,即使截获到使用公钥加密的数据,由于不能由公钥推导出私钥,因此也无法对截获到的数据进行解密,因此能够有效地提高数据在传输过程中的安全性。
与上述Widget引擎对应,本发明实施例提供了一种Widget通信装置,包括:数据接收单元,用于接收第一Widget应用待发送给第二Widget应用的数据,其中,所述数据是由第一Widget应用使用本地保存的密钥信息进行加密后发送的;第一密钥查找单元,用于在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息;数据解密单元,用于使用第一密钥查找单元查找到的第一Widget应用对应的密钥信息,对数据接收单元接收到的数据进行解密;第二密钥查找单元,用于在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息;数据加密单元,用于使用第二密钥查找单元查找到的第二Widget应用对应的密钥信息,对数据解密单元解密得到的数据进行加密;数据发送单元,用于将数据加密单元加密后的数据发送给所述第二Widget应用,指示所述第二Widget应用使用本地保存的密钥信息对接收到的数据进行解密。
从上述方案可以看出,Widget应用之间进行通信时,发送数据的Widget应用和待接收数据的Widget应用中均保存有密钥信息,设置的Widget引擎中保存有各Widget应用分别对应的密钥信息,发送数据的Widget应用使用本地保存的密钥信息对数据进行加密后发送给Widget引擎,Widget引擎使用发送数据的Widget应用对应的密钥信息对数据进行解密,以及使用待接收数据的Widget应用对应的密钥信息对数据进行加密后发送给待接收数据的Widget应用,待接收数据的Widget应用使用本地保存的密钥信息对数据进行解密,从而通过Widget引擎进行数据转发,实现数据在Widget应用之间的间接传输,也就是说,Widget应用之间无需直接通信,也就无需进行加密策略的协商,因此能够有效地节省Widget应用较多的处理资源,且能够提高Widget应用之间的通信效率。
优选的,所述Widget通信装置还包括:第一密钥生成单元,用于在数据接收单元接收第一Widget应用待发送给第二Widget应用的数据之前,为各Widget应用分别生成密钥信息;第一密钥发送单元,用于将第一密钥生成单元生成的密钥信息分别发送给对应的Widget应用。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为对称密钥,则只需要Widget引擎生成密钥信息,并将生成的密钥信息下发给各Widget应用即可,因此设置密钥信息的效率较高,此外,Widget应用和Widget引擎后续只需要根据Widget引擎生成的密钥信息进行加解密处理,因此能够提高加解密的处理效率。
优选的,Widget应用对应的密钥信息包含公钥和私钥;所述Widget通信装置还包括:第二密钥生成单元,用于在数据接收单元接收第一Widget应用待发送给第二Widget应用的数据之前,针对各Widget应用,分别生成该Widget应用对应的公钥和私钥;第二密钥发送单元,用于针对各Widget应用,分别将第二密钥生成单元生成的公钥发送给该Widget应用;密钥接收单元,用于针对各Widget应用,分别接收该Widget应用生成并发送的公钥;密钥存储单元,用于将第二密钥生成单元生成的私钥以及密钥接收单元接收到的公钥对应存储。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为非对称密钥(包含公钥和私钥),则表明后续对数据进行加密的密钥和对数据进行解密的密钥不同,由于非对称密钥中的公钥是公开的,而私钥不会在Widget引擎和Widget应用间传输,因此增加了密钥信息的安全性。
优选的,所述数据解密单元,具体用于使用第一密钥查找单元查找到的第一Widget应用对应的密钥信息中包含的私钥,对数据接收单元接收到的数据进行解密;所述数据加密单元,具体用于使用第二密钥查找单元查找到的第二Widget应用对应的密钥信息中包含的公钥,对数据解密单元解密得到的数据进行加密。由上可见,若预先设置的对数据进行加密的密钥信息为非对称密钥(包含公钥和私钥),则对数据进行加密的密钥和对数据进行解密的密钥不同,即使截获到使用公钥加密的数据,由于不能由公钥推导出私钥,因此也无法对截获到的数据进行解密,因此能够有效地提高数据在传输过程中的安全性。
本发明实施例还提供了一种Widget通信方法,包括:第一Widget应用需要向第二Widget应用发送数据时,使用本地保存的密钥信息,对待发送的数据进行加密;将加密后的数据发送给Widget引擎,指示Widget引擎在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息,并使用查找到的第一Widget应用对应的密钥信息,对接收到的数据进行解密,以及在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息,并使用查找到的第二Widget应用对应的密钥信息,对解密得到的数据进行加密,以及将加密后的数据发送给所述第二Widget应用,由第二Widget应用使用本地保存的密钥信息对接收到的数据进行解密。
从上述方案可以看出,Widget应用之间进行通信时,发送数据的Widget应用和待接收数据的Widget应用中均保存有密钥信息,设置的Widget引擎中保存有各Widget应用分别对应的密钥信息,发送数据的Widget应用使用本地保存的密钥信息对数据进行加密后发送给Widget引擎,Widget引擎使用发送数据的Widget应用对应的密钥信息对数据进行解密,以及使用待接收数据的Widget应用对应的密钥信息对数据进行加密后发送给待接收数据的Widget应用,待接收数据的Widget应用使用本地保存的密钥信息对数据进行解密,从而通过Widget引擎进行数据转发,实现数据在Widget应用之间的间接传输,也就是说,Widget应用之间无需直接通信,也就无需进行加密策略的协商,因此能够有效地节省Widget应用较多的处理资源,且能够提高Widget应用之间的通信效率。
优选的,在使用本地保存的密钥信息,对待发送的数据进行加密之前,还包括:第一Widget应用接收Widget引擎为所述第一Widget应用生成的密钥信息,并保存接收到的密钥信息。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为对称密钥,则只需要Widget引擎生成密钥信息,并将生成的密钥信息下发给各Widget应用即可,因此设置密钥信息的效率较高,此外,Widget应用和Widget引擎后续只需要根据Widget引擎生成的密钥信息进行加解密处理,因此能够提高加解密的处理效率。
优选的,第一Widget应用本地保存的密钥信息包含公钥和私钥;在使用本地保存的密钥信息,对待发送的数据进行加密之前,还包括:第一Widget应用生成公钥和私钥,并将生成的公钥发送给Widget引擎;接收所述Widget引擎发送的、该Widget引擎为第一Widget应用生成的公钥;将存储生成的私钥以及接收到的公钥。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为非对称密钥(包含公钥和私钥),则表明后续对数据进行加密的密钥和对数据进行解密的密钥不同,由于非对称密钥中的公钥是公开的,而私钥不会在Widget引擎和Widget应用间传输,因此增加了密钥信息的安全性。
优选的,所述使用本地保存的密钥信息,对待发送的数据进行加密,具体包括:第一Widget应用使用本地保存的密钥信息中包含的公钥,对待发送的数据进行加密。由上可见,若预先设置的对数据进行加密的密钥信息为非对称密钥(包含公钥和私钥),则对数据进行加密的密钥和对数据进行解密的密钥不同,即使截获到使用公钥加密的数据,由于不能由公钥推导出私钥,因此也无法对截获到的数据进行解密,因此能够有效地提高数据在传输过程中的安全性。
与上述第一Widget应用对应,本发明实施例提供了一种Widget通信装置,包括:密钥存储单元,存储有密钥信息;数据加密单元,用于在需要向其他专用界面工具Widget通信装置发送数据时,使用密钥存储单元存储的密钥信息,对待发送的数据进行加密;数据发送单元,用于将数据加密单元加密后的数据发送给Widget引擎,指示Widget引擎在各Widget通信装置对应的密钥信息中,查找所述Widget通信装置对应的密钥信息,并使用查找到的密钥信息对接收到的数据进行解密,以及在各Widget通信装置对应的密钥信息中,查找所述其他Widget通信装置对应的密钥信息,并使用查找到的密钥信息对解密得到的数据进行加密,以及将加密后的数据发送给所述其他Widget通信装置,由其他Widget通信装置使用保存的密钥信息对接收到的数据进行解密。
从上述方案可以看出,Widget应用之间进行通信时,发送数据的Widget应用和待接收数据的Widget应用中均保存有密钥信息,设置的Widget引擎中保存有各Widget应用分别对应的密钥信息,发送数据的Widget应用使用本地保存的密钥信息对数据进行加密后发送给Widget引擎,Widget引擎使用发送数据的Widget应用对应的密钥信息对数据进行解密,以及使用待接收数据的Widget应用对应的密钥信息对数据进行加密后发送给待接收数据的Widget应用,待接收数据的Widget应用使用本地保存的密钥信息对数据进行解密,从而通过Widget引擎进行数据转发,实现数据在Widget应用之间的间接传输,也就是说,Widget应用之间无需直接通信,也就无需进行加密策略的协商,因此能够有效地节省Widget应用较多的处理资源,且能够提高Widget应用之间的通信效率。
优选的,所述Widget通信装置还包括:第一密钥接收单元,用于在数据加密单元使用密钥存储单元存储的密钥信息,对待发送的数据进行加密之前,接收Widget引擎为所述Widget通信装置生成的密钥信息,并将接收到的密钥信息保存到密钥存储单元。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为对称密钥,则只需要Widget引擎生成密钥信息,并将生成的密钥信息下发给各Widget应用即可,因此设置密钥信息的效率较高,此外,Widget应用和Widget引擎后续只需要根据Widget引擎生成的密钥信息进行加解密处理,因此能够提高加解密的处理效率。
优选的,密钥存储单元中存储的密钥信息包含公钥和私钥;所述Widget通信装置还包括:密钥生成单元,用于在数据加密单元使用密钥存储单元存储的密钥信息,对待发送的数据进行加密之前,生成公钥和私钥,并存储生成的私钥;密钥发送单元,用于将密钥生成单元生成的公钥发送给Widget引擎;第二密钥接收单元,用于接收所述Widget引擎发送的、该Widget引擎为所述Widget通信装置生成的公钥,并存储接收到的公钥。由上可见,在预先设置对数据进行加密的密钥信息时,若设置的密钥信息为非对称密钥(包含公钥和私钥),则表明后续对数据进行加密的密钥和对数据进行解密的密钥不同,由于非对称密钥中的公钥是公开的,而私钥不会在Widget引擎和Widget应用间传输,因此增加了密钥信息的安全性。
优选的,所述数据加密单元,具体用于使用所述密钥存储单元中存储的密钥信息中包含的公钥,对待发送的数据进行加密。由上可见,若预先设置的对数据进行加密的密钥信息为非对称密钥(包含公钥和私钥),则对数据进行加密的密钥和对数据进行解密的密钥不同,即使截获到使用公钥加密的数据,由于不能由公钥推导出私钥,因此也无法对截获到的数据进行解密,因此能够有效地提高数据在传输过程中的安全性。
本发明实施例还提供了一种Widget通信方法,包括:第二专用界面工具Widget应用接收Widget引擎发送的数据,其中,所述数据是第一Widget应用使用本地保存的密钥信息,对待发送给第二Widget应用的数据进行加密后发送给Widget引擎,Widget引擎在各Widget应用对应的密钥信息中,查找第一Widget应用对应的密钥信息,并使用第一Widget应用对应的密钥信息,对接收到的数据进行解密,以及在各Widget应用对应的密钥信息中,查找第二Widget应用对应的密钥信息,并使用第二Widget应用对应的密钥信息,对解密得到的数据进行加密后发送的;第二Widget应用使用本地保存的密钥信息,对接收到的数据进行解密,得到第一Widget应用需要发送给第二Widget应用的数据。
从上述方案可以看出,Widget应用之间进行通信时,发送数据的Widget应用和待接收数据的Widget应用中均保存有密钥信息,设置的Widget引擎中保存有各Widget应用分别对应的密钥信息,发送数据的Widget应用使用本地保存的密钥信息对数据进行加密后发送给Widget引擎,Widget引擎使用发送数据的Widget应用对应的密钥信息对数据进行解密,以及使用待接收数据的Widget应用对应的密钥信息对数据进行加密后发送给待接收数据的Widget应用,待接收数据的Widget应用使用本地保存的密钥信息对数据进行解密,从而通过Widget引擎进行数据转发,实现数据在Widget应用之间的间接传输,也就是说,Widget应用之间无需直接通信,也就无需进行加密策略的协商,因此能够有效地节省Widget应用较多的处理资源,且能够提高Widget应用之间的通信效率。
优选的,第二Widget应用本地保存的密钥信息包含公钥和私钥;所述使用本地保存的密钥信息,对接收到的数据进行解密,具体包括:第二Widget应用使用本地保存的密钥信息中包含的私钥,对接收到的数据进行解密。由上可见,若预先设置的对数据进行加密的密钥信息为非对称密钥(包含公钥和私钥),则对数据进行加密的密钥和对数据进行解密的密钥不同,即使截获到使用公钥加密的数据,由于不能由公钥推导出私钥,因此也无法对截获到的数据进行解密,因此能够有效地提高数据在传输过程中的安全性。
与上述第二Widget应用对应,本发明实施例提供了一种Widget通信装置,包括:密钥存储单元,存储有密钥信息;数据接收单元,用于接收专用界面工具Widget引擎发送的数据,其中,所述数据是其他Widget通信装置使用本地保存的密钥信息,对待发送给所述Widget通信装置的数据进行加密后发送给Widget引擎,Widget引擎在各Widget通信装置对应的密钥信息中,查找所述其他Widget通信装置对应的密钥信息,并使用查找到的密钥信息对接收到的数据进行解密,以及在各Widget通信装置对应的密钥信息中,查找所述Widget通信装置对应的密钥信息,并使用查找到的密钥信息对解密得到的数据进行加密后发送的;数据解密单元,用于使用所述密钥存储单元存储的密钥信息,对数据接收单元接收到的数据进行解密,得到所述其他Widget通信装置需要发送给所述Widget通信装置的数据。
优选的,所述密钥存储单元中存储的密钥信息包含公钥和私钥;所述数据解密单元,具体用于使用密钥存储单元中存储的密钥信息中包含的私钥,对数据接收单元接收到的数据进行解密。由上可见,若预先设置的对数据进行加密的密钥信息为非对称密钥(包含公钥和私钥),则对数据进行加密的密钥和对数据进行解密的密钥不同,即使截获到使用公钥加密的数据,由于不能由公钥推导出私钥,因此也无法对截获到的数据进行解密,因此能够有效地提高数据在传输过程中的安全性。
本发明实施例提供了一种Widget通信系统,包括Widget引擎和各Widget应用,其中:Widget引擎,用于接收Widget应用待发送给其他Widget应用的数据,在各Widget应用对应的密钥信息中,查找发送数据的Widget应用对应的密钥信息,并使用发送数据的Widget应用对应的密钥信息,对接收到的数据进行解密,在各Widget应用对应的密钥信息中,查找待接收数据的Widget应用对应的密钥信息,并使用待接收数据的Widget应用对应的密钥信息,对解密得到的数据进行加密,将加密后的数据发送给待接收数据的Widget应用;Widget应用,用于在需要向其他Widget应用发送数数据时,使用本地保存的密钥信息,对待发送的数据进行加密,并将加密后的数据发送给Widget引擎,以及接收Widget引擎发送的数据,使用本地保存的密钥信息,对接收到的数据进行解密,得到其他Widget应用需要发送给该Widget应用的数据。
从上述方案可以看出,Widget应用之间进行通信时,发送数据的Widget应用和待接收数据的Widget应用中均保存有密钥信息,设置的Widget引擎中保存有各Widget应用分别对应的密钥信息,发送数据的Widget应用使用本地保存的密钥信息对数据进行加密后发送给Widget引擎,Widget引擎使用发送数据的Widget应用对应的密钥信息对数据进行解密,以及使用待接收数据的Widget应用对应的密钥信息对数据进行加密后发送给待接收数据的Widget应用,待接收数据的Widget应用使用本地保存的密钥信息对数据进行解密,从而通过Widget引擎进行数据转发,实现数据在Widget应用之间的间接传输,也就是说,Widget应用之间无需直接通信,也就无需进行加密策略的协商,因此能够有效地节省Widget应用较多的处理资源,且能够提高Widget应用之间的通信效率。
附图说明
图1为本发明实施例一中,对称密钥的设置方式示意图;
图2为本发明实施例一中,非对称密钥的设置方式示意图;
图3为本发明实施例二中,Widget通信方法流程示意图;
图4为本发明实施例二中,通过Widget引擎,将数据由第一Widget应用转发给第二Widget应用的示意图;
图5为本发明实施例二中,Widget应用使用Widget代理器向Widget引擎发送数据的示意图;
图6为本发明实施例三中,当设置的密钥信息为对称密钥时,Widget通信方法的实现示意图;
图7为本发明实施例四中,Widget引擎框架示意图;
图8为本发明实施例四中,基于密钥库的密钥管理模块的结构示意图;
图9为本发明实施例五中,Widget引擎对数据进行加密的算法实现流程示意图;
图10为本发明实施例五中,Widget引擎对数据进行解密时,获取密钥信息的实现流程示意图;
图11为本发明实施例六中,Widget通信装置结构示意图;
图12为本发明实施例七中,Widget通信装置结构示意图;
图13为本发明实施例八中,Widget通信装置结构示意图;
图14为本发明实施例九中,Widget系统结构示意图。
具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
实施例一
本发明实施例提出,Widget应用之间进行通信时,不再直接进行数据传输,而是设置Widget引擎,由Widget引擎进行数据的转发,从而实现Widget应用之间的间接通信。为了保证数据在传输过程中的安全性,Widget引擎和Widget应用需要使用密钥信息对数据进行加密后再传输,本发明实施例中,Widget引擎和各Widget应用预先设置密钥信息,后续就可以直接使用保存的密钥信息对数据进行加解密操作。其中,预先设置的密钥信息可以为对称密钥,也可以为非对称密钥,下面分别介绍设置对称密钥和设置非对称密钥的方式。
一、对称密钥的设置方式
Widget引擎为各Widget应用分别生成密钥信息,Widget引擎生成的密钥信息为对称密钥,然后Widget引擎将生成的密钥信息分别发送给对应的Widget应用,Widget应用保存接收到的密钥信息,也就是说,Widget应用中保存的密钥信息为Widget引擎为该Widget应用生成的对称密钥,Widget引擎将Widget应用的标识与为Widget应用生成的密钥信息对应存储,也就是说,Widget引擎中保存的Widget应用对应的密钥信息为Widget引擎为该Widget应用生成的对称密钥。
例如,Widget应用包含Widget应用A、Widget应用B、……、Widget应用N,如图1所示,Widget引擎为Widget应用A生成密钥KeyA,为Widget应用B生成密钥KeyB,依次类推,为Widget应用N生成密钥KeyN,Widget引擎将KeyA发送给Widget应用A,将KeyB发送给Widget应用B,依次类推,将KeyN发送给Widget应用N。各Widget应用保存接收到的密钥,Widget引擎将Widget应用的标识与为Widget应用生成的密钥信息对应存储,其中,存储的Widget应用的标识与密钥信息之间的对应关系可以如表1所示:
表1
Widget应用的标识 | 密钥信息 |
Widget应用A | KeyA |
Widget应用B | KeyB |
...... | ...... |
Widget应用N | KeyN |
Widget引擎可以利用随机产生器或伪随机产生器产生对称密钥,使得产生的对称密钥具备不可预测性。
本发明实施例一中,若设置的密钥信息为对称密钥,则只需要Widget引擎生成对称密钥,并将对称密钥下发给各Widget应用即可,因此设置密钥信息的效率较高,此外,Widget应用和Widget引擎后续只需要根据Widget引擎生成的对称密钥进行加解密处理,因此提高了加解密的处理效率。
本发明实施例一提出,Widget引擎可以但不限于通过加密处理器来为各Widget应用生成对称密钥。
二、非对称密钥的设置方式
Widget引擎针对各Widget应用,分别执行下述操作:
首先,生成该Widget应用对应的公钥和私钥,然后将生成的公钥发送给该Widget应用,该Widget应用保存接收到的公钥,此外,该Widget应用生成公钥和私钥,该Widget应用将生成的公钥发送给Widget引擎,并保存生成的私钥,也就是说,Widget应用中保存的密钥信息包含公钥(Widget引擎为该Widget应用生成的公钥)以及私钥(该Widget应用生成的私钥),Widget引擎将自身生成的私钥、接收到的公钥与该Widget应用的标识对应存储,也就是说,Widget引擎中保存的Widget应用对应的密钥信息包含私钥(Widget引擎为该Widget应用生成的私钥)以及公钥(该Widget应用生成的公钥)。
例如,Widget应用包含Widget应用A、Widget应用B、……、Widget应用N,如图2所示,Widget引擎为Widget应用A生成私钥KeyA_priv和公钥KeyA_pub,为Widget应用B生成私钥KeyB_priv和公钥KeyB_pub,依次类推,为Widget应用N生成私钥KeyN_priv和公钥KeyN_pub,Widget引擎将KeyA_pub发送给Widget应用A,将KeyB_pub发送给Widget应用B,依次类推,将KeyN_pub发送给Widget应用N。Widget应用A生成私钥Keya_priv和公钥Keya_pub,Widget应用B生成私钥Keyb_priv和公钥Keyb_pub,依次类推,Widget应用N生成私钥Keyn_priv和公钥Keyn_pub,Widget应用A将Keya_pub发送给Widget引擎,Widget应用B将Keyb_pub发送给Widget引擎,依次类推,Widget应用N将Keyn_pub发送给Widget引擎。各Widget应用保存接收到的公钥以及自身生成的私钥,Widget引擎将自身为Widget应用生成的私钥、接收到的Widget应用发送的私钥与Widget应用的标识对应存储,其中,存储的Widget应用的标识与密钥信息之间的对应关系可以如表2所示:
表2
由于不同的非对称密钥算法的密钥内容和格式不同,因此Widget引擎可以选择具体的密钥产生算法来生成非对称密钥。
本发明实施例一中,若设置的密钥信息为非对称密钥,则表明后续对数据进行加密的密钥和对数据进行解密的密钥不同,由于非对称密钥中的公钥是公开的,而私钥不会在Widget引擎和Widget应用间传输,因此增加了密钥信息的安全性。
实施例二
如图3所示,为本发明实施例提出的Widget通信方法流程示意图,其具体处理过程如下:
步骤31,第一Widget应用需要向第二Widget应用发送数据时,使用本地保存的密钥信息,对待发送的数据进行加密。
若第一Widget应用中保存的密钥信息为对称密钥,则第一Widget应用在对待发送给第二Widget应用的数据进行加密时,使用该对称密钥进行加密。若第一Widget应用中保存的密钥信息包含公钥(Widget引擎为第一Widget应用生成的公钥)和私钥(自身生成的私钥),则第一Widget应用在对待发送给第二Widget应用的数据进行加密时,使用公钥进行加密。
此外,第一Widget应用向Widget引擎发送的数据中,包含数据发送方的标识(即第一Widget应用的标识)以及数据接收方的标识(即待接收数据的第二Widget应用的标识)。
步骤32,第一Widget应用将加密后的数据发送给Widget引擎。
本发明实施例二中,第一Widget应用需要与第二Widget应用进行通信时,不再直接与第二Widget应用建立连接,而是如图4所示,通过Widget引擎,将数据转发给第二Widget应用,从而实现Widget应用间的间接通信。
本发明实施例二提出,各Widget应用可以但不限于使用Widget代理器来对待发送的数据进行加密处理,然后再发送给Widget引擎,如图5所示。
步骤33,Widget引擎在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息,并使用查找到的第一Widget应用对应的密钥信息,对接收到的数据进行解密。
Widget引擎中存储有密钥信息与Widget应用的标识之间的对应关系,如表1和表2所示,Widget引擎可以根据第一Widget应用的标识,在上述对应关系中,查找第一Widget应用对应的密钥信息。其中,若密钥信息为对称密钥,则Widget引擎查找到的密钥信息为Widget引擎为该第一Widget应用生成的对称密钥,若密钥信息为非对称密钥,则Widget引擎查找到的密钥信息包含Widget引擎为该第一Widget应用生成的私钥以及第一Widget应用生成的公钥。
若Widget引擎查找到的密钥信息为对称密钥,则Widget引擎在对接收到的数据进行解密时,直接使用该对称密钥进行解密即可。若Widget引擎查找到的密钥信息为非对称密钥,则Widget引擎在对接收到的数据进行解密时,使用查找到的密钥信息中包含的私钥(Widget引擎为该第一Widget应用生成的私钥)进行解密。
步骤34,Widget引擎在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息,并使用查找到的第二Widget应用对应的密钥信息,对解密得到的数据进行加密。
Widget引擎根据解密得到的数据中包含的第二Widget应用的标识,确认待接收数据的Widget应用为第二Widget应用。
Widget引擎中存储有密钥信息与Widget应用的标识之间的对应关系,如表1和表2所示,Widget引擎根据第二Widget应用的标识,在上述对应关系中,查找第二Widget应用对应的密钥信息。其中,若密钥信息为对称密钥,则Widget引擎查找到的密钥信息为Widget引擎为该第二Widget应用生成的对称密钥,若密钥信息为非对称密钥,则Widget引擎查找到的密钥信息包含Widget引擎为该第二Widget应用生成的私钥以及第二Widget应用生成的公钥。
若Widget引擎查找到的密钥信息为对称密钥,则Widget引擎在对解密得到的数据进行加密时,直接使用该对称密钥进行加密即可。若Widget引擎查找到的密钥信息为非对称密钥,则Widget引擎在对解密得到的数据进行加密时,使用查找到的密钥信息中包含的公钥(第二Widget应用生成的公钥)进行加密。
本发明实施例二提出,Widget引擎可以但不限于使用加密处理器来对接收到的数据进行解密处理,以及对解密后的数据进行加密处理。
步骤35,Widget引擎将加密后的数据发送给所述第二Widget应用。
步骤36,第二Widget应用使用本地保存的密钥信息,对接收到的数据进行解密,得到第一Widget应用需要发送给第二Widget应用的数据。
若第二Widget应用中保存的密钥信息为对称密钥,则第二Widget应用在对接收到的数据进行解密时,使用该对称密钥进行解密。若第二Widget应用中保存的密钥信息包含公钥(Widget引擎为第二Widget应用生成的公钥)和私钥(自身生成的私钥),则第二Widget应用在对接收到的数据进行解密时,使用私钥进行解密。
本发明实施例二中,若预先设置的密钥信息为非对称密钥,则对数据进行加密的密钥和对数据进行解密的密钥不同,即使截获到使用公钥加密的数据,由于不能由公钥推导出私钥,因此也无法对截获到的数据进行解密,因此能够有效地提高数据在传输过程中的安全性。
此外,本发明实施例二提出,第二Widget应用可以但不限于使用Widget代理器来对接收到的数据进行解密处理。
由上述处理过程可知,本发明实施例提出的Widget通信方法中,Widget应用之间进行通信时,发送数据的Widget应用和待接收数据的Widget应用中均保存有密钥信息,设置的Widget引擎中保存有各Widget应用分别对应的密钥信息,发送数据的Widget应用使用本地保存的密钥信息对数据进行加密后发送给Widget引擎,Widget引擎使用发送数据的Widget应用对应的密钥信息对数据进行解密,以及使用待接收数据的Widget应用对应的密钥信息对数据进行加密后发送给待接收数据的Widget应用,待接收数据的Widget应用使用本地保存的密钥信息对数据进行解密,从而通过Widget引擎进行数据转发,实现数据在Widget应用之间的间接传输,也就是说,Widget应用之间无需直接通信,也就无需进行加密策略的协商,因此能够有效地节省Widget应用较多的处理资源,且能够提高Widget应用之间的通信效率。
实施例三
如图6所示,为本发明实施例三提出的,当设置的密钥信息为对称密钥时,Widget通信方法的实现示意图,Widget引擎为各Widget应用分别设置对称密钥,然后将设置的对称密钥分别下发给各Widget应用,后续若某Widget应用想要向其他Widget应用发送数据,则可以利用本地保存的对称密钥对待发送的数据进行加密,然后发送给Widget引擎,Widget引擎根据该Widget应用对应的对称密钥,对接收到的数据进行解密,再根据待接收数据的Widget应用对应的对称密钥,对解密得到的数据进行加密,然后发送给待接收数据的Widget应用,待接收数据的Widget应用根据本地保存的对称密钥,对接收到的数据进行解密,从而实现了Widget应用之间的间接通信。
在图6中,由于Widget应用之间不能直接进行通信,而是通过Widget引擎进行数据的转发,因此Widget应用之间是相互隔离的。
下面举例说明本发明实施例提出的Widget通信方法。
例如,某公司的Widget系统中的Widget应用包含采购Widget和财务Widget,公司的采购部员工想要购买某设备时,需要公司财务部员工对设备的费用进行审批,财务部员工在对设备进行审批时,需要获知该设备的名称、用途、报价等信息,对此,采购部员工可以在采购Widget中添加该设备的名称、用途、报价等信息,然后点击财务审批按钮。采购Widget首先使用本地保存的对称密钥,对添加的信息进行加密,然后将加密后的信息发送给Widget引擎,Widget引擎首先查找采购Widget对应的对称密钥,然后使用查找到的对称密钥,对接收到的信息进行解密,再查找财务Widget对应的对称密钥,然后使用查找到的对称密钥,对解密后的信息进行加密,将加密后的信息发送给财务Widget,财务Widget接收到信息后,使用本地保存的对称密钥,对信息解密后进行呈现,那么财务部员工就能够获知此次需要采购的设备的名称、用途、报价等信息,从而进行后续的审批操作。
实施例四
本发明实施例四提出了Widget引擎框架,如图7所示,Widget引擎框架其中:
基于密钥库的密钥管理模块可以对加密数据使用的密钥信息进行统一管理,能够方便地解决XML加密开发包的上层应用的管理问题。该模块在Widget引擎框架的基础上提供简单接口来获取生成和管理密钥信息的功能。
Widget引擎框架接口包含算法选择器、密码管理基类、消息摘要基类、消息验证基类、密钥产生器基类,其中,密码管理基类提供加密/解密数据的功能;消息摘要基类提供数据完整性检查的功能;消息验证基类可以同时完成数据完整性检查和身份认证的功能;密钥产生器基类提供了产生特定非对称密钥的功能。
Widget引擎在运行时,为应用提供加载指定算法对象/密钥产生器对象的功能,以及提供动态切换算法对象/密钥产生器对象的功能。
算法配置文件起到Widget引擎和算法库以及密钥产生器库之间的桥梁的作用,它管理了Widget引擎框架中所有的算法信息,而Widget引擎框架正是通过查询算法配置文件来定位所需的算法对象/密钥产生器对象。
算法库中包含了Widget引擎框架中所有的算法类,它们分别继承密码管理基类、消息摘要基类或消息验证基类,来提供相应加密功能的具体实现。
其他功能类为Widget应用提供产生所需参数的功能,例如伪随机数、初始化向量等。
在本发明实施例四中,基于密钥库的密钥管理模块主要用于对密钥信息进行统一管理,而对密钥信息的管理又分为下面三个方面:
密钥信息的生成:安全的生成密钥信息是成功加密数据的关键。对于对称密钥来说,可以使用随机产生器或伪随机产生器来生成对称密钥,使得产生的对称密钥具备不可预测性,而对于非对称密钥来说,不同的非对称密钥算法的密钥内容和格式不同,因此可以选择具体的密钥产生算法来生成非对称密钥。
密钥信息的存储:将生成的密钥信息进行保密存储,从而确保密钥信息的安全是至关重要的,同时Widget引擎还提供应用级用户以及系统级用户方便地访问密钥信息的能力。
密钥信息的验证分配:只针对非对称密钥中的公钥而言,非对称密钥中的公钥是公开发布的,基于密钥库的密钥管理模块提供用户验证其他用户的公钥的能力。
基于密钥库的密钥管理模块的结构如图8所示,其中,密钥库以XML的形式存储密钥信息,提供对称密钥和非对称密钥的安全存储,密钥管理模块实现了对密钥库以及密钥库中密钥信息的管理。密钥库类是访问密钥管理模块的接口,为应用提供管理特定密钥库的能力。
密钥库中的数据结构如表3所示:
表3
元素 | 描述 |
Key | 密钥项信息 |
KeyName | 记录密钥项的别名,在密钥库中唯一标识密钥项 |
Type | 密钥项的类型 |
SKey | 记录对称密钥值 |
ASKey | 记录非对称密钥值 |
KeyLong | 记录密钥长度 |
KeySize | 记录密钥大小 |
PriKeyValue | 记录私钥值 |
PubKeyValue | 记录公钥值 |
DistribKey | 记录分配应用地址 |
实施例五
Widget技术使用XML等技术展现用户界面,Widget应用间传输的数据为XML格式的数据,现有技术对XML格式的数据进行加密时,都局限于对XML文档内容的加密,即元素级加密,而忽略了Widget的一个很重要的特性,即结构,本发明实施例五提出了一种XML数据对象(XML Data Object,XDO)控制加密法,该加密法不仅打乱了XML文档的结构,而且加密了XML文档的内容,使得信息窃取者即使截获到了一份加密后的文档,也不知道被加密元素具体是哪一方面的信息,从而更好的保证了数据在传输过程中的安全性。
XDO加密法提供元素级别的加密,而且可以选择加密的算法和生成密钥信息的方式。XDO加密法的基本思想就是Widget引擎将待加密的数据当成流来看待,在对数据进行加密之后,对一部分加密的数据进行解密,然后在应用层解析得到的数据。这种实现方案用到了XDO的扩展功能,每个加密、解密的函数都作为XDO的解析组件来实现,这个组件从上层接收到一系列的事件,假如在一系列的事件中发现了待加密元素,它将进行加密并把结果以事件的形式推送至下一层。
本发明实施例五中,Encryptor和Decryptor分别是上层应用获取数据加密功能的接口。其中,Encryptor类为上层应用提供了加密元素、元素内容、整个文档以及对称密钥的API,Decryptor类给出了解密EncryptorData元素和EncryptorKey元素的API。EncryptionMethod类提供了上层应用定制EncryptionMethod元素的功能,它由上层应用设置,而由Encryptor对象来使用。上层应用通过和EncryptionMethod对象交互来设置算法以及参数等信息,使得Encryptor对象可以获得算法信息和符合XML规范的EncryptionMethod元素。
如图9所示,为本发明实施例五中,Widget引擎对数据进行加密的算法实现流程图,其具体处理过程为:
Widget引擎首先解析指示文件,然后定位指示文件,若不能定位指示文件,则说明此次加密处理异常,若能够定位指示文件,则获得加密目标元素;
Widget引擎创建模板元素,然后判断是否设置了对象,若未设置对象,则说明此次加密处理异常,若设置了对象,则调用对象,并获得元素插入;
Widget引擎判断是否设置了KeyInfo对象,若设置了KeyInfo对象,则调用KeyInfo对象的CreateKeyInfoElm函数,并判断是否设置了密钥信息,若未设置KeyInfo对象,则直接判断是否设置了密钥信息;
若未设置密钥信息,则说明此次加密处理异常,若设置了密钥信息,则可以分为加密元素和加密元素内容两个分支;
当加密元素时,将TargetElm序列化为UTF-8编码的字节流,并保存到临时文件TempFile中,然后获取算法URL对应的对象,并加密TempFile内容,将密文字节流进行Base64编码,获得密文字符串,将密文字符串数据作为CipherValue元素的内容插入到TempletElm中,获得真正的EncrypedData元素,将获得的EncrypedData元素替换TargetElm,加密处理成功。
当加密元素内容时,若TargetElm的子元素为字符数据,则将字符数据以UTF-8编码并保存到临时文件TempFile中,获取算法UEL对应的对象,并加密TempFile内容,将密文字节流进行Base64编码,获得密文字符串,将密文字符串数据作为CipherValue元素的内容插入到TempletElm中,获得真正的EncrypedData元素,将获得的EncrypedData元素替换TargetElm,加密处理成功。
本发明实施例五还提出,Widget引擎在对数据进行解密时,首先指定需要解密的XML路径,XpathExp是XPath表达式,用于在文档中定位需要解密的EncryptorData元素。解密后的XML文档被存储在resultFileName指定的路径中。如果密文数据描述的是XML元素或元素内容,则将解密出来的XML元素、元素内容还原到原文档的相应结构中,如果密文数据描述的是任意数据,则对解密出来的明文不作任何处理。上层应用在调用DecryptEncryptedData函数之前需要设置解密所需的信息。
如果EncryptorData元素中没有包含EncryptionMethod元素,即隐藏了加密算法信息,则上层应用必须设置EncryptionMethod对象,给出加密算法信息。
如果EncryptorData元素中没有包含KeyInfo元素,即隐藏了密钥信息,则上层应用必须通过调用Decryptor的SetKey或SetAsymmetrickey函数,来设置密钥信息。如果EncryptorData元素包含了KeyInfo元素,则上层应用必须通过调用Decryptor的SetKeyInfoResolver函数来设置KeyInfo元素处理器,使得Decryptor可以通过调用KeyInfo元素处理器的Resolver函数来获得所需的密钥信息。
如图10所示,为本发明实施例五中,Widget引擎对数据进行解密时,获取密钥信息的实现流程图,其具体处理过程为:
Widget引擎首先解析xmlFileName指示文件,定位XpathExp指示的EncrypedData元素,判断是否能够定位EncrypedData元素,若不能够定位EncrypedData元素,则说明此次解密处理异常,若能够定位EncrypedData元素,则获得算法URL,然后获取算法URL对应的CipherAlgorithin对象,判断EncryptorData元素中是否包含KeyInfo元素,若判断出包含KeyInfo元素,则设置KeyInfo Resolver对象,调用Resolver函数来获得所需的密钥信息。若判断出不包含KeyInfo元素,则调用Decryptor的SetKey或SetAsymmetrickey函数,来设置密钥信息。
实施例六
与本发明实施例二中的Widget引擎对应,本发明实施例六提供一种Widget通信装置,其结构如图11所示,包括:
数据接收单元111,用于接收第一Widget应用待发送给第二Widget应用的数据,其中,所述数据是由第一Widget应用使用本地保存的密钥信息进行加密后发送的;
第一密钥查找单元112,用于在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息;
数据解密单元113,用于使用第一密钥查找单元112查找到的第一Widget应用对应的密钥信息,对数据接收单元111接收到的数据进行解密;
第二密钥查找单元114,用于在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息;
数据加密单元115,用于使用第二密钥查找单元114查找到的第二Widget应用对应的密钥信息,对数据解密单元113解密得到的数据进行加密;
数据发送单元116,用于将数据加密单元115加密后的数据发送给所述第二Widget应用,指示所述第二Widget应用使用本地保存的密钥信息对接收到的数据进行解密。
优选的,该Widget通信装置还包括:
第一密钥生成单元,用于在数据接收单元111接收第一Widget应用待发送给第二Widget应用的数据之前,为各Widget应用分别生成密钥信息;
第一密钥发送单元,用于将第一密钥生成单元生成的密钥信息分别发送给对应的Widget应用。
优选的,Widget应用对应的密钥信息包含公钥和私钥;
该Widget通信装置还包括:
第二密钥生成单元,用于在数据接收单元111接收第一Widget应用待发送给第二Widget应用的数据之前,针对各Widget应用,分别生成该Widget应用对应的公钥和私钥;
第二密钥发送单元,用于针对各Widget应用,分别将第二密钥生成单元生成的公钥发送给该Widget应用;
密钥接收单元,用于针对各Widget应用,分别接收该Widget应用生成并发送的公钥;
密钥存储单元,用于将第二密钥生成单元生成的私钥以及密钥接收单元接收到的公钥对应存储。
优选的,所述数据解密单元113,具体用于使用第一密钥查找单元112查找到的第一Widget应用对应的密钥信息中包含的私钥,对数据接收单元111接收到的数据进行解密;
所述数据加密单元115,具体用于使用第二密钥查找单元114查找到的第二Widget应用对应的密钥信息中包含的公钥,对数据解密单元113解密得到的数据进行加密。
实施例七
与本发明实施例二中的第一Widget应用对应,本发明实施例七提供一种Widget通信装置,其结构如图12所示,包括:
密钥存储单元121,存储有密钥信息;
数据加密单元122,用于在需要向其他Widget通信装置发送数据时,使用密钥存储单元121存储的密钥信息,对待发送的数据进行加密;
数据发送单元123,用于将数据加密单元122加密后的数据发送给Widget引擎,指示Widget引擎在各Widget通信装置对应的密钥信息中,查找所述Widget通信装置对应的密钥信息,并使用查找到的密钥信息对接收到的数据进行解密,以及在各Widget通信装置对应的密钥信息中,查找所述其他Widget通信装置对应的密钥信息,并使用查找到的密钥信息对解密得到的数据进行加密,以及将加密后的数据发送给所述其他Widget通信装置,由其他Widget通信装置使用保存的密钥信息对接收到的数据进行解密。
优选的,该Widget通信装置还包括:
第一密钥接收单元,用于在数据加密单元122使用密钥存储单元121存储的密钥信息,对待发送的数据进行加密之前,接收Widget引擎为所述Widget通信装置生成的密钥信息,并将接收到的密钥信息存储到密钥存储单元121。
优选的,密钥存储单元121中存储的密钥信息包含公钥和私钥;
所述Widget通信装置还包括:
密钥生成单元,用于在数据加密单元122使用密钥存储单元121存储的密钥信息,对待发送的数据进行加密之前,生成公钥和私钥,并将生成的私钥存储到密钥存储单元121;
密钥发送单元,用于将密钥生成单元生成的公钥发送给Widget引擎;
第二密钥接收单元,用于接收所述Widget引擎发送的、该Widget引擎为所述Widget通信装置生成的公钥,并将接收到的公钥存储到密钥存储单元121。
优选的,所述数据加密单元122,具体用于使用所述密钥存储单元121中存储的密钥信息中包含的公钥,对待发送的数据进行加密。
实施例八
与本发明实施例二中的第二Widget应用对应,本发明实施例八提供一种Widget通信装置,其结构如图13所示,包括:
密钥存储单元131,存储有密钥信息;
数据接收单元132,用于接收Widget引擎发送的数据,其中,所述数据是其他Widget通信装置使用本地保存的密钥信息,对待发送给所述Widget通信装置的数据进行加密后发送给Widget引擎,Widget引擎在各Widget通信装置对应的密钥信息中,查找所述其他Widget通信装置对应的密钥信息,并使用查找到的密钥信息对接收到的数据进行解密,以及在各Widget通信装置对应的密钥信息中,查找所述Widget通信装置对应的密钥信息,并使用查找到的密钥信息对解密得到的数据进行加密后发送的;
数据解密单元133,用于使用所述密钥存储单元131存储的密钥信息,对数据接收单元132接收到的数据进行解密,得到所述其他Widget通信装置需要发送给所述Widget通信装置的数据。
优选的,所述密钥存储单元131中存储的密钥信息包含公钥和私钥;
所述数据解密单元133,具体用于使用密钥存储单元131中存储的密钥信息中包含的私钥,对数据接收单元132接收到的数据进行解密。
实施例九
本发明实施例九提供一种Widget通信系统,其结构如图14所述,包括Widget引擎和各Widget应用,其中:
Widget引擎141,用于接收Widget应用待发送给其他Widget应用的数据,在各Widget应用对应的密钥信息中,查找发送数据的Widget应用对应的密钥信息,并使用发送数据的Widget应用对应的密钥信息,对接收到的数据进行解密,在各Widget应用对应的密钥信息中,查找待接收数据的Widget应用对应的密钥信息,并使用待接收数据的Widget应用对应的密钥信息,对解密得到的数据进行加密,将加密后的数据发送给待接收数据的Widget应用;
Widget应用142,用于在需要向其他Widget应用发送数数据时,使用本地保存的密钥信息,对待发送的数据进行加密,并将加密后的数据发送给Widget引擎,以及接收Widget引擎发送的数据,使用本地保存的密钥信息,对接收到的数据进行解密,得到其他Widget应用需要发送给该Widget应用的数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (21)
1.一种Widget通信方法,其特征在于,包括:
专用界面工具Widget引擎接收第一Widget应用待发送给第二Widget应用的数据,其中,所述数据是由第一Widget应用使用本地保存的密钥信息进行加密后发送的;
Widget引擎在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息,并使用查找到的第一Widget应用对应的密钥信息,对接收到的数据进行解密;
Widget引擎在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息,并使用查找到的第二Widget应用对应的密钥信息,对解密得到的数据进行加密;
将加密后的数据发送给所述第二Widget应用,指示所述第二Widget应用使用本地保存的密钥信息对接收到的数据进行解密。
2.如权利要求1所述的Widget通信方法,其特征在于,在接收第一Widget应用待发送给第二Widget应用的数据之前,还包括:
Widget引擎为各Widget应用分别生成密钥信息,并将生成的密钥信息分别发送给对应的Widget应用。
3.如权利要求1所述的Widget通信方法,其特征在于,Widget应用对应的密钥信息包含公钥和私钥;
在接收第一Widget应用待发送给第二Widget应用的数据之前,还包括:
Widget引擎针对各Widget应用,分别执行:
生成该Widget应用对应的公钥和私钥;
将生成的公钥发送给该Widget应用;
接收该Widget应用生成并发送的公钥;
将生成的私钥以及接收到的公钥对应存储。
4.如权利要求3所述的Widget通信方法,其特征在于,所述使用查找到的第一Widget应用对应的密钥信息,对接收到的数据进行解密,具体包括:
Widget引擎使用查找到的第一Widget应用对应的密钥信息中包含的私钥,对接收到的数据进行解密;
所述使用查找到的第二Widget应用对应的密钥信息,对解密得到的数据进行加密,具体包括:
Widget引擎使用查找到的第二Widget应用对应的密钥信息中包含的公钥,对解密得到的数据进行加密。
5.一种Widget通信装置,其特征在于,包括:
数据接收单元,用于接收第一专用界面工具Widget应用待发送给第二Widget应用的数据,其中,所述数据是由第一Widget应用使用本地保存的密钥信息进行加密后发送的;
第一密钥查找单元,用于在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息;
数据解密单元,用于使用第一密钥查找单元查找到的第一Widget应用对应的密钥信息,对数据接收单元接收到的数据进行解密;
第二密钥查找单元,用于在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息;
数据加密单元,用于使用第二密钥查找单元查找到的第二Widget应用对应的密钥信息,对数据解密单元解密得到的数据进行加密;
数据发送单元,用于将数据加密单元加密后的数据发送给所述第二Widget应用,指示所述第二Widget应用使用本地保存的密钥信息对接收到的数据进行解密。
6.如权利要求5所述的Widget通信装置,其特征在于,还包括:
第一密钥生成单元,用于在数据接收单元接收第一Widget应用待发送给第二Widget应用的数据之前,为各Widget应用分别生成密钥信息;
第一密钥发送单元,用于将第一密钥生成单元生成的密钥信息分别发送给对应的Widget应用。
7.如权利要求5所述的Widget通信装置,其特征在于,Widget应用对应的密钥信息包含公钥和私钥;
所述装置还包括:
第二密钥生成单元,用于在数据接收单元接收第一Widget应用待发送给第二Widget应用的数据之前,针对各Widget应用,分别生成该Widget应用对应的公钥和私钥;
第二密钥发送单元,用于针对各Widget应用,分别将第二密钥生成单元生成的公钥发送给该Widget应用;
密钥接收单元,用于针对各Widget应用,分别接收该Widget应用生成并发送的公钥;
密钥存储单元,用于将第二密钥生成单元生成的私钥以及密钥接收单元接收到的公钥对应存储。
8.如权利要求7所述的Widget通信装置,其特征在于,所述数据解密单元,具体用于使用第一密钥查找单元查找到的第一Widget应用对应的密钥信息中包含的私钥,对数据接收单元接收到的数据进行解密;
所述数据加密单元,具体用于使用第二密钥查找单元查找到的第二Widget应用对应的密钥信息中包含的公钥,对数据解密单元解密得到的数据进行加密。
9.一种Widget通信方法,其特征在于,包括:
第一专用界面工具Widget应用需要向第二Widget应用发送数据时,使用本地保存的密钥信息,对待发送的数据进行加密;
将加密后的数据发送给Widget引擎,指示Widget引擎在各Widget应用对应的密钥信息中,查找所述第一Widget应用对应的密钥信息,并使用查找到的第一Widget应用对应的密钥信息,对接收到的数据进行解密,以及在各Widget应用对应的密钥信息中,查找所述第二Widget应用对应的密钥信息,并使用查找到的第二Widget应用对应的密钥信息,对解密得到的数据进行加密,以及将加密后的数据发送给所述第二Widget应用,由第二Widget应用使用本地保存的密钥信息对接收到的数据进行解密。
10.如权利要求9所述的Widget通信方法,其特征在于,在使用本地保存的密钥信息,对待发送的数据进行加密之前,还包括:
第一Widget应用接收Widget引擎为所述第一Widget应用生成的密钥信息,并保存接收到的密钥信息。
11.如权利要求9所述的Widget通信方法,其特征在于,第一Widget应用本地保存的密钥信息包含公钥和私钥;
在使用本地保存的密钥信息,对待发送的数据进行加密之前,还包括:
第一Widget应用生成公钥和私钥,并将生成的公钥发送给Widget引擎;
接收所述Widget引擎发送的、该Widget引擎为第一Widget应用生成的公钥;
将存储生成的私钥以及接收到的公钥。
12.如权利要求11所述的Widget通信方法,其特征在于,所述使用本地保存的密钥信息,对待发送的数据进行加密,具体包括:
第一Widget应用使用本地保存的密钥信息中包含的公钥,对待发送的数据进行加密。
13.一种Widget通信装置,其特征在于,包括:
密钥存储单元,存储有密钥信息;
数据加密单元,用于在需要向其他专用界面工具Widget通信装置发送数据时,使用密钥存储单元存储的密钥信息,对待发送的数据进行加密;
数据发送单元,用于将数据加密单元加密后的数据发送给Widget引擎,指示Widget引擎在各Widget通信装置对应的密钥信息中,查找所述Widget通信装置对应的密钥信息,并使用查找到的密钥信息对接收到的数据进行解密,以及在各Widget通信装置对应的密钥信息中,查找所述其他Widget通信装置对应的密钥信息,并使用查找到的密钥信息对解密得到的数据进行加密,以及将加密后的数据发送给所述其他Widget通信装置,由其他Widget通信装置使用保存的密钥信息对接收到的数据进行解密。
14.如权利要求13所述的Widget通信装置,其特征在于,还包括:
第一密钥接收单元,用于在数据加密单元使用密钥存储单元存储的密钥信息,对待发送的数据进行加密之前,接收Widget引擎为所述Widget通信装置生成的密钥信息,并将接收到的密钥信息存储到密钥存储单元。
15.如权利要求13所述的Widget通信装置,其特征在于,密钥存储单元中存储的密钥信息包含公钥和私钥;
所述Widget通信装置还包括:
密钥生成单元,用于在数据加密单元使用密钥存储单元存储的密钥信息,对待发送的数据进行加密之前,生成公钥和私钥,并将生成的私钥存储到密钥存储单元;
密钥发送单元,用于将密钥生成单元生成的公钥发送给Widget引擎;
第二密钥接收单元,用于接收所述Widget引擎发送的、该Widget引擎为所述Widget通信装置生成的公钥,并将接收到的公钥存储到密钥存储单元。
16.如权利要求15所述的Widget通信装置,其特征在于,所述数据加密单元,具体用于使用所述密钥存储单元中存储的密钥信息中包含的公钥,对待发送的数据进行加密。
17.一种Widget通信方法,其特征在于,包括:
第二专用界面工具Widget应用接收Widget引擎发送的数据,其中,所述数据是第一Widget应用使用本地保存的密钥信息,对待发送给第二Widget应用的数据进行加密后发送给Widget引擎,Widget引擎在各Widget应用对应的密钥信息中,查找第一Widget应用对应的密钥信息,并使用第一Widget应用对应的密钥信息,对接收到的数据进行解密,以及在各Widget应用对应的密钥信息中,查找第二Widget应用对应的密钥信息,并使用第二Widget应用对应的密钥信息,对解密得到的数据进行加密后发送的;
第二Widget应用使用本地保存的密钥信息,对接收到的数据进行解密,得到第一Widget应用需要发送给第二Widget应用的数据。
18.如权利要求17所述的Widget通信方法,其特征在于,第二Widget应用本地保存的密钥信息包含公钥和私钥;
所述使用本地保存的密钥信息,对接收到的数据进行解密,具体包括:
第二Widget应用使用本地保存的密钥信息中包含的私钥,对接收到的数据进行解密。
19.一种Widget通信装置,其特征在于,包括:
密钥存储单元,存储有密钥信息;
数据接收单元,用于接收专用界面工具Widget引擎发送的数据,其中,所述数据是其他Widget通信装置使用本地保存的密钥信息,对待发送给所述Widget通信装置的数据进行加密后发送给Widget引擎,Widget引擎在各Widget通信装置对应的密钥信息中,查找所述其他Widget通信装置对应的密钥信息,并使用查找到的密钥信息对接收到的数据进行解密,以及在各Widget通信装置对应的密钥信息中,查找所述Widget通信装置对应的密钥信息,并使用查找到的密钥信息对解密得到的数据进行加密后发送的;
数据解密单元,用于使用所述密钥存储单元存储的密钥信息,对数据接收单元接收到的数据进行解密,得到所述其他Widget通信装置需要发送给所述Widget通信装置的数据。
20.如权利要求19所述的Widget通信装置,其特征在于,所述密钥存储单元中存储的密钥信息包含公钥和私钥;
所述数据解密单元,具体用于使用密钥存储单元中存储的密钥信息中包含的私钥,对数据接收单元接收到的数据进行解密。
21.一种Widget通信系统,其特征在于,包括专用界面工具Widget引擎和各Widget应用,其中:
Widget引擎,用于接收Widget应用待发送给其他Widget应用的数据,在各Widget应用对应的密钥信息中,查找发送数据的Widget应用对应的密钥信息,并使用发送数据的Widget应用对应的密钥信息,对接收到的数据进行解密,在各Widget应用对应的密钥信息中,查找待接收数据的Widget应用对应的密钥信息,并使用待接收数据的Widget应用对应的密钥信息,对解密得到的数据进行加密,将加密后的数据发送给待接收数据的Widget应用;
Widget应用,用于在需要向其他Widget应用发送数数据时,使用本地保存的密钥信息,对待发送的数据进行加密,并将加密后的数据发送给Widget引擎,以及接收Widget引擎发送的数据,使用本地保存的密钥信息,对接收到的数据进行解密,得到其他Widget应用需要发送给该Widget应用的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310305685.6A CN104301102B (zh) | 2013-07-19 | 2013-07-19 | Widget通信方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310305685.6A CN104301102B (zh) | 2013-07-19 | 2013-07-19 | Widget通信方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104301102A true CN104301102A (zh) | 2015-01-21 |
CN104301102B CN104301102B (zh) | 2019-03-15 |
Family
ID=52320682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310305685.6A Active CN104301102B (zh) | 2013-07-19 | 2013-07-19 | Widget通信方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301102B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426348A (zh) * | 2015-10-22 | 2016-03-23 | 江苏国泰新点软件有限公司 | 一种可扩展标记语言xml文件的生成方法、装置和系统 |
CN107920349A (zh) * | 2016-10-10 | 2018-04-17 | 中国移动通信有限公司研究院 | 一种应用于电路域的通话加密方法及装置 |
WO2020073711A1 (zh) * | 2018-10-12 | 2020-04-16 | 阿里巴巴集团控股有限公司 | 基于共享安全应用的密钥传递方法及系统、存储介质、设备 |
WO2023093139A1 (zh) * | 2021-11-25 | 2023-06-01 | 中移(苏州)软件技术有限公司 | 一种资源创建方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249359A1 (en) * | 2008-03-25 | 2009-10-01 | Caunter Mark Leslie | Apparatus and methods for widget intercommunication in a wireless communication environment |
CN101895520A (zh) * | 2009-05-20 | 2010-11-24 | 华为技术有限公司 | 微技系统的数据共享方法、服务器以及数据共享系统 |
CN101951601A (zh) * | 2010-08-25 | 2011-01-19 | 中兴通讯股份有限公司 | 移动通讯网中加密语音通话的方法和系统、终端及网络侧 |
CN102036194A (zh) * | 2010-12-09 | 2011-04-27 | 中兴通讯股份有限公司 | 一种加密mms的方法及系统 |
-
2013
- 2013-07-19 CN CN201310305685.6A patent/CN104301102B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249359A1 (en) * | 2008-03-25 | 2009-10-01 | Caunter Mark Leslie | Apparatus and methods for widget intercommunication in a wireless communication environment |
CN101895520A (zh) * | 2009-05-20 | 2010-11-24 | 华为技术有限公司 | 微技系统的数据共享方法、服务器以及数据共享系统 |
CN101951601A (zh) * | 2010-08-25 | 2011-01-19 | 中兴通讯股份有限公司 | 移动通讯网中加密语音通话的方法和系统、终端及网络侧 |
CN102036194A (zh) * | 2010-12-09 | 2011-04-27 | 中兴通讯股份有限公司 | 一种加密mms的方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426348A (zh) * | 2015-10-22 | 2016-03-23 | 江苏国泰新点软件有限公司 | 一种可扩展标记语言xml文件的生成方法、装置和系统 |
CN105426348B (zh) * | 2015-10-22 | 2018-05-25 | 江苏国泰新点软件有限公司 | 一种可扩展标记语言xml文件的生成方法、装置和系统 |
CN107920349A (zh) * | 2016-10-10 | 2018-04-17 | 中国移动通信有限公司研究院 | 一种应用于电路域的通话加密方法及装置 |
WO2020073711A1 (zh) * | 2018-10-12 | 2020-04-16 | 阿里巴巴集团控股有限公司 | 基于共享安全应用的密钥传递方法及系统、存储介质、设备 |
WO2023093139A1 (zh) * | 2021-11-25 | 2023-06-01 | 中移(苏州)软件技术有限公司 | 一种资源创建方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104301102B (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105610793B (zh) | 一种外包数据加密存储与密文查询系统及其应用方法 | |
US20120054491A1 (en) | Re-authentication in client-server communications | |
US20070101145A1 (en) | Framework for obtaining cryptographically signed consent | |
KR101982237B1 (ko) | 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템 | |
JP7420779B2 (ja) | 鍵保護処理方法、装置、機器及び記憶媒体 | |
US9954859B2 (en) | Random number distribution | |
CN103152322A (zh) | 数据加密保护方法及系统 | |
CN103414727A (zh) | 针对input密码输入框的加密保护系统及其使用方法 | |
CN104301102B (zh) | Widget通信方法、装置及系统 | |
KR20150081168A (ko) | 래티스에서의 아이디 기반 브로드캐스트 방법 | |
Zubair et al. | A hybrid algorithm-based optimization protocol to ensure data security in the cloud | |
KR101812311B1 (ko) | 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 | |
Huang et al. | Adaptive Secure Cross‐Cloud Data Collaboration with Identity‐Based Cryptography and Conditional Proxy Re‐Encryption | |
KR102096637B1 (ko) | 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치 | |
JP2009055428A (ja) | 情報処理装置、サーバ装置、情報処理プログラム及び方法 | |
KR102096639B1 (ko) | Uuid를 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 | |
Chavan et al. | Enhancement in Cloud security for web application attacks | |
Kumar | Advanced RSA cryptographic algorithm for improving data security | |
Wang et al. | Privacy preserving protocol for service aggregation in cloud computing | |
Kwofie et al. | Cloud Security: Using Advance Encryption Standard Algorithm to Secure Cloud data at Client Side and Taking Measures to protect its Secrecy | |
Cheng et al. | Privacy-preserving publish/subscribe service in untrusted third-party platform | |
Dodmane | A new hybrid symmetric-key technique to enhance data security of textual information using random number generator | |
CN111526128B (zh) | 一种加密管理的方法和装置 | |
KR102096638B1 (ko) | 하이브리드 암호 방식을 이용한 블록체인에서 정보 조회 기록의 무결성을 위한 분산 원장 장치 | |
JP4945265B2 (ja) | サービス利用識別情報生成装置、サービス利用識別情報生成システム、サービス利用識別情報生成方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |