IP Library Granted Patent US 10,235,189
Granted Patent B2
US 10,235,189 · App. 15/341,182 · Granted Mar 19, 2019

Isolating a redirected smart card reader to a remote session

Inventors: Gokul Thiruchengode Vajravel (Bangalore, IN); Ramanujam Kaniyar Venkatesh (Bangalore, IN)
Assignee: Wyse Technology L.L.C.
G06F9/4484H04L67/08H04L67/146H04L67/2814
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,235,189
App. No.
15/341,182
Granted
Mar 19, 2019
Kind
B2
Abstract

A smart card stub and a smart card proxy can be employed to enable a redirected smart card reader to be accessed within a remote session. To isolate a redirected smart card to a remote session, the smart card stub can be configured to process a response to an application's request to enumerate smart card readers. This processing can include obtaining a session identifier for each enumerated smart card reader and removing any smart card reader from the response if the session identifier of the smart card reader does not match the session identifier of the requesting application. The smart card stub can communicate with a filter driver to obtain the session identifiers employed in this process.

Claims (41)

1. A method, implemented on a server in a virtual desktop infrastructure environment, for isolating a redirected smart card reader to a remote session, the method comprising:

receiving, at a smart card stub that is executing in a remote session, a response to a function call that was made by an application executing in the remote session to enumerate smart card readers;

accessing a list of smart card readers included in the response;

for each smart card reader identified in the list:

(1) querying a filter driver to obtain a session identifier for the smart card reader; and

(2) removing the smart card reader from the list if the obtained session identifier is different than a session identifier of the application; and

relaying the response to the application after removing any smart card readers with different session identifiers from the list.

2. The method of claim 1 , wherein the function call is the SCardListReaders function call.

3. The method of claim 1 , wherein querying the filter driver comprises sending a device name of the smart card reader to the filter driver.

4. The method of claim 3 , wherein the device name comprises a vendor name, an interface type, and a device unit.

5. The method of claim 1 , wherein querying the filter driver comprises sending a device instance ID of the smart card reader to the filter driver.

6. The method of claim 5 , wherein the smart card stub uses a device name of the smart card reader to obtain the device instance identification (ID).

7. The method of claim 1 , wherein the filter driver stores mappings between each smart card reader that is being redirected to the server and a session identifier of the remote session to which the smart card reader is being redirected.

8. The method of claim 1 , wherein querying the filter driver comprises sending an input/output control (ioctl) communication.

9. The method of claim 1 , wherein the smart card stub receives the response to the function call from a smart card proxy that is executing in session 0 .

10. The method of claim 1 , wherein the list included in the response that is relayed to the application identifies a first smart card reader, the method further comprising:

intercepting, at the smart card stub, a first request from the application to access the first smart card reader; and

passing the first request to a smart card proxy that is executing in session 0 to cause the smart card proxy to invoke the first request.

11. The method of claim 10 , further comprising:

receiving, at the smart card stub and from the smart card proxy, a first response to the first request; and

passing the first response to the application.

12. The method of claim 1 , further comprising:

receiving, at the smart card stub, a second response to a function call that was made by an application executing in the remote session to enumerate smart card readers;

accessing a list of smart card readers included in the second response;

determining that the list does not identify any smart card readers; and

relaying the second response to the application without modifying the list.

13. The method of claim 1 , wherein the list identifies one or more smart card readers that are associated with a session identifier that is different than the session identifier of the application such that the smart card stub removes the one or more smart card readers from the list prior to relaying the response to the application.

14. One or more computer storage media storing computer executable instructions which when executed on a server implement a smart card stub that executes in a remote session and is configured to isolate a redirected smart card reader to the remote session by performing the following:

receiving, from a smart card proxy, responses to smart card API calls that are made by applications executing in the remote session;

for each response, determining whether the response enumerates smart card readers that are available on the server; and

when it is determined that a response enumerates smart card readers that are available on the server, modifying the response to remove any smart card readers that are not redirected to the remote session in which the smart card stub is executing.

15. The computer storage media of claim 14 , wherein modifying the response comprises querying a filter driver to obtain a session identifier for each smart card reader.

16. The computer storage media of claim 15 , wherein querying the filter driver comprises sending a device name for each smart card reader.

17. The computer storage media of claim 15 , wherein querying the filter driver comprises sending a device instance identification (ID) for each smart card reader.

18. The compute storage media of claim 14 , wherein the smart card stub receives the responses from the smart card proxy via Remote Procedure Call (RPC).

19. One or more computer storage media storing computer executable instructions which when executed implement components of a virtual desktop infrastructure configured to be executed on a server, the components comprising:

a smart card stub that is configured to execute in a remote session;

a smart card proxy that is configured to execute in session 0 , wherein the smart card stub passes smart card function calls to the smart card proxy and the smart card proxy passes responses to the smart card function calls to the smart card stub; and

a filter driver that is configured to execute on a smart card driver stack;

wherein, when the smart card stub receives a response from the smart card proxy that enumerates smart card readers, the smart card stub communicates with the filter driver to identify a session identifier associated with each enumerated smart card, and wherein the smart card stub removes from the response any smart card reader associated with a session identifier that is different than a session identifier of an application to which the response is directed.

20. The computer storage media of claim 19 , wherein the filter driver maintains a mapping between each smart card reader that is redirected to the server and a session identifier of the smart card reader.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
MERGER Recorded May 9, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 059912/0109 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (041829/0873) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0724 →
RELEASE OF SECURITY INTEREST AT REEL 041808 FRAME 0516 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0573 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (NOTES) Recorded Feb 28, 2017
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 041829/0873 →
PATENT SECURITY INTEREST (CREDIT) Recorded Feb 24, 2017
From: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 041808/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2016
From: VAJRAVEL, GOKUL THIRUCHENGODE; VENKATESH, RAMANUJAM KANIYAR
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 040195/0800 →
Continuity (1)
Related Publication 20180121224A1 · May 3, 2018