对云环境下的应用进行远程认证的方法、装置和系统与流程

文档序号:11156476阅读:378来源:国知局
对云环境下的应用进行远程认证的方法、装置和系统与制造工艺

本发明涉及云计算,尤其涉及一种对云环境下的应用进行远程认证的方法、装置和系统。



背景技术:

目前,随着云计算的发展,云环境可以提供更稳定、更成熟的虚拟计算环境,越来越多的应用被移植到云环境中。然而,若直接将应用(尤其是需要通过物理接口来进行认证的应用)部署在云环境下,可能由于在云环境下无法正常对该等应用进行认证而造成该等应用无法正常运行。例如,应用需要通过访问USB Key来进行身份验证或安全认证,当该应用被部署在云环境中时,由于云环境下无法提供物理USB(Universal Serial Bus,通用串行总线)接口,使得该应用无法在云环境下正常运行;又例如,应用需要通过访问PCI(Peripheral Component Interconnect,周边元件扩展接口)安全模块来进行身份验证或安全认证,当该应用被部署在云环境下时,由于云环境下无法提供物理PCI接口,使得该应用无法在云环境中正常工作。

对于上述问题,现有技术中,通过修改应用的原始认证或许可过程,来使修改后的应用在被部署到云环境后能够正常地工作。然而,该解决方案产生了额外的开发花销,增加了开发成本,且由于修改了应用的原始认证或许可过程,可能会对应用提供商和用户带来不便。



技术实现要素:

有鉴于此,本发明的一个实施例解决的问题之一是能够实现云环境中的应用的远程认证,从而使得能够直接将现有应用部署在云环境下,而无需在部署之前对现有应用作任何修改。

根据本发明的一个实施例,提供了一种在虚拟设备中对云环境下的应用进行远程认证的方法,其中,所述虚拟设备部署在所述云环境下,该方法包 括:

拦截来自所述应用的认证请求;

向远程控制设备发送所述认证请求;

接收来自所述远程控制设备的与所述认证请求相对应的认证应答信息,其中,所述认证应答信息中包含针对所述认证请求的认证结果;

将所述认证应答信息提供给所述应用,以使所述应用完成认证。

根据本发明的一个实施例,提供了一种在远程控制设备中对云环境下的应用进行远程认证的方法,其中,该方法包括:

接收来自虚拟设备的所述应用的认证请求,其中,所述虚拟设备部署在云环境下;

根据所述认证请求,获得与所述认证请求相对应的认证结果;

将包含所述认证结果的认证应答信息发送至所述虚拟设备。

根据本发明的一个实施例,提供了一种在虚拟设备中对云环境下的应用进行远程认证的代理装置,其中,所述虚拟设备部署在所述云环境下,该代理装置包括:

请求拦截单元,用于拦截来自所述应用的认证请求;

第一发送单元,用于向远程控制设备发送所述认证请求;

第一接收单元,用于接收来自所述远程控制设备的与所述认证请求相对应的认证应答信息,其中,所述认证应答信息中包含针对所述认证请求的认证结果;

提供单元,用于将所述认证应答信息提供给所述应用,以使所述应用完成认证。

根据本发明的一个实施例,提供了一种在远程控制设备中对云环境下的应用进行远程认证的认证装置,其中,该认证装置包括:

第二接收单元,用于接收来自虚拟设备的所述应用的认证请求,其中,所述虚拟设备部署在云环境下;

认证单元,用于根据所述认证请求,获得与所述认证请求相对应的认证结果;

第三发送单元,用于将包含所述认证结果的认证应答信息发送至所述虚拟设备。

本发明还提供了一种对云环境下的应用进行远程认证的系统,该系统包 括本发明所述的远程控制设备以及部署在云环境下的虚拟设备,所述虚拟设备包括本发明所述的代理装置,所述远程控制设备包括本发明所述的认证装置。

与现有技术相比,本发明具有以下优点:部署在云环境下的虚拟设备具有模拟物理接口的功能,从而使得需要通过物理接口进行认证的应用能够在不进行任何修改的情况下在云环境下正常运行;虚拟设备拦截来自应用的认证请求,并向远程控制设备发送该认证请求,之后接收来自远程控制设备的与认证请求相对应的认证应答信息,从而获得在远程控制设备中对应用进行认证所得到的识别结果,以实现对应用的远程认证;虚拟设备对云环境下的应用来说是透明的,任何被部署在云环境下的应用,均能够采用远程认证的方式来进行认证,这使得能够更简单方便地将应用部署到云环境下,且无需考虑云环境下是否支持应用的认证,因此不需要为了得到云环境的支持而修改应用原有的认证过程,从而大大减少了应用提供商在将应用部署到云环境的过程中的时间和人力资源的投入,带来了极大的方便;能够在远程控制设备能中实现对云环境下的应用的远程认证,且远程控制设备能通过可扩展的USB接口或PCI接口连接多个外部安全模块,这使得远程控制设备能够支持各种认证方式,从而能够适用于各种应用;由于云环境下的所有应用均能够在远程控制设备中进行远程认证,从而能够在远程控制设备中统一管理该等应用的安全资源,如文件许可或外部安全模块等,这大大减少了管理人员的工作量。

附图说明

本发明的其它特点、特征、优点和益处通过以下结合附图的详细描述将变得更加显而易见。

图1表示根据本发明一个实施例的云计算环境。

图2为根据本发明一个实施例的对云环境下的应用进行远程认证的系统的框图。

图3为根据本发明一个实施例的在虚拟设备中对云环境下的应用进行远程认证的方法的流程图。

图4为根据本发明一个实施例的在远程控制设备中对云环境下的应用进行远程认证的方法的流程图。

图5为根据本发明一个实施例的在虚拟设备中对云环境下的应用进行远程认证的代理装置的框图。

图6为根据本发明一个实施例的在远程控制设备中对云环境下的应用进行远程认证的认证装置的框图。

图7为根据本发明一个实施例的一种云环境下的虚拟设备的通用结构框图。

图8为根据本发明一个实施例的一种远程控制设备的通用结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。现在参考图1,其中显示了示例性的云计算环境50。如图1所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图1显示的各类计算设备54A-N仅仅是示意性的,云节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的 任意类型的计算设备(例如使用网络浏览器)通信。

图2为本发明一个实施例的用于对云环境下的应用进行远程认证的系统的框图。该系统包括部署在云环境下的虚拟设备100,以及远程控制设备200。其中,应用被部署在虚拟设备100中,虚拟设备100可为云环境下的虚拟服务器或虚拟主机,优选地,所述虚拟设备具备模拟物理接口的功能,所述物理接口包括任何能够连接外部设备的接口,如USB接口、PCI接口等;需要说明的是,虚拟设备中所模拟的物理接口对应用来说是透明的,也即,应用只需正常去访问物理接口,在应用看来,其所访问的物理接口是真实的。优选地,所述远程控制设备200可按照集群或者分布地方式被部署在本地,如远程控制设备200为按照集群方式部署在本地的安全控制服务器。优选地,远程控制设备200中预先存储有与云环境下的应用相关的应用信息,如云环境下的应用的名称或标识信息、虚拟设备(也即安装应用的虚拟服务器或虚拟主机)的名称或标识信息等,以对来自云环境的认证请求进行验证,且方便统一管理。优选地,远程控制设备200与虚拟设备100共享公共秘钥。

其中,虚拟设备100与远程控制设备200之间共享安全通信信道,以保证通信的安全性;优选地,虚拟设备100与远程控制设备200之间共享基于PKI(Public Key Infrastructure,公钥基础设施)的安全通信信道,且所述虚拟设备100与所述远程控制设备200之间通过所述安全通信信道来传递认证请求和认证应答信息。具体地,虚拟设备100与远程控制设备200在两者共享的安全通信信道中采用安全通信协议,如SSL(Secure Sockets Layer,安全套接层)等,来传递信息。

需要说明的是,上述图例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何在本发明的基本思想范围内对图2所示系统所作的修改,如将远程控制设备200替换为多个服务器组成的服务器组等,均应包含在本发明的范围内。

图3为根据本发明一个实施例的在虚拟设备中对云环境下的应用进行远程认证的方法的流程图。根据本实施例的方法主要由虚拟设备来实现,该方法包括步骤S110、步骤S120、步骤S130和步骤S140。

在步骤S110中,虚拟设备拦截来自应用的认证请求。

其中,该应用安装在所述虚拟设备中。

其中,所述认证请求中能够包含任何能够用于应用的认证的信息。优选 地,所述认证请求中包含:应用的名称或标识信息(如ID)、虚拟设备的名称或标识信息;更优选地,所述认证请求还包括认证请求的类型信息(文件认证类型、USB认证类型、PCI认证类型等)。

其中,所述认证请求包括任何用于对应用进行认证的请求;优选地,所述认证请求包括以下任一项:

1)USB认证请求。

其中,所述USB认证请求表示需要通过访问USB Key来进行认证的请求,如需要通过访问USB Key来进行身份验证或安全许可的请求。

2)文件认证请求。

其中,所述文件认证请求表示需要基于文件证书或文件许可来进行认证的请求,如需要通过文件许可来进行身份验证或软件验证的请求。

3)PCI认证请求。

其中,所述PCI认证请求表示需要通过访问PCI安全模块来进行认证的请求,如需要通过访问PCI安全模块来进行身份验证或安全许可的请求。其中,所述PCI安全模块包括任何基于PCI的安全模块,如TPM(trusted platform module,可信计算模块)等。

需要说明的是,上述认证请求仅为举例,而非对本发明的限制,本领域技术人员应能理解,任何现有的或将来可能出现的用于对应用进行认证的请求,均应包含在本发明所述的认证请求的范围内。

其中,应用可在多种情况下发起认证请求。例如,当应用启动时,该应用发起认证请求;又例如,当远程的升级服务器要求对应用的合法性进行认证时,该应用发起认证请求;再例如,当应用需要执行支付操作时,该应用发起认证请求。需要说明的是,应用通过调用相应函数来发起认证请求。

具体地,在步骤S110中,虚拟设备实时地拦截来自应用的认证请求。

例如,当虚拟设备中的应用APP1启动时,该APP1发起文件认证请求来进行身份验证;则在步骤S110中,当监听到APP1发起文件认证请求的事件时,虚拟设备立即拦截该文件认证请求。

作为一种优选方案,所述虚拟设备具备模拟物理接口的功能,所述虚拟设备通过该虚拟设备所模拟的物理接口拦截来自应用的认证请求。

具体地,虚拟设备通过对所模拟的物理接口进行监听,来拦截来自应用的认证请求。

例如,虚拟设备通过监听该虚拟设备所模拟的USB接口,拦截来自应用APP2的USB认证请求。

又例如,虚拟设备通过该虚拟设备所模拟的PCI接口,拦截来自应用APP3的PCI认证请求。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何拦截来自应用的认证请求的实现方式,均应包含在本发明的范围内。

在步骤S120中,虚拟设备向远程控制设备发送所述认证请求。

其中,虚拟设备基于与远程控制设备之间共享的安全通信信道向远程控制设备发送认证请求。

具体地,虚拟设备向远程控制设备发送认证请求的实现方式包括但不限于:

1)虚拟设备直接向远程控制设备发送其所接收到的认证请求。

例如,在步骤S110中,虚拟设备拦截来自应用的认证请求request1;在步骤S120中,虚拟设备直接通过与远程控制设备之间所共享的安全通信信道,向该远程控制设备发送request1。

本实现方式1)较适用于在云环境下的所有应用均采用远程认证方式的场景。

2)所述步骤S120进一步包括步骤S1201和步骤S1202。

在步骤S1201中,虚拟设备对认证请求进行识别,获得识别结果。

其中,所述识别结果用于指示是否需要进行远程认证。例如,识别结果为“1”指示不需要进行远程认证,识别结果为“0”指示需要进行远程认证。

作为一种优选方案,所述虚拟设备中包括验证注册数据库,所述虚拟设备根据该验证注册数据库对认证请求进行识别,获得识别结果。

其中,所述验证注册数据库用于存储云环境下的应用的验证注册数据;优选地,所述验证注册数据库中包括但不限于:应用的名称和/或标识信息、应用的认证方式(如远程认证或非远程认证)。优选地,所述验证注册数据库可仅用于存储云环境下的特定应用的验证注册数据,且所述验证注册数据库中包含所述特定应用的名称和/或标识信息;例如,验证注册数据库仅用于存储云环境下的所有应用中需要进行远程认证的应用的验证注册数据,该验证注册数据库包括需要进行远程认证的每个应用的标识信息;又例如,验证 注册数据里仅用于存储云环境下的所有应用中需要进行文件认证的应用的验证注册数据,该验证注册数据库包括需要进行文件认证的每个应用的标识信息和认证方式。

其中,虚拟设备可采用多种方式根据验证注册数据库对认证请求进行识别,获得识别结果。

例如,验证注册数据库用于存储云环境下的所有应用的验证注册数据,该验证注册数据库包括应用的标识信息和应用的认证方式;则虚拟设备根据认证请求中所包括的应用的标识信息,从该验证注册数据库中读取与该标识信息相对应的认证方式,并根据该认证方式确定对该认证请求的识别结果。

又例如,验证注册数据库仅用于存储云环境下的需要进行远程认证的应用的验证注册数据,该验证注册数据库包括需要进行远程认证的应用的标识信息;则当验证注册数据库中存在认证请求中所包括的应用的标识信息时,虚拟设备所确定的识别结果指示需要进行远程认证,否则,虚拟设备所确定的识别结果指示不需要进行远程认证。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据验证注册数据库对认证请求进行识别,获得识别结果的实现方式,均应包含在本发明的范围内。

需要说明的是,虚拟设备还可采用其他方式对认证请求进行识别,获得识别结果。例如,虚拟设备对认证请求进行识别,当确定认证请求为USB认证请求或PCI认证请求时,虚拟设备确定识别结果,该识别结果指示需要对应用进行远程认证;当确定认证请求为文件认证请求时,虚拟设备确定识别结果,该识别结果指示不需要对应用进行远程认证。又例如,验证注册数据库中仅存储需要进行文件认证的应用的验证注册数据,虚拟设备对认证请求进行识别,当确定认证请求为USB认证请求或PCI认证请求时,虚拟设备确定识别结果,该识别结果指示需要对应用进行远程认证;当确定认证请求为文件认证请求时,虚拟设备通过判断该验证注册数据库中是否存在该认证请求中所包含的应用的标识信息,来获得识别结果。

在步骤S1202中,当识别结果指示需要进行远程认证时,虚拟设备向远程控制设备发送所述认证请求。

例如,在步骤S1201中,虚拟设备根据验证注册数据库对所接收到的认证请求进行识别,获得识别结果,该识别结果指示需要进行远程认证;则在 步骤S1202中,虚拟设备基于该识别结果,通过与远程控制设备之间的安全通信信道来向远程控制设备发送该认证请求。

作为步骤S1202的一种优选方案,当所述识别结果指示需要进行远程认证时,虚拟设备将发起认证请求的应用维持在请求处理状态,并向远程控制设备发送所述认证请求。其中,所述请求处理状态表示应用处于等待针对认证请求的响应的状态。更优选地,当应用接收到针对认证请求的响应后,解除该应用的请求处理状态。根据本优选方案,能够避免由于超时造成应用认证失败或者造成应用无法获得来自远程控制设备的响应。

需要说明的是,当识别结果指示不需要进行远程认证时,可直接在云环境中对该认证请求进行处理,来获得针对该认证请求的认证结果,以完成应用的认证。

本实现方式2)较适用于在云环境下的所有应用中仅部分特定应用需要采用远程认证方式的场景。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何向远程控制设备发送认证请求的实现方式,均应包含在本发明的范围内。

在步骤S130中,虚拟设备接收来自所述远程控制设备的与所述认证请求相对应的认证应答信息。

其中,所述认证应答信息用于表示远程控制设备中针对认证请求的相应,所述认证应答信息中包含针对认证请求的认证结果,该认证结果用于指示对认证请求的远程认证是否成功,如认证结果为“0”指示认证成功,认证结果为“1”指示认证失败;优选地,所述认证应答信息中还包含应用的名称或标识信息,和/或,虚拟设备的名称或标识信息等。

具体地,虚拟设备基于与远程控制设备之间的安全通信信道接收来自该远程控制设备的与认证请求相对应的认证应答信息。

例如,在步骤S120中,虚拟设备基于与该远程控制设备之间的安全通信信道向远程控制设备发送认证请求;之后,在步骤S130中,虚拟设备基于该安全通信信道接收来自远程控制设备的认证应答信息,该认证应答信息指示认证成功。

在步骤S140中,虚拟设备将其接收到的认证应答信息提供给应用,以使应用完成认证。

具体地,云环境下,虚拟设备将其在步骤S130中所接收到的认证应答信息,提供给与该认证应答信息所对应的应用,以使其完成认证;之后,该应用可基于该认证应答信息所指示的认证结果来执行相应的后续操作。

例如,当远程的升级服务器要求对APP2的合法性进行认证时,APP2发起认证请求;在步骤S110中,虚拟设备在云环境下拦截该认证请求;在步骤S120中,虚拟设备向远程控制设备发送该认证请求;之后,在步骤S130中,虚拟设备接收与该认证请求相对应的认证应答信息,其中,该认证应答信息指示认证成功;在步骤S140中,虚拟设备将该认证应答信息提供给APP2,以使APP2完成认证;则之后,基于该认证应答信息,APP2执行升级操作。

需要说明的是,当认证请求是应用通过虚拟设备中所模拟的物理接口所发起时,虚拟设备通过该模拟的物理接口将认证应答信息提供给应用(具体地,虚拟设备通过模拟物理接口的响应方式,将认证应答信息提供给应用)。

根据本实施的方案,能够实现对来自部署在云环境下的应用的各种认证请求,如文件认证请求、USB认证请求、PCI认证请求等,的远程认证;部署在云环境下的虚拟设备具有模拟物理接口的功能,从而使得需要通过物理接口进行认证的应用能够在不进行任何修改的情况下在云环境下正常运行;虚拟设备拦截来自应用的认证请求,并向远程控制设备发送该认证请求,之后接收来自远程控制设备的与认证请求相对应的认证应答信息,从而获得在远程控制设备中对应用进行认证所得到的识别结果,以实现对应用的远程认证;虚拟设备对云环境下的应用来说是透明的,任何被部署在云环境下的应用,均能够采用远程认证的方式来进行认证,这使得能够更简单方便地将应用部署到云环境下,且无需考虑云环境下是否支持应用的认证,因此不需要为了得到云环境的支持而修改应用原有的认证过程,从而大大减少了应用提供商在将应用部署到云环境的过程中的时间和人力资源的投入,带来了极大的方便。

图4是根据本发明一个实施例的在远程控制设备对云环境下的应用进行远程认证的方法的流程图,根据本实施例的方法包括步骤S210、步骤S220、和步骤S230。

在步骤S210中,远程控制设备接收来自虚拟设备的、所述应用的认证请求。

具体地,远程控制设备基于与虚拟设备之间的安全通信信道,接收来自虚拟设备的认证请求。

例如,虚拟设备基于该虚拟设备与远程控制设备之间共享的安全通信信道,采用SSL协议向该远程控制设备发送来自云环境下的应用的认证请求;在步骤S210中,远程控制设备基于该安全通信信道接收来自虚拟设备的该认证请求。

在步骤S220中,远程控制设备根据认证请求,获得与该认证请求相对应的认证结果。

例如,在步骤S210中,远程控制设备接收来自虚拟设备的认证请求request2,该request2用于对应用APP2进行身份验证;在步骤S220中,远程控制设备基于request2发起对APP2的身份验证,当确定APP2通过了身份验证时,远程控制设备获得与request2相对应的认证结果,该认证结果指示认证成功。

又例如,在步骤S210中,远程控制设备接收来自虚拟设备的认证请求request2,该request2用于对应用APP2进行身份验证;在步骤S220中,远程控制设备基于request2发起对APP2的身份验证,当确定APP2未通过身份验证时,远程控制设备获得与request2相对应的认证结果,该认证结果指示认证失败。

再例如,在步骤S210中,远程控制设备接收来自虚拟设备的认证请求request2,该request2用于对应用APP2进行身份验证;在步骤S220中,远程控制设备基于request2发起对APP2的身份验证,当超时未获得与request2相关的响应时,远程控制设备确定与request2相对应的认证结果,该认证结果指示认证失败。

作为一种优选方案,当确定所述认证请求由所述虚拟设备所模拟的物理接口所拦截时,远程控制设备通过物理连接至所述远程控制设备的外部安全模块对所述认证请求进行认证,获得认证结果。

其中,所述外部安全模块通过实际物理接口来物理连接至远程控制设备,其中,所述实际物理接口包括但不限于USB接口或PCI接口等;优选地,远程控制设备可通过实际物理接口连接多个外部安全模块。

其中,远程控制设备可采用多种方式确定认证请求是否由模拟设备所模拟的物理接口所拦截,如根据认证请求所包含的类型信息来确定该认证请求 是否由模拟设备所模拟的物理接口所拦截,又如,根据该认证请求所调用的接口类型来确定该认证请求是否由模拟设备所模拟的物理接口所拦截等。

作为一个示例,认证请求为USB认证请求,当确定该认证请求由虚拟设备所模拟的USB接口所拦截时,远程控制设备基于通过USB接口物理连接至该远程控制设备的外部安全模块,对该认证请求进行认证,获得认证结果。

作为另一种优选方案,步骤S220进一步包括步骤S2201和步骤S2202。

在步骤S2201中,远程控制设备对认证请求进行验证,获得验证结果。

其中,所述验证结果用于指示所述认证请求是否有效。例如,验证结果为“0”指示认证请求有效,验证结果为“1”指示认证请求无效。

具体地,远程控制设备根据该远程控制设备中预先存储的应用信息对认证请求进行验证,来获得验证结果。

例如,远程控制设备从认证请求中提取应用的标识信息,当所述应用信息中存在该标识信息时,远程控制设备获得对该认证请求的验证结果,该验证结果指示该认证请求有效;当所述应用信息中不存在该标识信息时,远程控制设备获得对该认证请求的验证结果,该验证结果指示该认证请求无效。

又例如,远程控制设备从认证请求中提取虚拟设备的标识信息,当所述应用信息中不存在该标识信息时,远程控制设备获得对该认证请求的验证结果,该验证结果指示该认证请求无效。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何对认证请求进行验证,获得验证结果的实现方式,均应包含在本发明的范围内。

在步骤S2202中,当验证结果指示认证请求有效时,远程控制设备对所述认证请求进行认证,获得认证结果。

例如,认证请求为文件认证请求,当验证结果指示该文件认证请求有效时,远程控制设备对该文件认证请求进行文件认证,获得认证结果。

又例如,认证请求为USB认证请求或PCI认证请求,当所述验证结果指示所述认证请求有效时,远程控制设备基于物理连接至所述远程控制设备的外部安全模块对所述认证请求进行认证,获得认证结果。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当验证结果指示认证请求有效 时,对认证请求进行认证,获得认证结果的实现方式,均应包含在本发明的范围内。

优选地,本优选方案还包括在步骤S2201之后的以下步骤:当所述验证结果指示所述认证请求无效时,远程控制设备直接获得与所述认证请求相对应的认证结果,该认证结果指示认证失败。

在步骤S230中,远程控制设备将包含所述认证结果的认证应答信息发送至所述虚拟设备。

具体地,远程控制设备基于与虚拟设备之间的安全通信信道,将认证应答信息发送至虚拟设备。

例如,远程控制设备与虚拟设备之间共享基于PKI的安全通信信道;在步骤S220中,远程控制设备获得针对认证请求的认证结果;在步骤S230中,远程控制设备基于该安全通信信道将认证应答信息发送至虚拟设备,该认证应答信息中包含该认证结果、应用的标识信息和虚拟设备的标识信息(可从认证请求中提取出应用的标识信息和虚拟设备的标识信息)。

根据本实施例的方案,能够在远程控制设备能中实现对云环境下的应用的远程认证,且远程控制设备能通过可扩展的USB接口或PCI接口连接多个外部安全模块,实现对由虚拟设备所模拟的物理接口所拦截的认证请求的认证;能够支持各种认证方式,从而能够适用于各种应用;此外,由于云环境下的所有应用均能够在远程控制设备中进行远程认证,从而能够在远程控制设备中统一管理该等应用的安全资源,如文件许可或外部安全模块等,这大大减少了管理人员的工作量。

图5为根据本发明一个实施例的在虚拟设备中对云环境下的应用进行远程认证的代理装置的框图。其中,代理装置1包括请求拦截单元110、第一发送单元120、第一接收单元130和提供单元140。需要说明的是,优选地,由所述代理装置1提供模拟物理接口的功能。

请求拦截单元110拦截来自应用的认证请求。

其中,该应用安装在所述虚拟设备中。

其中,所述认证请求中能够包含任何能够用于应用的认证的信息。优选地,所述认证请求中包含:应用的名称或标识信息(如ID)、虚拟设备的名称或标识信息;更优选地,所述认证请求还包括认证请求的类型信息(文件认证类型、USB认证类型、PCI认证类型等)。

其中,所述认证请求包括任何用于对应用进行认证的请求;优选地,所述认证请求包括以下任一项:

1)USB认证请求。

其中,所述USB认证请求表示需要通过访问USB Key来进行认证的请求,如需要通过访问USB Key来进行身份验证或安全许可的请求。

2)文件认证请求。

其中,所述文件认证请求表示需要基于文件证书或文件许可来进行认证的请求,如需要通过文件许可来进行身份验证或软件验证的请求。

3)PCI认证请求。

其中,所述PCI认证请求表示需要通过访问PCI安全模块来进行认证的请求,如需要通过访问PCI安全模块来进行身份验证或安全许可的请求。其中,所述PCI安全模块包括任何基于PCI的安全模块,如TPM(trusted platform module,可信计算模块)等。

需要说明的是,上述认证请求仅为举例,而非对本发明的限制,本领域技术人员应能理解,任何现有的或将来可能出现的用于对应用进行认证的请求,均应包含在本发明所述的认证请求的范围内。

其中,应用可在多种情况下发起认证请求。例如,当应用启动时,该应用发起认证请求;又例如,当远程的升级服务器要求对应用的合法性进行认证时,该应用发起认证请求;再例如,当应用需要执行支付操作时,该应用发起认证请求。需要说明的是,应用通过调用相应函数来发起认证请求。

具体地,请求拦截单元110实时地拦截来自应用的认证请求。

例如,当虚拟设备中的应用APP1启动时,该APP1发起文件认证请求来进行身份验证;当监听到APP1发起文件认证请求的事件时,请求拦截单元110立即拦截该文件认证请求。

作为一种优选方案,所述虚拟设备具备模拟物理接口的功能,请求拦截单元110进一步包括子拦截单元(图未示)。子拦截单元通过虚拟设备所模拟的物理接口拦截来自应用的认证请求。

具体地,子拦截单元通过对所模拟的物理接口进行监听,来拦截来自应用的认证请求。

例如,虚拟设备通过监听该虚拟设备所模拟的USB接口,拦截来自应用APP2的USB认证请求。

又例如,虚拟设备通过该虚拟设备所模拟的PCI接口,拦截来自应用APP3的PCI认证请求。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何拦截来自应用的认证请求的实现方式,均应包含在本发明的范围内。

第一发送单元120向远程控制设备发送所述认证请求。

其中,第一发送单元120基于虚拟设备与远程控制设备之间共享的安全通信信道向远程控制设备发送认证请求。

具体地,第一发送单元120向远程控制设备发送认证请求的实现方式包括但不限于:

1)第一发送单元120直接向远程控制设备发送其所接收到的认证请求。

例如,请求拦截单元110拦截来自应用的认证请求request1;第一发送单元120直接通过虚拟设备与远程控制设备之间所共享的安全通信信道,向该远程控制设备发送request1。

本实现方式1)较适用于在云环境下的所有应用均采用远程认证方式的场景。

2)第一发送单元120进一步包括第一识别单元(图未示)和第二发送单元(图未示)。

第一识别单元对认证请求进行识别,获得识别结果。

其中,所述识别结果用于指示是否需要进行远程认证。例如,识别结果为“1”指示不需要进行远程认证,识别结果为“0”指示需要进行远程认证。

作为一种优选方案,所述虚拟设备中包括验证注册数据库,第一识别单元进一步包括第二识别单元(图未示),该第二识别单元根据该验证注册数据库对认证请求进行识别,获得识别结果。

其中,所述验证注册数据库用于存储云环境下的应用的验证注册数据;优选地,所述验证注册数据库中包括但不限于:应用的名称和/或标识信息、应用的认证方式(如远程认证或非远程认证)。优选地,所述验证注册数据库可仅用于存储云环境下的特定应用的验证注册数据,且所述验证注册数据库中包含所述特定应用的名称和/或标识信息;例如,验证注册数据库仅用于存储云环境下的所有应用中需要进行远程认证的应用的验证注册数据,该验证注册数据库包括需要进行远程认证的每个应用的标识信息;又例如,验证 注册数据里仅用于存储云环境下的所有应用中需要进行文件认证的应用的验证注册数据,该验证注册数据库包括需要进行文件认证的每个应用的标识信息和认证方式。

其中,第二识别单元可采用多种方式根据验证注册数据库对认证请求进行识别,获得识别结果。

例如,验证注册数据库用于存储云环境下的所有应用的验证注册数据,该验证注册数据库包括应用的标识信息和应用的认证方式;则第二识别单元根据认证请求中所包括的应用的标识信息,从该验证注册数据库中读取与该标识信息相对应的认证方式,并根据该认证方式确定对该认证请求的识别结果。

又例如,验证注册数据库仅用于存储云环境下的需要进行远程认证的应用的验证注册数据,该验证注册数据库包括需要进行远程认证的应用的标识信息;则当验证注册数据库中存在认证请求中所包括的应用的标识信息时,第二识别单元所确定的识别结果指示需要进行远程认证,否则,第二识别单元所确定的识别结果指示不需要进行远程认证。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何根据验证注册数据库对认证请求进行识别,获得识别结果的实现方式,均应包含在本发明的范围内。

需要说明的是,第一识别单元还可采用其他方式对认证请求进行识别,获得识别结果。例如,第一识别单元对认证请求进行识别,当确定认证请求为USB认证请求或PCI认证请求时,第一识别单元确定识别结果,该识别结果指示需要对应用进行远程认证;当确定认证请求为文件认证请求时,第一识别单元确定识别结果,该识别结果指示不需要对应用进行远程认证。又例如,验证注册数据库中仅存储需要进行文件认证的应用的验证注册数据,第一识别单元对认证请求进行识别,当确定认证请求为USB认证请求或PCI认证请求时,第一识别单元确定识别结果,该识别结果指示需要对应用进行远程认证;当确定认证请求为文件认证请求时,第一识别单元通过判断该验证注册数据库中是否存在该认证请求中所包含的应用的标识信息,来获得识别结果。

当识别结果指示需要进行远程认证时,第二发送单元向远程控制设备发送所述认证请求。

例如,第二识别单元根据验证注册数据库对所接收到的认证请求进行识别,获得识别结果,该识别结果指示需要进行远程认证;则第二发送单元基于该识别结果,通过与远程控制设备之间的安全通信信道来向远程控制设备发送该认证请求。

作为第二发送单元的一种优选方案,第二发送单元进一步包括维持单元,当所述识别结果指示需要进行远程认证时,第二发送单元将发起认证请求的应用维持在请求处理状态,并向远程控制设备发送所述认证请求。其中,所述请求处理状态表示应用处于等待针对认证请求的响应的状态。更优选地,当应用接收到针对认证请求的响应后,解除该应用的请求处理状态。根据本优选方案,能够避免由于超时造成应用认证失败或者造成应用无法获得来自远程控制设备的响应。

需要说明的是,当识别结果指示不需要进行远程认证时,可直接在云环境中对该认证请求进行处理,来获得针对该认证请求的认证结果,以完成应用的认证。

本实现方式2)较适用于在云环境下的所有应用中仅部分特定应用需要采用远程认证方式的场景。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何向远程控制设备发送认证请求的实现方式,均应包含在本发明的范围内。

第一接收单元130接收来自所述远程控制设备的与所述认证请求相对应的认证应答信息。

其中,所述认证应答信息用于表示远程控制设备中针对认证请求的相应,所述认证应答信息中包含针对认证请求的认证结果,该认证结果用于指示对认证请求的远程认证是否成功,如认证结果为“0”指示认证成功,认证结果为“1”指示认证失败;优选地,所述认证应答信息中还包含应用的名称或标识信息,和/或,虚拟设备的名称或标识信息等。

具体地,第一接收单元130基于虚拟设备与远程控制设备之间的安全通信信道接收来自该远程控制设备的与认证请求相对应的认证应答信息。

例如,第一发送单元120基于虚拟设备与该远程控制设备之间的安全通信信道向远程控制设备发送认证请求;之后,第一接收单元130基于该安全通信信道接收来自远程控制设备的认证应答信息,该认证应答信息指示认证 成功。

提供单元140将第一接收单元130接收到的认证应答信息提供给应用,以使应用完成认证。

具体地,云环境下,提供单元140将第一接收单元130所接收到的认证应答信息,提供给与该认证应答信息所对应的应用,以使其完成认证;之后,该应用可基于该认证应答信息所指示的认证结果来执行相应的后续操作。

例如,当远程的升级服务器要求对APP2的合法性进行认证时,APP2发起认证请求;请求拦截单元110在云环境下拦截该认证请求;第一发送单元120向远程控制设备发送该认证请求;之后,第一接收单元130接收与该认证请求相对应的认证应答信息,其中,该认证应答信息指示认证成功;提供单元140将该认证应答信息提供给APP2,以使APP2完成认证;则之后,基于该认证应答信息,APP2执行升级操作。

需要说明的是,当认证请求是应用通过虚拟设备中所模拟的物理接口所发起时,提供单元140通过该模拟的物理接口将认证应答信息提供给应用(具体地,虚拟设备通过模拟物理接口的响应方式,将认证应答信息提供给应用)。

根据本实施的方案,能够实现对来自部署在云环境下的应用的各种认证请求,如文件认证请求、USB认证请求、PCI认证请求等,的远程认证;部署在云环境下的虚拟设备具有模拟物理接口的功能,从而使得需要通过物理接口进行认证的应用能够在不进行任何修改的情况下在云环境下正常运行;虚拟设备拦截来自应用的认证请求,并向远程控制设备发送该认证请求,之后接收来自远程控制设备的与认证请求相对应的认证应答信息,从而获得在远程控制设备中对应用进行认证所得到的识别结果,以实现对应用的远程认证;虚拟设备对云环境下的应用来说是透明的,任何被部署在云环境下的应用,均能够采用远程认证的方式来进行认证,这使得能够更简单方便地将应用部署到云环境下,且无需考虑云环境下是否支持应用的认证,因此不需要为了得到云环境的支持而修改应用原有的认证过程,从而大大减少了应用提供商在将应用部署到云环境的过程中的时间和人力资源的投入,带来了极大的方便。

图6是根据本发明一个实施例的在远程控制设备对云环境下的应用进行远程认证的认证装置的框图,其中,认证装置2包括第二接收单元210、认 证单元220和第三发送单元230。

第二接收单元210接收来自虚拟设备的、所述应用的认证请求。

具体地,第二接收单元210基于远程控制设备与虚拟设备之间的安全通信信道,接收来自虚拟设备的认证请求。

例如,虚拟设备基于该虚拟设备与远程控制设备之间共享的安全通信信道,采用SSL协议向该远程控制设备发送来自云环境下的应用的认证请求;远程控制设备中的第二接收单元210基于该安全通信信道接收来自虚拟设备的该认证请求。

认证单元220根据认证请求,获得与该认证请求相对应的认证结果。

例如,第二接收单元210接收来自虚拟设备的认证请求request2,该request2用于对应用APP2进行身份验证;认证单元220基于request2发起对APP2的身份验证,当确定APP2通过了身份验证时,认证单元220获得与request2相对应的认证结果,该认证结果指示认证成功。

又例如,第二接收单元210接收来自虚拟设备的认证请求request2,该request2用于对应用APP2进行身份验证;认证单元220基于request2发起对APP2的身份验证,当确定APP2未通过身份验证时,认证单元220获得与request2相对应的认证结果,该认证结果指示认证失败。

再例如,第二接收单元接收来自虚拟设备的认证请求request2,该request2用于对应用APP2进行身份验证;认证单元220基于request2发起对APP2的身份验证,当超时未获得与request2相关的响应时,认证单元220确定与request2相对应的认证结果,该认证结果指示认证失败。

作为一种优选方案,虚拟设备具备模拟物理接口的功能,认证单元220进一步包括子认证单元(图未示)。当确定所述认证请求由所述虚拟设备所模拟的物理接口所拦截时,子认证单元通过物理连接至所述远程控制设备的外部安全模块对所述认证请求进行认证,获得认证结果。

其中,所述外部安全模块通过实际物理接口来物理连接至远程控制设备,其中,所述实际物理接口包括但不限于USB接口或PCI接口等;优选地,远程控制设备可通过实际物理接口连接多个外部安全模块。

其中,子认证单元可采用多种方式确定认证请求是否由模拟设备所模拟的物理接口所拦截,如根据认证请求所包含的类型信息来确定该认证请求是否由模拟设备所模拟的物理接口所拦截,又如,根据该认证请求所调用的接 口类型来确定该认证请求是否由模拟设备所模拟的物理接口所拦截等。

作为一个示例,认证请求为USB认证请求,当确定该认证请求由虚拟设备所模拟的USB接口所拦截时,子认证单元基于通过USB接口物理连接至该远程控制设备的外部安全模块,对该认证请求进行认证,获得认证结果。

作为另一种优选方案,认证单元220进一步请求验证单元(图未示)和第一判断单元(图未示)。

请求验证单元对认证请求进行验证,获得验证结果。

其中,所述验证结果用于指示所述认证请求是否有效。例如,验证结果为“0”指示认证请求有效,验证结果为“1”指示认证请求无效。

具体地,请求验证单元根据远程控制设备中预先存储的应用信息对认证请求进行验证,来获得验证结果。

例如,请求验证单元从认证请求中提取应用的标识信息,当所述应用信息中存在该标识信息时,请求验证单元获得对该认证请求的验证结果,该验证结果指示该认证请求有效;当所述应用信息中不存在该标识信息时,请求验证单元获得对该认证请求的验证结果,该验证结果指示该认证请求无效。

又例如,请求验证单元从认证请求中提取虚拟设备的标识信息,当所述应用信息中不存在该标识信息时,请求验证单元获得对该认证请求的验证结果,该验证结果指示该认证请求无效。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何对认证请求进行验证,获得验证结果的实现方式,均应包含在本发明的范围内。

当验证结果指示认证请求有效时,第一判断单元对所述认证请求进行认证,获得认证结果。

例如,认证请求为文件认证请求,当验证结果指示该文件认证请求有效时,第一判断单元对该文件认证请求进行文件认证,获得认证结果。

又例如,认证请求为USB认证请求或PCI认证请求,当所述验证结果指示所述认证请求有效时,第一判断单元基于物理连接至所述远程控制设备的外部安全模块对所述认证请求进行认证,获得认证结果。

需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当验证结果指示认证请求有效时,对认证请求进行认证,获得认证结果的实现方式,均应包含在本发明的 范围内。

优选地,本优选方案还包括在请求验证单元之后执行操作的第二判断单元(图未示):当验证结果指示所述认证请求无效时,第二判断单元直接获得与所述认证请求相对应的认证结果,该认证结果指示认证失败。

第三发送单元230将包含认证结果的认证应答信息发送至虚拟设备。

具体地,第三发送单元230基于远程控制设备与虚拟设备之间的安全通信信道,将认证应答信息发送至虚拟设备。

例如,远程控制设备与虚拟设备之间共享基于PKI的安全通信信道;认证单元220获得针对认证请求的认证结果;第三发送单元230基于该安全通信信道将认证应答信息发送至虚拟设备,该认证应答信息中包含该认证结果、应用的标识信息和虚拟设备的标识信息(可从认证请求中提取出应用的标识信息和虚拟设备的标识信息)。

根据本实施例的方案,能够在远程控制设备能中实现对云环境下的应用的远程认证,且远程控制设备能通过可扩展的USB接口或PCI接口连接多个外部安全模块,实现对由虚拟设备所模拟的物理接口所拦截的认证请求的认证;支持各种认证方式,从而能够适用于各种应用;此外,由于云环境下的所有应用均能够在远程控制设备中进行远程认证,从而能够在远程控制设备中统一管理该等应用的安全资源,如文件许可或外部安全模块等,这大大减少了管理人员的工作量。

图5-6中的各单元可以采用软件、硬件(例如集成电路、FPGA等)、或软硬件结合的方式实现。

现在参考图7,其示出了按照本发明一个实施例的云环境下的虚拟设备的通用结构框图。虚拟设备100可以包括存储器810和处理器820。存储器810可以存储可执行指令。处理器820可以根据存储器810所存储的可执行指令,实现图5中的各个单元所执行的操作。

现在参考图8,其示出了按照本发明一个实施例的远程控制设备200的通用结构框图。远程控制设备200可以包括存储器910和处理器920。存储器910可以存储可执行指令。处理器920可以根据存储器910所存储的可执行指令,实现图6中的各个单元所执行的操作。

此外,本发明实施例还提供一种机器可读介质,其上存储有可执行指令,当所述可执行指令被执行时,使得机器执行处理器820所实现的操作。

此外,本发明实施例还提供一种机器可读介质,其上存储有可执行指令,当所述可执行指令被执行时,使得机器执行处理器920所实现的操作。

本领域技术人员应当理解,上面所公开的各个实施例,可以在不偏离发明实质的情况下做出各种变形和改变。因此,本发明的保护范围应当由所附的权利要求书来限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1