IP Library › Granted Patent US 12,375,289
Granted Patent B2
US 12,375,289 · App. 17/084,274 · Granted Jul 29, 2025

Using multi-factor and/or inherence-based authentication to selectively enable performance of an operation prior to or during release of code

Inventors: Karen Lowe Dahmen (Sammamish, WA); Eugene Wilson Hodges, IV (Holly Springs, NC); John Michael Walton (Woodinville, WA); Kadri Tahsildoost (Bellevue, WA); Filip Šebesta (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L9/3247G06F8/60H04L9/3231H04L9/3239
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,375,289
App. No.
17/084,274
Granted
Jul 29, 2025
Kind
B2
Abstract

Techniques are described herein that are capable of using multi-factor and/or inherence-based authentication to selectively enable performance of an operation prior to or during release of code. For example, a user-specific digital signature that identifies a user of a code development service is generated based at least in part on factor(s) obtained from the user as a result of initiating or receiving a request to perform an operation with regard to the code prior to or during the release of the code. Multi-factor and/or inherence-based authentication may be selectively performed based at least in part on the user-specific digital signature. The performance of the operation is selectively enabled based at least in part on whether the user is authenticated.

Claims (50)

1. A system to use multi-factor authentication to selectively enable performance of a build of code prior to or during release of the code, the system comprising:

memory; and

one or more processors coupled to the memory, the one or more processors configured to:

generate a user-specific digital signature that identifies a user of a code development service based at least in part on user-specific information, which is obtained from the user as a result of initiating a request to perform the build of the code in a first environment prior to or during the release of the code or receiving the request from the user prior to or during the release of the code, the code comprising at least one of software code or firmware code, wherein a first subset of users is authorized to perform the build of the code in the first environment, wherein a second subset of the users is authorized to perform the build of the code in a second environment and is not authorized to perform the build of the code in the first environment;

authenticate the user in accordance with a multi-factor authentication technique that requires a plurality of factors that are received from the user to match a plurality of reference factors, which identify a reference user who is authorized to perform the build of the code in the first environment, based at least in part on the user-specific digital signature that identifies the user matching a reference digital signature that identifies the reference user who is comprised in the first subset; and

based at least in part on the user being authenticated in accordance with the multi-factor authentication technique, enable the performance of the build of the code in the first environment, the performance of the build of the code in the first environment comprising conversion of a source code file of the code into one or more standalone software artifacts that are configured to be run on a computing device.

2. The system of claim 1 , wherein the one or more processors are configured to:

generate the user-specific digital signature by generating a hash that is based at least in part on the user-specific information; and

authenticate the user in accordance with the multi-factor authentication technique based at least in part on the hash matching a reference hash associated with the reference user.

3. The system of claim 1 , wherein the one or more processors are configured to:

generate the user-specific digital signature by generating a hash that is based at least in part on the user-specific information, which is obtained from the user as the result of initiating or receiving the request, and that is further based at least in part on one or more inherence factors, which identify the user and which were captured during an attempt of the user to log into a computing device, an application, or a service; and

selectively authenticate the user in accordance with the multi-factor authentication technique based at least in part on whether the hash matching a reference hash associated with the reference user.

4. The system of claim 1 , wherein the one or more processors are configured to:

authenticate the user in accordance with the multi-factor authentication technique based at least in part on a device identifier of a computing device of the user from which the request is received matching a reference device identifier.

5. The system of claim 1 , wherein the first environment is a pre-production environment; and

wherein the second environment is a post-production environment.

6. A system to use inherence-based authentication to selectively enable performance of a build of code prior to or during release of the code, the system comprising:

memory; and

one or more processors coupled to the memory, the one or more processors configured to:

generate a user-specific digital signature that identifies a user of a code development service based at least in part on one or more inherence identifiers of the user that are captured as a result of initiating a request to perform the build of the code in a first environment prior to or during the release of the code or receiving the request from the user prior to or during the release of the code, the code comprising at least one of software code or firmware code, wherein an inherence identifier indicates something that the user is or does, wherein a first subset of users is authorized to perform the build of the code in the first environment, wherein a second subset of the users is authorized to perform the build of the code in a second environment and is not authorized to perform the build of the code in the first environment; and

based at least in part on the user-specific digital signature that identifies the user matching a reference digital signature that identifies a reference user who is comprised in the first subset, enable the performance of the build of the code in the first environment, the performance of the build of the code in the first environment comprising conversion of a source code file of the code into one or more standalone software artifacts that are configured to be run on a computing device.

7. A method of using multi-factor authentication to selectively enable performance of a build of code prior to or during release of the code, the method comprising:

prior to or during the release of the code, initiating a request to perform the build of the code in a first environment or receiving the request from a user of a code development service, the code comprising at least one of software code or firmware code, wherein a first subset of users is authorized to perform the build of the code in the first environment, wherein a second subset of the users is authorized to perform the build of the code in a second environment and is not authorized to perform the build of the code in the first environment;

generating a user-specific digital signature that identifies the user based at least in part on user-specific information, which is obtained from the user as a result of initiating or receiving the request;

authenticating the user in accordance with a multi-factor authentication technique that requires a plurality of factors that are received from the user to match a plurality of reference factors, which identify a reference user who is authorized to perform the build of the code in the first environment, based at least in part on the user-specific digital signature that identifies the user matching a reference digital signature that identifies the reference user who is comprised in the first subset;

based at least in part on the user being authenticated in accordance with the multi-factor authentication technique, enabling the performance of the build of the code in the first environment, the performance of the build of the code in the first environment comprising conversion of a source code file of the code into one or more standalone software artifacts that are configured to be run on a computing device.

8. The method of claim 7 , further comprising:

based at least in part on the user being authenticated in accordance with the multi-factor authentication technique, enabling dependencies to be incorporated into the code, the performance of the build of the code comprising incorporation of the dependencies into the code.

9. The method of claim 7 , further comprising:

based at least in part on the user being authenticated in accordance with the multi-factor authentication technique, enabling dependencies to be incorporated into the code; and

based at least in part on the user being authenticated in accordance with the multi-factor authentication technique, enabling signing of the code;

wherein the performance of the build of the code comprises incorporation of the dependencies into the code and the signing of the code.

10. The system of claim 6 , wherein the first environment is a pre-production environment; and

wherein the second environment is a post-production environment.

11. The system of claim 10 , wherein the one or more processors are configured to:

generate the user-specific digital signature by generating a hash that is based at least in part on the one or more inherence identifiers of the user that are captured as the result of initiating or receiving the request; and

based at least in part on the hash matching a reference hash associated with the reference user, enable the performance of the build of the code in the first environment.

12. The system of claim 10 , wherein the one or more processors are configured to:

based at least in part on the user satisfying a plurality of factors of a multi-factor authentication technique, enable the performance of the build of the code in the first environment, the multi-factor authentication technique comprising a first factor that requires the user-specific digital signature that identifies the user to match the reference digital signature that identifies the reference user who is comprised in the first subset.

13. The system of claim 12 , wherein the multi-factor authentication technique comprises a second factor that requires information stored in an item that is in possession of the user to match reference information associated with the user.

14. The system of claim 12 , wherein the multi-factor authentication technique comprises a second factor that requires one or more second inherence identifiers, which identify the user and which were captured during an attempt of the user to log into a computing device, an application, or a service, to match one or more respective reference inherence identifiers that identify the reference user.

15. The system of claim 14 , wherein the one or more processors are configured to:

generate the user-specific digital signature by generating a hash that is based at least in part on the one or more inherence identifiers, which identify the user and which are captured as the result of initiating or receiving the request, and that is further based at least in part on the one or more second inherence identifiers of the user, which were captured during the attempt of the user to log into the computing device, the application, or the service; and

based at least in part on the hash matching a reference hash associated with the reference user, enable the performance of the build of the code in the first environment.

16. The system of claim 10 , wherein the one or more inherence identifiers of the user represent a face of the user.

17. The system of claim 10 , wherein the one or more inherence identifiers of the user represent a voice of the user.

18. The system of claim 10 , wherein the performance of the build of the code comprises signing the code with the user-specific digital signature.

19. The system of claim 10 , wherein the one or more inherence identifiers of the user represent a pattern of key press intervals of the user.

20. The system of claim 10 , wherein the one or more processors are further configured to:

generate a record in a blockchain to memorialize the performance of the build of the code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: DAHMEN, KAREN LOWE; HODGES, EUGENE WILSON, IV; WALTON, JOHN MICHAEL; TAHSILDOOST, KADRI; SEBESTA, FILIP
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 054215/0720 →
Continuity (1)
Related Publication 20220141029A1 · May 5, 2022
References Cited (29)
US 7602910B2 · Johansson · 2009 [cited by examiner]
US 9477823B1 · Ott · 2016 [cited by examiner]
US 11491642B2 · Skaaksrud · 2022 [cited by examiner]
US 20160365981A1 · Medvinsky · 2016 [cited by examiner]
US 20170085563A1 · Royyuru · 2017 [cited by examiner]
US 20170149774A1 · Blinn · 2017 [cited by examiner]
US 20190268159A1 · High · 2019 [cited by examiner]
US 20190294528A1 · Avisror · 2019 [cited by examiner]
US 20190294531A1 · Avisror · 2019 [cited by examiner]
US 20190305964A1 · Hamel · 2019 [cited by examiner]
US 20200228336A1 · Streit · 2020 [cited by examiner]
US 20200236116A1 · Bower · 2020 [cited by examiner]
US 20200327100A1 · Androulaki · 2020 [cited by examiner]
US 20210019586A1 · Dreifus · 2021 [cited by examiner]
US 20210029151A1 · Brooks · 2021 [cited by examiner]
US 20210320801A1 · Wyss · 2021 [cited by examiner]
US 20210366289A1 · Salles · 2021 [cited by examiner]
US 20210367786A1 · Sheets · 2021 [cited by examiner]
US 20210382814A1 · Moondhra · 2021 [cited by examiner]
US 20210397430A1 · McFarland, Jr. · 2021 [cited by examiner]
US 20210397431A1 · McFarland, Jr. · 2021 [cited by examiner]
US 20220058280A1 · Crompton · 2022 [cited by examiner]
US 20230112622A1 · Jun · 2023 [cited by examiner]
EP 1626326A2 · 2006 [cited by applicant]
GB 2517732A · 2015 [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US21/045286”, Mailed Date: Nov. 29, 2021, 11 Pages. [cited by applicant]
“CCBkdr”, Retrieved from: https://attack.mitre.org/software/S0222/, Apr. 18, 2018, 12 Pages. [cited by applicant]
“NotPetya”, Retrieved from: https://attack.mitre.org/software/S0368/, Mar. 26, 2019, 12 Pages. [cited by applicant]
“Smoke Loader”, Retrieved from: https://attack.mitre.org/software/S0226/, Apr. 18, 2018, 12 Pages. [cited by applicant]