IP Library Granted Patent US 10,798,128
Granted Patent B2
US 10,798,128 · App. 15/658,145 · Granted Oct 6, 2020

Distributed authentication for service gating

Inventors: Leo F. Forget (Ottawa, CA); Rob Krten (Ottawa, CA)
Assignee: BlackBerry Limited
H04L63/20H04L63/0807H04L63/10H04L63/123
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,798,128
App. No.
15/658,145
Granted
Oct 6, 2020
Kind
B2
Abstract

A system and method enforce a security policy in a message-based operating system by controlling access to an operating system authenticator. The control occurs in response to an invocation of a microkernel call that initiates a process manager's function in accordance with the access right retained stored in a microkernel. The system and method control access to a server serving a client in the message-based operating system according to a token. The token is issued by the operating system authenticator and establishes a client's access to the services provided by the server.

Claims (38)

1. A system that enforces a security policy in a message-based operating system, the system comprising:

a processor; and

a memory having instructions executable by the processor to:

control access to an operating system authenticator, in response to an invocation of a microkernel call by a client that initiates a process manager function, in accordance with an access right retained in a microkernel;

receive a data object from the client containing encrypted authenticating information;

decrypt, by the operating system authenticator, the encrypted authenticating information;

verify, by the operating system authenticator, the client identity based on the authenticating information, including comparing the authenticating information against channel policy and comparing a timestamp of the authenticating information against a current time;

issue a token by the operating system authenticator, the token establishing the client's access to the services provided by the server; and

grant access to a server serving the client in the message-based operating system including a right to generate a persistent message channel between the client and the server, wherein the persistent message channel does not require exchange of the authenticating information or token with each message.

2. The system of claim 1 , the memory having instructions further executable by the processor to grant access to a second client requesting services from the server in the message-based operating system according to a second token, the second token establishing the server's right to communicate with the second client.

3. The system of claim 1 wherein the server executes the invocation of the microkernel call.

4. The system of claim 1 wherein the client executes the invocation of the microkernel call.

5. The system of claim 1 wherein the authenticating information includes one or more of: a client name, a unique identifier, a timestamp, or routing information.

6. The system of claim 1 wherein the token includes a timestamp, and further wherein the token establishing the client's access to the services provided by the server until a timestamp validating process notifies the server that the token expired.

7. A non-transitory machine-readable medium encoded with machine-executable instructions for enforcing a security policy in a message-based operating system, wherein the machine-executable instructions, when executed by a processor, are to cause the processor to:

control access to an operating system authenticator, in response to an invocation of a microkernel call by a client that initiates a process manager function, in accordance with an access right retained in a microkernel;

receive a data object from the client containing encrypted authenticating information;

decrypt, by the operating system authenticator, the encrypted authenticating information;

verify, by the operating system authenticator, the client identity based on the authenticating information, including comparing the authenticating information against channel policy and comparing a timestamp of the authenticating information against a current time;

issue a token by the operating system authenticator, the token establishing the client's access to the processes provided by the server; and

grant access to a server serving the client in the message-based operating system including a right to generate a persistent message channel between the client and the server, wherein the persistent message channel does not require exchange of the authenticating information or token with each message.

8. The non-transitory machine-readable medium of claim 7 , execution of the machine-executable instructions is further to grant access to a second client requesting a service from the server in the message-based operating system according to a second token, the second token establishing the server's right to communicate with the second client.

9. The non-transitory machine-readable medium of claim 7 wherein the server executes the invocation of the microkernel call.

10. The non-transitory machine-readable medium of claim 7 wherein the client executes the invocation of the microkernel call.

11. The non-transitory machine-readable medium of claim 7 wherein the authenticating information includes one or more of: a client name, a unique identifier, a timestamp, or routing information.

12. The non-transitory machine-readable medium of claim 7 wherein the token includes a timestamp, and further wherein the token establishing the client's access to the services provided by the server until a timestamp validating process notifies the server that the token expired.

13. A method that enforces a security policy in a message-based operating system, the method comprising:

controlling access to an operating system authenticator, in response to an invocation of a microkernel call by a client that initiates a process manager function, in accordance with an access right retained in a microkernel;

receiving a data object from the client containing encrypted authenticating information;

decrypting, by the operating system authenticator, the encrypted authenticating information;

verifying, by the operating system authenticator, the client identity based on the authenticating information, including comparing the authenticating information against channel policy and comparing a timestamp of the authenticating information against a current time;

issuing a token by the operating system authenticator, the token establishing the client's access to a service provided by the server; and

granting access to a server serving the client in the message-based operating system including a right to generate a persistent message channel between the client and the server, wherein the persistent message channel does not require exchange of the authenticating information or token with each message.

14. The method of claim 13 further comprising granting access to a second client requesting a service from the server in the message-based operating system according to a second token, the second token establishing the server's rights to communicate with the second client.

15. The method of claim 13 wherein the server executes the invocation of the microkernel call.

16. The method of claim 13 wherein the client executes the invocation of the microkernel call.

17. The method of claim 13 wherein the authenticating information includes one or more of: a client name, a unique identifier, a timestamp, or routing information.

18. The method of claim 13 wherein the token includes a timestamp, and further wherein the token establishing the client's access to the services provided by the server until a timestamp validating process notifies the server that the token expired.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 053313/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2017
From: QNX SOFTWARE SYSTEMS LIMITED
To: 2236008 ONTARIO INC.
Reel/Frame 044139/0275 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2017
From: FORGET, LEO F.; KRTEN, ROBERT
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 043220/0563 →