CN102308548A - 在发布和定制引擎中引入加密、认证和授权 - Google Patents
在发布和定制引擎中引入加密、认证和授权 Download PDFInfo
- Publication number
- CN102308548A CN102308548A CN2009801563472A CN200980156347A CN102308548A CN 102308548 A CN102308548 A CN 102308548A CN 2009801563472 A CN2009801563472 A CN 2009801563472A CN 200980156347 A CN200980156347 A CN 200980156347A CN 102308548 A CN102308548 A CN 102308548A
- Authority
- CN
- China
- Prior art keywords
- clients
- module
- given client
- protocol
- program code
- 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.)
- Pending
Links
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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
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)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
部署多个协议栈。所述协议栈的每个包括多个可组合协议模块,所述可组合协议模块的每个实现通用接口。检测所述多个客户端的第一给定客户端希望连接至所述发布-定制引擎;以及确定所述多个客户端的所述第一给定客户端是否将以安全方式连接。响应于确定所述多个客户端的所述第一给定客户端将以所述安全方式连接,实例化所述多个协议栈的第一适当协议栈的加密实例,以实现所述安全连接。认证和授权所述多个客户端的所述第一给定客户端。
Description
技术领域
本发明涉及电气、电子和计算机领域,更具体地,涉及安全特征等。
背景技术
发布/定制是关于主题组织数据,使得发布者关于主题发布并且而定制者定制他们所借助的方法。典型地,发布者关于主题发布的所有消息由对于该主题的所有定制者接收。在至少一些实例中,发布者和定制者不知晓彼此的身份,允许非常灵活的通信方式。专用于不同市场领域的当前产品的范围支持发布/定制(“pub/sub”)抽象化。具体地,国际商业机器公司、Armonk、NY、USA的MQ(WSMQ)网络通信软件产品是一种支持丰富操作集(例如故障、事务语义化、和不可否认性)的大型系统,其适用于例如处理银行事务的数据服务器中心。
另一方面,MQ遥测传输(MQTT)是适用于低级设备上的轻量级pub/sub机制。在MQTT中,客户端(发布者或定制者)连接至代理(例如IBM MicroBroker软件)。然后,代理支持pub/sub抽象化。MQTT支持pub/sub的“推”和“拉”模型。推模型如先前段落所述。在拉模型中,发布者向命名的队列发布,定制者从那些队列明确地移除消息。在推模型中,0至N个定制者可接收给定消息,而在拉模型中仅一个定制者接收。
发明内容
本发明的原理提供在发布和定制引擎中引入加密、认证和授权的技术。在一方面,一种控制发布-定制引擎和多个客户端之间的交互的示例性方法(可以是计算机实现的),包括以下步骤:部署多个协议栈,所述协议栈的每个包括多个可组合协议模块,所述可组合协议模块的每个实现通用接口。额外步骤包括:检测所述多个客户端的第一给定客户端希望连接至所述发布-定制引擎;以及确定所述多个客户端的所述第一给定客户端是否将以安全方式连接。响应于确定所述多个客户端的所述第一给定客户端将以所述安全方式连接,额外步骤包括:实例化所述多个协议栈的第一适当协议栈的加密实例,以实现所述安全连接。进一步步骤包括:认证所述多个客户端的所述第一给定客户端;以及授权所述多个客户端的所述第一给定客户端。
本发明的一个或多个实施例或其元件可通过包括有形计算机可读存储介质的计算机产品的形式实现,所述有形计算机可读存储介质具有执行所指出的方法步骤的计算机可用程序代码。此外,本发明的一个或多个实施例或其元件可通过一种装置的形式实现,所述装置包括存储器以及至少一个处理器,后者耦合至所述存储器,并且可操作为执行示例性方法步骤。此外,在另一方面,本发明的一个或多个实施例或其元件可通过用于执行这里所述的一个或多个方法步骤的部件的形式实现;所述部件可包括(i)硬件模块(多个);(ii)软件模块(多个);或(iii)硬件和软件模块的组合;(i)-(iii)中的任一个实现这里阐述的特定技术,并且软件模块存储在有形计算机可读存储介质(或多个这样的介质)中。
本发明的一个或多个实施例可提供一个或多个随后技术效果:
·能够动态拒绝客户端的关于给定主题的访问权限,同时保存MQTT协议的语义;
·能够同时支持来自多个客户端的多个不同认证机制。
根据结合附图阅读的示例性实施例的随后具体实施方式,本发明的这些和其他特征、方面和优点将变得清楚。
附图说明
图1示出根据本发明一方面的可组合协议栈;
图2是根据本发明另一方面的动态协议组合的流程图;
图3示出根据本发明另一方面的使用层特定信息的认证;
图4是根据本发明另一方面的基于层的认证的流程图;
图5是根据本发明另一方面的认证机制的流程图;
图6示出根据本发明另一方面通过去除消息本体保持消息流;
图7是根据本发明额外方面的非限制性示例性实施例的框图;以及
图8示出在实现本发明的一个或多个方面和/或元素中使用的计算机系统。
具体实施方式
本发明的方面使得发布/定制机制的用户能够简单有效地被认证和授权。这里将关于从主题读和写以描述推模型、以及从队列读和写以描述拉模型来讨论。主题和队列在发布/定制引擎(这里还称为代理)中被分级命名。
轻量级pub/sub机制(例如MQTT)典型地被设计为在低端设备上运行,从而他们不支持网络通信软件产品(例如WSMQ)的大范围操作。在MQTTv3中,任何人可连接至代理,并发布和/或定制任意主题。在MQTTv4中,在协议中引入密码,但是MicroBroker软件忽略他。这些事实是可通过本发明有利解决的情形的示例。
通过非限制性实例,在低端设备上的轻量级机制的适用性方面,在可能存在几百或几千个设备的网络(例如传感器网络)中,可能无法在每个设备上存储密码或证书,因为这是一个很大的管理负担。相反,可使用关于卡的MAC地址、用于与传感器通信的时间延迟、或任意其他方面的信息来执行认证。
本发明的方面实现了对于轻量级pub/sub机制的全方位安全特征;这样的特征可有利地引入简单的pub/sub代理,而不影响效率。
安全是涵盖许多不同行为的大概念。加密确保第三方不能够观察在不受保护的信道之间承载的信息的内容。认证确保通信交流中的一方可将其自身识别为对于另一方是安全的。授权确保向被识别的一方授权以执行特定操纵。一些应用需要加密到达和来自代理的所有通信,认证所有方,并且授权对于主题和队列的读和写。
这样的特征如何引入轻量级发布和定制引擎(代理)的非限制性实例如下。
加密
确保加密的技术对于本领域技术人员本身是公知的。具体地,传输层安全/安全套接字层(TLS/SSL)协议广泛用于Diffie-Hellman密钥交换的实现。对于加密,本发明的方面解决了可激活和失活加密的技术。参照图1,代理102可用于安全和非安全模式下。后者更加有效,因为加密需要计算。本发明的一个或多个实施例采用可组合协议模块,允许系统管理员确定应何时和对于哪些客户端使用加密。在这个模型下,协议栈中的不同层通过确保所有协议模块实现相同接口而像小孩子的互锁玩具块一样连接在一起,不管他们在栈中是什么位置。这样通过将SSL模块106与MQTT模块108联接实现一个或多个加密栈104的简单组合,以及通过将TCP模块112与MQTT 108联接实现明文(非加密)栈110的简单组合。MQTT模块108在两种情况下相同。MQTT模块是可组合协议模块的非限制性实例。
图2示出如何动态组合栈的流程图200。协议栈通过逐个模块解析来生成,直到栈完成。然后,对栈进行部署,并准备使用。当新客户端连接时,基于全局安全设置实例化相应栈。具体地,根据判断框202和框204和206,不断增加模块,直到栈完成;然后,部署栈。根据判断框208,如果存在更多要完成的栈(“是”分支)则重复该处理。在框210,用户连接,并且控制流向判断框212,其中根据全局安全设置作出栈是否为安全的确定。如果安全(“是”分支),则在框214中实例化安全栈,而如果非安全(“否”分支),则在框216中实例化非安全栈。
认证
参照图3,在最简单的可能认证机制中,从客户端向代理发送密码,并且如果他相应于对于该客户端记录的密码,则代理认证客户端。认证客户端的另一通用技术是通过使用仅客户端拥有的可信实体签名的证书。存在可认证客户端的许多不同方式,并且这些方式在不同环境中适用。由于可使用管理员定义的规则来组合实现认证的多个不同技术,考虑标准JAAS(Java认证和授权系统)。然而,JAAS并未定义聚集并使得认证信息可用所借助的技术。在代理的环境下,定义可组合协议栈中的每级所依赖的通用身份对象330。向JAAS认证上下文332提供这个对象330。由此,例如,网络层可识别客户端的因特网协议(IP)地址,联系人层可给出拇指印、安全套接字层(SSL)给出所提供的证书,以及MQTT层给出密码。这保留了栈的灵活性,同时允许例如“IP地址并非可信地址的那些客户端必须提供要认证的证书”的规则。
图4在流程图400中示出如何聚集身份信息以及基于该信息随后如何执行认证的处理。在框402,用户连接,并将N初始化为0。在框404,在模块N建立连接。在框406,提取模块的身份信息。在判断框408,确定是否达到模块栈的顶部;如果否(“否”分支),在框410中递增N,并返回至框404。相反,如果达到模块栈的顶部(“是”分支),在框412中从库提取认证规则,并在框414基于规则的组和身份项目的组认证。在判断框416,确定用户是否被认证;如果是(“是”分支),根据框420允许访问代理102;如果否(“否”分支),根据框418断开用户。
授权
JAAS还提供授权机制,但是这不适用于代理102,因为他授权客户端执行一段代码。结果,代码库必须反应不同的授权等级。这既不利于效率,也不利于代码简易性。本发明的一个或多个实施例采用新颖性方案,其重用主题和队列命名方案来定义对于客户端的功能集。
资源(队列或主题)名称分级构成。这允许使用通配符操作。通配符仅可用于定制请求,因为无法在通配符上发布。
例如,一个主题可以是Europe/Switzerland/Zurich,另一主题可以是Europe/Switzerland/Geneva。定制Europe/Switzerland/#的订户将随后接收关于瑞士任意城市的所有定制。
可定义客户端可执行的4个基础操作:
·向主题写
·从主题读
·向队列写
·从队列读
对于这些操作的每个,将客户端的功能定义为可能通配符名称的集。因此,例如,可对于客户端给出针对Europe/#的读访问,但是针对Europe/Switzerland/#和Europe/France/Paris的写访问。
图5作为流程图500示出基础授权过程。依据客户端具有的功能检查该客户端要关于资源执行的操作。如果客户端缺少执行操作的功能,则授权失败,并且不执行操作。否则,客户端将继续。具体地,在框502,获得操作标识符p:,以确定客户端要关于在框504获得的资源r:执行什么操作。在框506和508中分别获得用户标识符u:和环境e:。在框510中提取与客户端相应的功能集C,并且在判断框512,作出期望操作标识符p:、资源r:、用户u:、和环境e:是否包含在提取的客户端的功能C中的确定。如果是(“是”分支),则授权成功,如框516所示,而如果否(“否”分支),则授权失败,如框514。
每次客户端在代理中建立发布或定制权限时,依据适当操作的客户端功能集来匹配所提供的名称。提供的名称应该是在功能集中定义的树集的分支。由于提供的名称和功能集都可能是通配符,使用以下技术,用伪码表示:
递归描述该技术,但是可通过使用栈强制性实现等同和更有效的版本。基于栈的方法允许在命名层级中具有20个等级的1,000,000个不同功能,以匹配于在目标架构(例如低端服务器或个人计算机(PC))中小于1ms的20个等级名称。在基于栈的方法中,“功能”和“名称”都用于生成栈,在命名树以及通配符中包含不同层。两个栈都弹出,并且只要头元素匹配,则处理继续。该语义与递归调用相同,但是不使用递归。递归适于描述该处理,但是通常不是非常有效。
在一些实例中,可能有必要偶然撤销关于资源的功能。可能是客户端被认证,并在权限被撤销之前访问资源的情况。为了处理这样的情况,在其功能从与代理交互开始以来改变和没有改变的客户端之间区分;没有改变的客户端使用正常协议栈,但是对于改变了的客户端,动态增加新模块。这样的模块基于每个消息使用在伪码中的上述技术检查客户端的功能集。
现在参照图6,MQTT具有不同的交互模式,其中一些需要对消息确收。MQTT协议没有提供功能集。如果客户端预期确收消息,则在与MQTT模块的交互中简单地丢弃客户端不再具有适当权限的消息将引起问题。这可被解决,并非通过丢弃消息,而是简单地去除其有效载荷并将错误标志增加至报头。然后,这样消息的良好行为接收器预期从资源断开。不佳行为接收器可不断开,但是从这样的操作没有获得好处。因此,如图6所示,授权的发布者650向代理102提交具有本体654的发布消息652,代理102用发布确收656对其确收。将具有本体654的消息652发送至授权的订户658,其返回确收656。将没有本体654的消息652发送至非授权的订户660,其返回确收656。
因此,本发明的一个或多个实施例采用可动态组合协议模块栈来实现消息系统中的安全性,从而
1.协议模块(不管他们的特征)具有通用接口,允许他们组合在一起以通过任意方式形成完整栈
2.在配置时间决定可能栈的集
3.系统基于安全性需求决定用于给定客户端的最适合栈
4.一个栈具有加密传输层,其他栈不具有。
在至少一些情形下,每个协议模块向在连接建立时建立的实体提供关于远程客户端的信息,包括:
1.发送者的MAC地址
2.发送者的IP子网和端口
3.发送者增加的证书
4.发送者的密码和用户名
此外,在一个或多个实施例中,将协议模块提供的信息用作认证处理的一部分。此外,在至少一些情况下,使用主题和/或队列的名称来建立功能集,其中使用名称集向主题和/或队列分配读/写访问,从而在控制路径中建立到命名的主题/队列的连接的尝试必须“匹配”相应的功能集。优选地,(i)功能集和(ii)命名的主题和/或队列两者可使用通配符。
在一个或多个情形下,在撤销了功能的客户端的数据路径中动态增加新过滤器模块,从而检查每个消息以观察他是否仍旧被授权。在客户端的功能被缩减同时会话仍旧活动时,这有利地允许检查基于每个消息被执行。在至少一些情况下,过滤器去除消息的内容,并增加错误标志以允许正常协议交互继续。
图7以框图形式示出根据本发明一方面的系统的优选但非限制性实施例。安全pub/sub客户端754和标准pub/sub客户端756希望与pub/sub引擎102交互。客户端754、756在网络752上与通信管理器701交互。这样的交互通过网络层702来促进。通信管理器701包括安全协议锚703、标准协议锚705、和协议栈定义的库750。网络层702将交互从安全客户端754路由至安全协议锚703,其从库750提取适当协议栈定义,以实例化安全客户端栈104的实例。网络层702还将交互从标准客户端756路由至标准协议锚705,其从库750提取适当协议栈定义,以实例化标准客户端栈110的实例。栈104、110包括如关于图1所述的元件106、108、112。标准和安全客户端对于引擎102的访问通过安全代理登录上下文704来控制,其包括认证管理器706和授权管理器707。
根据这里的讨论,可理解,一般地,本发明的一个方面是一种控制发布-定制引擎102和多个客户端(例如客户端650、658、660、754、756)之间的交互的方法。所述方法包括以下步骤:根据图2的框202-208,部署多个协议栈。所述协议栈的每个包括多个可组合协议模块108。所述可组合协议模块的每个实现通用接口。这个步骤例如可使用图7中的通信管理器701来执行。附加步骤包括:如框210,检测所述多个客户端的第一给定客户端希望连接至所述发布-定制引擎;以及如框212,确定所述多个客户端的所述第一给定客户端是否将以安全方式连接。这些步骤例如可使用图7中的网络层702来执行。
根据判断框212的“是”分支,进一步的步骤是:响应于确定所述多个客户端的所述第一给定客户端将以安全方式连接,实例化所述多个协议栈的第一适当协议栈(由栈104之一表示)的加密实例,以实现所述安全连接。这个步骤例如可使用图7中的安全协议锚703来执行。进一步的步骤包括:认证所述多个客户端的所述第一给定客户端(例如,关于图3和4所述);以及授权所述多个客户端的所述第一给定客户端(例如,关于图5所述)。这些步骤例如可使用图7中的安全代理登录上下文704来执行。
在一个或多个实例中,额外步骤包括:检测所述多个客户端的第二给定客户端希望连接至所述发布-定制引擎(重复框210)。进一步的额外步骤可包括:通过重复框212,确定所述多个客户端的所述第二给定客户端是否将以所述安全方式连接;以及根据框216,响应于确定所述多个客户端的所述第二给定客户端并非将以所述安全方式连接(框212的“否”分支),实例化所述多个协议栈的第二适当协议栈的明文实例(由栈110之一表示),以实现所述非安全连接。步骤216例如可使用图7中的标准协议锚705来执行;重复的步骤可使用如上所述的相同模块或框来执行。可认证和授权所述多个客户端的所述第二给定客户端。
优选地,多个协议栈的第一适当协议栈的加密实例的实例化以实现安全连接包括:使用通用接口在多个协议栈的第一适当协议栈中将安全套接字层(或类似)模块106与可组合协议模块108联接;以及多个协议栈的第二适当协议栈的明文实例的实例化以实现非安全连接包括:使用通用接口在多个协议栈的第二适当协议栈中将传送控制协议(或类似)模块112与可组合协议模块108联接。这些步骤例如可使用图7中的通信管理器701来执行。
多个客户端的第一给定客户端的认证可包括:例如,如框402-410,提取在多个协议栈的第一适当协议栈的实例化的加密实例中对于可组合协议模块的每个的身份信息;以及基于所提取的身份信息建立通用身份对象。这些步骤例如可使用图7中的安全代理登录上下文704来执行。进一步可能步骤包括:向发布-定制引擎102(例如其JAAS认证上下文332)提供通用身份对象330;以及当通用身份对象332匹配于适当认证规则时,认证多个客户端的第一给定客户端,如框412-420。这些步骤例如可使用图7中的认证管理器706来执行。
再参照图5,根据框502-508,多个客户端的第一给定客户端可与用户u:关联,u:是用户标识符。此外,多个客户端的第一给定客户端的授权可包括:确定多个客户端的第一给定客户端希望执行由p:指定的操作,p:是操作标识符;以及确定期望操作在与资源r:相关的环境e:中执行,r:是资源标识符。在框510,额外可能步骤包括:提取与多个客户端的第一给定客户端关联的功能组C。框512-516指示:当参数u:、r:、p:和e:包含于C中时,授权多个客户端的第一给定客户端。资源标识符r:可标识例如主题和队列之一。操作标识符p:可标识例如读操作和写操作之一。这些步骤例如可使用图7中的授权管理器707来执行。
在一些情况下,返回图6的描述,额外步骤包括:检测,在授权多个客户端的第一给定客户端之后,多个客户端660的第一给定客户端对于与多个客户端的第一给定客户端关联的功能组C具有改变。这例如可通过授权管理器707来执行。当(例如由授权管理器707)检测到多个客户端的第一给定客户端希望执行所改变的功能组不允许的另一操作时;丢弃与不允许的操作关联的消息652的有效载荷654,并将错误标志放置于与不允许的操作关联的消息的报头中。有效载荷例如可由MQTT协议模块108来丢弃。
示例性系统和制品的细节
可采用各种技术、利用专用硬件、通用处理器、固件、软件、或上述组合来实现本发明或其组件。本发明的一个或多个实施例、或其元件可通过包括计算机可用介质的计算机成品的形式实现,其具有用于之下所示方法步骤的计算机可用程序代码。此外,本发明的一个或多个实施例、或其元件可通过包括存储器和至少一个处理器的形式实现,至少一个处处理器耦合至存储器并且可操作为执行示例性方法步骤。
一个或多个实施例可利用在通用计算机或工作站上运行的软件。参照图8,这样的实施方案可采用例如处理器802、存储器804、和例如由显示器806和键盘808形成的输入/输出接口。这里使用的术语“处理器”用于包括任意处理设备,例如,包括CPU(中央处理单元)和/或其他形式的处理电路的设备。此外,术语“处理器”可表示多于一个独立处理器。术语“存储器”用于包括与处理器或CPU相关的存储器,例如RAM(随机存取存储器)、ROM(只读存储器)、固定存储器设备(例如硬盘驱动器)、可移除存储器设备(例如盘)、闪速存储器等。此外,这里使用的短语“输入/输出接口”用于包括例如向处理单元输入数据的一个或多个机构(例如鼠标)、以及用于提供与处理单元相关的结果的一个或多个机构(例如打印机)。处理器802、存储器804、和输入/输出接口(例如显示器806和键盘808)可例如经由总线810作为数据处理单元812的一部分互连。例如经由总线810的适当互连也可向网络接口814提供,例如网卡,其可被设置与计算机网络对接,以及与媒体接口816对接,例如盘或CD-ROM驱动器,其可被设置与媒体818对接。
因此,包括用于执行这里所述的发明的方法的指令或代码的计算机软件可存储在关联存储器设备的一个或多个(例如ROM、固定或可移除存储器)上,并且当准备利用时,可部分地或整体地加载(例如到RAM中)并由CPU执行。这样的软件可包括但不限于,固件、驻留软件、微代码等。
此外,本发明可利用从计算机可用或计算机可读介质(例如媒体818)可访问的计算机程序产品的形式,其提供计算机或任意指令执行系统使用或与其关联的程序代码。为了这个说明的目的,计算机可用或计算机可读介质可以是指令执行系统、装置、或设备使用或与其关联的任意装置。介质可存储程序代码,以执行这里阐述的一个或多个方法步骤。
介质可以是电子、磁、光、电磁、红外、或半导体系统(或装置或设备)或传播介质。有形计算机可读存储介质的实例包括半导体或固态存储器(例如存储器804)、磁带、可移除计算机盘(例如媒体818)、随机存取存储器(RAM)、只读存储器(ROM)、固态磁盘和光盘(但不包括传播介质)。光盘的当前实例包括压缩盘只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适用于存储和/或执行程序代码的数据处理系统包括至少一个处理器802,其通过系统总线810直接或间接耦合至存储器元件804的至少一个处理器802。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、海量存储装置、和高速缓存存储器,其提供至少一些程序代码的临时存储,以减少在执行期间必须从海量存储装置提取代码的次数。
输入/输出或I/O设备(包括但不限于键盘808、显示器806、定点设备等)可直接(例如经由总线810)或通过中间I/O控制器(为了简化省略)耦合至系统。
网络适配器(例如网络接口814)也可耦合至系统,以使得数据处理系统能够通过中间专用网络或公共网络耦合至其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是网络适配器的几个当前可用类型。
这里,包括权利要求,“服务器”包括运行服务器程序的物理数据处理系统(例如图8所示的系统812)。应理解,这样的物理服务器可包括或不包括显示器和键盘。
用于执行本发明操作的计算机程序码可以使用一种或多种程序语言的组合来撰写,包括面向对象程序语言(例如Java、Smalltalk、C++或其它类似者)以及传统程序语言(例如“C”程序语言或其它类似的程序语言)。程序代码可以独立软件组的形式完整的于用户的计算机上执行或部分于用户的计算机上执行,或部分于用户计算机而部分于远程计算机,或者全部于远程计算机或服务器上执行。在后面的情况,远程计算机可以任何形式的网络连接至用户的计算机,包括局域网络(LAN)或广域网络(WAN),或者也可利用外部计算机来做连接(例如利用因特网服务提供商来连接至因特网)。
参照方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的实施例。当可理解流程图和/或框图的每个方框、和流程图和/或框图的方框的组合可以使用计算机程序指令来实施。这些计算机程序指令可供通用型计算机、特殊计算机的处理器或其它可程序化数据处理装置所组成的机器来执行,而指令经由计算机的处理器或其它可编程数据处理装置执行以便建立流程图和/或方框图或方框中所指定的功能/操作的部件。
这些计算机程序指令也可被储存在有形计算机可读存储介质上,以便指示计算机或其它可编程数据处理装置来进行特定的功能,而这些储存在计算机可读介质上的指令构成制成品,其内包括的指令可实施流程图和/或方框图一个或多个方框中所指定的功能/操作。计算机程序指令也可被加载到计算机上或其它可编程数据处理装置,以便于计算机或其它可编程装置上进行一系列要执行的操作步骤,而在该计算机或其它可编程装置上执行该指令时提供用于达成流程图和/或方框图一个或多个方框中所指定的功能/操作。
附图中的流程图和框图示出根据本发明各个实施例的系统、方法、和计算机程序产品的可能实现的架构、功能、和操作。由此,流程图或框图中的每个框可表示包括用于实现特定逻辑功能的一个或多个可执行指令的模块、段、或代码部分。在一些实施例中,在框中提及的功能可并非按照附图中提及的顺序发生。例如,连续示出的两个框可事实上基本同时执行,或所述框有时候可按相反顺序执行,这取决于涉及的功能。框图和/或流程图的框的每个框、以及框图和/或流程图的框的组合可通过执行特定功能或行为的基于专用硬件系统与专用硬件和计算机指令结合来实现。
此外,应注意,这里所述的任意方法可包括额外步骤:提供一种系统,包括不同软件模块,所述不同软件模块的每个在有形计算机可读可记录存储介质上实现,所述模块可包括图7所示的任意或所有组件(例如方框102、104、106、108、110、112、701-707、750;方框750可包括例如数据库中的项目)。方法步骤可随后使用硬件处理器上执行的如上所述的系统的不同软件模块和/或子模块来执行。此外,计算机程序产品可包括有形计算机可读存储介质,其具有适用于被执行以执行这里所述的一个或多个方法步骤的代码,包括向系统提供不同软件模块。
在任意情况下,应理解,这里所示的组件可在硬件、软件、或其组合的任意形式下实现;例如,专用集成电路(ASICS)、功能电路、具有相关存储器的一个或多个适当编程的通用数字计算机等。考虑到这里提供的本发明的教导,本领域技术人员将能够设想到本发明的组件的其他实现方案。
将认识到并且应理解,上述本发明的示例性实施例可通过多种不同方式实现。考虑到这里提供的本发明的教导,本领域技术人员将能够设想到本发明的组件的其他实现方案。当然,尽管这里参照附图描述了本发明的示例性实施例,但是可理解,本发明不限于这些精确实施例,并且在不脱离本发明的范围或精神的情况下,本领域技术人员可进行各种其他改变和修改。
Claims (21)
1.一种控制发布-定制引擎和多个客户端之间的交互的方法,所述方法包括以下步骤:
部署多个协议栈,所述协议栈的每个包括多个可组合协议模块,所述可组合协议模块的每个实现通用接口;
检测所述多个客户端的第一给定客户端希望连接至所述发布-定制引擎;
确定所述多个客户端的所述第一给定客户端是否将以安全方式连接;
响应于确定所述多个客户端的所述第一给定客户端将以所述安全方式连接,实例化所述多个协议栈的第一适当协议栈的加密实例,以实现所述安全连接;
认证所述多个客户端的所述第一给定客户端;以及
授权所述多个客户端的所述第一给定客户端。
2.如权利要求1所述的方法,还包括:
检测所述多个客户端的第二给定客户端希望连接至所述发布-定制引擎;
确定所述多个客户端的所述第二给定客户端是否将以所述安全方式连接;
响应于确定所述多个客户端的所述第二给定客户端并非将以所述安全方式连接,实例化所述多个协议栈的第二适当协议栈的明文实例,以实现所述非安全连接;
认证所述多个客户端的所述第二给定客户端;以及
授权所述多个客户端的所述第二给定客户端。
3.如权利要求2所述的方法,还包括:
提供一种系统,其中所述系统包括不同软件模块,所述不同软件模块的每个在有形计算机可读可记录存储介质上实现,以及其中所述不同软件模块包括通信管理器模块、网络层模块、安全协议锚模块、标准协议锚模块、和安全代理登录上下文模块;
其中:
所述多个协议栈的所述部署通过在硬件处理器上执行的所述通信管理器模块来执行;
所述检测所述多个客户端的所述第一和第二给定客户端希望连接至所述发布-定制引擎通过在所述硬件处理器上执行的所述网络层模块来执行;
所述确定所述多个客户端的所述第一和第二给定客户端是否将以所述安全方式连接通过在所述硬件处理器上执行的所述网络层模块来执行;
所述多个协议栈的所述第一适当协议栈的所述加密实例的所述实例化通过在所述硬件处理器上执行的所述安全协议锚模块来执行;
所述多个客户端的所述第一和第二给定客户端的所述认证通过在所述硬件处理器上执行的所述安全代理登录上下文模块来执行;
所述多个客户端的所述第一和第二给定客户端的所述授权通过在所述硬件处理器上执行的所述安全代理登录上下文模块来执行;以及
所述多个协议栈的所述第二适当协议栈的所述明文实例的所述实例化通过在所述硬件处理器上执行的所述标准协议锚模块来执行。
4.如权利要求3所述的方法,其中:
所述多个协议栈的所述第一适当协议栈的所述加密实例的所述实例化以实现所述安全连接包括:在所述硬件处理器上执行的所述通信管理器模块使用所述通用接口在所述多个协议栈的所述第一适当协议栈中将安全套接字层模块与所述可组合协议模块联接;以及
所述多个协议栈的所述第二适当协议栈的所述明文实例的所述实例化以实现所述非安全连接包括:在所述硬件处理器上执行的所述通信管理器模块使用所述通用接口在所述多个协议栈的所述第二适当协议栈中将传送控制协议模块与所述可组合协议模块联接。
5.如权利要求3所述的方法,其中所述不同软件模块还包括认证管理器模块,所述认证管理器模块是所述安全代理登录上下文模块的一部分,以及其中所述多个客户端的所述第一给定客户端的所述认证包括:
使用在所述硬件处理器上执行的所述安全代理登录上下文模块提取在所述多个协议栈的所述第一适当协议栈的所述实例化的加密实例中对于所述可组合协议模块的每个的身份信息;
使用在所述硬件处理器上执行的所述安全代理登录上下文模块,基于所提取的身份信息建立通用身份对象;
使用在所述硬件处理器上执行的所述认证管理器模块向所述发布-定制引擎提供所述通用身份对象;以及
当所述通用身份对象匹配于适当认证规则时,使用在所述硬件处理器上执行的所述认证管理器模块认证所述多个客户端的所述第一给定客户端。
6.如权利要求3所述的方法,其中所述不同软件模块还包括授权管理器模块,所述授权管理器模块是所述安全代理登录上下文模块的一部分,以及其中:
所述多个客户端的所述第一给定客户端与用户u:关联,u:是用户标识符;以及
所述多个客户端的所述第一给定客户端的所述授权包括通过在所述硬件处理器上执行的所述授权管理器模块执行以下子步骤:
确定所述多个客户端的所述第一给定客户端希望执行由p:指定的操作,p:是操作标识符;
确定期望所述操作在与资源r:相关的环境e:中执行,r:是资源标识符;
提取与所述多个客户端的所述第一给定客户端关联的功能组C;以及
当所述参数u:、r:、p:和e:包含于C中时,授权所述多个客户端的所述第一给定客户端。
7.如权利要求6所述的方法,其中所述资源标识符r:标识主题和队列之一。
8.如权利要求6所述的方法,其中所述操作标识符p:标识读操作和写操作之一。
9.如权利要求6所述的方法,还包括:
通过在所述硬件处理器上执行的所述授权管理器模块检测,在所述多个客户端的所述第一给定客户端的所述授权之后,所述多个客户端的所述第一给定客户端对于与所述多个客户端的所述第一给定客户端关联的所述功能组C具有改变;
通过在所述硬件处理器上执行的所述授权管理器模块检测,所述多个客户端的所述第一给定客户端希望执行所改变的功能组不允许的另一操作;以及
响应于检测到所述多个客户端的所述第一给定客户端希望执行所述不允许的操作,通过所述可组合协议模块的所述给定可组合协议模块丢弃与所述不允许的操作关联的消息的有效载荷,并将错误标志放置于与所述不允许的操作关联的所述消息的报头中。
10.如权利要求3所述的方法,其中:
所述多个协议栈的所述第一适当协议栈的所述加密实例的所述实例化以实现所述安全连接包括:在所述硬件处理器上执行的所述通信管理器模块使用所述通用接口在所述多个协议栈的所述第一适当协议栈中将安全套接字层模块与所述可组合协议模块联接;以及
所述多个协议栈的所述第二适当协议栈的所述明文实例的所述实例化以实现所述非安全连接包括:在所述硬件处理器上执行的所述通信管理器模块使用所述通用接口在所述多个协议栈的所述第二适当协议栈中将传送控制协议模块与所述可组合协议模块联接;
所述不同软件模块还包括认证管理器模块,所述认证管理器模块是所述安全代理登录上下文模块的一部分,
所述多个客户端的所述第一给定客户端的所述认证包括:
使用在所述硬件处理器上执行的所述安全代理登录上下文模块提取在所述多个协议栈的所述第一适当协议栈的所述实例化的加密实例中对于所述可组合协议模块的每个的身份信息;
使用在所述硬件处理器上执行的所述安全代理登录上下文模块,基于所提取的身份信息建立通用身份对象;
使用在所述硬件处理器上执行的所述认证管理器模块向所述发布-定制引擎提供所述通用身份对象;以及
当所述通用身份对象匹配于适当认证规则时,使用在所述硬件处理器上执行的所述认证管理器模块认证所述多个客户端的所述第一给定客户端;
所述不同软件模块还包括授权管理器模块,所述授权管理器模块是所述安全代理登录上下文模块的一部分;
所述多个客户端的所述第一给定客户端与用户u:关联,u:是用户标识符;以及
所述多个客户端的所述第一给定客户端的所述授权包括通过在所述硬件处理器上执行的所述授权管理器模块执行以下子步骤:
确定所述多个客户端的所述第一给定客户端希望执行由p:指定的操作,p:是操作标识符;
确定期望所述操作在与资源r:相关的环境e:中执行,r:是资源标识符;
提取与所述多个客户端的所述第一给定客户端关联的功能组C;以及
当所述参数u:、r:、p:和e:包含于C中时,授权所述多个客户端的所述第一给定客户端。
11.一种包括有形计算机可读可记录存储介质的计算机程序产品,所述有形计算机可读可记录存储介质包括控制发布-定制引擎和多个客户端之间的交互的计算机可用程序代码,所述计算机程序产品包括:
部署多个协议栈的计算机可用程序代码,所述协议栈的每个包括多个可组合协议模块,所述可组合协议模块的每个实现通用接口;
检测所述多个客户端的第一给定客户端希望连接至所述发布-定制引擎的计算机可用程序代码;
确定所述多个客户端的所述第一给定客户端是否将以安全方式连接的计算机可用程序代码;
响应于确定所述多个客户端的所述第一给定客户端将以所述安全方式连接,实例化所述多个协议栈的第一适当协议栈的加密实例,以实现所述安全连接的计算机可用程序代码;
认证所述多个客户端的所述第一给定客户端的计算机可用程序代码;以及
授权所述多个客户端的所述第一给定客户端的计算机可用程序代码。
12.如权利要求11所述的计算机程序产品,还包括:
检测所述多个客户端的第二给定客户端希望连接至所述发布-定制引擎的计算机可用程序代码;
确定所述多个客户端的所述第二给定客户端是否将以所述安全方式连接的计算机可用程序代码;
响应于确定所述多个客户端的所述第二给定客户端并非将以所述安全方式连接,实例化所述多个协议栈的第二适当协议栈的明文实例,以实现所述非安全连接的计算机可用程序代码;
认证所述多个客户端的所述第二给定客户端的计算机可用程序代码;以及
授权所述多个客户端的所述第二给定客户端的计算机可用程序代码。
13.如权利要求11所述的计算机程序产品,其中控制发布-定制引擎和所述多个客户端之间的交互的所述计算机可用程序代码包括不同软件模块,所述不同软件模块的每个在有形计算机可读可记录存储介质上实现,以及其中所述不同软件模块包括通信管理器模块、网络层模块、安全协议锚模块、标准协议锚模块、和安全代理登录上下文模块;
其中:
所述通信管理器模块包括部署所述多个协议栈的所述计算机可用程序代码;
所述网络层模块包括检测所述多个客户端的所述第一和第二给定客户端希望连接至所述发布-定制引擎的所述计算机可用程序代码,以及确定所述多个客户端的所述第一和第二给定客户端是否将以所述安全方式连接的所述计算机可用程序代码;
所述安全协议锚模块包括实例化所述多个协议栈的所述第一适当协议栈的所述加密实例的所述计算机可用程序代码;
所述安全代理登录上下文模块包括所述多个客户端的所述第一和第二给定客户端的认证的所述计算机可用程序代码,以及所述多个客户端的所述第一和第二给定客户端的授权的所述计算机可用程序代码;以及
所述标准协议锚模块包括实例化所述多个协议栈的所述第二适当协议栈的所述明文实例的所述计算机可用程序代码。
14.如权利要求13所述的计算机程序产品,其中:
实例化所述多个协议栈的所述第一适当协议栈的所述加密实例的所述计算机可用程序代码包括使用所述通用接口在所述多个协议栈的所述第一适当协议栈中将安全套接字层模块与所述可组合协议模块联接的计算机可用程序代码;以及
实例化所述多个协议栈的所述第二适当协议栈的所述明文实例以实现所述非安全连接包括:使用所述通用接口在所述多个协议栈的所述第二适当协议栈中将传送控制协议模块与所述可组合协议模块联接的计算机可用程序代码。
15.如权利要求13所述的计算机程序产品,其中所述不同软件模块还包括:
认证管理器模块,所述认证管理器模块是所述安全代理登录上下文模块的一部分;以及
授权管理器模块,所述授权管理器模块是所述安全代理登录上下文模块的一部分;以及
其中:
所述多个客户端的所述第一给定客户端的认证的所述计算机可用程序代码包括:
提取在所述多个协议栈的所述第一适当协议栈的所述实例化的加密实例中对于所述可组合协议模块的每个的身份信息的计算机可用程序代码;
基于所提取的身份信息建立通用身份对象的计算机可用程序代码;以及
所述认证管理器模块,所述认证管理器模块包括:
向所述发布-定制引擎提供所述通用身份对象的计算机可用程序代码;
当所述通用身份对象匹配于适当认证规则时,认证所述多个客户端的所述第一给定客户端的计算机可用程序代码;
所述多个客户端的所述第一给定客户端与用户u:关联,u:是用户标识符;以及
所述授权管理器模块包括授权所述多个客户端的所述第一给定客户端的所述计算机可用程序代码,所述授权管理器模块包括:
确定所述多个客户端的所述第一给定客户端希望执行由p:指定的操作的计算机可用程序代码,p:是操作标识符;
确定期望所述操作在与资源r:相关的环境e:中执行的计算机可用程序代码,r:是资源标识符;
提取与所述多个客户端的所述第一给定客户端关联的功能组C的计算机可用程序代码;以及
当所述参数u:、r:、p:和e:包含于C中时,授权所述多个客户端的所述第一给定客户端的计算机可用程序代码。
16.一种控制发布-定制引擎和多个客户端之间的交互的装置,所述装置包括:
存储器;以及
至少一个处理器,耦合至所述存储器,以及可操作为:
部署多个协议栈,所述协议栈的每个包括多个可组合协议模块,所述可组合协议模块的每个实现通用接口;
检测所述多个客户端的第一给定客户端希望连接至所述发布-定制引擎;
确定所述多个客户端的所述第一给定客户端是否将以安全方式连接;
响应于确定所述多个客户端的所述第一给定客户端将以所述安全方式连接,实例化所述多个协议栈的第一适当协议栈的加密实例,以实现所述安全连接;
认证所述多个客户端的所述第一给定客户端;以及
授权所述多个客户端的所述第一给定客户端。
17.如权利要求16所述的装置,其中所述至少一个处理器还可操作为:
检测所述多个客户端的第二给定客户端希望连接至所述发布-定制引擎;
确定所述多个客户端的所述第二给定客户端是否将以所述安全方式连接;
响应于确定所述多个客户端的所述第二给定客户端并非将以所述安全方式连接,实例化所述多个协议栈的第二适当协议栈的明文实例,以实现所述非安全连接;
认证所述多个客户端的所述第二给定客户端;以及
授权所述多个客户端的所述第二给定客户端。
18.如权利要求17所述的装置,还包括上面实现有不同软件模块的有形计算机可读可记录存储介质,所述不同软件模块包括通信管理器模块、网络层模块、安全协议锚模块、标准协议锚模块、和安全代理登录上下文模块;
其中:
所述多个协议栈的所述部署通过在所述至少一个处理器上执行的所述通信管理器模块来执行;
所述检测所述多个客户端的所述第一和第二给定客户端希望连接至所述发布-定制引擎通过在所述至少一个处理器上执行的所述网络层模块来执行;
所述确定所述多个客户端的所述第一和第二给定客户端是否将以所述安全方式连接通过在所述至少一个处理器上执行的所述网络层模块来执行;
所述多个协议栈的所述第一适当协议栈的所述加密实例的所述实例化通过在所述至少一个处理器上执行的所述安全协议锚模块来执行;
所述多个客户端的所述第一和第二给定客户端的所述认证通过在所述至少一个处理器上执行的所述安全代理登录上下文模块来执行;
所述多个客户端的所述第一和第二给定客户端的所述授权通过在所述至少一个处理器上执行的所述安全代理登录上下文模块来执行;以及
所述多个协议栈的所述第二适当协议栈的所述明文实例的所述实例化通过在所述至少一个处理器上执行的所述标准协议锚模块来执行。
19.如权利要求18所述的装置,其中:
所述至少一个处理器可操作为,通过使用所述通用接口在所述多个协议栈的所述第一适当协议栈中将安全套接字层模块与所述可组合协议模块联接,来实例化所述多个协议栈的所述第一适当协议栈的所述加密实例;以及
所述至少一个处理器可操作为,通过使用所述通用接口在所述多个协议栈的所述第二适当协议栈中将传送控制协议模块与所述可组合协议模块联接,来实例化所述多个协议栈的所述第二适当协议栈的所述明文实例。
20.如权利要求18所述的装置,其中所述不同软件模块还包括:
认证管理器模块,所述认证管理器模块是所述安全代理登录上下文模块的一部分;以及
授权管理器模块,所述授权管理器模块是所述安全代理登录上下文模块的一部分;以及
其中:
所述至少一个处理器可操作为,通过一下步骤来认证所述多个客户端的所述第一给定客户端,包括:
提取在所述多个协议栈的所述第一适当协议栈的所述实例化的加密实例中对于所述可组合协议模块的每个的身份信息;
基于所提取的身份信息建立通用身份对象;
使用所述认证管理器模块:
向所述发布-定制引擎提供所述通用身份对象;以及
当所述通用身份对象匹配于适当认证规则时,认证所述多个客户端的所述第一给定客户端;
所述多个客户端的所述第一给定客户端与用户u:关联,u:是用户标识符;以及
所述至少一个处理器可操作为,通过执行所述授权管理器以进行以下步骤来授权所述多个客户端的所述第一给定客户端,包括:
确定所述多个客户端的所述第一给定客户端希望执行由p:指定的操作,p:是操作标识符;
确定期望所述操作在与资源r:相关的环境e:中执行,r:是资源标识符;
提取与所述多个客户端的所述第一给定客户端关联的功能组C;以及
当所述参数u:、r:、p:和e:包含于C中时,授权所述多个客户端的所述第一给定客户端。
21.一种控制发布-定制引擎和多个客户端之间的交互的装置,所述装置包括:
部署多个协议栈的部件,所述协议栈的每个包括多个可组合协议模块,所述可组合协议模块的每个实现通用接口;
检测所述多个客户端的第一给定客户端希望连接至所述发布-定制引擎的部件;
确定所述多个客户端的所述第一给定客户端是否将以安全方式连接的部件;
响应于确定所述多个客户端的所述第一给定客户端将以所述安全方式连接,实例化所述多个协议栈的第一适当协议栈的加密实例,以实现所述安全连接的部件;
认证所述多个客户端的所述第一给定客户端的部件;以及
授权所述多个客户端的所述第一给定客户端的部件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/369,885 | 2009-02-12 | ||
US12/369,885 US10110631B2 (en) | 2009-02-12 | 2009-02-12 | Introducing encryption, authentication, and authorization into a publication and subscription engine |
PCT/US2009/042286 WO2010093375A1 (en) | 2009-02-12 | 2009-04-30 | Introducing encryption, authentication, and authorization into a publication and subscription engine |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102308548A true CN102308548A (zh) | 2012-01-04 |
Family
ID=42541362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801563472A Pending CN102308548A (zh) | 2009-02-12 | 2009-04-30 | 在发布和定制引擎中引入加密、认证和授权 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10110631B2 (zh) |
EP (1) | EP2396941A4 (zh) |
KR (1) | KR20110122731A (zh) |
CN (1) | CN102308548A (zh) |
CA (1) | CA2741121A1 (zh) |
WO (1) | WO2010093375A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016086659A1 (zh) * | 2014-12-03 | 2016-06-09 | 华为技术有限公司 | 一种业务消息的传输方法、装置及系统 |
WO2019141111A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 通信方法和通信装置 |
WO2020211344A1 (zh) * | 2019-04-17 | 2020-10-22 | 平安科技(深圳)有限公司 | 一种基于mqtt的消息分发方法、服务器、装置及存储介质 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303035B2 (en) | 2009-12-22 | 2019-05-28 | View, Inc. | Self-contained EC IGU |
EP2929671B1 (en) * | 2012-12-07 | 2017-02-22 | Microsec Szamitastechnikai Fejlesztö Zrt. | Method and system for authenticating a user using a mobile device and by means of certificates |
CN106575064B (zh) | 2014-06-30 | 2021-05-07 | 唯景公司 | 用于在功率可用性降低期间控制光学可切换窗户网络的方法和系统 |
US11740948B2 (en) | 2014-12-08 | 2023-08-29 | View, Inc. | Multiple interacting systems at a site |
US20160176630A1 (en) * | 2014-12-19 | 2016-06-23 | Zan Compute Inc. | Smart garbage bin |
US10225219B2 (en) | 2016-02-22 | 2019-03-05 | International Business Machines Corporation | Message delivery in a message system |
CN106059892A (zh) * | 2016-05-17 | 2016-10-26 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于融合通信系统的消息引擎 |
US10055909B2 (en) | 2016-07-08 | 2018-08-21 | Calamp Corp. | Systems and methods for crash determination |
US10171630B2 (en) * | 2016-08-26 | 2019-01-01 | Amazon Technologies, Inc. | Executing remote commands |
KR101890310B1 (ko) * | 2016-09-19 | 2018-08-22 | 충남대학교산학협력단 | Mqtt 프로토콜 연동을 위한 어댑터 및 그를 이용한 데이터 교환 시스템 |
US10219117B2 (en) | 2016-10-12 | 2019-02-26 | Calamp Corp. | Systems and methods for radio access interfaces |
US10473750B2 (en) | 2016-12-08 | 2019-11-12 | Calamp Corp. | Systems and methods for tracking multiple collocated assets |
US10678906B1 (en) * | 2016-12-22 | 2020-06-09 | Amazon Technologies, Inc. | Multi-service and multi-protocol credential provider |
US10367811B2 (en) | 2017-10-06 | 2019-07-30 | Stealthpath, Inc. | Methods for internet communication security |
US10374803B2 (en) | 2017-10-06 | 2019-08-06 | Stealthpath, Inc. | Methods for internet communication security |
US10361859B2 (en) | 2017-10-06 | 2019-07-23 | Stealthpath, Inc. | Methods for internet communication security |
US10630642B2 (en) | 2017-10-06 | 2020-04-21 | Stealthpath, Inc. | Methods for internet communication security |
US10375019B2 (en) | 2017-10-06 | 2019-08-06 | Stealthpath, Inc. | Methods for internet communication security |
US10397186B2 (en) | 2017-10-06 | 2019-08-27 | Stealthpath, Inc. | Methods for internet communication security |
US20190141156A1 (en) | 2017-11-06 | 2019-05-09 | Calamp Corp. | Systems and Methods for Dynamic Telematics Messaging |
US11206171B2 (en) | 2017-11-07 | 2021-12-21 | Calamp Corp. | Systems and methods for dynamic device programming |
KR102022602B1 (ko) * | 2017-11-20 | 2019-11-04 | 아주대학교산학협력단 | 게시-구독 메시지 서비스 방법 |
KR101997996B1 (ko) * | 2017-12-11 | 2019-07-08 | 건국대학교 산학협력단 | Sdn 콘트롤러에서 키 관리 서버를 이용한 보안 통신 방법 및 이를 수행하는 장치 |
US11558423B2 (en) | 2019-09-27 | 2023-01-17 | Stealthpath, Inc. | Methods for zero trust security with high quality of service |
TW202206925A (zh) * | 2020-03-26 | 2022-02-16 | 美商視野公司 | 多用戶端網路中之存取及傳訊 |
US11848767B2 (en) | 2021-06-01 | 2023-12-19 | Apple Inc. | Privacy-preserving electronic publication and subscription systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005117A1 (en) * | 2001-06-29 | 2003-01-02 | Kang Amy H. | Pluggable authentication and access control for a messaging system |
US20060209868A1 (en) * | 2005-02-25 | 2006-09-21 | Rockwell Automation Technologies, Inc. | Reliable messaging instruction |
US7376832B2 (en) * | 2003-04-21 | 2008-05-20 | International Business Machines Corporation | Distributed method, system and computer program product for establishing security in a publish/subscribe data processing broker network |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6158007A (en) * | 1997-09-17 | 2000-12-05 | Jahanshah Moreh | Security system for event based middleware |
US6256664B1 (en) * | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US7246150B1 (en) * | 1998-09-01 | 2007-07-17 | Bigfix, Inc. | Advice provided for offering highly targeted advice without compromising individual privacy |
US6263362B1 (en) * | 1998-09-01 | 2001-07-17 | Bigfix, Inc. | Inspector for computed relevance messaging |
US8914507B2 (en) * | 1998-09-01 | 2014-12-16 | International Business Machines Corporation | Advice provided for offering highly targeted advice without compromising individual privacy |
US7131000B2 (en) * | 2001-01-18 | 2006-10-31 | Bradee Robert L | Computer security system |
US7194543B2 (en) * | 2001-11-12 | 2007-03-20 | Mci, Llc | System and method for creating and managing survivable, service hosting networks |
US9124447B2 (en) * | 2002-07-26 | 2015-09-01 | International Business Machines Corporation | Interactive client computer communication |
US7720910B2 (en) * | 2002-07-26 | 2010-05-18 | International Business Machines Corporation | Interactive filtering electronic messages received from a publication/subscription service |
US20070112574A1 (en) * | 2003-08-05 | 2007-05-17 | Greene William S | System and method for use of mobile policy agents and local services, within a geographically distributed service grid, to provide greater security via local intelligence and life-cycle management for RFlD tagged items |
US7831693B2 (en) * | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US7827595B2 (en) * | 2003-08-28 | 2010-11-02 | Microsoft Corporation | Delegated administration of a hosted resource |
GB2411494B (en) | 2004-02-27 | 2006-04-12 | Toshiba Res Europ Ltd | Protocol stack with modification facility |
US8458467B2 (en) * | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US7827234B2 (en) * | 2005-01-10 | 2010-11-02 | International Business Machines Corporation | Privacy entitlement protocols for secure data exchange, collection, monitoring and/or alerting |
US7512880B2 (en) * | 2005-12-23 | 2009-03-31 | Swift Creek Systems, Llc | Method and system for presenting published information in a browser |
US20070208702A1 (en) * | 2006-03-02 | 2007-09-06 | Morris Robert P | Method and system for delivering published information associated with a tuple using a pub/sub protocol |
US7873071B2 (en) * | 2006-05-15 | 2011-01-18 | The Boeing Company | Multiple level security adapter |
US20080066181A1 (en) * | 2006-09-07 | 2008-03-13 | Microsoft Corporation | DRM aspects of peer-to-peer digital content distribution |
US8560348B2 (en) * | 2006-09-26 | 2013-10-15 | Ralph A. Korpman | Individual health record system and apparatus |
US20080120337A1 (en) * | 2006-11-21 | 2008-05-22 | Fry Jared S | Method And System For Performing Data Operations Using A Publish/Subscribe Service |
US20080133646A1 (en) * | 2006-12-04 | 2008-06-05 | Bea Systems, Inc. | System and method for fully distributed network with agents |
US9330190B2 (en) * | 2006-12-11 | 2016-05-03 | Swift Creek Systems, Llc | Method and system for providing data handling information for use by a publish/subscribe client |
US8850451B2 (en) * | 2006-12-12 | 2014-09-30 | International Business Machines Corporation | Subscribing for application messages in a multicast messaging environment |
US9209995B2 (en) * | 2006-12-29 | 2015-12-08 | Prodea Systems, Inc. | Presence status notification from digital endpoint devices through a multi-services gateway device at the user premises |
US8275404B2 (en) * | 2008-10-29 | 2012-09-25 | Google Inc. | Managing and monitoring emergency services sector resources |
US20100146101A1 (en) * | 2008-12-09 | 2010-06-10 | Morris Robert P | Method And System For Binding A Watcher Representing A Principal To A Tuple Based On A Matching Criterion |
-
2009
- 2009-02-12 US US12/369,885 patent/US10110631B2/en not_active Expired - Fee Related
- 2009-04-30 CN CN2009801563472A patent/CN102308548A/zh active Pending
- 2009-04-30 CA CA2741121A patent/CA2741121A1/en not_active Abandoned
- 2009-04-30 EP EP09840152.4A patent/EP2396941A4/en not_active Withdrawn
- 2009-04-30 WO PCT/US2009/042286 patent/WO2010093375A1/en active Application Filing
- 2009-04-30 KR KR1020117020667A patent/KR20110122731A/ko not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005117A1 (en) * | 2001-06-29 | 2003-01-02 | Kang Amy H. | Pluggable authentication and access control for a messaging system |
US7376832B2 (en) * | 2003-04-21 | 2008-05-20 | International Business Machines Corporation | Distributed method, system and computer program product for establishing security in a publish/subscribe data processing broker network |
US20060209868A1 (en) * | 2005-02-25 | 2006-09-21 | Rockwell Automation Technologies, Inc. | Reliable messaging instruction |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016086659A1 (zh) * | 2014-12-03 | 2016-06-09 | 华为技术有限公司 | 一种业务消息的传输方法、装置及系统 |
WO2019141111A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 通信方法和通信装置 |
US11411897B2 (en) | 2018-01-16 | 2022-08-09 | Huawei Technologies Co., Ltd. | Communication method and communication apparatus for message queue telemetry transport |
WO2020211344A1 (zh) * | 2019-04-17 | 2020-10-22 | 平安科技(深圳)有限公司 | 一种基于mqtt的消息分发方法、服务器、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20100205427A1 (en) | 2010-08-12 |
US10110631B2 (en) | 2018-10-23 |
KR20110122731A (ko) | 2011-11-10 |
CA2741121A1 (en) | 2010-08-19 |
WO2010093375A1 (en) | 2010-08-19 |
EP2396941A4 (en) | 2013-06-12 |
EP2396941A1 (en) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102308548A (zh) | 在发布和定制引擎中引入加密、认证和授权 | |
US20200404019A1 (en) | Mutual authentication security system with detection and mitigation of active man-in-the-middle browser attacks, phishing, and malware and other security improvements | |
US9887995B2 (en) | Locking applications and devices using secure out-of-band channels | |
US7613929B2 (en) | Method and system for biometric identification and authentication having an exception mode | |
US6351810B2 (en) | Self-contained and secured access to remote servers | |
US10650139B2 (en) | Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers | |
US8484716B1 (en) | Hosting a server application on multiple network tiers | |
EP1632877A1 (en) | Authentication of handheld devices for access to applications | |
EP2932428B1 (en) | Method of allowing establishment of a secure session between a device and a server | |
WO2016118523A1 (en) | Systems and methods for trusted path secure communication | |
WO2011138558A2 (fr) | Procede d'authentification d'un utilisateur requerant une transaction avec un fournisseur de service | |
EP1549011A1 (fr) | Procédé et système de communication entre un terminal et au moins un équipment communicant | |
EP2741214B1 (en) | Data storage system and method for security information interaction | |
US20130159428A1 (en) | Methods and apparatus for an e-mail-based management interface for virtualized environments | |
CN112887340B (zh) | 密码重置方法、装置、业务管理终端及存储介质 | |
US11909734B2 (en) | Methods and systems for authenticating identity | |
CN112154636A (zh) | 深度链接认证 | |
US20170237716A1 (en) | System and method for interlocking intrusion information | |
Reimair et al. | WebCrySIL-web cryptographic service interoperability layer | |
CN112583816B (zh) | 登录验证方法、装置、电子设备和存储介质 | |
WO2019133326A1 (en) | Securing temporal digital communications | |
EP1966974B1 (fr) | Systeme securise de saisie et de traitement de donnees d'authentification | |
CN110011992A (zh) | 系统登录方法及电子设备 | |
Hinz | Authentication for Web Services with the Internet Smart Card | |
WO2012107369A1 (fr) | Procede et dispositif de connexion a un service distant depuis un dispositif hote |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120104 |