CN107430669B - 计算系统和方法 - Google Patents

计算系统和方法 Download PDF

Info

Publication number
CN107430669B
CN107430669B CN201580075317.4A CN201580075317A CN107430669B CN 107430669 B CN107430669 B CN 107430669B CN 201580075317 A CN201580075317 A CN 201580075317A CN 107430669 B CN107430669 B CN 107430669B
Authority
CN
China
Prior art keywords
virtual
computer
user
virtual computer
security device
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
Application number
CN201580075317.4A
Other languages
English (en)
Other versions
CN107430669A (zh
Inventor
格雷姆·斯皮克
克里斯·霍伊·波伊
尼尔·理查森
皮特·麦克雷迪
亚当·劳
科拉多·菲奥里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bankwater Ltd
Original Assignee
Bankwater Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from AU2014904884A external-priority patent/AU2014904884A0/en
Application filed by Bankwater Ltd filed Critical Bankwater Ltd
Publication of CN107430669A publication Critical patent/CN107430669A/zh
Application granted granted Critical
Publication of CN107430669B publication Critical patent/CN107430669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在图12所示的一种优选形式中,提供了一种提供虚拟计算机(1084)供用户(1088)使用的计算机实现方法(1082),该方法包括:提供虚拟计算机服务(1086)并向每个用户提供用户安全设备(1090)。每个用户安全设备(1090)提供了包括远程访问连接器、显示输出和认证设备的锁定操作环境。该方法(1082)包括接收由用户发起并由远程访问连接器发送到虚拟计算机服务(1086)的远程连接请求。认证设备向远程访问连接器提供第一认证数据。虚拟计算机服务(1086)认证该第一认证数据,以确保安全设备(1090)是经认证的安全设备,有权从虚拟计算机服务(1086)分配虚拟计算机。

Description

计算系统和方法
参考文献
本申请要求2014年12月2日星期二提交的澳大利亚临时申请20149048847、2014年12月3日星期三提交的澳大利亚临时申请2014904902以及2015年5月31日星期日提交的澳大利亚临时申请2015902028的优先权。优先权申请以申请人的名义提交,并且为了所有目的通过引用的方式并入本文。
技术领域
在特定形式中,本发明涉及计算系统和方法。在特别优选的形式中,提供了一种安全设备,用于提供安全的财务接口,允许用户访问其银行帐户。
背景技术
为使用户在线访问其财务帐户,用户通常必须通过连接到互联网的HTML浏览器进行连接。用户通常必须在提供给用户访问权限之前输入用户名和密码。财务账户的例子包括银行账户、资产组合、信托账户等。
在某些情况下,用户还必须输入使用SMS或其它形式的推送通知发送给用户的进一步验证细节。这种性质的双因素认证系统提供了更高的安全级别。
不幸的是用于建立互联网浏览器连接的用户计算机系统经常受到网络攻击威胁。这样的网络攻击威胁通常来源于缺乏维护的系统,其不限制用户程序的安装。网络威胁包括恶意软件和木马以及其它攻击。移动电话和SMS推送通知具有类似的网络攻击威胁。
应当认识到,本说明书中的任何讨论旨在解释本发明的上下文。不作为承认所讨论的材料构成任何特定国家或地区的现有技术基础或相关公知常识的一部分。
发明内容
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机供用户使用的计算机实现方法,该方法包括:提供虚拟计算机服务并向每个用户提供用户安全设备;每个用户安全设备提供了锁定操作环境,包括远程访问连接器和认证设备;在该方法中,接收由用户发起并由远程访问连接器发送到虚拟计算机服务的远程连接请求;认证设备向远程访问连接器提供第一认证数据;以及虚拟计算机服务认证该第一认证数据,以确保安全设备是经认证的安全设备,有权从虚拟计算机服务分配虚拟计算机。
优选地,通过将每个用户安全设备插入到本地计算机中来使用用户安全设备,每个用户安全设备提供包括远程访问连接器和认证设备的锁定系统环境;远程访问连接器向虚拟计算机服务发起远程连接请求;并且认证设备向远程访问连接器提供唯一识别本地计算机的第一认证数据,用于确保安全设备有权从虚拟计算机服务分配虚拟计算机。
优选地,在配置操作期间,安全设备发送唯一识别本地计算机的第一认证数据,并且虚拟计算机服务使用第一认证数据将虚拟计算机服务上的用户帐户与本地计算机相关联。
优选地,在配置操作期间,安全设备发送唯一识别本地计算机的第一认证数据,并且虚拟计算机服务使用第一认证数据将虚拟计算机服务上的用户帐户与本地计算机一一对应地相关联。
根据本文所描述的优选实施方式的一个方面,提供了一种由用户使用的安全设备,安全设备包括:锁定系统环境,包括远程访问连接器、显示输出和认证设备;远程访问连接器能够向虚拟计算机服务发起远程连接请求;显示输出用于生成与虚拟计算机相关联的图形用户界面;以及认证设备,向远程访问连接器提供第一认证数据,用于确保安全设备有权从虚拟计算机服务分配虚拟计算机。
优选地,锁定系统环境包括操作系统,旨在防止第三方攻击并且仅仅提供远程桌面服务、认证服务、选择器交换服务和存储服务。
优选地,安全设备包括:单步激活器,用于与远程访问连接器通信以发起远程连接请求;单步激活器能够由用户以单一动作操作。
优选地,单步激活器与远程访问连接器通信以发起远程连接请求;认证设备向远程访问连接器提供认证数据;认证数据能够由虚拟计算机服务使用以认证远程连接请求。
优选地,第一认证数据对于安全设备是唯一的;认证数据能够由虚拟计算机服务使用以认证该设备,并且因此来认证该请求。
优选地,从构成安全设备的一部分的可读存储器读取加密数据。
优选地,该安全设备还包括选择器输入集线器,其能够选择是将来自至少一个输入设备的输入命令信号发送到远程访问连接器还是发送到与安全设备相同位置的本地接收器。
优选地,选择器输入能够连接到键盘和鼠标;选择器输入集线器能够选择是将来自键盘和鼠标的输入命令信号发送给远程访问连接器还是发送到本地计算机。
优选地,安全设备包括能够选择视频信号并将其引导到安全设备的显示输出的选择器视频集线器;视频信号选自远程访问连接器和安全设备的视频输入端口的视频输出。
优选地,安全设备包括能够选择视频信号并将其引导到安全设备的显示输出的选择器视频集线器;视频信号选自远程访问连接器和安全设备的视频输入端口的视频输出,该视频输入端口能够连接到本地计算机的视频输出。
优选地,安全设备包括单步激活器,用于与远程访问连接器通信以发起远程连接请求并切换形成为安全设备的一部分的选择器集线器。
优选地,选择器集线器提供选择器输入集线器,其能够选择是将来自至少一个输入设备的输入命令信号发送到远程访问连接器还是发送到与安全设备相同位置的本地接收器。
优选地,选择器集线器提供选择器视频集线器,其能够选择视频信号并将其引导到安全设备的显示输出;视频信号选自远程访问连接器和安全设备的视频输入端口的视频输出。
优选地,选择器集线器包括物理传感器,其以可逆的方式响应单个物理动作,以将视频输出、键盘和鼠标输入从本地操作系统断开,以便可用于远程访问连接器。
优选地,安全设备包括允许虚拟计算机系统确定安全设备的位置的定位器。
优选地,安全设备包括定位器,用于确定设备位置以及发送到在安全设备位置上的虚拟计算机服务的数据。对安全设备的位置的确定可以是估计值。优选地,定位器能够估计设备的大概位置,通过参考以下中的一个或多个:(i)GPS;(ii)辅助GPS;(iii)综合GPS;(ii)运营商蜂窝ID;(ii)载体三角测量;(iv)WIFI;(iv)蓝牙信标;(vi)地面发射器。优选地,这些技术的各种组合由定位器使用。
优选地,安全设备包括指示器,用于指示设备是否位于授权位置。优选地,用于多个安全设备的一个位置或授权位置的存储由虚拟计算机服务维护。
优选地,该设备通过互联网进行通信。
安全设备可能够通过移动电话网络进行通信,该移动电话网络包括基站(蜂窝站)的地面蜂窝网络。该设备可能够通过包括轨道卫星(卫星电话网络)的移动电话网络进行通信。该设备可包括并且能够使用移动通用集成电路卡接收和通信(通俗地称为SIM卡)。SIM卡可用于提供设备的标识符。
优选地,安全设备是具有锁定系统环境的专用金融安全设备,用于提供对财务信息的访问。财务信息可能是银行信息、信托账户信息、股票投资组合信息。
优选地,安全设备是具有锁定系统环境的专用资产安全设备,用于提供对资产信息的访问。资产信息可能是不动产投资组合信息。
根据本文所描述的优选实施方式的一个方面,提供了一种用于本地计算机的安全设备,该设备包括:锁定系统环境,包括远程访问连接器和认证设备;远程访问连接器能够向虚拟计算机服务发起远程连接请求;以及认证设备,能够向远程访问连接器提供第一认证数据,用于确保安全设备有权从虚拟计算机服务分配虚拟计算机。
优选地,锁定系统环境包括旨在防止第三方攻击的操作系统,并且仅仅提供远程桌面服务和认证服务。
优选地,锁定系统环境包括旨在防止第三方攻击的操作系统,并且仅仅提供远程桌面服务、认证服务和存储服务。
优选地,认证设备能够向远程访问连接器提供第一认证数据;虚拟计算机服务能够使用第一认证数据来认证远程连接请求。
优选地,第一认证数据包括对本地计算机唯一的认证数据。
优选地,第一认证数据包括对安全设备唯一的认证数据。
优选地,安全设备包括可移动介质,其能够插入以在引导本地计算机时提供操作系统。
优选地,电子安全设备包括拇指驱动器。
优选地,电子安全设备包括光盘。
优选地,安全设备包括可移动介质,其能够连接以在引导本地计算机时提供操作系统。可移动介质可电连接或以其它方式连接。
USB可移动驱动器的直接物理插入是优选的。
根据本文所描述的优选实施方式的一个方面,提供了一种与具有本地显示屏的本地计算机一起使用的外设交换机,外设交换机包括:(i)远程访问连接器和认证设备;以及(ii)用于连接到键盘、鼠标、本地计算机和本地显示屏的多个端口或电缆;远程访问连接器配置为从认证存储器读取认证数据并且利用虚拟计算机服务进行认证,以便将虚拟计算机与该设备相关联;交换机可操作以在远程访问连接器和本地计算机之间移动显示屏、键盘和鼠标的有效关联;其中当远程访问连接器未连接到虚拟计算机并且关联是或将要移动到远程访问控制器时,远程访问控制器自动执行针对利用虚拟计算机服务进行认证的远程访问连接器的序列,以相对无缝的方式连接虚拟计算机。
根据本文所描述的优选实施方式的一个方面,提供了一种计算机系统,包括:虚拟计算机服务,其能够将虚拟计算机与便携式外围设备相关联,其中每个外围设备包括用于与具有显示屏的本地计算机一起使用的外设交换机,外设交换机包括:(i)远程访问连接器和认证设备;以及(ii)用于连接到键盘、鼠标、本地计算机和本地显示屏的多个端口或电缆;远程访问连接器配置为从认证存储器读取认证数据并且利用虚拟计算机服务进行认证,以便将虚拟计算机与该设备相关联;交换机可操作以在远程访问连接器和本地计算机之间移动显示屏、键盘和鼠标的有效关联;其中当远程访问连接器未连接到虚拟计算机并且关联是或将要移动到远程访问控制器时,远程访问控制器自动执行针对利用虚拟计算机服务进行认证的远程访问连接器的序列,以相对无缝的方式连接虚拟计算机。
根据本文所描述的优选实施方式的一个方面,提供了一种供用户使用的设备,该设备包括:远程访问连接器;显示输出和认证设备;远程访问连接器能够向虚拟计算机服务发起远程连接请求;显示输出用于生成与虚拟计算机相关联的图形用户界面;以及认证设备向远程访问连接器提供第一认证数据,用于确保设备有权从虚拟计算机服务分配虚拟计算机。
优选地,虚拟计算机服务包括配置为在设备级别认证设备的计算机系统。
优选地,虚拟计算机服务包括配置为在分配虚拟计算机之前在设备级别认证设备的计算机系统。
根据本文所描述的优选实施方式的另一方面,提供了一种供用户使用的计算机系统,该系统包括:(i)用于提供虚拟计算机的虚拟计算机服务;以及(ii)用于连接到虚拟计算机的安全设备;每个安全设备包括:锁定系统环境,其包括远程访问连接器、显示输出和认证设备;远程访问连接器能够向虚拟计算机服务发起远程连接请求;显示输出用于生成与虚拟计算机相关联的图形用户界面;并且认证设备向远程访问连接器提供第一认证数据,用于确保安全设备有权从虚拟计算机服务分配虚拟计算机。
优选地,每个锁定系统环境包括操作系统,旨在防止第三方攻击并仅仅提供远程桌面服务、认证服务、选择器交换服务和存储服务。
优选地,每个安全设备还包括单步激活器,用于与远程访问连接器通信以发起远程连接请求;该单步激活器能够由用户通过单一动作来操作以连接到虚拟计算机服务。
优选地,单步激活器与远程访问连接器通信以发起远程连接请求;并且认证设备为远程访问连接器提供第一认证数据。
优选地,认证数据对于安全设备是唯一的。
优选地,单步激活器与远程访问连接器通信以发起远程连接请求;认证设备向远程访问连接器提供认证数据;并且虚拟计算机服务请求进一步的认证数据以提供双因素认证。
优选地,所需的进一步认证数据包括以下中的至少一个:(i)访问密码;(iii)一次性认证码;和(iii)由虚拟计算机服务发送的唯一推送认证码。
优选地,认证设备能够从连接到安全设备的可移除一次性密码生成器中读取加密数据,并提供一次性密码作为远程访问连接器使用的进一步认证数据。
优选地,从构成安全设备的一部分的可读存储器中读取加密数据。
优选地,虚拟计算机服务分配虚拟计算机并且仅向单个应用提供访问,允许用户访问用户的财务信息。
优选地,虚拟计算机服务分配虚拟计算机并提供对单个应用的访问,允许用户访问用户银行信息并将银行信息传送到存储区域。
优选地,虚拟计算机服务适于随着时间的推移,为具有不同IP地址的每个设备分配不同的虚拟计算机;其中主动地选择IP地址以与不同的地理位置相关联。
优选地,虚拟计算机服务能够根据旨在限制向第三方泄露安全漏洞或未经授权的信息的可能性的策略来分配虚拟计算机。优选地,这包括将与不同地理位置相关联的虚拟计算机分配给设备。优选地,虚拟计算机位于世界的不同地区,以便具有不同的IP(互联网协议)地址。虚拟计算机可位于不同地理位置的数据中心。
优选地,虚拟计算机服务配置为维护用于每个安全设备的一个或多个授权的安全设备位置的列表。优选地,虚拟计算机服务配置为从安全设备接收位置数据。
位置数据可通过参考以下中的一个或多个来确定:(i)GPS;(ii)辅助GPS;(iii)综合GPS;(ii)运营商蜂窝ID;(ii)载体三角测量;(iv)WIFI;(iv)蓝牙信标;(vi)地面发射器。优选地,这些技术的各种组合由定位器使用。
优选地,虚拟计算机服务配置为向每个设备发送信息以显示设备是否在授权位置的指示符。如果设备不在授权位置,则虚拟计算机服务不提供用于设备访问的虚拟计算机。
优选地,虚拟计算机服务分配虚拟计算机并提供对单个应用的访问,允许用户访问用户银行信息并将银行信息传送到存储区域。
根据本文所描述的优选实施方式的另一方面,提供了一种提供虚拟计算机以供用户使用的计算机实现方法,该方法包括:提供虚拟计算机服务并向每个用户提供用户安全设备;每个用户安全设备提供锁定操作环境,包括远程访问连接器、显示输出和认证设备;在该方法中,接收由用户发起的并由远程访问连接器发送到虚拟计算机服务的远程连接请求;认证设备向远程访问连接器提供第一认证数据;以及虚拟计算机服务认证第一认证数据,以确保安全设备是经认证的安全设备,有权从虚拟计算机服务分配虚拟计算机。
优选地,该方法包括:随着时间的不同,将不同的虚拟计算机分配给具有不同IP地址的每个设备;其中选择IP地址以与不同的地理位置相关联。
优选地,虚拟计算机服务或分配的虚拟计算机从用户处请求进一步的认证数据以提供双因素认证。
优选地,其中安全设备的第一认证数据对于安全设备或预定的安全设备组是唯一的;并且由远程访问连接器提供虚拟计算机服务,用于确保安全设备有权分配虚拟计算机。
优选地,虚拟计算机服务分配虚拟计算机并且仅向单个应用提供访问,允许用户访问用户的财务信息。
优选地,虚拟计算机服务分配虚拟计算机并且仅向单个应用提供访问,允许用户访问用户的资产信息。
优选地,虚拟计算机服务配置为维护授权设备位置的列表。
优选地,虚拟计算机服务配置为从安全设备接收位置数据。
位置数据可通过参考以下中的一个或多个来确定:(i)GPS;(ii)辅助GPS;(iii)综合GPS;(ii)运营商蜂窝ID;(ii)载体三角测量;(iv)WIFI;(iv)蓝牙信标;(vi)地面发射器。优选地,这些技术的各种组合由定位器使用。
优选地,虚拟计算机服务配置为向每个设备发送信息以显示设备是否在授权位置的指示符。
当然,在计算中不能提供绝对的。对于本领域技术人员来说显而易见的是,“安全”、“锁定”和“防止”被解读为在没有绝对的情况下配置为必要目的的意义。本发明的优选实施方式总是可能被第三方损害。安全是相对的,并且通常在这种情况下基本上提供尽可能多的可能性和可行性。
再次在目的意义上来说,锁定系统通常是最小的以限制对可能存在安全风险的无关特征的访问。随着发现漏洞,通常在现有功能上进行更新以限制安全风险。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,该方法包括:确保用户的一系列系统登录请求导致向每个用户提供具有不同地理位置的一系列虚拟计算机。
优选地,该方法是出于安全原因,并且旨在限制向第三方泄露安全漏洞或未经授权的信息的可能性。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,该方法包括:确保用户的一系列系统登录请求导致向每个用户提供反映应用更新的一系列虚拟计算机;通过从暂停的虚拟计算机池中恢复虚拟计算机来提供每个虚拟计算机,其中暂停的虚拟计算机基于至少一个虚拟计算机模板;在从暂停的虚拟计算机池恢复之后定制每个虚拟计算机以提供活跃的虚拟计算机;并定期更新至少一个虚拟计算机模板。
优选地,该方法包括,基于用户的系统注销请求,通过终止虚拟计算机来确保定期更新提供给用户的虚拟计算机。
优选地,该方法包括,基于一个或多个定期更新的虚拟计算机模板,通过维护池中的暂停的虚拟计算机来确保定期更新提供给用户的虚拟计算机。
优选地,该方法包括维护池中的暂停的虚拟计算机,其包括在池中创建暂停的虚拟计算机以及确保暂停的虚拟计算机具有期望的周转率。
优选地,该方法包括维护池中的暂停的虚拟计算机,其包括在池中提供暂停的虚拟计算机以及从池中删除或以其它方式移除旧的暂停的虚拟计算机。
优选地,该方法包括在池中提供暂停的虚拟计算机,每个暂停的虚拟计算机具有暂停在基本部署状态的服务。
优选地,该方法包括在池中提供暂停的虚拟计算机,每个暂停的虚拟计算机具有暂停在基本部署状态的远程桌面服务。
优选地,基本部署状态包括这样的状态:在启用和功能方面,服务可用作完整操作系统的一部分。
优选地,该方法包括通过克隆一个或多个虚拟计算机模板中以提供多个虚拟计算机来在池中提供暂停的虚拟计算机;根据不同的用户类别在虚拟机上安装应用程序;并暂停虚拟计算机。
优选地,为了适应不同的用户类别,该方法包括从多个虚拟计算机卸载应用程序,虚拟计算机是从至少一个虚拟计算机模板克隆而来。
优选地,该方法包括在池中创建暂停的虚拟计算机,每个暂停的虚拟计算机具有暂停在基本部署状态的服务;以及确保应用程序安装或卸载的持续时间限制在30秒或更短。
优选地,为用户定制恢复的虚拟计算机包括为用户分配安全配置文件
优选地,该方法包括与分类更新设备通信,以指示活跃的虚拟计算机响应于用户分类中的改变来安装或移除应用。
优选地,暂停的虚拟机以不可重复的暂停状态暂停在存储器中。暂停的虚拟机可以可重复的暂停状态暂停在存储器中。暂停的虚拟机可以不可重复的暂停状态暂停在磁盘上。暂停的虚拟机可以可重复的暂停状态暂停在磁盘上。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,该方法包括:创建至少一个虚拟计算机模板;确定至少一个虚拟计算机模板或其中的每一个是否需要更新;基于至少一个虚拟计算机模板来缓存暂停的虚拟计算机;恢复缓存的暂停的虚拟计算机以响应系统登录请求来提供活跃的虚拟计算机。
优选地,每个暂停的虚拟计算机缓存有暂停在基本部署状态的服务。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,该方法包括:提供一系列虚拟计算机作为一系列登录的结果;其中在该系列虚拟计算机中提供每个虚拟计算机,包括从暂停的虚拟计算机池中恢复暂停的虚拟计算机以提供恢复的虚拟计算机并定制恢复的虚拟计算机;池中暂停的虚拟计算机基于至少一个虚拟计算机模板。
优选地,该方法包括在池中创建暂停的虚拟计算机,每个暂停的虚拟计算机具有暂停在基本部署状态的服务。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,该方法包括:缓存暂停的虚拟计算机;以及恢复缓存的已暂停的虚拟计算机,以响应于系统登录请求提供活跃的虚拟计算机。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,该方法包括:提供一系列虚拟计算机作为用户的一系列登录结果;其中在该系列虚拟计算机中提供每个虚拟计算机,包括恢复暂停的虚拟计算机以提供恢复的虚拟计算机;以及为用户定制恢复的虚拟计算机。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,该方法包括:确保用户的一系列系统登录请求导致向用户提供反映应用更新的一系列虚拟计算机;通过从暂停的虚拟计算机池中恢复虚拟计算机来提供每个虚拟计算机,其中暂停的虚拟计算机基于至少一个虚拟计算机模板;在从暂停的虚拟计算机池中恢复之后定制每个虚拟计算机以提供活跃的虚拟计算机;以及定期更新至少一个虚拟计算机模板。
根据本文所描述的优选实施方式的一个方面,提供了一种用于提供虚拟计算机的计算机系统,该计算机系统包括:基于至少一个虚拟计算机模板来存储暂停的虚拟计算机池的池设备;以及用于提供一系列虚拟计算机的配置管理器,作为用户的一系列系统登录请求结果;配置管理器包括更新设备、恢复设备和定制设备;该更新设备用于更新至少一个虚拟计算机模板或其中的每一个;恢复设备用于从由池设备提供的暂停虚拟计算机池中恢复虚拟计算机;定制设备用于在从虚拟计算机池恢复之后定制虚拟计算机以提供活跃的虚拟计算机。
优选地,该配置管理器包括基于系统注销请求来终止虚拟计算机的终止设备;该终止设备用于协助确保定期更新向用户提供的虚拟计算机。
优选地,该配置管理器能够基于一个或多个定期更新的虚拟计算机模板通过维护在池中的暂停的虚拟计算机来确保定期更新提供给用户的虚拟计算机。
优选地,该配置管理器配置为通过确保暂停的虚拟计算机具有期望的周转率来维护在池中暂停的虚拟计算机。
优选地,该配置管理器配置为通过在池中创建暂停的虚拟计算机并且删除或以其它方式移除池中旧的暂停的虚拟计算机来维护在池中的暂停的虚拟计算机。
优选地,该配置管理器包括配置用于在池中提供暂停的虚拟计算机的创建设备,每个暂停的虚拟计算机具有暂停在基本部署状态的服务。
优选地,创建设备配置用于在池中提供暂停的虚拟计算机,每个暂停的虚拟计算机具有暂停在基本部署状态的远程桌面服务。
优选地,基本部署状态包括这样的状态:在启用和功能方面,服务可用作完整操作系统的一部分。
优选地,该配置管理器包括:创建设备,用于通过克隆至少一个虚拟计算机模板中的一个或多个以提供多个虚拟计算机而在池中提供暂停的虚拟计算机;安装设备,用于根据不同用户类别安装应用程序;以及暂停设备,用于暂停虚拟计算机。
优选地,配置设备包括用于适应不同用户类别的卸载设备,该卸载设备用于从虚拟计算机卸载应用程序,该虚拟计算机是从至少一个虚拟计算机模板克隆的。
优选地,该系统包括分类更新设备,用于指示活跃的虚拟计算机响应于用户分类的改变来安装或移除应用程序。
根据本文所描述的优选实施方式的一个方面,提供了一种用于向用户提供虚拟计算机的计算机系统,该计算机系统包括:配置管理器,用于为用户的一系列系统登录请求提供一系列虚拟计算机;该配置管理器包括恢复设备和定制设备;该恢复设备用于恢复暂停的虚拟计算机;该定制设备用于在恢复后为用户定制虚拟计算机。
根据本文所描述的优选实施方式的一个方面,提供了一种用于提供虚拟计算机的计算机系统,该计算机系统包括:创建设备,用于提供虚拟计算机模板;更新设备,用于确定改进的虚拟计算机模板是否需要新的更新;缓存设备,用于基于虚拟计算机模板来缓存虚拟计算机;以及恢复设备,用于恢复缓存的暂停的虚拟计算机,以响应于用户的系统登录请求来提供虚拟计算机。
优选地,缓存设备配置为将每个暂停的虚拟计算机缓存为处于暂停在基本部署状态的服务的状态。
根据本文所描述的优选实施方式的一个方面,提供了一种用于提供虚拟计算机的计算机系统,该计算机系统包括:池设备,用于基于至少一个虚拟计算机模板来存储暂停的虚拟计算机池;以及配置管理器,用于提供一系列虚拟计算机作为用户的一系列系统登录请求的结果;该配置管理器包括更新设备、恢复设备和定制设备;该更新设备用于更新至少一个虚拟计算机模板或其中的每一个;该恢复设备用于从由池设备提供的暂停的虚拟计算机池中恢复虚拟计算机;该定制设备用于在暂停的从虚拟计算机池恢复之后定制虚拟计算机以提供活跃的虚拟计算机。
优选地,该缓存设备配置为将每个暂停的虚拟计算机缓存为处于暂停在基本部署状态的服务的状态。
优选地,提供了经由至少一个计算机处理器运行的前述方法或系统。
优选地,提供了一种非瞬时计算机可读介质,其中存储有用于执行如上所述的计算机实现方法的计算机可执行指令。
优选地,提供了一种非瞬时计算机可读介质,其中存储有如上所述的编码计算机实现系统的计算机可执行指令。
优选地,提供了一种非瞬时计算机可读介质,其编码有一个或多个配置为运行应用程序的设备,该应用程序配置为执行多个操作以提供任何一个前述方法或系统。
优选地,提供了如上所述的非瞬时计算机实现方法或系统。
根据本文所描述的优选实施方式的一个方面,提供了一种用于提供虚拟计算机的计算机系统,该计算机系统包括:创建设备,用于提供虚拟计算机模板;更新设备,用于确定改进的虚拟计算机模板是否需要新的更新;以及配置设备,用于响应于用户的系统登录请求来提供虚拟计算机。
根据本文所描述的优选实施方式的一个方面,提供了一种提供虚拟计算机的方法,包括:创建虚拟计算机模板;响应于用户的系统登录请求提供新的虚拟计算机;以及更新计算机模板。
应当认识到,本发明的其它方面、优选形式和优点将从包括详细描述、附图和权利要求的本说明书中变得显而易见。
附图简要说明
为了便于更好地理解本发明,现在将参照附图描述几个优选实施方式,其中下面的附图按照下面的标题分组。
安全系统
图1提供了已知系统的示意图。
图2提供了根据本发明的优选实施方式的系统和设备的示意图。
图3提供了图2所示的系统和设备的示意图。
图4提供了图2所示的系统和设备的另一示意图。
图5提供了图2所示设备的立体示意图。
图6提供了图2所示系统和设备的进一步示意图。
图7提供了图2所示系统和设备的进一步示意图。
图8提供了本发明另一优选实施方式的视图。
图9提供了本发明另一优选实施方式的立体图。
图10提供了根据本发明的另一个优选实施方式的在银行系统中使用的界面的图示。
图11提供了根据本发明的另一个优选实施方式的计算机系统的示意图。
图12提供了根据本发明的另一个优选实施方式的方法的示意图。
图13提供了根据本发明的另一个优选实施方式的设备的示意图。
虚拟化系统
图14(1’)提供了计算机系统的示意图;
图15(2’)提供了图1’所示的虚拟计算机的示意图;
图16(3’)提供了关于图2’所示的虚拟计算机的进一步图示;
图17(4’)提供了关于图15(2’)所示的虚拟计算机的进一步图示;
图18(5’)提供了图1’所示的计算机系统的进一步图示。
图19(6’)和20(7’)提供了关于图5'的进一步图示;
图21(8’)至24(11’)提供了屏幕图像,示出了图1’所示的系统中处理系统登录请求的方式;
图25(12’)提供了在图1'所示的系统中在登录请求之后提供的界面的屏幕图像;
图26(13’)提供了表示图1'所示的系统的初始状态的示意图。
图27(14’)提供了屏幕图像,示出了允许用户在图1’所示的系统中发出注销请求的按钮;
图28(15’)提供了关于图14’的注销请求的示意图;
图29(16’)提供了计算机系统的示意图;
图30(17’)和31(18’)提供了方法的示意图;
图32(19)’提供了关于图30(17’)所示方法的一系列登录请求的示意图;
图33(20’)至34(22’)提供了关于图30(17')所示方法的进一步示意图;
图36(23’)提供了计算机的示意图;
图37(24’)提供了在图35(23’)所示的系统中提供的应用商店的屏幕截图;
图38(25’)提供了屏幕截图,其提供了关于图35(23’)所示的系统的第一进程的时间分解;
图39(26’)提供了屏幕截图,其提供了关于图35(23’)所示的系统的另一个进程的时间分解;以及
图40(27')提供了系统的图示。
具体实施方式
应当理解,每个实施方式是具体描述的,并且本发明不应解释为限定于任一实施方式的任何特定特征或元素。本发明也不应解释为限定于关于实施方式所描述的多个实施方式或变型的任何特征。
图1示出了典型的计算机系统1000。计算机系统1000包括计算机1002、显示屏1004、键盘1006、鼠标1008和路由器或交换机1010以及外部网络1012。
图2以计算机系统1015的形式示出了本发明的优选实施方式。在该实施方式中,提供了一种安全设备1014,其本身提供了本发明的另一实施方式。安全设备1014可由用户操作以提供在显示屏1004上显示的安全银行界面1016。
参考图3,安全设备1014提供了锁定系统环境1018。锁定系统1018提供了软件层1020和硬件层1022。环境1018提供了针对防止第三方攻击的操作系统1024。
参考图4,安全设备1014提供了远程访问连接器1026、显示输出1028和认证设备1030。远程访问连接器1026能够向虚拟计算机服务1032发送远程连接请求。远程连接请求是用于由虚拟计算机服务分配的虚拟计算机的连接请求。
虚拟计算机服务1032与多个安全设备1014组合提供了本发明的另一优选实施方式。
远程访问连接器1026将远程桌面连接请求发送到虚拟计算机服务1032,目的是分配虚拟计算机,其由远程计算机提供,通过路由器/交换机1010进行通信。
在该实施方式中,远程访问连接器1026连接到以太网连接器1048。无线连接和通过网络与虚拟计算机进行通信的其它连接当然也是可能的。在该实施方式中,虚拟计算机服务1032使用KVM(基于内核的虚拟机)进行操作。各种无线协议是可能的。
图5中示出了安全设备1014的物理结构。如图所示,该安全设备包括允许远程访问连接器1026与虚拟计算机服务1032通信的以太网端口1034。显示输出1028将显示信息通过显示屏端口1036发送到显示屏1004。以这种方式,显示输出1028能够生成表示虚拟计算机的图形用户界面。
如图4所示,认证设备130能够向远程访问连接器1026提供第一认证数据1038,以确保安全设备1014有权从虚拟计算机服务1032分配虚拟计算机。
本实施方式中的第一认证数据包括以太网连接器的MAC地址。在其它实施方式中,唯一的设备标识符以只读方式永久地存储在设备的存储器组件中,并且用作第一认证数据。在电子设备中存储唯一标识的许多方法是已知的。在本实施方式中,唯一标识符以ROM加密。在实施方式中,标识符可随时间或使用而不断变化。标识符可以是包括日期时间标识符的随机生成的字符串。在设备级别上区分的各种随机数发生器是已知的,包括用于银行业务的FOB密钥生成器。
参考图6,锁定系统环境1018包括操作系统,旨在防止第三方攻击并且仅仅提供远程桌面服务1040、认证服务1042、选择器交换服务1044和存储服务1046。锁定系统环境1018在提供的意义上锁定为不提供任何进一步的显著服务,并提供最少的必要访问。优选地,通过远程桌面服务提供允许银行业务的最小操作环境。该系统锁定到试图通过网络和用户访问的两个外方。用户只能访问远程连接设备以连接到虚拟计算机。未经授权的外方无权访问。在一些实施方式中,除用户之外没有任何一方可以访问。各种许可方式是可能的。
在一个特别优选的实施方式中,提供了一种定制操作系统。该定制操作系统仅限于提供连接到虚拟计算机服务1026的远程协议功能。该远程协议功能可以是定制远程协议功能或NX、RDP、ICA之一。该协议的区别在于它们具有提供某种形式的远程桌面的能力。在该实施方式中,远程桌面限制为提供在远程桌面上运行的银行应用程序,用户仅可访问银行应用程序。在该实施方式中,正在托管可经由互联网访问银行的浏览器。银行当然可通过VPN或拨号连接来连接。
图7提供了设备1014的进一步图示。如前所述,存在远程访问连接器1026、认证设备1030、以太网连接器1048和显示输出1028。
如图7所示,安全设备1014包括单步激活器1050,用于与远程访问连接器1026通信以发起远程桌面连接请求。使用单步骤激活器1050,用户能够连接到虚拟计算机服务1032用于进一步认证。
显而易见地,虚拟计算机服务提供的虚拟计算机应理解为是虚拟计算机服务的一部分。分配的虚拟计算机本身或虚拟计算机服务的另一设备可请求进一步的认证。虚拟服务提供了一个或多个互连的硬件设备的计算机系统,该硬件设备协作以提供虚拟计算机。
在该实施方式中,要求用户输入用户名和密码。这在第一认证数据1038已由虚拟计算机服务1032认证之后发生。以这种方式提供双因素认证。存在使用MAC地址的设备级认证和使用键盘或其它通信输入(例如与设备相关联的移动电话)的后续用户认证。
可采用各种基于硬件的识别系统。US8726407描述了许多已知的系统。US8726407中详细说明的实施例包括:“在客户端机器的处理器上运行或与其交互以产生指纹数据的一个或多个应用程序可访问的各种机器参数的说明性实施例例如可包括:机器型号、机器序号、机器版权、机器ROM版本、机器总线速度、机器详细信息、机器制造商、机器ROM发布日期、机器ROM尺寸、机器UUID和机器服务标签。进一步例如,这些机器参数可包括:CPU ID、CPU型号、CPU详细信息、CPU实际速度、CPU系列、CPU制造商、CPU电压和CPU外部时钟;内存型号、内存插槽、内存总数和内存详细信息;视频卡或组件型号、视频卡或组件详细信息、显示型号、显示详细信息;音频型号和音频详细信息;网络型号、网络地址、蓝牙地址、硬盘驱动器型号、硬盘驱动器序列号、硬盘驱动器配置详细信息、硬盘驱动器损坏图、硬盘驱动器卷名称、网上商店详细信息和网上商店卷名称;光驱型号、光驱序列号、光驱详细信息;键盘型号、键盘详细信息;鼠标型号、鼠标详细信息;打印机详细信息和扫描仪详细信息;基板制造商、基板产品名称、基板版本、基板序列号和基板资产标签;底盘制造商、底盘类型、底盘版本和底盘序列号;IDE控制器、SATA控制器、RAID控制器和SCSI控制器;端口连接器指示符、端口连接器类型、端口连接器端口类型和系统插槽类型;缓存级别、缓存大小、缓存的最大大小、缓存SRAM类型和缓存错误校正类型;风扇、PCMCIA、调制解调器、便携式电池、磁带机、USB控制器和USB集线器;设备型号、设备型号IMEI、设备型号IMSI和设备型号LCD;无线802.11、网络摄像头、游戏控制器、硅胶系列和PCI控制器;机器型号、处理器型号、处理器详细信息,处理器速度、内存型号、内存总量、每个以太网接口的网络型号、每个以太网接口的网络MAC地址、硬盘驱动器型号、硬盘驱动器序列标识符(例如,使用达拉斯硅胶系列(Dallas Silicone Serial)DS-2401芯片组等)、OS安装日期、随机数值和每天随机时间。前述实施例仅仅是说明性的,并且可使用任何合适的机器参数。”
在一些优选实施方式中,许多唯一标识符存储在设备的ROM中。这些唯一标识符由设备用作为一次性密码的第一认证数据并且包括时间码。如所描述的,顺序密码的数据库可存储在设备和虚拟计算机服务中。
各种机器序列号和组件特征、以认证为目的而组合或变化的时间。其他实施方式可使用更复杂的设备级指纹。指纹类型包括被动指纹和主动指纹。通常,主动指纹使用可信执行引擎容忍一定程度的主动查询。
安全设备1014包括定位器1051,允许虚拟计算机服务1032确定安全设备的位置。在该实施方式中,安全设备能够使用GPS并将其大概位置的详细信息发送到虚拟计算机服务1032。在该实施方式中,位置数据与认证数据1038一起发送。虚拟计算机服务1032配置为维持用于安全设备的授权位置的列表。如果设备不在授权位置,则可能会生成警报。在这种情况下不提供访问。在各种实施方式中可使用各种定位技术的组合。在该实施方式中,指示器1049提供关于设备是否在授权位置的可视指示。这在图5中示出。
单步激活器1050包括物理传感器1052。物理传感器1052包括可推按钮1055。用户按下按钮1055以通过路由器网络1012请求连接到虚拟计算机服务1032。虚拟计算机服务1032响应远程访问连接器1026。
显示输出显示图形用户界面,其在显示屏1004上请求用户名和密码。在其它实施方式中,物理传感器1052感测物理特性,以使虚拟分配服务1032通过网络1012连接。各种布置是可能的,包括使用运动传感器或指纹传感器来代替按钮。
显而易见的是,单步激活器1050与远程访问连接器1026通信以发起远程桌面连接请求;认证设备为远程访问连接器提供认证数据。由认证设备1030提供的第一认证数据对于安全设备是唯一的。虚拟计算机服务1032向用户请求另外的认证数据以提供双因素认证。在请求并认证用户和密码之前分配虚拟计算机的情况下,错误的用户名和密码会导致虚拟计算机被终止。
其它实施方式可能需要一个或多个:(i)没有用户名的访问密码;或(iii)一次性认证码;或(iii)由虚拟计算机服务发送的唯一推送认证码。可进行双因素授权的各种布置。
有利地,安全设备1014还包括选择器输入集线器1054,其能够选择将输入命令信号发送到远程访问连接器还是发送到与安全设备相同位置的本地接收器1056(本地计算机1002)。在该实施方式中,本地接收器1056包括计算机1002。就其本身而言,可在计算机系统1015中使用单个键盘和鼠标。
参考图5,设备1014包括键盘端口1058和鼠标端口1060。键盘端口1058和鼠标端口1060是可互换的,即鼠标可插入键盘端口并且键盘可插入鼠标端口。这些端口构成选择器输入集线器1054的一部分。
有利地,选择器集线器能够将键盘和鼠标命令信号发送到远程访问连接器1026或本地计算机1002。以这种方式,选择器集线器1050能够连接到键盘1006和鼠标1008。选择器集线器1050能够选择将来自键盘和鼠标的输入命令信号发送到远程访问连接器1026还是发送到本地计算机1002。选择器集线器1050提供了切换装置。
选择器集线器1050还提供了选择器视频集线器1050,其能够选择视频信号并将其引导到显示输出1028。选择器集线器1050选择视频信号,其选择来自远程访问连接器1026和视频输入端口1062的视频输出。
在该实施方式中,当连接到视频输入端口1062时,选择器集线器1050能够将与虚拟分配服务/虚拟计算机或计算机相关联的视频信号引导到形成显示输出1028的一部分的显示屏端口1036。响应于用户使用可推按钮1055的单次激活,选择器集线器1050将键盘鼠标和视频切换到本地计算机1002并从本地计算机切换出。
选择器集线器1050还提供选择器音频集线器1050,其以与视频类似的方式选择性地提供与本地计算机或设备相关联的音频输出。为本地计算机提供音频输入端口1070以与视频相似的方式发送音频输出。
使用可推按钮1055的激活是可逆的。就其本身而言,按钮1055的第一次按压将切换离开本地计算机1002,并且按钮的第二次按压将切换回本地计算机1002。在第二次按压之后,远程访问控制将操作成断开并终止与虚拟计算机服务的虚拟计算机的连接。在其它实施方式中,在虚拟计算机终止之前可能存在定时延迟。
因此,提供单步激活器1050用于与远程访问连接器1026进行通信,以发起与远程计算机的连接和断开,并且使用选择器集线器1054切换控制到本地计算机1002并且从本地计算机2054切换控制。
显而易见的是,选择器集线器1054当然可以切换到与安全设备相同位置的另一连接的本地接收机。
如图5所示,设备1014包括:(i)用于为本地计算机1002提供键盘控制的第一连接器1064;(ii)用于为本地计算机1002提供鼠标控制的第二连接器1066和(iii)用于提供音频线输出的第三连接器1068。通常,第一和第二连接器1064和1066将连接到计算机1002,并且第三连接器1068将连接到扬声器或扬声器系统。当安全设备1014处于“第一状态”时,第一和第二连接器1064、1066停用,第三连接器发送与远程访问相关联的音频。当切换到与本地计算机相关联的“第二状态”时,第一连接器1064和第二连接器1064、1066被激活,并且第三连接器发送与本地计算机相关联的音频。
选择器集线器具有:(i)无线或(ii)无线和有线功能也是可能的。目前优选的是有线连接。在该实施方式中,键盘和鼠标使用私钥基础设施将加密的信号发送到安全设备1014。然而,应当理解,也可通过以太网或另一个通信信道传送键盘和鼠标信号。
在该实施方式中,设备1014具有加密设备1072,其能够向键盘和鼠标发送公共密钥。键盘具有相应的加密设备,其使用公共密钥对发送到安全设备1014的按键信号进行加密。类似地,鼠标具有加密存储器,其使用公共密钥对发送到安全设备1014的鼠标信号进行加密。在该实施方式中,键盘和鼠标也可使用虚拟计算机服务1032进行认证。键盘和鼠标均具有唯一标识符,通过远程访问连接器1026将唯一标识符发送到虚拟计算机服务以进行认证。以这种方式,对每个设备、键盘和鼠标进行认证。一旦认证,键盘和鼠标被激活并能够控制虚拟计算机服务。
参考图8,示出了根据本发明的另一优选实施方式的另外的安全设备1075。类似的部分用对应于关于图2描述的实施方式的数字标注。不是存在按钮1055,提供了用于一次性密码生成器1076的端口1074。在该实施方式中,一次性密码生成器包括由Yubico.com制造的Yubikey。用户将一次性密码生成器1076插入端口1074并按下按钮1078。设备1014查询虚拟计算机服务以认证一次性密码生成器1076与设备1075的关联。如果认证了,设备1075以类似于第一实施方式中按下按钮1055进行操作。
在设备1075中,认证设备1030能够从一次性密码生成器1076读取加密数据,并提供一次性密码作为远程访问连接器使用的进一步的认证数据。一次性密码提供了除设备1075的识别之外的第二认证因素。
参考图9,示出了本发明的另一优选实施方式。安全设备包括访问代码输入设备1080,而不是按钮1055。访问代码提供了进一步认证的不同的方式。使用这种形式的硬件标记是公知的。
包括虚拟计算机服务和多个设备的整个系统提供了另一优选实施方式。该系统可操作以提供供用户使用的安全虚拟计算机。计算机系统提供了安全的银行终端,通过在更新和程序安装方面受到控制的环境而与本地计算机环境不同。所提供的虚拟计算机优选是锁定的。
整个系统包括:用于提供虚拟计算机的虚拟计算机服务和用于连接到虚拟计算机的用户安全设备;每个安全设备包括:锁定系统环境,包括远程访问连接器,能够向虚拟计算机服务发起远程桌面连接请求,以分配虚拟计算机;用于生成与虚拟计算机连接的图形用户界面的显示输出,以及向远程访问连接器提供第一认证数据的认证设备,用于确保安全设备有权从虚拟计算机服务分配虚拟计算机。
每个安全设备适于连接到本地计算机,并且在此与集线器隔离,允许选择键盘、鼠标、视频和音频输入和信号。
每个安全设备都设有锁定操作系统,用于防止第三方攻击;操作系统旨在仅提供远程桌面服务、认证服务、选择器交换服务和存储服务
单步激活器是可物理操作的,用户通过单一动作将设备连接到虚拟计算机服务。认证设备为远程访问连接器提供认证数据。认证数据对安全设备是唯一的。虚拟计算机服务需要进一步的认证。
虚拟计算机服务提供虚拟计算机作为安全银行界面。在该实施方式中,虚拟计算机服务分配虚拟计算机并对单个应用程序提供访问,以允许用户访问用户的银行信息。该应用程序包括网页浏览器,其绑定银行网上银行门户。一个可能的银行访问登录界面如图10所示。值得注意的是,用户无法从银行界面切换离开并访问可能由分配的虚拟计算机提供的其它功能。
通过提供虚拟计算机,也可将银行信息传送到与用户帐户相关联的安全存储区域。该存储区域可经由互联网访问以供用户使用。
参考图12,示出了一种计算机实现方法1082,其提供供用户1088使用的虚拟计算机1084。该方法1082包括提供虚拟计算机服务1086以及向每个用户1088提供用户安全设备1090。
如之前所述,每个用户安全设备1090提供锁定操作环境,其包括远程访问连接器、显示输出和认证设备。当需要安全银行界面时,每个用户能够发起远程桌面连接请求,其由远程访问连接器发送到虚拟计算机服务1086。
每个设备1090与唯一标识符相关联,其在一对一的基础上唯一标识设备。唯一标识符被加密,并且提供认证数据,当用户激活安全设备1090时,其经由全球通信网络(“互联网”)发送到虚拟计算机服务。
在该方法中,用户进行安全连接请求。在框1092,设备接收请求。在框1094,认证数据从认证设备或由认证设备准备就绪。在框1096,设备使用远程访问连接器向虚拟计算机服务1086发起远程访问请求。
在框1098,虚拟计算机服务1086检查第一认证数据(设备级别),以确保安全设备是认证安全设备,其有权由虚拟计算机服务1086分配虚拟计算机。
在该实施方式中,这是使用加密连接来进行的,该加密连接通过每一个安全设备1090和虚拟计算机服务1086的唯一公共密钥的交换而建立。
通过每个设备1090包括唯一加密标识符,虚拟计算机服务1086能够在设备级上控制访问。此外,银行界面请求进一步的用户识别信息以提供多因素用户识别。提供的每个虚拟计算机1084包括锁定系统。
在特定实施方式中,选择提供给特定设备的虚拟计算机1084的序列,以确保响应于多个请求而提供的虚拟计算机的IP地址具有与不同位置相关联的IP地址,以防止针对特定用户的重复入侵尝试。如本实施方式那样,改变IP地址的优点仅适用于特定应用程序,而且可能不是银行业务。
在本实施方式中,用户正在使用本地机器并且希望安全地连接到他们的银行,用户以单一动作按下按钮,这将键盘、视频和鼠标输入切换离开本地机器。在终止所分配的和所登录的虚拟计算机之前,进一步按下则切换回本地机器,带有时间延迟。
优选地,使用单步激活(按下按钮或可能刷卡)来进行切换。用户可在计算机上在他或她的本地机器和安全银行界面之间进行多次切换。
在该方法中,虚拟计算机服务分配虚拟计算机并对单个应用程序提供访问,以允许用户访问用户银行信息。
在其它实施方式中,用于安全设备的第一认证数据可以是对于安全设备或选定组的安全设备唯一的。正在使用选定组的安全设备是可能的,但目前不是优选的。
在所描述的每个实施方式中,虚拟计算机提供为具有应用更新的新建的虚拟计算机。通过新建和通过具有锁定操作系统的设备,认为可提供特别有用的整体方法和系统。
此外,应当理解,可修改所示出的和所描述的各种规格连接以允许组合和修改。例如,目前有可用于通过以太网发送键盘和USB输入的软件。因此,可完全移除连接器1064-1068,仅仅使用连接到共享路由器/交换机的以太网。音频输出1068也可通过以太网或另外的协议发送。设备10的操作系统可存储在可移除的SD卡上。
如计算机安全所指出的,通常不可能提供不可破坏的系统。在采用限制入侵风险的方法方面,系统是锁定的。理想的是,经常提供更新。在一些情况下,用于设备的安全更新操作系统可通过邮件、要求通过电话或其它方式激活来提供。在一个实施方式中,操作系统存储在SD卡上。
参考图13,申请人已经设想了用于本地计算机1104的电子安全设备1100,根据本发明的另一优选实施方式的安全设备。
更具体地,电子安全设备1100提供插入到本地计算机1104中的可移动介质1102。如前所述,电子设备1100提供:包括远程访问连接器1108和认证设备1110的锁定系统环境1106。在使用锁定系统环境1106启动之后,远程访问连接器1108能够向虚拟计算机服务1112发起远程连接请求。
认证设备1110向远程访问连接器1008提供第一认证数据1120,该远程访问连接器1008向虚拟计算机服务1112提供数据,以确保安全设备1100有权从虚拟计算机服务1112分配虚拟计算机1118。系统环境1106提供了显示设备1114,用于生成显示在与虚拟计算机1118相关联的本地计算机1104上的图形用户界面1116。
如前所述,锁定系统环境1106包括旨在防止第三方攻击的操作系统。操作系统旨在仅提供远程桌面服务和认证服务。值得注意的是,在其它实施方式中,锁定系统环境还为用户提供存储服务。在本实施方式中,提供本地打印服务作为远程桌面服务的一部分。其它实施方式可排除包括本地打印服务。
在该实施方式中,认证设备1110能够向远程访问连接器1108提供第一认证数据1120。虚拟计算机服务1112使用第一认证数据1120来认证由远程访问连接器1108发起的远程连接请求。
第一认证数据1120对于本地计算机1104是唯一的,并且包括CPU序列号。虽然安全设备1100本身可包含唯一的认证数据,但是用户将操作系统复制到其它可移动驱动器的能力可能是有用的。值得注意的是,一旦虚拟计算机服务1112将本地计算机与用户帐户相关联,则不可能将另外的本地计算机与用户帐户相关联。其它实施方式可提供预定数量(多于一个)的不同本地计算机关联。
通过包括拇指驱动器,电子安全设备1100包括能够插入以启动本地计算机的可移动介质。在操作中,本地计算机1104设置为在插入时从拇指驱动器启动。如果未插入拇指驱动器,则本地计算机从硬盘正常启动。
在从电子安全设备1100启动的情况下,远程连接器1108发送包括对本地计算机1104唯一的认证数据的第一认证数据1120。使用光盘介质来提供电子安全设备1100也是可能的。电子安全设备可作为SD卡提供。
其它实施方式当然是可能的,安全设备以其它方式连接以与虚拟计算机通信。
在另一个实施方式中,提供了一种提供虚拟计算机以供用户使用的计算机实现方法。在第一框中,该方法提供虚拟计算机服务,并且每个用户具有非用户特定的安全设备。每个用户安全设备提供锁定操作环境,其包括远程访问连接器和认证设备。
在第二框中,该方法包括:接收由用户发起并由每个用户的安全设备的远程访问连接器发送到虚拟计算机服务的远程连接请求。认证器向远程访问连接器提供第一认证数据。虚拟计算机服务认证第一认证数据,以确保安全设备是有权分配虚拟计算机的经认证的安全设备。
在该方法中,通过将每个用户安全设备作为拇指驱动器插入到用户的计算机中来使用用户安全设备。拇指驱动器的远程访问连接器向虚拟计算机服务发起远程连接请求。由每个认证器设备提供的第一认证数据包括唯一地标识本地计算机(作为CPU序列号)的认证数据。用户名/密码/CPU#提供了唯一的多因素认证。
在该方法中,只有单个本地计算机可与用户的帐户相关联。这具有安全优势。在本地计算机上首次使用该设备期间,虚拟计算机服务执行配置操作,其中第一认证数据提供由远程连接器发送的对本地计算机唯一的数据。该数据由虚拟计算机服务使用,在一对一的基础上将用户的帐户与本地计算机相关联。
如果有一些唯一的数字冲突被认为是唯一的,但它们不是,则标识符可能是有效唯一的。换句话说,少量非唯一的冲突将不包括系统的有效安全性。在本实施方式中,仍然使用用户名和密码来提供多因素认证。
在另一个实施方式中,电子安全设备提供为具有被切割的Linux操作系统的USB驱动器,该操作系统仅具有两个主要功能,即:(i)设置加密连接并将用户名/密码传递给虚拟计算机服务的认证服务;以及(ii)在数据中心显示虚拟机的远程桌面。在一些实施方式中,电子安全设备不具有进行其它任何操作的能力。
在操作中,USB驱动器插入到PC的USB中。PC的BIOS设置为首先从USB驱动器启动。机器启动并运行存储在USB驱动器上的客户端软件。
当用户键入其用户名/密码时,这与本地PC硬件中的其它唯一标识符一起传送到虚拟服务的认证服务。在本地PC唯一标识符方面,在硬件中有唯一的标识符,例如可由操作系统读取的CPU的唯一序列号。有时其它硅芯片也有唯一的标识符。通过它们自己或彼此组合,提供唯一的标识符。
第一次创建新帐户时,其不与远程PC相关联。当用户登录时,唯一的序列号传送到认证服务,认证服务然后在虚拟计算机服务上存储本地计算机和用户帐户之间的关联。
在首次使用时,虚拟计算机服务的认证服务在输入时接受用户的当前用户名/密码,并启动设置过程,其中其将唯一的本地计算机认证数据与用户帐户相关联。这是一次性完成的,使计算机本身提供唯一数据的基础。这允许拇指驱动器由用户复制,副本存储在安全位置。如果丢失或被盗,则拇指驱动器只能与本地计算机一起使用。
因此,第一次创建新帐户时,它与虚拟计算机服务或用户帐户无关。当用户登录时,唯一的序列号传送到认证服务。它创建了PAM会话(可插拔的认证模块),其具有用户的安全设置,允许用户就像是该用户一样访问所有内容。它在AFS文件系统中作为该用户查找,并尝试定位用于保存PC的唯一序列识别号的文件/数据库条目。如所指出的,如果与本地计算机的关联不存在,那么它将创建保存PC序列号的数据库条目/文件。然后,系统继续构建并关联新的虚拟机以供用户工作。
作为此过程的一部分,用户登录的下一个场景、虚拟计算机服务的认证服务将使用数据库/文件中的编号检查PC的序列号。如果它匹配,则系统继续向用户提供虚拟机。然而,如果它不匹配,则进程中止。
应当理解,该过程产生了有用的安全性优点。
·用户只能使用他们唯一的用户名+密码+PC序列号来创建他们的虚拟机。
·存储在单独的USB设备上意味着它可以留在用户身上,以便他们知道它是有效的并且没有更改。
·用户需要软件(也可在其中具有唯一的软件标识符,例如安全证书)以及原始PC。复制这种独特的组合是不可能的,确保了该用户的帐户无法由其他人登录。
申请人设想的另一个系统提供了一种可移除的电子安全设备,具有内置于该设备中的GPS设备。为了向虚拟计算机服务提供地理位置认证数据作为认证数据的目的而提供该GPS设备,无论本地计算机是否提供有地理位置设备。其它系统可使用与安全设备相关联的唯一号码。唯一认证数据的各种组合是可能的。
提供虚拟计算机的方式在下面标题为“虚拟计算机配置”一节中有详细说明。本节旨在详细说明由GOPC PTY LTD提交的共同未决申请PCT/AU2014/050050,其通过引用方式并入本文。在本文中描述并在图1’-27’中再现的系统由上述虚拟计算机服务使用,以为大量安全设备连接提供虚拟计算机。
虚拟化背景
虚拟化是获取计算机资源的过程,包括处理,内存和存储,并为网络、机器、输入/输出、应用或存储功能提供人工环境。在通常使用中,虚拟化通常指现实世界系统作为与运行物理基础设施类似的虚拟化基础设施的运行。
表述“虚拟网络”通常是指通过在软件/虚拟化环境中仿真网络来提供物理网络功能。表述“虚拟机”用在各种上下文中。为了澄清各种上下文,表述“系统虚拟机”通常是指提供完整平台的功能,其支持功能性操作系统的执行。相比之下,表述“进程虚拟机”通常指提供平台的功能,其支持单个进程的执行,该进程是应用程序的实例。本文使用的表述“虚拟计算机”通常是指与过程虚拟机相反的系统虚拟机。
表达“管理器”通常是指在虚拟化系统中提供多个虚拟计算机的设备。管理器为虚拟计算机的操作系统提供系统处理器、内存和其它资源。每个虚拟计算机的操作系统为各种应用程序提供通用服务。
管理器以多种形式提供。“类型1管理器”提供界面,其在紧邻一个或多个系统虚拟机之下并且紧邻底层硬件之上而不需要中间的操作系统。类型1管理器与底层物理服务器硬件直接通信。为此,类型1管理器有时被称为裸机管理器。
“类型2管理器”在紧邻一个或多个系统虚拟计算机之下并且紧邻底层操作系统之上提供界面。
在这两种情况下,管理器的作用是通常监督并提供一个或多个虚拟计算机,同时保持它们之间的分离策略。
在采用管理器的虚拟化系统中,通常提供克隆以允许复制虚拟计算机。可提供多种类型的克隆。例如,“完整克隆”通常是指虚拟计算机的独立副本,该克隆与原始虚拟计算机完全分离。“链接克隆”通常是指与原始虚拟计算机共享虚拟磁盘以使用相同的软件安装。通常,链接克隆无法在不访问原始虚拟计算机的情况下运行。这是由于采用增量型(delta type)布置进行存储而不是采用统一的副本。
通常,链接克隆可相对快速地创建。虽然创建速度得到改善,但是链接克隆有时会发生性能下降。
在虚拟化系统中,快照设备通常会通过将快照映射到磁盘来提供克隆。在某些系统中,例如VMware,快照类似于链接克隆。通常,用户能够在激活后重复返回到快照。快照可被认为是虚拟计算机的可重复暂停状态。
通过将虚拟计算机的状态不重复地保存到磁盘,暂停存储设备通常将保留虚拟计算机的状态。对于某些系统来说,暂停设备提供了将虚拟计算机状态不重复地存储在存储器中的暂停暂存设备。暂停存储设备通常释放内存和虚拟CPU。暂停暂存设备通常将虚拟机保持在冻结状态,同时仍然提供内存分配。在这两种情况下,虚拟机的处理和I/O操作都将以实质的方式暂停。值得注意的是,从暂停存储状态或暂停暂存状态中恢复暂停状态不允许用户重复返回到相同状态。虚拟机从暂停状态恢复,并从机器暂停而不能恢复到暂停状态的同一点继续运行。
虚拟计算机配置PCT/AU2014/050050
参考图1,示出了计算机系统10。计算机系统10提供如框12所示的虚拟化基础设施。使用公共云网络14提供计算机系统10。
作为计算机系统的一部分,许多服务器16提供虚拟计算机18。参考图2,每个虚拟计算机包括操作系统20和应用程序22。在服务器硬件26上安装类型1管理器24。
图3示出了构成每个虚拟计算机18一部分的用户数据28。图4示出了用户数据28与操作系统20的解耦。如图所示,提供了用户数据虚拟化30。用户数据虚拟化30提供了允许分离用户数据的层,包括来自操作系统和应用程序的文件、配置和设置。显而易见的是,其它实施方式可包括应用程序虚拟化。
如图5所示,计算机系统10包括配置管理器32。配置管理器32作为提供给用户34访问虚拟计算机18的代理。每个用户34具有提供对相应虚拟计算机18的访问的客户端36。将虚拟计算机18作为具有虚拟桌面的虚拟计算机提供给用户34。
参考图6,计算机系统10包括作为虚拟化基础设施一部分的池设备38。池设备38存储暂停的虚拟计算机42的池40。暂停的虚拟计算机42基于两个虚拟计算机模板44。虚拟计算机模板44包括黄金映像。在另一实施方式中,虚拟计算机模板包括活跃的或暂停的虚拟计算机。
参考图7,配置管理器32配置为随着时间的推移提供虚拟计算机48的系列46,作为用户54的系统登录请求52的系列50的结果。从用户组的角度来看,可以结合用户整体作出类似的声明。
在计算机系统10中,单个用户帐户在任何一个时间关联不超过一个虚拟计算机18。其它布置当然是可能的。
时间的流逝由箭头56表示。用户54的第一系统登录请求58导致虚拟计算机60的提供。随后的系统登录请求62导致虚拟计算机64的提供。随后的系统登录请求66导致虚拟机68的提供。最终的系统登录请求70导致虚拟计算机72的提供。在该实施方式中,配置管理器32确保每个系统登录请求52由系统注销请求74分隔。每个系统注销请求74终止与用户相关联的当前虚拟计算机。
在图8和9中示出了系统登录请求52的发起方式。为了发出系统登录请求,用户54使用提供了浏览器78的界面76。界面76提供了仪表板80,其提供了按钮形式的系统登录请求设备82。在操作中,用户54激活系统登录请求设备82并且提供有加载指示器84。图10中示出了加载指示器84。
参考图11,随后提供给用户54多个连接选项86。第一个选项包括在用户机器上使用远程桌面协议客户端来提供桌面界面。第二个选项包括使用浏览器80来提供桌面界面。
选择第二个选项提供了图12所示的网络客户端88。网络客户端88提供了具有菜单设备92的虚拟桌面90以及可放置快捷方式和其它项目的桌面94。虚拟桌面90包括显示可见应用程序的任务栏96。提供运行设备98用于命令类型执行。应用程序在对应于单个虚拟计算机18的操作系统20上运行。
值得注意的是,在其它实施方式中,系统登录请求设备82形成仪表板认证的一部分,使得仪表板80上的登录自动提供对虚拟计算机寻求访问的系统登录请求52。
返回到图7,配置管理器32包括更新设备100、恢复设备102和定制设备104。更新设备100能够更新每个虚拟计算机模板44。恢复设备102能够从由池设备38提供的暂停虚拟计算机42的池40中恢复虚拟计算机。定制设备能够为用户54定制恢复的虚拟计算机以提供活跃的虚拟计算机。
如将要描述的那样,计算机系统10配置为确保用户的一系列系统登录请求导致向用户提供反映应用更新的一系列虚拟计算机。更具体地,作为每个用户登录请求的结果,提供了用于用户的新虚拟计算机(“新”的意义为在下文所述的提供作为克隆过程的一部分)。
在一对一的基础上提供登录请求和虚拟计算机。也就是说,每个登录请求导致提供单个新的虚拟计算机。
图13中示出了计算机系统10的初始状态。在发起系统登录请求106之后,配置管理器32使用恢复设备102从暂停的虚拟计算机42的池40中恢复暂停的虚拟计算机108。然后,定制设备104用于定制恢复的虚拟计算机110。定制将用户数据112与虚拟计算机110相关联并应用安全设置。在定制之后,配置管理器32提供用于用户访问的活跃虚拟计算机114。然后,可以通过几种已知的访问技术之一访问活跃的虚拟计算机114。
作为恢复过程的性质的一部分,恢复设备102从池40中去除暂停的虚拟计算机108。恢复设备102采用与暂停的虚拟计算机相关联的不可重复的恢复,暂停的虚拟计算机是不可重复的暂停状态。
根据来自更新通知设备的通知,更新设备100定期更新每个虚拟计算机模板44。
在恢复暂停的计算机42之后,创建设备116安排如下:(i)克隆虚拟模板44以提供虚拟机;和(ii)以及随后暂停虚拟机以提供替换的暂停的虚拟计算机42。最初,提供了构建指令列表。
配置管理器32有利地包括用于基于用户的系统注销请求来终止虚拟计算机18以确保对提供给用户的虚拟计算机18进行定期更新的终止设备118。在用户从计算机系统10注销之后,相关联的虚拟计算机被安排终止。
在用户54已经提供有虚拟计算机114之后,向用户提供对图14所示的系统注销请求设备120的访问。通过使用注销请求设备120,用户能够发出如图15所示的系统注销请求122。
有利地,在计算机系统10中,配置管理器32能够确保对提供给用户34的虚拟计算机18进行定期更新。这是由于系统定期更新池40中暂停的虚拟计算机42所基于的虚拟计算机模板44所引起的。计算机系统10采用基于Linux内核的虚拟机(KVM)技术。在其它实施方式中可使用例如VMware和Microsoft服务的其它技术。
配置管理器32包括监视池40中的暂停虚拟计算机42的周转的范围设备124。范围设备124访问历史和实际登录/虚拟机信息。
配置管理器32确保池40中的暂停虚拟计算机的数量具有范围设备124推荐的范围。鉴于预期的用户需求,配置管理器32通过限制池40中的暂停的虚拟计算机的数量来确保暂停的虚拟计算机42具有期望的周转率。以这种方式,通过系统登录请求和模板44的定期更新而流失的虚拟计算机确保了暂停的虚拟计算机42及时反映更新。
为了对活跃的虚拟计算机应用关键的更新,配置管理器32包括活跃的机器更新器126。活跃的机器更新器126配置为向虚拟计算机18发送更新请求。虚拟计算机18响应来自活跃的机器更新器126的通知来安装更新。在这个实施方式中,由用于Linux称为“Puppet”的技术提供活跃的机器更新器。
终止设备118配置为去除池40中的旧的暂停的虚拟计算机,以确保池中暂停的虚拟计算机42理想地反映更新并且适合于提供给用户34。
在过去,克隆虚拟模板44以为用户提供活跃的虚拟计算机的过程通常包括:(i)确定用户是否具有足够的信用;(ii)对虚拟模板执行克隆操作;(iii)在虚拟机上部署服务;(iv)安装应用程序;以及(iv)应用安全策略以允许用户访问。执行项目(ii)、(iii)和(iv)具有显着的延迟。
在本实施方式中,创建设备116配置为用于在池40中创建暂停的虚拟计算机42,每个暂停的虚拟计算机42具有暂停在基本部署状态的服务。这有助于当通过仪表板80请求虚拟计算机时减少用户可见的时间。
特别地,通过使每个暂停的虚拟计算机42的远程桌面服务暂停在基本部署状态,有利地减少了提供对虚拟计算机访问的时间。在每个暂停的计算机42的情况下,远程桌面服务以该意义部署:服务启动,并且可从网络连接到用户,并向该用户提供功能。通过该实施方式,可提供登录请求和提供虚拟计算机之间时间上的实质性改进。用于执行VDI作为远程桌面基础设施的RDP、Xrdp、Xserver以及其它远程桌面技术是已知的。VDI系统的制造商包括VMWare、Citrix和HP。
如所讨论的,提供创建设备116用于通过克隆虚拟计算机模板44来提供在池40中暂停的虚拟计算机42。提供安装设备128用于根据不同的用户类别安装应用程序。提供暂停设备130用于暂停虚拟计算机作为创建过程的一部分,以提供暂停的虚拟计算机42。提供安装设备128用于在克隆虚拟模板44之后安装应用程序。配置管理器32包括在克隆虚拟模板44后用于删除应用程序的卸载设备132。一般来说,卸载应用程序的处理开销要大于删除应用程序。卸载应用程序在相对较少发生卸载要求的情况下可能是有利的。
在计算机系统10中,用户类别包括会计类、秘书类和管理者类。这些类别与特定应用程序套件相关联。只有少数用户类别不需要使用LibreOffice。在这个实施方式中,提供了卸载设备来为这些用户卸载LibreOffice。有利的是,这意味着系统必须维持减少数量的虚拟模板。
活跃的机器更新器126提供用于指示虚拟计算机18安装或移除应用程序的分类更新设备。当用户的分类有变化时,可能发生这种指示。
认为计算机系统10有利地将虚拟计算机池维持在具有基本部署服务的暂停状态中,其中暂停的虚拟计算机的数量和模板的更新导致向用户定期提供有包含最近更新的虚拟计算机。
此外,通过提供暂停的虚拟计算机池,通过在池中维持相对大量的暂停虚拟计算机,可容易地适应对虚拟计算机的高需求的情况。以这种方式,该系统可配置为适应高需求,例如可能发生在大学的组计算机实验室中。在其它时间,可在池中提供减少数量的暂停计算机。虚拟化计算机系统中的本机重复数据删除被认为是允许相对较小和相对较大数量的暂停虚拟计算机存储在池中。对于“风暴”类型事件使用本机重复数据删除被认为是有利的。
在图16所示的另一实施方式中,提供了计算机系统134。计算机系统134包括用于提供虚拟计算机模板138的模板提供设备136和用于确定是否需要改进的虚拟计算机模板的更新设备140。提供缓存设备142用于基于虚拟计算机模板138缓存暂停的虚拟计算机144。提供恢复设备146用于恢复缓存的暂停的虚拟计算机144以响应于用户的系统登录请求来提供活跃的虚拟计算机。缓存设备142配置为缓存每个暂停的虚拟计算机144,其具有暂停在基本部署状态下的服务。
参考图17,示出了方法148。方法148响应于系统登录请求152来有利地配置虚拟计算机150。在方法148中发生多个进程。
在框154中,方法148包括定期更新多个虚拟计算机模板156。在框158中,方法148包括接收系统登录请求160。响应于系统登录请求160,方法148在框162中执行帐户验证检查。如果帐户有效,则方法148在框164中执行检查以确定活跃的虚拟计算机当前是否与发出系统登录请求的用户相关联。如果存在现有虚拟计算机,则在框166中发出注销请求以关闭现有的虚拟计算机。一旦已经发出关闭请求,方法144提供如在框168中所详述的虚拟计算机150(参见图18)。
在框170中,方法148包括检查用户帐户类型,以基于池174中的合适模板156来确定暂停的虚拟计算机172的数量。在非预期的高需求时期,池174中的暂停虚拟计算机172的数量可耗尽,在这种情况下,该方法在框176中等待期望的时间量,以期待将另外的暂停的虚拟计算机添加到池174中。
在框178中,方法146开始恢复例程,其不重复地恢复暂停的计算机180以提供虚拟计算机182。恢复暂停的计算机180的行为从底层管理器获取CPU、内存和存储资源。在框184中,定制特定资源、安全配置文件和其它配置设置。
该定制包括提供虚拟用户数据层186。在框188中,对应用层190进行修改,其在本实施方式中未虚拟化。在框188中示出了各种定制。在框194中则使虚拟计算机192可用于用户。在该实施方式中,在恢复虚拟计算机之后,它继续驻留在现有物理机器上。当然,虚拟计算机可通过网络迁移到另一个物理机器。
参考图19,通过由用户196在每个系统登录上应用方法148,该方法148确保了一系列系统登录请求198导致向用户196提供一系列虚拟计算机200,其反映应用的更新。方法148在框154中应用这些更新,并且在每个系统登录处将更新的虚拟计算机200相应地提供给用户196。
通过从暂停的虚拟计算机172的池174恢复虚拟计算机来提供时间202进程中的每个虚拟计算机200,其中暂停的虚拟计算机172基于虚拟计算机模板156。在框154中,方法148定期更新虚拟计算机模板156。在框184中,方法148在从池174恢复之后为用户定制虚拟计算机。重复该过程并且在登录请求时主动向系统的每个用户提供更新的活跃的虚拟计算机。方法146应用于所有用户。
方法148包括基于用户的系统注销请求204终止虚拟计算机150。在图20所示的框206中,方法148包括接收注销请求并确定用户活动。在用户活动不符合等待期间208中的阈值的情况下,机器在框210中终止。用户能够手动发出在框212处接收的注销请求204。虚拟计算机在框210中终止。方法148通过基于用户的系统注销请求终止虚拟计算机来确保定期更新提供给用户的虚拟计算机。
参考图21,在框214中,方法146包括在池174中提供暂停的虚拟计算机216。在该实施方式中,一旦虚拟计算机已经可供用户使用,则启动补充。其它实施方式有利地具有预期期望需求的例程。在框218中,方法146确定是否将暂停的虚拟计算机添加到池174。
在框220中,选择虚拟模板156来替换早期恢复的已暂停的虚拟计算机。在框222中,克隆模板。在框224中,检查模板以确定是否需要更新。如果需要更新,则在框226中应用更新。在框228中将更新的虚拟机克隆为模板,并且在框230中去除旧模板。一些配置可在框232中发生。在框234中,虚拟计算机暂停在池174中。
当在框232中应用配置时,方法148将克隆模板的服务暂停在基本部署的状态。在本实施方式中,暂停在基本部署状态的服务包括远程桌面服务,其包括允许来自RDP客户端和Puppet的连接(以应用正在进行的配置更改)的XRDP。系统服务正在运行并且可供用户交互。在向用户提供活跃的虚拟计算机之后每次都会进行补充。以这种方式刷新池174。
方法146通过基于一个或多个定期更新的虚拟计算机模板156有效地维护池174中的暂停虚拟计算机,确保向用户提供定期更新的虚拟计算机。
方法146通过在池中提供暂停的虚拟计算机并确保暂停的虚拟计算机具有理想的周转率来有效地维持池174中的暂停虚拟计算机。这在图22所示的框236中执行。当确定暂停的计算机不具有通过流失提供定期更新的期望的周转率时,在框238中去除旧的暂停计算机,并且在所述的框214中添加新的暂停计算机。
在框220中,基于从池174中恢复的最后暂停的虚拟计算机来选择要克隆的虚拟模板。在其它实施方式中,框236中的例程基于用户的预期需求来添加和去除暂停的计算机。
在框232中,活跃的虚拟计算机182的定制包括根据用户类别安装应用程序。以这种方式,暂停的虚拟计算机可以额外提供给虚拟计算机模板156类别类型。这被认为是有利的,因为这意味着可以限制在框184中针对不同用户类别的所需定制。用户类别类型的实施例包括会计类、秘书类、管理类等。
为了在框184中提供灵活性,方法146包括根据期望的用户类别安装或卸载应用程序。安装应用程序通常没有卸载应用程序那么密集。尽管如此,在一些情况下,减少数量的模板和暂停的机器类型将是有利的。在一个实施方式中,文字处理和电子表格应用程序安装在虚拟模板156上。在框184中的定制期间,为特定用户类别卸载文字处理和电子表格应用程序,以允许减少数量的虚拟模板和暂停的虚拟计算机类型。
方法146在池174中创建暂停的虚拟计算机,每个暂停的虚拟计算机具有暂停在基本部署状态的服务。方法146使用该策略来确保在框184中的应用程序安装或卸载限制在30秒或更短的持续时间。申请人认为,请求访问虚拟计算机与登录请求之间的20秒提供了用户可接受的等待时间。当然更少的等待时间是令人满意的。
在本实施方式中,暂停的虚拟计算机172以不可重复的暂停状态暂停在内存中。由虚拟机软件提供的管理暂停虚拟机的本地重复数据删除操作可以节省随机存储空间(KVM)。此外,通过暂停,维持暂停的虚拟机所需的处理程序为零或至少相对不重要。暂停随机存取存储器是首选方法。访客内存的持久性取决于虚拟主机维护功能,即,如果将电源从虚拟主机拉出,则“暂停的”客户将失去其内存状态。
固态存储可提供另一种可行的选择,这取决于固态存储的速度。因此,在一些实施方式中,暂停的虚拟计算机以不可重复的暂停状态暂停在磁盘上。各种其它存储方法可以是可能的,包括以可重复的暂停状态暂停在磁盘上;或以可重复暂停状态暂停在内存中。
在另一个实施方式中,一种方法创建了虚拟计算机模板并且确定改进的虚拟计算机模板是否需要新的更新。基于虚拟计算机模板创建暂停的虚拟计算机,并缓存用于后续恢复以响应系统登录请求提供活跃的虚拟计算机。
提供虚拟计算机的各种方法和系统由优选实施方式提供。通过分离用户数据,可容易地允许用户配置具有相同个人设置和应用程序的不同操作系统或桌面环境。例如在一些实施方式中,提供了桌面切换设备。桌面切换设备允许用户在Macintosh类型的桌面环境和Windows类型的桌面环境之间切换。实施例包括在LDXE和XFCE之间切换。例如,操作切换设备可允许在UBUNTU和REDHAT之间进行切换。
各种实施方式有利地预先缓冲了大量准备的虚拟机,以加速配置新的虚拟机并解决启动风暴问题。当用户登录时,通过刷新和升级虚拟机中的技术来提供更新。重复删除的环境用于减少物理内存空间。
参考图23,示出了根据另一优选实施方式的系统243。在系统中,用于管理虚拟桌面的虚拟主机服务器软件是libvirt和KVM。系统的描述对于通过libvirt连接的KVM是特定的。显而易见的是,在其它实施方式中可提供各种虚拟化环境。
系统243使用KVM(基于内核的虚拟机)进行操作。详见维基百科,“各种客户操作系统与KVM合作,包括Linux、BSD、Solaris、Windows、Haiku、ReactOS、Plan 9和AROS研究操作系统的许多特点。此外,Android 2.2、GNU/Hurd[8](Debian K16)、Minix 3.1.2a、Solaris10 U3、Darwin 8.0.1及上述具有限制性的更多的Os版本和更新版本对于运行是已知的。QEMU的修改版可使用KVM来运行Mac OS X。”
KVM为Linux内核提供了虚拟化基础架构。如前面的实施方式所述,KVM支持(通过libvirt连接)对虚拟机进行暂停和恢复。详见维基百科,“libvirt是用于管理平台虚拟化的开源API、守护进程和管理工具。它可用于管理Linux KVM、Xen、VMware ESX、QEMU和其它虚拟化技术。这些API在开发基于云的解决方案中广泛应用于管理器的编排层。”Libvirt是用于管理平台虚拟化的高级开源API、守护进程和管理工具。Libvirt提供虚拟化基础架构界面来创建、启动、暂停、恢复和破坏虚拟机。
在系统243中更新黄金映像。黄金映像是虚拟机、虚拟桌面、虚拟服务器或硬盘映像的模板。黄金映像有时也称为克隆图像、主图像或基本图像。为了创建黄金映像,执行脚本以首先按照需要的方式建立计算环境,然后将磁盘映像保存为用于创建更多副本的模式。黄金映像是操作系统安装的不变的磁盘映像,没有任何信息存储在RAM中。这是因为黄金映像处于预启动状态。
在本实施方式中,黄金映像定义了特定于黄金映像的管理员用户帐户。没有与黄金映像相关联的常规用户帐户或常规用户数据。通过执行脚本“buildvm.pl<type>”构建黄金映像,其中“<type>”的值指定对所生成的黄金映像执行附加定制,即:指定类型“lxde”安装附加软件包“lxde-common”、“lxde-icon-theme”和“lxrandr”,并将默认桌面环境设置为LXDE。
安装类型提供了例如GUI布局和视觉环境等功能。该系统目前产生了两种黄金映像类型:LXDE和XFCE。对可创建的黄金映像的类型没有限制。
在系统中,可使用以下命令列出黄金映像:
(------------------------------------------------------
root@vhost01:/home/rainmaker/rainmaker-vmscripts#rbd-p gopc-rain-images ls|grep-v desktop.gopc.net
gnome-20130611;gnome-20130719;lxde-20130718;lxde-20130719;lxde-20130806;lxde-20130822;lxde-20130827;lxde-20130828;lxde-20130829;lxde-20130902;lxde-20130929;mate-20130719;trinity-20130719;unity-20130719;xfce-20130719;xfce-20130806;xfce-20130822;xfce-20130828;xfce-20130902;xfce-20130929;
------------------------------------------------------)
脚本“buildvm.pl”调用Ubuntu脚本“vmbuilder”以在KVM中创建虚拟机,并开始基本安装Ubuntu操作系统。当这个基本的Ubuntu安装完成后,会发出命令“virsh start”并启动虚拟机,并从新创建的虚拟机中执行脚本“firstboot.sh”以执行以下定制:
1.编写系统配置文件,例如用于LDAP系统范围LDAP认证的/etc/ldap.conf、用于Kerberos认证的/etc/krb5.conf和允许动态应用程序安装的/etc/puppet/puppet.conf。
2.为GoPC应用商店中可用的所有应用程序预安装所有相关项。这是通过运行脚本来实现的,用以循环访问应用商店中的应用程序列表,并创建一个软件相关性列表,其中相关项与执行程序所需的库相关联,而不是单独的应用程序。
这些应用程序相关项包括libqt4-xml、libtime-date-perl和python-cairo。通过预安装应用程序相关项,通过应用商店的应用程序的安装时间大大减少,因为有很少的软件包要下载和安装。应用程序商店的屏幕截图如图24所示。下面详细介绍了实现更新的脚本。
Figure BDA0001368269840000451
Figure BDA0001368269840000461
Figure BDA0001368269840000471
如上所述,执行精确的黄金映像类型的定制。一旦“firstboot.sh”脚本执行完毕,则通过命令“virsh destroy”创建的虚拟机将关闭电源,终止所有操作系统服务,并删除内存中的任何运行状态。执行以下命令:
(------------------------------------------------------
rbd snap create"gopc-rain-images/<name>@current";
rbd snap protect"gopc-rain-images/<name>@current";
------------------------------------------------------)
这使得黄金映像磁盘映像可在存储后端进行克隆。该过程的最后一步是将黄金映像标记为配置数据库中的“活跃”。
当需要更新操作系统或应用软件的版本时,会在配置数据库中构建新的黄金映像并使其处于活跃状态。应用程序相关项基于上述脚本的输出,并从Ubuntu的软件库下载。
暂停和恢复是指采用运行虚拟桌面并暂时保存其内存状态的过程。在稍后的时间,可将客户恢复到其原始的运行状态,继续执行中断的操作。暂停不保存客户内存的可重复持续的图像。
置于暂停状态的虚拟机使用与运行的虚拟机相同数量的在虚拟主机上的RAM,但几乎不消耗CPU时间。虚拟主机上可能存在大量暂停的虚拟机,而不影响CPU资源。
在高水平上,将虚拟桌面分配给用户的过程步骤通常如下:
1.用户请求虚拟桌面
2.制作黄金映像的克隆(复制)
3.打开克隆
4.启动操作系统
5.启动克隆中的软件服务(例如xrdp、sshd和puppet)
6.等待上述软件服务完成它们的启动序列并可用于服务(即,xrdp正在侦听3389端口用于进入RDP客户端连接器)
7.向用户发送消息,表明虚拟桌面可以使用。
在上面的列表中,从步骤4到6可能需要120秒以上才能完成。对于用户驱动的交互式网站,120秒被认为是太长的等待时间。利用libvirt/KVM暂停有利的是,本实施方式能够将该过程分解成两个独立的分离进程,以节省用户的有效等待时间。
该实施方式中的第一个过程如下:
1.制作黄金映像的克隆(复制)
2.打开克隆
3.启动操作系统
4.在克隆中启动软件服务(例如xrdp、sshd和puppet)
5.等待上述软件服务完成它们的启动序列并可用于服务,即xrdp正在侦听3389端口用于进入RDP客户端连接器(我们通过TCP成功的连接到端口3389来测试xrdp运行)。
6.暂停虚拟桌面。
在一个系统中,启动的服务如下:
(------------------------------------------------------
avahi-daemon.conf;console.conf;console-setup.conf;container-detect.conf;control-alt-delete.conf;cron.conf;cups.conf;dbus.conf;dmesg.conf;failsafe.conf;flush-early-job-log.conf;hostname.conf;hwclock.conf;hwclock-save.conf;lightdm.conf;modemmanager.conf;module-init-tools.conf;mountall.conf;mountall-net.conf;mountall-reboot.conf;mountall-shell.conf;mounted-debugfs.conf;mounted-dev.conf;mounted-proc.conf;mounted-run.conf;mounted-tmp.conf;mounted-var.conf;networking.conf;network-interface.conf;network-interface-container.conf;network-interface-security.conf;network-manager.conf;passwd.conf;plymouth.conf;plymouth-log.conf;plymouth-ready.conf;plymouth-splash.conf;plymouth-stop.conf;plymouth-upstart-bridge.conf;procps.conf;rc.conf;rcS.conf;rc-sysinit.conf;resolvconf.conf;rsyslog.conf;setvtrgb.conf;shutdown.conf;ssh.conf;tty1.conf;tty2.conf;tty3.conf;tty4.conf;tty5.conf;tty6.conf;udev.conf;udev-fallback-graphics.conf;udev-finish.conf;udevmonitor.conf;udevtrigger.conf;upstart-socket-bridge.conf;upstart-udev-bridge.conf;ureadahead.conf;ureadahead-other.conf;wait-for-state.conf;S20libnss-ldap;S20nscd;S20saslauthd;S20xrdp;S21puppet;S25openafs-client;S50pulseaudio;S70pppd-dns;S75sudo;S99grub-common;S99nxsensor;S99nxserver;S99ondemand;S99rc.local
------------------------------------------------------)
通过我们的测试,我们发现最后一个完成启动序列的服务是xrdp服务。
第二个过程如下:
1.用户请求虚拟桌面
2.恢复暂停的虚拟桌面
3.向用户发送消息,表明虚拟桌面可以使用。
第一个进程需要大约120秒完成,并且可独立于任何用户交互进行。第二个过程耗时不到1秒,这意味着用户请求虚拟桌面和虚拟桌面所花费的时间最少。
图25提供了在高虚拟主机系统负载下提供第一进程(构建黄金映像的克隆并将其置于暂停状态)的时间分解的屏幕截图。如图所示,实质的时间过程包括克隆、等待XRDP和休眠。
图26提供了在高虚拟主机系统负载下提供第二进程(将虚拟桌面设置成恢复状态)的时间分解的屏幕截图。由于克隆过程与用户交互分离,虚拟主机上的系统负载实质上不会影响分配有虚拟桌面的用户的交互式网站进程。
在计算中,数据重复删除是用于消除重复数据的重复副本的专门数据压缩技术。重复删除应用于RAM中的内容和磁盘存储上的内容。在系统中,重复删除由用于RAM的KVM和用于网络存储的Ceph来提供。由于所有相同类型的虚拟桌面都是从相同较小的一组黄金映像中克隆出来的,所以这组虚拟桌面压缩得很好,从而大大节省了所需的RAM和磁盘使用量。这被认为是有利的。
构建克隆的图像并置于暂停模式(如上所述),然后放置在FIFO(先进先出)队列(称为虚拟桌面池)中,供用户稍后分配和使用。
下面列出的代码定期轮询已暂停的虚拟桌面分配池的大小,并且当暂停的虚拟桌面数量低于所需的暂停池的大小时,触发从黄金映像构建克隆。
Figure BDA0001368269840000511
Figure BDA0001368269840000521
Figure BDA0001368269840000531
Figure BDA0001368269840000541
虚拟桌面具有以下状态的生命周期:
1.建立-当虚拟桌面正在从黄金映像克隆出来的过程中,启动并开始服务,直到虚拟桌面进入暂停状态。
2.可用-当虚拟桌面已置于暂停状态并放置到虚拟桌面池中准备进行用户分配。
3.正在使用-当虚拟桌面已分配给用户时,已从暂停状态恢复,并且正在使用中。
4.完成-当虚拟桌面不再由用户使用并已被系统关闭并且相关的磁盘映像已删除时。
当用户通过GoPC网站请求虚拟桌面时,从虚拟桌面池(总是在这里选择最早的虚拟桌面)中选择暂停的虚拟桌面,并使用命令“virsh resume”恢复。一旦更新恢复的DNS记录,则将<user's username>.desktop.gopc.net指向虚拟桌面的IP地址,并且安装用户的应用程序,以及应用用户的配置。
所有用户创建的数据、用户应用程序配置和定制存储在网络存储(联网主目录)上,而不是虚拟桌面本身。用户的联网主目录允许在不同虚拟桌面实例之间持续的用户数据和配置。
通过AFS分布式网络文件系统将用户数据呈现给虚拟桌面系统。用户主目录是从以下位置安装:/afs/gopc.net/users/<user's unique UID number>。
每次,新的黄金映像建立来自Ubuntu的软件库的最新版本的操作系统软件、应用软件和应用软件相关项。为了尽可能减少带用户数据的新版本软件与来自旧版本软件的用户配置之间的任何潜在的不兼容性,黄金映像构建在Ubuntu的LTS(长期支持)版本上。Ubuntu LTS版本创建发行时间为5年,软件更新版本之间的软件兼容性由Ubuntu的内部QA团队进行测试,以防止这种类型的软件破损。
一旦确定虚拟桌面不再使用(因为用户交互,或由于缺乏通过RDP或NX的交互式用户连接),它将被终止。终止涉及关闭虚拟桌面(通过命令“virsh destroy”),从libvirt/KVM中删除机器定义(通过命令“virsh undefine”),并删除克隆的磁盘映像(通过命令“rbdrm”)。一旦虚拟桌面已终止,它将不再使用虚拟主机上的任何资源。终止虚拟桌面的代码如下:
Figure BDA0001368269840000551
Figure BDA0001368269840000561
参考图27,示出了配置为提供本文所述的系统和方法的优选配置的计算机系统240的示意图。计算机系统240提供为分布式计算机环境,包含多个单独的计算机系统242(计算机/计算设备),其协作以提供优选的配置。在其它实施方式中,计算机系统240提供为单个计算设备。
如图所示,计算设备242中的第一个包括存储设备244。存储设备244包括“通用存储器”和例如虚拟存储器的其它形式的存储器。存储设备244可操作地连接到包括至少一个处理器的处理设备246。存储设备244包括可执行指令和/或计算机数据形式的计算机信息。存储设备244可由处理设备246访问以实施优选配置。
如图所示,每个计算设备242包括系统总线设备248、数据存储设备250、输入接口设备252和输出接口设备254。数据存储设备250包括可执行指令和/或计算机数据形式的计算机信息。数据存储设备250可操作地连接到处理设备246。数据存储设备250可操作地连接到存储设备244。数据存储设备250可通过处理设备246访问以实施优选配置。
实施方式被认为提供了许多优选的配置,包括:
系统和方法以一定的方式维护计算机池,其中将定期向用户提供包含最近更新的虚拟计算机。
系统和方法以一定的方式维护计算机池,其中能够容易地适应不同数量的需要在不同时间访问的用户,每个用户需要访问的精确时间是未知的。
系统和方法以一定的方式维护计算机池,其中能够通过为不同类别提供暂停的虚拟计算机以及为不同用户类别添加或删除应用程序,而适应不同用户的应用程序类别。
系统和方法提供应用程序更新机制,用于基于与用户相关联的不同用户应用程序类别来更新与用户相关联的活跃虚拟计算机。
在关于图1-12所描述的本发明的实施方式中,可能采用图1'-27'的虚拟计算机提供技术,计算机信息可跨越多个设备定位并且以多种形式提供。例如,设备可包括可执行指令和/或计算机数据形式的计算机信息。计算机数据信息以可由其它设备访问的编码数据指令、数据信号、数据结构、用于服务器端操作的程序逻辑、用于客户端操作的程序逻辑、存储的网页等形式提供。
在一个层面上,输入接口允许计算机设备242接收计算机数据。在另一层面上,输入接口允许从操作一个或多个计算机设备的个人接收计算机数据。在一个层面上,输出接口允许将指令发送到计算设备。在另一个层面上,输出接口允许将计算机数据发送给个人。输入和输出接口设备252、254提供与处理设备246可操作地相关联的输入和输出接口。输入和输出设备252、254允许计算设备242和个人之间的通信。
计算设备242提供分布式系统,其中多个设备通过网络和其它接口进行通信,以共同提供优选的配置。优选地,在计算设备242的系统中提供至少一个客户端设备,其中系统通过数据网络互连。
客户端设备可提供有在系统中使用的客户端软件产品,该系统在使用时提供客户端设备和其它计算机设备242通过公共数据网络进行通信的系统和方法。优选地,软件产品包含用于提供优选配置的可执行指令和/或计算机数据形式的计算机信息。
与键盘、鼠标、轨迹球、触摸板、扫描仪、视频卡、音频卡和网卡等相关联的输入接口是已知的。与显示屏、打印机、扬声器、传真机和投影仪等相关联的输出接口是已知的。用于各种形式的LAN和WAN等的有线或无线接口形式的网络接口是已知的。软盘、硬盘、磁盘盒、CD-ROM、智能卡、RAID系统形式的存储设备是已知的。包括RAM、ROM、EEPROM和其它数据存储类型的易失性和非易失性存储器类型是已知的。例如电路板材料、同轴电缆、光纤和无线设备等的各种传输设备都是已知的。
应当理解,可以多种形式提供系统、组件、设备和接口等。系统、组件、设备和接口等可作为硬件、软件或其组合来提供。本发明可体现为计算机可读存储器、个人计算机和分布式计算环境。
此外,本发明可体现为:多个计算机可执行操作,多个计算机可执行组件,一套流程操作,一套系统、设备或组件,其上存储有用于执行计算机实现方法和/或提供计算机实现系统的计算机可执行指令的计算机可读介质等。在计算机可执行指令的情况下,它们优选地对本文所述的系统、组件和设备进行编码。例如,计算机可读介质可用配置成运行应用程序的一个或多个设备进行编码,该应用程序配置为执行形成当前配置的至少一部分的多个操作。计算机可读介质优选地参与向一个或多个计算设备的一个或多个处理器提供计算机可执行指令。
计算机可执行指令优选地由一个或多个计算设备执行以使得一个或多个计算设备根据需要进行操作。优选的数据结构优选地存储在计算机可读介质上。计算机可执行指令可形成用于执行至少部分优选配置的计算机设备的操作系统的一部分。一个或多个计算设备可优选地实现优选的配置。
术语计算机应理解为包括所有形式的计算设备,包括服务器、个人计算机、智能电话、掌上电脑和分布式计算系统。
所设想类型的计算机可读介质等优选地是不妥协的。这样的计算机可读介质可操作地与用于传送计算机数据的基于计算机的传输设备相关联。计算机可读介质可提供数据信号。计算机可读介质优选地包括在工业中可应用的磁盘、光盘以及其它电/磁和物理存储介质。
组件、系统和任务可包括涉及提供可执行指令的程序,以在所述处理器内处理程序或执行可执行指令。应用程序或其它可执行指令可以不同的顺序执行方法操作以获得类似的结果。应当理解,所描述的系统和方法的框可以任何合适的配置和任何适当的操作顺序来体现。计算设备、模块、接口等可以不同的、分开的、连接的、嵌套的或其它形式的配置来提供。从本文描述的系统中可以看出方法是显而易见的,并且从本文描述的方法中可以看出系统是显而易见的。
显而易见的是,在不脱离本发明的精神和范围的情况下,可提供各种改变和等同形式。这包括在所附权利要求的范围内的修改,以及所有修改、替代构造和等同物。
并非将本发明限制于附图所示的具体实施方式。本发明将被认为是有利于本申请人和本发明给定的全部范围。
在本说明书中,特定特征的存在并不排除其它特征的存在。词语“包含(comprising)”、“包括(including)”和“具有(having)”应解释为包容性而不是排他性。
应当认识到,本说明书中的任何讨论旨在解释本发明的上下文。不作为承认所讨论的材料构成现有技术基础或任何特定国家或地区的相关常识的一部分。

Claims (11)

1.一种用于作为外围设备连接到本地计算机的安全设备,所述设备包括:连接到本地计算机的连接器;锁定系统环境,包括远程访问连接器和认证设备;所述远程访问连接器能够向虚拟计算机服务发起远程连接请求;以及认证设备,向远程访问连接器提供第一认证数据,用于确保安全设备有权从虚拟计算机服务分配虚拟计算机;其中第一认证数据包括对于安全设备唯一的认证数据,和/或从形成安全设备和/或本地计算机一部分的可读存储器中读取的加密数据;
其中,第一认证数据可被远程虚拟计算机服务使用以将远程虚拟计算机服务上的用户帐户与本地计算机本身相关联,或当安全设备连接到本地计算机时用于本地计算机,其中所述锁定系统环境包括旨在防止第三方攻击并且仅仅提供远程桌面服务和认证服务的操作系统。
2.根据权利要求1所述的安全设备,其中认证设备能够向远程访问连接器提供第一认证数据;虚拟计算机服务能够使用第一认证数据来认证远程连接请求。
3.根据权利要求1所述的安全设备,其中所述第一认证数据包括对于本地计算机唯一和对于安全设备唯一的认证数据。
4.根据权利要求1所述的安全设备,其中所述安全设备包括用于生成与虚拟计算机相关联的图形用户界面的显示输出。
5.根据权利要求1所述的安全设备,其中所述安全设备配置为向用户提供来自虚拟计算机服务的对于来自用户的进一步认证数据的请求,以便提供双因素认证。
6.根据权利要求1所述的安全设备,其中安全设备包括可移动介质,其能够连接以在启动本地计算机时提供操作系统。
7.根据权利要求1所述的安全设备,其中电子安全设备包括拇指驱动器。
8.一种提供虚拟计算机供用户使用的计算机实现方法,所述方法包括:提供虚拟计算机服务并向每个用户提供用于作为外围设备连接到本地计算机的用户安全设备;每个用户安全设备提供包括远程访问连接器和认证设备的锁定操作环境;在所述方法中,接收由用户发起的并由远程访问连接器发送到虚拟计算机服务的远程连接请求;认证设备向远程访问连接器提供第一认证数据,其中第一认证数据包括安全设备的唯一标识符;以及虚拟计算机服务通过使用第一认证数据将远程虚拟计算机服务上的用户帐户与本地计算机本身相关联,或当安全设备连接到本地计算机时将第一认证数据用于本地计算机来认证第一认证数据,以确保安全设备是经认证的安全设备,并有权从虚拟计算机服务分配虚拟计算机;其中第一认证数据包括对于安全设备唯一的认证数据,和/或从形成安全设备和/或本地计算机一部分的可读存储器中读取的加密数据;其中所述锁定系统环境包括旨在防止第三方攻击并且仅仅提供远程桌面服务和认证服务的操作系统。
9.根据权利要求8所述的计算机实现方法,其中通过将每个用户安全设备插入到本地计算机中来使用用户安全设备,每个用户安全设备提供包括远程访问连接器和认证设备的锁定系统环境;远程访问连接器向虚拟计算机服务发起远程连接请求;并且认证设备向远程访问连接器提供唯一识别本地计算机的第一认证数据,用于确保安全设备有权从虚拟计算机服务分配虚拟计算机。
10.根据权利要求9所述的计算机实现方法,其中在配置操作期间,安全设备发送唯一识别本地计算机的第一认证数据,并且虚拟计算机服务使用第一认证数据将虚拟计算机服务上的用户帐户与本地计算机相关联。
11.根据权利要求9所述的计算机实现方法,其中在配置操作期间,安全设备发送唯一识别本地计算机的第一认证数据,并且虚拟计算机服务使用第一认证数据将虚拟计算机服务上的用户帐户与本地计算机一一对应地相关联。
CN201580075317.4A 2014-12-02 2015-12-01 计算系统和方法 Active CN107430669B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
AU2014904884A AU2014904884A0 (en) 2014-12-02 Computer systems and methods
AU2014904884 2014-12-02
AU2014904902 2014-12-03
AU2014904902A AU2014904902A0 (en) 2014-12-03 Computing systems and methods
AU2015902028 2015-05-31
AU2015902028A AU2015902028A0 (en) 2015-05-31 Computing systems and methods
PCT/AU2015/050758 WO2016086269A1 (en) 2014-12-02 2015-12-01 Computing systems and methods

Publications (2)

Publication Number Publication Date
CN107430669A CN107430669A (zh) 2017-12-01
CN107430669B true CN107430669B (zh) 2021-07-30

Family

ID=56090735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580075317.4A Active CN107430669B (zh) 2014-12-02 2015-12-01 计算系统和方法

Country Status (5)

Country Link
US (1) US10922445B2 (zh)
CN (1) CN107430669B (zh)
AU (1) AU2015358292B2 (zh)
SG (1) SG11201704498QA (zh)
WO (1) WO2016086269A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10374891B1 (en) 2014-11-11 2019-08-06 Skytap Multi-region virtual data center template
US11625651B1 (en) * 2015-07-22 2023-04-11 Amazon Technologies, Inc. Repository of customizable itineraries for travel planning
WO2017185204A1 (zh) * 2016-04-25 2017-11-02 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置
CN106201948B (zh) * 2016-07-04 2019-03-08 南京金佰达电子科技有限公司 一种动态接入的零客户端系统外设配对方法
US10796026B2 (en) * 2017-04-25 2020-10-06 Wildfi Proprietary Limited Process and detachable device for using and managing encryption keys
CN107729020B (zh) * 2017-10-11 2020-08-28 北京航空航天大学 一种实现大规模容器快速部署的方法
US11496462B2 (en) * 2017-11-29 2022-11-08 Jpmorgan Chase Bank, N.A. Secure multifactor authentication with push authentication
JP2019133471A (ja) * 2018-01-31 2019-08-08 Dynabook株式会社 電子機器、及び電子機器の起動方法
DE102018102930A1 (de) * 2018-02-09 2019-08-14 Minimax Gmbh & Co. Kg Teilnehmer, Modul eines Teilnehmers und Verfahren zur Konfiguration eines Teilnehmers
CN110688161A (zh) * 2018-07-06 2020-01-14 英研智能移动股份有限公司 周边硬件的操作方法与操作系统
US11196736B2 (en) * 2019-02-12 2021-12-07 Fujifilm Business Innovation Corp. Systems and methods for location-aware two-factor authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155122A (zh) * 2006-09-30 2008-04-02 中国科学院计算技术研究所 一种基于数据特征的流媒体内容下载方法
WO2011064539A1 (en) * 2009-11-25 2011-06-03 Cloud Technology Limited Security system & method
CN102096782A (zh) * 2011-01-27 2011-06-15 中国科学院软件研究所 一种基于虚拟机的移动介质网银安全认证方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272538B1 (en) * 1996-07-30 2001-08-07 Micron Technology, Inc. Method and system for establishing a security perimeter in computer networks
US7103573B2 (en) * 2001-04-02 2006-09-05 Privilegeone Networks, Llc User rewards program and associated communications system
US7542299B2 (en) * 2002-07-08 2009-06-02 Aten International Co., Ltd Keyboard, video and mouse (KVM) switch
US20050182967A1 (en) * 2004-02-13 2005-08-18 Microsoft Corporation Network security device and method for protecting a computing device in a networked environment
US8024790B2 (en) * 2007-04-11 2011-09-20 Trend Micro Incorporated Portable secured computing environment for performing online confidential transactions in untrusted computers
US8335931B2 (en) * 2008-06-20 2012-12-18 Imation Corp. Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
US7891560B2 (en) * 2009-05-15 2011-02-22 Visa International Service Assocation Verification of portable consumer devices
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
CN102469131A (zh) * 2010-11-15 2012-05-23 中兴通讯股份有限公司 基于虚拟化技术的终端、系统及业务提供方法
CN102420692A (zh) * 2011-12-28 2012-04-18 广州杰赛科技股份有限公司 一种基于云计算的客户终端USBKey安全认证方法及其系统
GB2507498B (en) * 2012-10-30 2014-09-17 Barclays Bank Plc Secure computing environment
KR20140098919A (ko) * 2013-01-31 2014-08-11 한국전자통신연구원 실시간 가상 데스크탑 서비스를 위한 가상머신 제공 방법 및 서비스 게이트웨이
GB2518367B (en) * 2013-09-18 2020-07-22 Ibm Authorized remote access to an operating system hosted by a virtual machine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155122A (zh) * 2006-09-30 2008-04-02 中国科学院计算技术研究所 一种基于数据特征的流媒体内容下载方法
WO2011064539A1 (en) * 2009-11-25 2011-06-03 Cloud Technology Limited Security system & method
CN102096782A (zh) * 2011-01-27 2011-06-15 中国科学院软件研究所 一种基于虚拟机的移动介质网银安全认证方法

Also Published As

Publication number Publication date
US10922445B2 (en) 2021-02-16
CN107430669A (zh) 2017-12-01
AU2015358292B2 (en) 2021-09-23
WO2016086269A1 (en) 2016-06-09
AU2015358292A1 (en) 2017-07-27
US20170364713A1 (en) 2017-12-21
SG11201704498QA (en) 2017-06-29

Similar Documents

Publication Publication Date Title
CN107430669B (zh) 计算系统和方法
US10419426B2 (en) Cached credentials for offline domain join and login without local access to the domain controller
AU2019322630B2 (en) Distributed security analysis for shared content
EP3158493B1 (en) Enabling user entropy encryption in non-compliant mobile applications
US9838398B2 (en) Validating the identity of an application for application management
US10970102B2 (en) System and method for hypervisor-based remediation and provisioning of a computer
US8909940B2 (en) Extensible pre-boot authentication
US9602466B2 (en) Method and apparatus for securing a computer
EP2913956B1 (en) Management control method and device for virtual machines
US9319380B2 (en) Below-OS security solution for distributed network endpoints
US8201239B2 (en) Extensible pre-boot authentication
CN107408172B (zh) 从用户信任的设备安全地引导计算机
US20090193491A1 (en) Secure element manager
JP2022522678A (ja) セキュア実行ゲスト所有者環境制御
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
WO2021126329A1 (en) Context-aware obfuscation and unobfuscation of sensitive content
CA3119214A1 (en) Automated keyboard mapping for virtual desktops
US20230106879A1 (en) Virtualized applications on managed virtual machines
WO2019209893A1 (en) Operating system on a computing system
CN110365756B (zh) 一种访问方法、电子设备及计算机存储介质
US20230185929A1 (en) Enrolling a virtual device as an unprivileged user

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Western Australia

Applicant after: Bankwater Limited

Address before: Western Australia

Applicant before: GOPC Pty Ltd.

GR01 Patent grant
GR01 Patent grant