IP Library Granted Patent US 12,294,615
Granted Patent B2
US 12,294,615 · App. 17/847,117 · Granted May 6, 2025

Using a requestor identity to enforce a security policy on a network connection that conforms to a shared-access communication protocol

Inventors: Or Moran (Rishon LeZion, IL); Vladimir Perelman (Rishon LeZion, IL); Meital Ben David (Tel Aviv, IL)
Assignee: Microsoft Technology Licensing, LLC
H04L63/20H04L63/083
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 12,294,615
App. No.
17/847,117
Granted
May 6, 2025
Kind
B2
Abstract

Techniques are described herein that are capable of using a requestor identity to enforce a security policy on a network connection that conforms to a shared-access communication protocol. A request to create the network connection to a network resource is received. The network connection is associated with the requestor identity, which identifies a requesting entity associated with the request, by associating the request with the requestor identity and further by associating the network connection with the request. A determination is made whether the requesting entity is authorized to access the network resource based at least in part on a permission that is indicated by the security policy. Based at least in part on the permission indicating that the requesting entity is authorized to access the network resource, the network connection to the network resource is created.

Claims (101)

1. A system to use a requestor identity to enforce a security policy on a network connection that conforms to a shared-access communication protocol, the system comprising:

a memory;

a processing system coupled to the memory, the processing system configured to execute a driver; and

the driver configured to:

receive a request,

the request requesting creation of the network connection between the system and a target network resource,

the network connection conforming to a communication protocol that is configured to provide shared access to network resources;

authenticate a requesting entity associated with the request by associating the network connection, which is yet to be created, with the requestor identity in lieu of comparing a credential of the requesting entity to a reference credential, wherein the requestor identity identifies the requesting entity, wherein authentication of the requesting entity by associating the network connection with the requestor identity is performed by associating the request with the requestor identity and further by associating the network connection with the request;

determine whether the requesting entity is authorized to access the target network resource based at least on a permission that is indicated by the security policy;

based at least on the permission indicating that the requesting entity is authorized to access the target network resource, create the network connection between the system and the target network resource;

receive a second request,

the second request requesting creation of a second network connection between the system and a second target network resource,

the second network connection conforming to the communication protocol that is configured to provide shared access to network resources;

associate the second network connection with the requestor identity, which identifies the requesting entity associated with the second request, by associating the second request with the requestor identity and further by associating the second network connection with the second request;

determine whether the requesting entity is authorized to access the second target network resource based at least on a second permission that is indicated by the security policy; and

based at least on the second permission indicating that the requesting entity is not authorized to access the second target network resource, create the second network connection between the system and another network resource in lieu of the second target network resource.

2. The system of claim 1 , wherein the security policy includes a preference associated with the requesting entity, the preference indicating that the network connection is to be created through a specified path; and

wherein the driver is configured to:

create the network connection through the specified path, which is selected from a plurality of paths based at least on the preference.

3. The system of claim 1 , wherein the request includes a file open request, which requests to open a file;

wherein the target network resource includes the file; and

wherein the driver is configured to:

based at least on the permission indicating that the requesting entity is authorized to access the target network resource, enable the requesting entity to open the file.

4. The system of claim 3 , wherein the driver is further configured to:

based at least on the request including a double-backslash, determine that the request includes the file open request, the double-backslash defined by two consecutive backslash characters.

5. The system of claim 1 , wherein the processing system is further configured to execute an operating system; and

wherein the driver is further configured to:

receive a protocol use indicator from the operating system, the protocol use indicator specifying that the communication protocol is to be used to access the target network resource.

6. The system of claim 1 , wherein the driver is further configured to:

throttle requests that request access to the network resources such that the requests are processed one-at-a-time, the requests including the request that requests creation of the network connection between the system and the target network resource.

7. The system of claim 1 , wherein the driver is configured to:

provide a user interface that is configured to receive a credential of the requesting entity;

receive the credential via the user interface;

authenticate the requesting entity by performing multi-factor authentication based at least on the received credential corresponding to a reference credential that is associated with the requesting entity and further based at least in part on the network connection being associated with the requestor identity; and

based at least on the permission indicating that the requesting entity is authorized to access the target network resource and further based at least on the requesting entity being authenticated, create the network connection between the system and the target network resource.

8. The system of claim 1 , wherein the security policy includes a rule that prohibits multiple requesting entities from accessing a same network resource from a same machine within a specified period of time;

wherein the driver is configured to:

determine a machine from which the request is received;

based at least on the rule, determine whether another requesting entity, other than the requesting entity associated with the request, has accessed the target network resource from the machine within the specified period of time prior to a current time; and

based at least on the permission indicating that the requesting entity is authorized to access the target network resource and further based at least on a determination that another requesting entity has not accessed the target network resource from the machine within the specified period of time prior to the current time, create the network connection between the system and the target network resource.

9. A method of using a requestor identity to enforce a security policy on a network connection that conforms to a shared-access communication protocol, the method implemented by a driver that runs on a computing system, the method comprising:

receiving a request,

the request requesting creation of the network connection between the computing system and a target network resource,

the network connection conforming to a communication protocol that is configured to provide shared access to network resources;

authenticating a requesting entity associated with the request by associating the network connection, which is yet to be created, with the requestor identity in lieu of comparing a credential of the requesting entity to a reference credential, wherein the requestor identity identifies the requesting entity, wherein authenticating the requesting entity by associating the network connection with the requestor identity is performed by associating the request with the requestor identity and further by associating the network connection with the request;

determining whether the requesting entity is authorized to access the target network resource based at least on a permission that is indicated by the security policy;

based at least on the permission indicating that the requesting entity is authorized to access the target network resource, creating the network connection between the computing system and the target network resource;

receiving a second request,

the second request requesting creation of a second network connection between the computing system and a second target network resource,

the second network connection conforming to the communication protocol that is configured to provide shared access to network resources;

associating the second network connection with the requestor identity, which identifies the requesting entity associated with the second request, by associating the second request with the requestor identity and further by associating the second network connection with the second request;

determining whether the requesting entity is authorized to access the second target network resource based at least in part on a second permission that is indicated by the security policy; and

based at least in part on the second permission indicating that the requesting entity is not authorized to access the second target network resource, creating the second network connection between the computing system and another network resource in lieu of the second target network resource.

10. The method of claim 9 , wherein the security policy includes a preference associated with the requesting entity, the preference indicating that the network connection is to be created through a specified path; and

wherein creating the network connection comprises:

creating the network connection through the specified path, which is selected from a plurality of paths based at least on the preference.

11. The method of claim 9 , wherein the request includes a file open request, which requests to open a file;

wherein the target network resource includes the file; and

wherein creating the network connection between the computing system and the target network resource comprises:

enabling the requesting entity to open the file.

12. The method of claim 11 , further comprising:

based at least on the request including a double-backslash, determining that the request includes the file open request, the double-backslash defined by two consecutive backslash characters.

13. The method of claim 9 , further comprising:

receiving a protocol use indicator from an operating system that runs on the computing system, the protocol use indicator specifying that the communication protocol is to be used to access the target network resource.

14. The method of claim 9 , further comprising:

throttling requests that request access to the network resources such that the requests are processed one-at-a-time, the requests including the request that requests creation of the network connection between the computing system and the target network resource.

15. The method of claim 9 , further comprising:

providing a user interface that is configured to receive a credential of the requesting entity;

receiving the credential via the user interface; and

authenticating the requesting entity by performing multi-factor authentication based at least on the received credential corresponding to a reference credential that is associated with the requesting entity and further based at least on the network connection being associated with the requestor identity;

wherein creating the network connection comprises:

based at least on the permission indicating that the requesting entity is authorized to access the target network resource and further based at least on the requesting entity being authenticated, creating the network connection between the computing system and the target network resource.

16. The method of claim 9 , wherein the security policy includes a rule that prohibits multiple requesting entities from accessing a same network resource from a same machine within a specified period of time;

wherein the method further comprises:

determining a machine from which the request is received; and

based at least on the rule, determining whether another requesting entity, other than the requesting entity associated with the request, has accessed the target network resource from the machine within the specified period of time prior to a current time; and

wherein creating the network connection comprises:

based at least on the permission indicating that the requesting entity is authorized to access the target network resource and further based at least on a determination that another requesting entity has not accessed the target network resource from the machine within the specified period of time prior to the current time, creating the network connection between the computing system and the target network resource.

17. A computer program product comprising a computer-readable storage medium having instructions recorded thereon for enabling a processor-based system to use a requestor identity to enforce a security policy on a network connection that conforms to a shared-access communication protocol by performing operations, the operations comprising:

receiving a request,

the request requesting creation of the network connection between the processor-based system and a target network resource,

the network connection conforming to a communication protocol that is configured to provide shared access to network resources;

authenticating a requesting entity associated with the request by associating the network connection, which is yet to be created, with the requestor identity in lieu of comparing a credential of the requesting entity to a reference credential, wherein the requestor identity identifies the requesting entity, wherein associating the network connection with the requestor identity comprises associating the request with the requestor identity and further comprises associating the network connection with the request;

determining whether the requesting entity is authorized to access the target network resource based at least on the security policy;

based at least on the requesting entity being authorized to access the target network resource, creating the network connection between the processor-based system and the target network resource;

receiving a second request,

the second request requesting creation of a second network connection between the system and a second target network resource,

the second network connection conforming to the communication protocol that is configured to provide shared access to network resources;

associating the second network connection with the requestor identity, which identifies the requesting entity associated with the second request, by associating the second request with the requestor identity and further by associating the second network connection with the second request;

determining whether the requesting entity is authorized to access the second target network resource based at least on the security policy; and

based at least on the requesting entity not being authorized to access the second target network resource, creating the second network connection between the system and another network resource rather than the second target network resource.

18. The computer program product of claim 17 , wherein the operations further comprise:

throttling requests that request access to the network resources such that the requests are processed one-at-a-time, the requests including the request that requests creation of the network connection between the computing system and the target network resource.

19. The computer program product of claim 17 , wherein the security policy includes a preference associated with the requesting entity, the preference indicating that the network connection is to be created through a particular path; and

wherein the operations comprise:

creating the network connection through the particular path, which is selected from a plurality of paths based at least on the preference.

20. The computer program product of claim 17 , wherein the security policy includes a rule that prohibits multiple requesting entities from accessing a same network resource from a same machine within a specified period of time;

wherein the operations comprise:

determining a machine from which the request is received;

based at least on the rule, determining whether another requesting entity, other than the requesting entity associated with the request, has accessed the target network resource from the machine within the specified period of time prior to a current time; and

based at least on the permission indicating that the requesting entity is authorized to access the target network resource and further based at least on a determination that another requesting entity has not accessed the target network resource from the machine within the specified period of time prior to the current time, creating the network connection between the system and the target network resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: MORAN, OR; PERELMAN, VLADIMIR; BEN DAVID, MEITAL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060280/0972 →
Continuity (1)
Related Publication 20230421608A1 · Dec 28, 2023
References Cited (61)
US 5564017A · Corn · 1996 [cited by examiner]
US 5937159A · Meyers · 1999 [cited by applicant]
US 7904447B1 · Russell · 2011 [cited by examiner]
US 8225385B2 · Chow · 2012 [cited by examiner]
US 8544073B2 · Walter Silhavy · 2013 [cited by examiner]
US 8677449B1 · Beda, III · 2014 [cited by applicant]
US 8695090B2 · Barile et al. · 2014 [cited by applicant]
US 9047476B2 · Chawla et al. · 2015 [cited by applicant]
US 9384359B2 · Jacobson et al. · 2016 [cited by applicant]
US 10484372B1 · Johansson · 2019 [cited by examiner]
US 11082444B2 · Macleod et al. · 2021 [cited by applicant]
US 11134104B2 · Qureshi et al. · 2021 [cited by applicant]
US 20050257265A1 · Cook et al. · 2005 [cited by applicant]
US 20060288008A1 · Bhattiprolu · 2006 [cited by examiner]
US 20080263653A1 · Lee · 2008 [cited by examiner]
US 20120163180A1 · Goel et al. · 2012 [cited by applicant]
US 20140223513A1 · Islam · 2014 [cited by examiner]
US 20150095597A1 · Ayanam et al. · 2015 [cited by applicant]
US 20160212113A1 · Banerjee · 2016 [cited by examiner]
US 20170091482A1 · Sarin et al. · 2017 [cited by applicant]
US 20170364707A1 · Lal · 2017 [cited by applicant]
US 20180336334A1 · Yadav et al. · 2018 [cited by applicant]
US 20190349357A1 · Shukla et al. · 2019 [cited by applicant]
US 20200074097A1 · Hamlin · 2020 [cited by applicant]
US 20210311641A1 · Prakashaiah et al. · 2021 [cited by applicant]
US 20210312077A1 · Jain et al. · 2021 [cited by applicant]
US 20210344602A1 · Lewin et al. · 2021 [cited by applicant]
US 20230336465A1 · Lewin et al. · 2023 [cited by applicant]
US 20240039892A1 · Lahiano · 2024 [cited by applicant]
CN 111343132A · 2020 [cited by applicant]
JP 2009026022A · 2009 [cited by applicant]
KR 100976602B1 · 2010 [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2023/015150”, Mailed Date: Jun. 16, 2023, 15 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US20023/23040”, Mailed Date: Aug. 18, 2023, 14 Pages. [cited by applicant]
“Notice of Allowance Issued in U.S. Appl. No. 17/720,133”, Mailed Date: Jun. 5, 2023, 9 Pages. [cited by applicant]
Vice, et al., “Overview: VPN Split Tunneling for Microsoft 365”, Retrieved from: https://docs.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-vpn-split-tunnel?view=o365-worldwide, Mar. 4, 2022, 12 Pages. [cited by applicant]
“Border Gateway Protocol”, Retrieved from: https://en.wikipedia.org/wiki/Border_Gateway_Protocol, Mar. 24, 2022, 18 Pages. [cited by applicant]
“Check Point: Route-Based”, Retrieved from: https://web.archive.org/web/20220324200852/https://docs.oracle.com/en-us/iaas/Content/Network/Reference/checkpointCPEroutebased.htm, Mar. 24, 2022, 8 Pages. [cited by applicant]
“Introduction—Valtix Documentation”, Retrieved from: https://docs.valtix.com/aws/aws_workshop/introduction/, Retrieved Date: Apr. 21, 2022, 2 Pages. [cited by applicant]
“Meraki SD-WAN”, Retrieved from: https://documentation.meraki.com/Architectures_and_Best_Practices/Cisco_Meraki_Best_Practice_Design/Best_Practice_Design_-_ MX_Security_and_SD-WAN/Meraki_SD-WAN, Mar. 28, 2022, 34 Pages. [cited by applicant]
“MX Addressing and VLANs”, Retrieved from: https://documentation.meraki.com/MX/Networks_and_Routing/MX_Addressing_and_VLANs, Jun. 17, 2021, 4 Pages. [cited by applicant]
“Networks and Tunnel Routing”, Retrieved from: https://cloud.google.com/network-connectivity/docs/vpn/concepts/choosing-networks-routing, Retrieved on: Apr. 21, 2022, 9 Pages. [cited by applicant]
“Secure Application Workloads with Palo Alto Networks VM-Series Firewall”, Retrieved from: https://docs.oracle.com/en/solutions/secure-app-palo-alto-firewall/index.html#GUID-CB6D7F26-0DEA-4B27-A265-E6169D8992E9, Retriev… [cited by applicant]
“Site-to-Site VPN Overview”, Retrieved from: https://web.archive.org/web/20220120084208/https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/overviewIPsec.htm, Jan. 20, 2022, 9 Pages. [cited by applicant]
“Traffic Management”, Retreieved from: https://web.archive.org/web/20220301215855/https://istio.io/latest/docs/concepts/traffic-management/, Mar. 1, 2022, 16 Pages. [cited by applicant]
“What is a Network Load Balancer?”, Retrieved from: https://web.archive.org/web/20201214113601/https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html, Dec. 14, 2020, 3 Pages. [cited by applicant]
“What is an Application Load Balancer?”, Retrieved from: https://web.archive.org/web/20201213163849/https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html, Dec. 13, 2020, 4 Pages. [cited by applicant]
Bender, et al., “Virtual Network Traffic Routing”, Retrieved from: https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview#custom-routes, Apr. 16, 2022, 19 Pages. [cited by applicant]
Keil, Matt, “Threat and Data-Theft Prevention Policies with VM-Series”, Retrieved from: https://cloud.google.com/architecture/partners/threat-and-data-theft-prevention-policies-with-vm-series#protecting_apps_from_inboun… [cited by applicant]
Majumder, et al., “Dynamic Routing”, Retrieved from: https://docs.citrix.com/en-us/citrix-sd-wan/current-release/routing/dynamic-routing.html, Jul. 28, 2021, 9 Pages. [cited by applicant]
Majumder, et al., “Zscaler Integration by using GRE Tunnels and IPsec Tunnels”, Retrieved from: https://docs.citrix.com/en-us/citrix-sd-wan/current-release/security/citrix-sd-wan-secure-web-gateway/sd-wan-web-secure-gat… [cited by applicant]
Panni, Jess, “AWS vs Azure vs Google Cloud Platform—Networking”, Retrieved from: https://endjin.com/blog/2016/11/aws-vs-azure-vs-google-cloud-platform-networking, Nov. 14, 2016, 18 Pages. [cited by applicant]
Patel, Ashish, “Azure—Difference between Azure ExpressRoute and Azure VPN Gateway”, Retrieved from: https://medium.com/awesome-azure/azure-difference-between-azure-expressroute-and-azure-vpn-gateway-comparison-azure-hyb… [cited by applicant]
Patel, Ashish, “Azure—Difference between Azure Load Balancer and Application Gateway”, Retrieved from: https://medium.com/awesome-azure/azure-difference-between-azure-load-balancer-and-application-gateway-9a6019c23840, … [cited by applicant]
Vaidyanathan, et al., “Network Transformation with AWS and Valtix for Workload Segmentation and Compliance”, Retrieved from: https://aws.amazon.com/blogs/apn/network-transformation-with-aws-and-valtix-for-workload-segme… [cited by applicant]
Vice, et al., “Implementing VPN Split Tunneling for Microsoft 365”, Retrieved from: https://docs.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-vpn-implement-split-tunnel?view=o365-worldwide#common-vpn-scena… [cited by applicant]
“Get-SmbConnection”, Retrieved from: https://docs.microsoft.com/en-us/powershell/module/smbshare/get-smbconnection?view-windowsserver2022-ps, Retrieved On: Aug. 21, 2022 , 3 Pages. [cited by applicant]
“Application as Filed in U.S. Appl. No. 17/720,133”, filed Apr. 13, 2022, 31 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US2023/023309”, Mailed Date: Sep. 15, 2023, 15 Pages. [cited by applicant]
Notice of Allowance mailed on Aug. 28, 2024, in U.S. Appl. No. 17/816,381, 07 pages. [cited by applicant]
Non-Final Office Action mailed on Apr. 22, 2024, in U.S. Appl. No. 17/816,381, 21 pages. [cited by applicant]