CN109313681B - 具有审计功能的虚拟智能卡 - Google Patents

具有审计功能的虚拟智能卡 Download PDF

Info

Publication number
CN109313681B
CN109313681B CN201780034781.8A CN201780034781A CN109313681B CN 109313681 B CN109313681 B CN 109313681B CN 201780034781 A CN201780034781 A CN 201780034781A CN 109313681 B CN109313681 B CN 109313681B
Authority
CN
China
Prior art keywords
vss
user
smart card
private key
request
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.)
Expired - Fee Related
Application number
CN201780034781.8A
Other languages
English (en)
Other versions
CN109313681A (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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN109313681A publication Critical patent/CN109313681A/zh
Application granted granted Critical
Publication of CN109313681B publication Critical patent/CN109313681B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/351Virtual cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

虚拟智能卡系统包括虚拟智能卡服务器(VSS),该VSS控制对分别与多个虚拟智能卡相关联的内容的访问。远程客户端计算机系统包括系统级代理,该系统级代理将客户端计算机机器向VSS确立可信计算机系统。客户端计算机系统上的用户级代理通过使客户端计算机系统获得用户认证信息、与系统级代理协商以获得cookie以及向VSS发起对虚拟智能卡操作的请求来响应对虚拟智能卡操作的请求。如果满足安全策略,则VSS执行虚拟智能卡操作并且将结果传送到用户级代理。

Description

具有审计功能的虚拟智能卡
相关申请的交叉引用
本申请要求2016年6月29日提交的美国专利申请号15/196,702的权益,该申请通过引用整体并入本文。
技术领域
本文涉及用于认证、加密和数据存储的方法和系统。更具体地,本文涉及促进通常使用智能卡实现的这种企业级功能的方法和系统。
背景技术
智能卡是袖珍卡,其包含嵌入式电子电路(例如,具有内部存储器的安全微控制器),可以由读取装置通过直接物理访问或射频信令来读取该嵌入式电子电路。智能卡有许多用途,范围从加密到身份认证。智能卡具有存储少量数据的能力,并且可以被设计为执行某些卡上处理功能。为了促进这种交互,传统的智能卡被设计为与通常被称为智能卡读卡器的硬件元件交互。
许多公司对诸如金融交易和文件批准之类的审计过程有严格的要求。他们需要知道哪些员工被授权了哪些步骤和时间。类似地,员工需要充分理解他们正在批准的交易,并且必须能够为此目的控制他们的凭证的使用。为了促进这些过程,可以向员工发放智能卡用于认证和签名的目的。在这种情况下,智能卡可以包含用于与传统公钥基础设施(publickey infrastructure,PKI)方案结合使用的私钥。智能卡可以与个人识别码(personalidentification number,PIN)密码或指纹读取器结合使用以验证用户。
作为智能卡使用的替代方案,用于本文所述目的的数字证书已经使用“软件证书”支持直接发放给最终用户。在这种实施中,用于PKI系统的私钥传统上存储在用户的漫游配置文件中。众所周知,漫游用户配置文件是某些计算机操作系统的特征,由此用户可以登录到同一网络上的任何计算机并访问他们的文档以及其他数据(例如数字证书和/或私钥)。但是用户无法控制私钥,并且黑客可以很容易地“窃取”密钥。
与利用与漫游用户配置文件相关联的证书和私钥的系统相比,传统的智能卡提供了某些优点。例如,智能卡有助于基于硬件的解决方案,更好地保护私钥不被复制。但是,智能卡可能容易丢失/被盗,并且如果可以推断出用户的PIN,则可以在未经授权的情况下被使用。一旦丧失对诸如智能卡之类的令牌的物理控制,则企业就很难确保该密钥不会被用于未授权的目的。例如,在解雇时员工不返还智能卡的情况下可能出现这种情况。
使用传统智能卡时的另一个挑战是它们可能妨碍审计过程,审计过程可能需要重建或跟踪特定人的证书何时以及如何用于各种交易。使用智能卡的系统可以被设计为便于审计,但是这些系统往往是专有的或内置于不同的应用中。因此,可能无法统一审计,或者某些应用可能无法记录所有适当的信息。
发明内容
本发明的实施例涉及虚拟智能卡系统。该系统包括第一计算机机器,第一计算机机器包括虚拟智能卡服务器(VSS)。VSS控制对分别与多个虚拟智能卡相关联的内容的访问。一个或多个第二计算机机器被设置为远离VSS。每个第二计算机机器是客户端计算机系统,其包括系统级代理。该系统级代理在VSS中启动客户端计算机机器的机器认证协议,以使该客户端计算机机器在VSS确立为可信计算机系统。一旦确立,该客户端计算机系统处的用户级代理就接收对一个或多个虚拟智能卡操作的请求。例如,该请求可以由在该客户端计算机机器上执行的应用程序启动。
用户级代理响应于每个这样的请求,使客户端计算机系统执行某些操作。这些操作包括从客户端计算机系统的用户获得允许使用虚拟智能卡操作所必需的用户认证信息。这些操作还可以包括与系统级代理协商以从VSS获得cookie。此后,用户级代理发起对VSS的请求以执行特定的虚拟智能卡操作。该请求涉及将用户认证信息和cookie传送到VSS。VSS被配置为如果满足适用于所请求的虚拟智能卡操作的安全策略,那么它响应于每个请求选择性地执行虚拟智能卡操作。一旦特定的虚拟智能卡操作完成,VSS就将虚拟智能卡操作的结果传送给用户级代理。用户级代理又将该虚拟智能卡操作的结果提供给启动该虚拟智能卡操作请求的应用程序。VSS被配置为在数据日志中记录关于与每个虚拟智能卡操作请求有关的多个事件的信息,以用于后续审计目的。
实施例还涉及一种用于在公钥基础设施(PKI)方案的情况下控制一个或多个私钥的使用的方法。该方法可以包括将多个私钥存储在仅可由VSS访问的安全数据存储中。此后,在远离VSS的客户端计算机机器上的系统级代理被用于在VSS处启动客户端计算机机器的机器认证协议。该过程将该客户端计算机机器在VSS确立为可信计算机系统。该客户端计算机机器上的用户级代理可以接收一个或多个私钥操作请求。例如,这种请求可以由在客户端计算机机器上执行的应用程序生成。响应于特定的请求,用户级代理从用户获得用户认证信息并与系统级代理协商以从VSS获得cookie。用户级代理还向VSS发起私钥操作请求,并将用户认证信息和cookie从用户级代理传送到VSS。响应于该请求,如果该认证信息满足适用的安全策略,则VSS将使用分配给该用户的私钥选择性地执行用户级代理请求的私钥操作。
附图说明
将参考附图描述实施例,其中相同的附图标记在所有附图中表示相同的项目,并且其中:
图1是用于理解如本文所述的实施例虚拟智能卡系统的系统图。
图2是用于理解安全计算机系统的某些部件的架构图。
图3是用于理解虚拟智能卡系统的各种部件之间的某些通信的图。
图4A和4B包括示出用于在安全计算机访问虚拟智能卡的示例性方法的流程图。
图5A和5B包括示出用于在虚拟智能卡服务器上提供对虚拟智能卡的访问的示例性方法的流程图。
图6是用于理解示例性计算机系统的结构的硬件框图。
具体实施方式
容易理解的是,如本文一般描述的和附图中示出的实施例的部件可以以各种不同的配置来布置和设计。因此,如附图中所表示的各种实施例的以下更详细描述并非旨在限制本公开的范围,而是仅是各种实施例的代表。虽然在附图中呈现了实施例的各个方面,但是除非特别指出,否则附图不一定按比例绘制。
智能卡是袖珍卡,其包含嵌入式电子电路(例如,具有内部存储器的安全微控制器),可以由读取装置通过直接物理访问或射频信令来读取该嵌入式电子电路。在某些情况下,智能卡可以包含与公钥基础设施(PKI)方案相关的数字证书。这种示例性数字证书是根据已知的PKI标准,例如X.509,发布的数字证书。众所周知,这种数字证书可用于将实体的公钥绑定到与其所有者(例如组织或个人)相关的特定属性。传统的智能卡还可以包括与分配给特定用户的私钥有关的信息。智能卡上的数字证书和私钥由个人(例如企业的雇员)用于各种目的。例如,当用户签署文件或批准事务时,这些元素可用于签名和认证目的。它们还可以用于安全文件处理和/或其他应用之间的加密通信。
但是智能卡受到各种限制和问题的困扰。该卡可能被遗忘、丢失或被盗,在这种情况下,中央管理员对智能卡最终可能的位置的可见性有限。此外,如果智能卡丢失或被盗,则存储在卡上的密钥信息只能被管理员无效,并且不能被远程删除。传统智能卡的另一个问题会在员工早上将智能卡留在家中时出现。如果没有被分配智能卡,员工可能无法进行工作。智能卡通常也不能“在一个组之间共享”。每个智能卡必须被分配给一个人,例如,如果一个由四个人组成的团队需要扩展到六个以处理突然繁忙的日程表,则需要为此目的提供两个额外的智能卡,然后一旦忙碌期结束就取消提供。最后,使用智能卡的计算机系统可以促进某些审计功能,但是中央管理员通常很难执行审计以确定智能卡在何时何地被使用。
因此,本文公开一种方法和系统,以便于一个或多个用户中的每一个分别使用一个或多个虚拟智能卡。本文描述的实施例克服了与传统智能卡相关的许多限制,同时保留了其所有优点。用户可以向安全的计算机系统认证他们的身份。此后,可以在远程中央服务器上安全地生成或访问适当的证书和私钥(用户有使用它们的一些授权)。
远程中央服务器是集中式虚拟智能卡服务器,其可以有利地访问证书管理机构(Certificate Authority),使得该服务器可以为用户生成各种类型的证书。众所周知,证书管理机构是一个组织,它核实实体的身份并通过对实体的数字证书进行数字签名来为这种身份作证。所有证书和私钥都安全地存储在虚拟智能卡服务器上,可以使用“硬件安全模块”来管理密钥,使得攻击者很难获得对私钥的访问。在一些实施例中,服务器可以保持在安全位置以维持服务器上的物理安全性。服务器根据已经建立的预先配置的策略对每个用户进行认证,以允许使用特定的虚拟智能卡。认证机制可以是用户名/密码、安全断言标记语言(Security Assertion Markup Language,SAML)认证、生物特征识别或任何其他合适的方法。可以定义不同的认证要求或安全协议,以便用户访问可以为该特定用户存储在服务器上的若干不同虚拟智能卡中的每一个。
当要使用分配给特定个人的虚拟智能卡之一时,在安全计算机系统处向该用户显示仔细控制的知情同意和认证提示。每当用户出于某种目的需要利用虚拟智能卡之一时(例如,批准特定交易或过程),都可以显示该提示。虚拟智能卡服务器向该用户认证什么级别适合于应用到特定虚拟智能卡使用的安全策略。这潜在地包括诸如以下信息:用户名、位置、时间、正在使用的应用程序等。如果认证策略需要,该服务器还可以请求“存在证明(proof-of-presence)”认证,使得最终用户可能需要回应质疑(输入你的密码、插入智能卡、使用指纹读取器)。
一旦用户向安全计算机系统进行认证,适当的证书(即,虚拟智能卡)就会暴露于用户通过使用标准计算机操作系统API访问的应用程序。使用标准操作系统API有助于与最广泛的应用程序选择兼容。每当要实际使用智能卡时(例如,当用户需要批准交易或过程时),就向用户显示仔细控制的知情同意和认证提示。
为了确保更高的安全性,用户的私钥(与其虚拟智能卡相关联)有利地永远不会离开远程中央服务器。因此,即使允许用户使用各种私钥,也绝不允许她直接访问它们。用户可用的每个私钥的每次使用都被委托给集中式虚拟智能卡服务器。因此,中央服务器能够创建每个私钥的每次使用的安全审计日志。此外,如果检测到异常(例如,恶意雇员可能已被解雇),则远程中央服务器可以响应于来自管理员的命令立即终止对分配给该用户的私钥的访问。这种生效没有延迟。
图1示出用于理解如本文所述的实施例虚拟智能卡系统的系统图。为方便起见,在包括私钥信息(例如,可以在PKI方案的情况下使用的私钥信息)的一个或多个虚拟智能卡的情况下公开本文描述的某些实施例。然而,应当理解,本文描述的虚拟智能卡系统在这方面不受限制,并且可以改为结合可以在传统物理智能卡中提供的任何内容或功能使用。
图1中的系统包括虚拟智能卡服务器(VSS)102,VSS 102可访问证书管理机构(CA)104、安全数据存储103和主数据存储105。一个或多个安全计算机系统1061-106n使用计算机数据网络108与VSS通信。VSS 102可以包括计算机程序和相关的计算机硬件,其向客户端安全计算机系统1061-106n提供虚拟智能卡服务。
安全数据存储103可以包含与已经分配或发布给各个用户的一个或多个私钥有关的私钥数据114。在一些实施例中,安全数据存储103可以是专门设计用于存储数字密钥的硬件安全模块(Hardware Security Module,HSM)。因此,安全数据存储103可以是插入卡或连接到VSS的外部设备。
主数据存储105可以包含一个或多个VSS安全策略110,VSS安全策略110定义VSS在确定是否允许使用私钥时施加的条件和要求。主数据存储还可以包含用户认证数据112、数字证书116和事务日志118。VSS使用事务日志118来记录包括如本文所述的私钥操作的事务以用于后续审计目的。
计算机数据网络108适合于促进实现如本文所述的虚拟智能卡系统所必需的文件、数据和其他类型的信息的通信。计算机网络108还可以促进与安全计算机系统1061-106n共享在VSS 102上可用的某些计算资源。可用于此目的的示例性网络可以包括根据任何已知通信协议操作的分组数据网络。这种网络的组织范围可以包括内联网、外联网和因特网中的一个或多个。
现在参考图2,图2示出用于理解安全计算机系统106n的某些部件的架构图。该安全计算机系统可以包括计算机硬件部件214(例如中央处理单元或CPU)、主存储器216和某些网络接口装置218,以促进本文描述的网络通信。该安全计算机系统还可以包括操作系统212,以管理该安全计算机系统上可用的硬件和软件资源。操作系统212可以促进访问可用于应用程序202使用的预编译例程或函数的库208。可以使用一个或多个应用程序编程接口(API)210将库内提供的各种函数和例程暴露给应用。
安全计算机系统106n还包括系统级代理204和用户级代理206。系统级代理204和用户级代理206是计算机程序,其在安全计算机系统中执行某些与安全和认证相关的功能,便于使用本文描述的虚拟智能卡。这些代理中的每一个还涉及与VSS 102的某些通信。系统级代理204主要涉及与安全计算机系统106n有关的认证操作。用户级代理主要涉及与安全计算机系统106n的用户有关的认证。系统级代理在安全计算机系统的启动过程中被实例化。有利地,为登录到安全计算机系统106n的每个用户实例化用户级代理206。系统级代理204信任为用户实例化的用户级代理206以代表该用户进行操作。
主存储器216可以包含一个或多个被定义的安全策略,这些安全策略被配置为控制用于允许使用如本文所述的一个或多个虚拟智能卡(例如,包含私钥信息的虚拟智能卡)的安全策略。例如,主存储器可以包含多个系统级代理(SLA)安全策略220,其定义了系统级代理204为了使用每个虚拟智能卡而应用的安全策略。类似地,主存储器可以包含多个用户级代理安全策略222,其定义了用户级代理206为了使用每个虚拟智能卡而应用的安全策略。
根据一个方面,用户级代理206直接向VSS 102认证用户。但是每次它这样做时,它还必须首先与系统级代理204协商以获得一次性(one-time)cookie。系统级代理204通过从VSS 102获得一次性cookie来响应并将其提供给用户级代理206。因此,VSS、系统级代理204和用户级代理206都知道正在执行什么授权或私钥操作。下面将更详细地描述这些实体的操作,并且随着讨论的进行,它们的目的将变得更加明显。
现在参考图3,图3示出用于理解虚拟智能卡系统的各种部件之间的某些交互的通信图。这些交互可以包括VSS 102与包括安全计算机系统(例如安全计算机系统106n)的各种实体之间的通信,安全计算机系统包括系统级代理204和用户级代理206。将结合图4A-4B和图5A-5B进一步详细描述这些交互中的一些。为了更加清楚,在图3中所示的通信中描述了仅使用单个虚拟智能卡。仍然,应当理解,用户在他登录到安全计算机系统的特定会话期间可以类似地从VSS102访问一个或多个授权的虚拟智能卡。这些不同的虚拟智能卡中的每一个可以具有不同的目的并且在一些实施例中可根据不同的安全策略被访问。
当系统级代理204在步骤302进行通信以启动向VSS的安全计算机客户端认证时,通信会话300可以开始。该过程可包括使用合适的认证协议让VSS识别安全计算机系统106n。该过程还可以包括从VSS到系统级代理的通信303,以指示认证已被确认或完成。通信303还可以包括智能卡和可用的适当使用策略的列表。然后,系统级代理204将该智能卡和适当使用策略的列表存储在安全计算机系统中以供以后使用。
可用于本文描述的目的的示例性机器认证协议可包括众所周知的Kerberos识别协议,安全计算机系统106n和VSS 102均将由此验证另一个的身份。作为选择,传统的传输层安全性(Transport Layer Security,TLS)客户端认证协议可用于此目的。如果安全计算机系统和VSS 102中的每一个都能够认证另一机器的身份,则在该步骤中用于机器认证的确切过程并不重要。因此,可以使用现在已知或将来知道的任何合适的机器认证过程。应当理解,根据所使用的特定认证协议,在机器认证过程中可以包括与其他计算机系统的附加通信。例如,这种通信可以包括与可信管理机构(authority)服务器的通信。为了清楚起见,在图3中有意省略了这些附加步骤。
一旦机器认证过程在303完成,则VSS此后将信任并接受来自特定系统级代理204的请求。当用户登录到安全系统计算机106n时,在304系统级代理204通知VSS 102用户已到达。这允许VSS确保适当的虚拟智能卡可供该用户使用。系统级代理还为该用户实例化用户级代理206。此时,该用户可以使用一个或多个应用程序202开始处理操作。
在某个时间点,这些处理操作可能需要某些私钥操作(例如,传统上通过使用存储在物理智能卡上的私钥来处理的私钥操作)。示例性私钥操作可以包括认证操作、签名操作、过程批准操作和/或加密操作。一个或多个这样的操作可以包括在PKI场景的情况下使用私钥。当这样的事件关于应用程序202之一出现时,在306该应用程序将发起用于私钥操作的请求。例如,为了启动这样的操作,应用程序可以将请求传送到在安全计算机系统106n上可用的一个或多个标准操作系统API 210。
作为响应,在308用户级代理206显示一个或多个用户提示,以请求用户同意使用如本文所公开的特定虚拟智能卡。这些同意提示可以包括涉及用户认证310的动作。根据针对分配给他们的一个或多个虚拟智能卡中的特定一个定义的配置的策略认证系统中的每个用户。在这方面,应该注意,已经分配给特定用户的不同虚拟智能卡可以具有附加到它们的不同安全策略。因此,特定实例中的用户认证机制可能涉及用户名/密码组合、SAML认证或生物认证中的一个或多个,其可能适合于使用特定虚拟智能卡的安全策略。在某些情况下,物理智能卡也可用作该认证过程的一部分。因此,在310用户通过提供认证信息来响应提示。
最后,在306用户级代理206需要与VSS通信以执行处特定应用程序请求的私钥操作。然而,在它可以这样做之前,它必须在312与服务级别代理(SLA)204协商,以接收一次性使用cookie。一次性使用cookie可以包括可以被加密的小数据文件(如文本文件)。一次性使用cookie(顾名思义)仅对授权一个私钥操作有效。这些动作确保系统级代理204始终知道用户级代理何时参与虚拟智能卡交易。系统级代理204通过在314向VSS 102通知用户级代理206已经请求允许使用虚拟智能卡来响应用户级代理206。该动作向VSS警告该事务并且导致VSS在316向系统级代理204提供一次性使用cookie。系统级代理接收该一次性使用cookie并且在318将其提供给用户级代理206。
此时,用户级代理具有从VSS请求私钥操作所需的所有元素。它具有在310接收的用户认证信息,并且具有允许其从VSS获得私钥操作所需的一次性使用cookie。因此,用户级代理206在320发起对私钥操作的请求。该请求可以包括包括在310获得的一次性使用cookie和用户认证数据的信息。VSS 102将接收该信息并对其进行评估以确定是否应该执行所请求的私钥操作。如果是,则VSS执行这样的私钥操作并在322将结果传送到用户级代理206。例如,该结果可以包括已经使用私钥解密的签名文档和/或数据的安全散列。一旦在用户级代理处接收到这些结果,就在324处将它们提供给发起私钥操作请求的应用程序202。
现在参考图4A和4B,提供了用于说明用于安全计算机106n处的虚拟智能卡系统的示例性方法流程图。该过程开始于402并继续到404,在404由系统级代理向VSS认证安全计算机系统。该步骤还可以包括在安全计算机系统处从VSS接收应当可用于安装在安全计算机系统上的各种应用程序的可用智能卡的列表。该信息存储在安全计算机系统中,并且可以被用户级代理206访问。当用户登录到安全计算机系统在(406:是),通知给系统级代理。在408系统级代理通知VSS用户已到达。此外,在410系统级代理使用户级代理被实例化。此后,用户可以利用在安全计算机系统可用的一个或多个应用程序。
在某个时间点,计算机系统上使用的应用程序可能需要私钥操作(412:是)。此时,对私钥操作的请求被定向到用户级代理。为了更好地理解该过程,应该注意,在某些众所周知的操作系统(例如基于Windows的操作系统)中,公钥和证书参考私钥放置在“用户证书存储”中。类似地,安全计算机系统中的智能卡数据库包含参考证书和卡的智能卡读卡器和“已知”智能卡的列表。用户级代理确保私钥的位置“保持最新”(如果需要在运行中切换智能卡,则会定期发生这种情况)。而且,一些智能卡可能受到限制,使得它们只能用于某些位置(例如“仅在办公室中”),因此如果在咖啡店的笔记本电脑上工作,在将阻止用户使用这种智能卡。在本文描述的实施例中,应用程序照常使用智能卡数据库和证书存储,但是存储的“参考”列表使用户级代理206被调用以获得对私钥的访问。
当在412用户级代理接收到对私钥操作的请求时,在414它发起提示(例如,在用户显示屏幕上显示的提示),该提示请求用户提供执行私钥操作的同意。该请求还可以包括对某些用户凭证的请求。例如,用户可能需要回应质疑(输入密码、插入智能卡、使用指纹读取器)。本文描述的用户级代理有利地负责管理虚拟智能卡的某些“可用性”特征。例如,可以决定对于特定应用程序使用虚拟智能卡仅提示用户一次,或者可以每五分钟提示一次。
一旦获得必要的同意和任何所需的凭证数据,用户级代理就在416与系统级代理协商以获得一次性使用cookie。该过程还用作向系统级代理通知该用户参与对私钥操作的请求。系统级代理还负责在私有机器上的日志记录和审计操作。因此,每当用户发起对私钥操作的请求时,系统级代理就可以进行合适的日志条目记录。这可以在以后与保持在VSS的中央记录进行交叉核对。
在418,系统级代理通知VSS用户已授权私钥操作,并且在420VSS通过提供所需的一次性使用cookie进行响应。在422系统级代理将一次性使用cookie传送给用户级代理,从而使用户级代理能够直接从VSS寻求私钥操作。更具体地,在424,用户级代理将必要的认证数据、一次性使用cookie和私钥请求数据传送到VSS。除了用户的凭证(例如,密码、生物识别扫描数据)之外,认证数据还可以包括诸如以下的信息:用户名、请求认证操作的位置、认证请求的时间、哪个应用程序发起请求等等。如果在VSS批准私钥操作,则用户级代理随后在426从VSS接收私钥操作响应。然后,用户级代理在428使私钥响应数据可用于发起请求的应用程序。此后,该过程可以在430结束或者可以继续。
现在参考图5A和5B描述VSS的操作。该过程开始于502并继续到504,VSS在504接收在远程计算机处的系统级代理发起的请求以参与计算机系统认证过程。该过程继续到506,VSS在506与客户端计算机系统参与认证过程。可用于此目的的示例性机器认证协议可包括众所周知的Kerberos识别协议或传统的传输层安全性(TLS)客户端认证协议。在508,确定认证过程是否已经成功。如果是(508:是),则该过程继续到512,由此远程客户端计算机此后在VSS处被列为可信计算机系统。如果认证过程失败,则在510拒绝认证请求,并且过程返回到504以处理下一个请求。
在随后的时间点,VSS可以在514从远程客户端计算机系统处的系统级代理接收新用户通知。当接收到这样的通知时,VSS可以在516准备特定用户的虚拟智能卡用于私钥操作。例如,这些操作可以包括从安全数据库中检索与用户的虚拟智能卡中的一个或多个相关联的私钥数据114。通常,私钥数据将被存储在安全数据存储103中。作为选择,私钥可以加密存储在主数据存储105中,在这种情况下,它可以在使用时被导入到安全数据存储103中。如果用户之前未使用过系统,则可以授权VSS执行“证书提供”。这是系统管理员在向用户发布智能卡时所进行的步骤的自动化版本。实际上,VSS的信任方式与系统管理员为某些用户组注册新的智能卡和证书的方式相同。这是通过将VSS作为注册机构集成到中央证书管理机构来完成的。
VSS还可以在事务日志118中记录用户在远程客户端计算系统处的存在或登录的发生。此后,VSS可以在518等待从在远程客户端计算机系统执行的系统级代理接收私钥请求时执行其他动作。来自系统级代理的私钥请求用作用户正在尝试或寻求执行私钥操作的指示。如果收到请求(518:是),则VSS生成一次性使用cookie。然后在520将该cookie传送到发起该请求的远程客户端计算机系统处的系统级代理。VSS还可以记录cookie生成和传递事件用于审计目的。
应注意,VSS不限于关于本文描述的特定事件执行记录操作。相反,VSS可以记录各种事件和数据,这些事件和数据在审计和记录虚拟智能卡使用方面可能被认为是相关的。例如,VSS可以记录正在使用的特定虚拟智能卡、正在执行的虚拟智能卡操作(例如,签名或解密)、在安全计算机系统使用虚拟智能卡的特定应用程序、授权使用虚拟智能卡请求的用户、发生授权的安全计算机系统以及用户首次登录的位置。
该过程在522继续,VSS在522等待从远程客户端计算机处的用户级代理接收私钥操作请求。VSS可以在等待这样的请求时执行其他操作。如果接收到私钥操作请求(522:是),则该过程继续到524,VSS在524评估所提供的认证信息。该评估过程可以包括将用户认证信息与包含在安全数据库中的用户认证数据112进行比较。VSS还可以将评估事件记录在事务日志118中用于将来的审计目的。
VSS可以具有一组或多组安全策略110,这些安全策略可被选择性地应用于控制使用不同虚拟智能卡的授权。如果用户凭证不被接受(526:否),则私钥操作请求被拒绝,并且在528记录该事件。在这种情况下,该过程可以可选地返回到522以等待接收用户认证数据。但是如果用户凭证被接受(526:是),则VSS可以在530执行远程客户端计算机系统处的用户级代理所请求的某些私钥操作。在VSS处执行的这些私钥操作可以包括例如生成已经传送到VSS的签名或解密数据的安全散列。
此后,该过程在532继续,由此私钥操作的结果(例如,签名或解密数据的安全散列)被传送到远程客户端计算机系统处的用户级代理。该事件还可以被VSS记录用于将来审计的目的。此后,该过程可以在534结束或者可以继续。
大多数传统智能卡是针对RSA或椭圆曲线(Elliptic Curve)私钥硬编码的。因此,本文描述的方法和系统可以用于促进使用私钥签名和认证(即,通过在VSS服务器处执行私钥操作)。但应该理解,实施例在这方面不受限制。传统的智能卡可以加载有适合其可用内存的任何程序。最先进的传统智能卡类型可以在卡上运行指纹匹配或虹膜扫描算法。因此,在本文公开的各种实施例中,这种操作的方面可以替代地由VSS处的虚拟智能卡执行。实际上,本文描述的虚拟智能卡可用于提供物理智能卡可以具有的任何功能,但是成本大大降低。
此外,可以注意到,已经在用户已经登录到远程客户端计算机系统时使用一个或多个虚拟智能卡的情况下描述了关于图3-5公开的过程。然而,应该理解的是,本文描述的方法和系统也可以扩展到登录过程。例如,连接到安全客户端计算机的自定义设备可以使用生物识别扫描和密码提示。对于大多数操作系统,该组合是不寻常的认证选项,但是本文描述的实施例可以使该过程看起来更像标准智能卡登录。
利用本文描述的系统和方法,允许用户使用与一个或多个虚拟智能卡相关联的一个或多个私钥,但是从不允许直接访问这样的信息。一个或多个私钥的每次使用都被委托给VSS。因此,VSS能够创建与特定虚拟智能卡相关联的每个私钥的每次使用的安全审计日志。此外,如果需要,管理员可以立即指示VSS终止特定用户对一个或多个虚拟智能卡/私钥的访问。不需要从员工那里收集物理智能卡,并且在撤销他们使用智能卡的能力时没有延迟。如果需要向用户发布新的(或甚至是临时的)智能卡,则VSS管理员可以立即实现该过程,并且用户可以立即虚拟地访问虚拟智能卡。
本文描述的系统的另一个优点是系统级代理、用户级代理和VSS可以分别应用针对允许用户访问的每个虚拟智能卡的使用而定制的不同的灵活的安全策略集。可以选择性地应用在系统级代理、用户级代理和VSS中的每一个处应用的这些策略,而不依赖于由该过程中涉及的每个其他实体应用的策略。
此外,由于在使用虚拟智能卡时不需要实际的物理令牌,因此最终用户没有机会丢失或忘记这样的令牌。因此,授权特定事务的证书与用户的身份分离。为了更好地理解该优点,考虑涉及一组安全审计员的示例性使用实例。假设审计员轮班工作以审核文件。在这种情况下,当局要么需要向每个审核员提供他们自己的卡,要么他们必须共享一张卡,该卡在轮班结束时物理地交给下一位审计员。这些系统都不是特别令人满意。许多智能卡的存在意味着增加丢失或误用的机会。但共享一张智能卡是有问题的,特别是如果两个人同时工作或在不同地点工作。由于多个用户可以访问同一个VSS,因此VSS可以同时为多个用户提供相同的智能卡。类似地,不再需要特定供应商的智能卡取卡器硬件,这对诸如电话的一些移动设备是严重的限制。不需要硬件也降低了此类系统的购买和拥有成本。
最后,通过抛弃各个专有智能卡供应商提供的软件,本文描述的虚拟智能卡解决方案允许定制用户看到的提示以及更灵活的认证选项。提示和认证选项独立于智能卡制造商提供的智能卡中间件驱动程序的版本。特别是,提供了控制,应用程序通过该控制提示用户身份证明和频率。相比之下,硬件解决方案往往具有限制性硬编码要求,如:“任何计算机上的任何应用程序都可以使用此功能,只要用户输入4位数PIN,每次执行操作时都重复输入。”
可以在一个计算机系统中实现本文公开的本发明的布置的实施例。可以在若干互连的计算机系统中实现替代实施例。适于执行本文所述方法的任何类型的计算机系统或其他设备都是适合的。硬件和软件的典型组合可以是通用计算机系统。通用计算机系统可以具有计算机程序,该计算机程序可以控制计算机系统,使得它执行本文所述的方法。
现在参考图6,图6示出用于理解包括示例性计算机系统600的机器布置的硬件框图。该机器可以包括一组指令,该组指令用于使计算机系统执行本文讨论的方法中的任何一个或多个。在网络化部署中,该机器可以用作服务器或客户端机器。在一个或多个实施例中,示例性计算机系统600可以对应于安全计算机系统1061-106n中的每一个和/或对应于VSS 102。在一些实施例中,计算机600可以独立地作为独立设备操作。然而,实施例在这方面不受限制,并且在其他场景中,计算机系统可以可操作地连接(联网)到分布式环境中的其他机器,以促进本文描述的某些操作。因此,尽管仅示出了一个机器,但是应当理解,本发明的实施例可以被认为包括单独地或联合地执行如本文所述的一组或多组指令的任何机器集合。
计算机系统600包括处理器602(例如中央处理单元或CPU)、主存储器604、静态存储器606、包括机器可读介质620的驱动单元608、输入/输出装置610、显示单元612(例如液晶显示器(LCD)、固态显示器或阴极射线管(CRT))和网络接口装置614。可以通过数据总线促进这些各种部件之间的通信。一组或多组指令624可以完全或部分地存储在主存储器604、静态存储器606和驱动单元608中的一个或多个中。所述指令也可以在由计算机系统执行期间驻留在处理器602内。
输入/输出装置610可以包括键盘、鼠标、多点触控表面(例如触摸屏)、麦克风、相机等。在安全计算机系统1061-106n的情况下,输入/输出装置还可以包括适合于捕获用户生物特征信息的一个或多个生物特征捕获装置。这种用户生物特征信息可以包括用户认证信息。安全计算机系统1061-106n可以使用这样的信息来促进用户初始登录到安全计算机系统。作为选择,这些信息可用于向VSS认证用户。例如,可以作为对私钥操作的请求的一部分将用户生物特征信息传送到VSS以认证用户。同样地,这种场景中的输入/输出装置610可以包括物理智能卡读取器,该读取器能够读取用户呈现的物理智能卡上包含的信息。包含在智能卡上的信息可用于促进用户登录到安全计算机和/或当请求私钥操作时作为用户认证信息。
网络接口装置614可以包括硬件部件和软件或固件,以根据数据网络616使用的网络通信协议来促进有线或无线网络数据通信。
驱动单元608可包括机器可读介质620,其上存储有一组或多组指令624(例如,软件),这些指令用于促进本文描述的一个或多个方法和功能。术语“机器可读介质”应被理解为包括能够存储用于促进本公开的任何一种或多种方法的指令或数据结构的任何有形介质。示例性机器可读介质可包括磁介质、固态存储器、光学介质等。更具体地,如本文所述的有形介质可包括磁盘、磁光盘、CD-ROM盘和DVD-ROM盘、半导体存储器件、电可擦除可编程只读存储器(EEPROM)和闪存器件。如本文所述的有形介质是非暂时性的介质,只要它不涉及传播信号即可。
本文引用的计算机系统可以包括各种类型的计算系统和设备,包括服务器计算机、客户端用户计算机、个人计算机(PC)、平板PC、膝上型计算机、台式计算机、控制系统、网络路由器、交换机或网桥或能够执行一组指令(顺序或其他)的任何其他设备,所述指令指定该设备要采取的动作。此外,虽然示出了一个计算机,但短语“计算机系统”应被理解为包括单独或联合执行一组(或多组)指令以执行本文所讨论的任何一种或多种方法的任何计算设备集合。
因此,计算机系统600应该被理解为可以结合各种实施例使用的计算机系统的一个可能示例。然而,本发明在这方面不受限制,并且也可以使用任何其他合适的计算机系统架构而没有限制。同样可以构造专用硬件实现,包括但不限于专用集成电路、可编程逻辑阵列和其他硬件设备,以实现本文所述的方法。可以包括各种实施例的设备和系统的应用广泛地包括各种电子和计算机系统。一些实施例可以在两个或更多个特定互连硬件模块或装置中实现功能,其中相关控制和数据信号在模块之间和通过模块通信,或者作为专用集成电路的一部分。因此,示例性系统适用于软件、固件和硬件实现。
此外,应该理解,实施例可以采用有形计算机可用存储介质(例如,硬盘或CD-ROM)上的计算机程序产品的形式。计算机可用存储介质可以具有体现在介质中的计算机可用程序代码。本文使用的术语计算机程序产品是指包括能够实现本文描述的方法的所有特征的装置。在此情况下,计算机程序、软件应用、计算机软件例程和/或这些术语的其他变体是指一组指令的任何语言、代码或符号的任何表达,旨在使具有信息处理能力的系统直接或者在a)转换为另一种语言、代码或符号;或b)以不同的材料形式复制之一或两者之后执行特定功能。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的实施例在所有方面都应被视为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是通过本详细描述表示。在权利要求的含义和等同范围内的所有变化都包含在其范围内。
本说明书中对特征、优点或类似语言的引用并不意味着可以用本发明实现的所有特征和优点应该是或者在本发明的任何单个实施例中。而是,涉及特征和优点的语言应被理解为意味着结合实施例描述的特定特征、优点或特性包括在本发明的至少一个实施例中。因此,在整个说明书中对特征和优点以及类似语言的讨论可以但不一定指代相同的实施例。
此外,本发明的所述特征、优点和特性可以在一个或多个实施例中以任何合适的方式组合。根据本文的描述,相关领域的技术人员将认识到,可以在没有特定实施例的一个或多个特定特征或优点的情况下实践本发明。在其他情况下,在某些实施例中可以认识到附加的特征和优点,这些特征和优点可能不存在于本发明的所有实施例中。
本说明书中对“一个实施例”、“实施例”或类似语言的引用意味着结合所指示的实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,贯穿本说明书的短语“在一个实施例中”、“在实施例中”和类似语言可以但不是必须全部指代相同的实施例。
如在本文件中使用的,单数形式“一”、“一个”和“该”包括复数指代,除非上下文另有明确说明。除非另外定义,否则本文使用的所有技术和科学术语具有与本领域普通技术人员通常理解的含义相同的含义。如在本文件中所使用的,术语“包括”意味着“包括但不限于”。
本领域技术人员将理解,图6中所示的计算机系统架构可以是计算机系统的一个可能示例。然而,本发明在这方面不受限制,并且也可以使用任何其他合适的计算机系统架构而没有限制。可以构造专用硬件实现,包括但不限于专用集成电路、可编程逻辑阵列和其他硬件设备,以实现本文所述的方法。可以包括各种实施例的设备和系统的应用广泛地包括各种电子和计算机系统。一些实施例可以在两个或更多个特定互连硬件模块或装置中实现功能,相关控制和数据信号在模块之间和通过模块通信,或者作为专用集成电路的一部分。因此,示例性系统适用于软件、固件和硬件实现。
根据本发明的各种实施例,本文描述的方法作为软件程序存储在机器可读存储介质中,并且被配置为在计算机处理器上运行。此外,软件实现可以包括但不限于分布式处理、部件/对象分布式处理、并行处理、虚拟机处理,其也可以被构造为实现本文描述的方法。在本发明的各种实施例中,连接到网络环境的网络接口装置614使用指令624在网络上通信。
虽然机器可读存储介质620在示例性实施例中被示为单个存储介质,但是术语“机器可读存储介质”应被视为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“机器可读存储介质”还应被视为包括能够存储、编码或携带一组指令以供机器执行并且使机器执行本公开的任何一种或多种方法的任何有形介质。
因此,术语“机器可读存储介质”应被视为包括但不限于:固态存储器,如容纳一个或多个只读(非易失性)存储器、随机存取存储器或其他可重写(易失性)存储器的存储卡或其他封装;磁光或光学介质,例如盘或带。因此,本公开被认为包括本文列出的机器可读介质中的任何一个或多个,并且包括公认的等同物和后继介质,其中存储了本文的软件实现。
尽管已经关于一个或多个实施方式说明和描述了本发明,但是本领域技术人员在阅读和理解本说明书和附图时将会想到等同的改变和修改。另外,尽管可能仅关于若干实施方式中的一个公开了本发明的特定特征,但是如果对于任何给定或特定应用可能是期望和有利的话,那么这样的特征可以与其他实施方式的一个或多个其他特征组合。因此,本发明的广度和范围不应受任何上述实施例的限制。相反,本发明的范围应根据所附权利要求及其等同物来限定。

Claims (20)

1.一种用于在公钥基础设施(PKI)方案的情况下控制私钥的使用的方法,包括:
将多个分别分配给虚拟智能卡的私钥存储在只能由虚拟智能卡服务器VSS访问的安全数据存储中;
使用远离所述VSS的客户端计算机机器上的系统级代理,在所述VSS上启动所述客户端计算机机器的机器认证协议,以将所述客户端计算机机器向所述VSS确立为可信计算机系统;
响应于在所述客户端计算机机器的用户级代理处接收到对私钥操作的请求,从用户获得用户认证信息;
在基于所述用户认证信息对所述用户进行认证之前,使所述用户级代理与所述系统级代理协商以从所述VSS获取授权所述私钥操作的cookie;
从所述用户级代理向所述VSS发起对私钥操作的请求;
将所述用户认证信息和所述cookie作为所述请求的一部分从所述用户级代理传送到所述VSS;
响应于所述请求,在所述VSS处使用分配给至少被发放给所述用户的一个所述虚拟智能卡的私钥选择性地执行由所述用户级代理请求的私钥操作。
2.根据权利要求1所述的方法,还包括:将所述私钥操作的结果从所述VSS传送到所述用户级代理。
3.根据权利要求2所述的方法,还包括:将所述私钥操作的结果提供给在所述客户端计算机机器上执行的应用程序。
4.根据权利要求1所述的方法,还包括:从在所述客户端计算机机器上执行的应用程序接收在所述用户级代理处对所述私钥操作的请求。
5.根据权利要求1所述的方法,还包括:限制所述cookie在所述VSS处的使用,使得在所述VSS处对于允许执行所述私钥操作,所述cookie仅有效一次。
6.根据权利要求1所述的方法,还包括:选择在所述VSS处执行的所述私钥操作,以包括生成已经传送到所述VSS的签名或解密数据的安全散列。
7.根据权利要求1所述的方法,其中所述用户认证信息包括从由密码、用户生物特征数据和从物理智能卡获得的数据组成的组中选择的一个或多个元素。
8.根据权利要求7所述的方法,其中所述方法还包括:通过使用生物特征数据捕获装置和智能卡读取装置中的至少一个捕获所述用户认证信息。
9.根据权利要求1所述的方法,还包括:在所述用户级代理、所述系统级代理和所述VSS处选择性地应用根据正被请求使用的特定私钥确定的预定安全策略。
10.根据权利要求1所述的方法,还包括:在所述VSS处将关于请求执行私钥操作的每个动作的信息记录在安全数据日志中。
11.一种用于在公钥基础设施(PKI)方案的情况下控制私钥的使用的方法,包括:
将多个分别分配给虚拟智能卡的私钥存储在只能由虚拟智能卡服务器VSS访问的安全数据存储中;
在所述VSS处接收将远离所述VSS的客户端计算机机器确立为可信计算机系统的请求,所述请求由所述客户端计算机机器上的系统级代理根据预定的机器认证协议发起;
在认证所述客户端计算机机器的用户之前,在所述VSS处接收来自所述系统级代理的对cookie的请求;
向所述系统级代理提供所请求的cookie;
在所述VSS处接收来自用户级代理的对私钥操作的请求,其中所述cookie和所述用户级代理从所述用户获得的所选用户认证信息包括所述请求的一部分;和
响应于所述请求,通过使用分配给至少被发放给所述用户的一个所述虚拟智能卡的私钥,在所述VSS处选择性地执行由所述用户级代理请求的所述私钥操作。
12.一种虚拟智能卡系统,包括:
第一计算机机器,其包括虚拟智能卡服务器VSS,所述VSS控制对分别与多个虚拟智能卡相关联的内容的访问;
远离所述VSS设置的一个或多个第二计算机机器,每个第二计算机机器包括客户端计算机系统,所述客户端计算机系统包括系统级代理,所述系统级代理在所述VSS上启动客户端计算机机器的机器认证协议,以将所述客户端计算机机器向所述VSS确立为可信计算机系统;
在所述客户端计算机系统上的用户级代理,所述用户级代理接收由所述客户端计算机机器的至少一个应用程序发起的对虚拟智能卡操作的请求;
其中所述用户级代理响应于所述请求使所述客户端计算机系统:
从所述客户端计算机系统的用户获得允许使用所述虚拟智能卡操作所需的用户认证信息;
在基于所述用户认证信息对所述用户进行认证之前,与所述系统级代理协商以从所述VSS获取cookie;
向所述VSS发起用于执行所述虚拟智能卡操作的请求;以及
将所述用户认证信息和所述cookie作为所述请求的一部分传送到所述VSS;并且
其中,如果满足适用于所请求的虚拟智能卡操作的安全策略,则所述VSS通过选择性地执行所述虚拟智能卡操作来响应所述请求。
13.根据权利要求12所述的虚拟智能卡系统,其中所述VSS被配置为将所述虚拟智能卡操作的结果传送到所述用户级代理。
14.根据权利要求13所述的虚拟智能卡系统,其中所述用户级代理被配置为将所述虚拟智能卡操作的结果提供给发起对所述虚拟智能卡操作的请求的应用程序。
15.根据权利要求12所述的虚拟智能卡系统,其中所述VSS被配置为使得所述cookie仅对在所述VSS处的一个虚拟智能卡操作有效。
16.根据权利要求12所述的虚拟智能卡系统,其中所述虚拟智能卡操作是在所述VSS处执行的私钥操作,并且所述VSS被配置为生成已经传送到所述VSS的签名或解密数据的安全散列。
17.根据权利要求12所述的虚拟智能卡系统,其中所述用户认证信息包括从由密码、用户生物特征数据和从物理智能卡获得的数据组成的组中选择的一个或多个元素。
18.根据权利要求17所述的虚拟智能卡系统,其中所述客户端计算机系统被配置为通过使用生物特征数据捕获装置和智能卡读取装置中的至少一个来捕获所述用户认证信息。
19.根据权利要求12所述的虚拟智能卡系统,其中所述用户级代理、所述系统级代理和所述VSS中的每一个被配置为选择性地应用根据正在请求使用的特定虚拟智能卡确定的预定安全策略。
20.根据权利要求12所述的虚拟智能卡系统,其中所述VSS被配置为在数据日志中记录关于与每个对虚拟智能卡操作的请求有关的多个事件的信息。
CN201780034781.8A 2016-06-29 2017-04-14 具有审计功能的虚拟智能卡 Expired - Fee Related CN109313681B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/196,702 2016-06-29
US15/196,702 US9973498B2 (en) 2016-06-29 2016-06-29 Virtual smart cards with audit capability
PCT/US2017/027620 WO2018004784A1 (en) 2016-06-29 2017-04-14 Virtual smart cards with audit capability

Publications (2)

Publication Number Publication Date
CN109313681A CN109313681A (zh) 2019-02-05
CN109313681B true CN109313681B (zh) 2022-03-18

Family

ID=59227814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780034781.8A Expired - Fee Related CN109313681B (zh) 2016-06-29 2017-04-14 具有审计功能的虚拟智能卡

Country Status (5)

Country Link
US (1) US9973498B2 (zh)
EP (1) EP3455769B1 (zh)
JP (1) JP6792647B2 (zh)
CN (1) CN109313681B (zh)
WO (1) WO2018004784A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3573001A1 (en) * 2018-05-24 2019-11-27 Gemalto Sa Method and system for implementing a virtual smart card service
CN111143850B (zh) * 2019-11-22 2022-03-04 航天恒星科技有限公司 一种卫星数据分布式虚拟化存储的安全防护系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085931B1 (en) * 1999-09-03 2006-08-01 Secure Computing Corporation Virtual smart card system and method
CN1836251A (zh) * 2003-06-19 2006-09-20 高通股份有限公司 用于多功能认证设备的装置和方法
CN1989731A (zh) * 2004-07-23 2007-06-27 数码安信有限公司 使用一次性私钥执行数字签名的系统和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001275051A1 (en) 2000-05-30 2001-12-11 Pointsec Mobile Technologies, Inc. Apparatus and methods for using a virtual smart card
US20020031230A1 (en) * 2000-08-15 2002-03-14 Sweet William B. Method and apparatus for a web-based application service model for security management
US7299292B2 (en) * 2002-03-29 2007-11-20 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream to a virtual smart card client system
US20090037729A1 (en) * 2007-08-03 2009-02-05 Lawrence Smith Authentication factors with public-key infrastructure
CN101420299B (zh) * 2008-11-28 2010-09-01 北京飞天诚信科技有限公司 提高智能密钥设备稳定性的方法和智能密钥设备
AU2011261152B2 (en) 2010-06-02 2015-06-18 Idondemand, Inc. Method and system for providing continued access to authentication and encryption services
CN103366111B (zh) * 2013-07-10 2016-02-24 公安部第三研究所 移动设备上基于二维码实现智能卡扩展认证控制的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085931B1 (en) * 1999-09-03 2006-08-01 Secure Computing Corporation Virtual smart card system and method
CN1836251A (zh) * 2003-06-19 2006-09-20 高通股份有限公司 用于多功能认证设备的装置和方法
CN1989731A (zh) * 2004-07-23 2007-06-27 数码安信有限公司 使用一次性私钥执行数字签名的系统和方法

Also Published As

Publication number Publication date
US9973498B2 (en) 2018-05-15
EP3455769A1 (en) 2019-03-20
WO2018004784A1 (en) 2018-01-04
JP6792647B2 (ja) 2020-11-25
CN109313681A (zh) 2019-02-05
EP3455769B1 (en) 2020-05-27
US20180007039A1 (en) 2018-01-04
JP2019525519A (ja) 2019-09-05

Similar Documents

Publication Publication Date Title
US10939295B1 (en) Secure mobile initiated authentications to web-services
US11438764B2 (en) Secure mobile initiated authentication
US10171241B2 (en) Step-up authentication for single sign-on
EP3207661B1 (en) Identity infrastructure as a service
EP2689372B1 (en) User to user delegation service in a federated identity management environment
US10922401B2 (en) Delegated authorization with multi-factor authentication
US8997196B2 (en) Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US20180115551A1 (en) Proxy system for securely provisioning computing resources in cloud computing environment
CN113316783A (zh) 使用活动目录和一次性口令令牌组合的双因素身份认证
US20150135275A1 (en) Authorization server system, control method therefor, and storage medium
EP3685287B1 (en) Extensible framework for authentication
US20150180849A1 (en) Mobile token
US11356261B2 (en) Apparatus and methods for secure access to remote content
US20200344235A1 (en) System and method for controlling a multi-tenant service-oriented architecture
US20210037004A1 (en) Signing in to multiple accounts with a single gesture
US10592978B1 (en) Methods and apparatus for risk-based authentication between two servers on behalf of a user
CN109313681B (zh) 具有审计功能的虚拟智能卡
CN110869928A (zh) 认证系统和方法
US11824856B1 (en) Chaining of authorizations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220318