US 12,271,493 B2
Controlling access to application data
Sean Michael Quinlan, Duvall, WA (US); Haniff Somani, Mercer Island, WA (US); Sanjiv Maurya, Fremont, CA (US); Peter Barker, Flower Mound, TX (US); and Siavash James Joorabchian Hawkins, Maidenhead (GB)
Assigned to Malikie Innovations Limited, Dublin (IE)
Filed by MALIKIE INNOVATIONS LIMITED, Dublin (IE)
Filed on Feb. 8, 2023, as Appl. No. 18/165,995.
Application 18/165,995 is a continuation of application No. 16/926,361, filed on Jul. 10, 2020, granted, now 11,610,014.
Application 16/926,361 is a continuation of application No. 16/055,674, filed on Aug. 6, 2018, granted, now 10,733,310, issued on Aug. 4, 2020.
Application 16/055,674 is a continuation of application No. 15/093,183, filed on Apr. 7, 2016, granted, now 10,043,021, issued on Aug. 7, 2018.
Prior Publication US 2023/0185937 A1, Jun. 15, 2023
Int. Cl. G06F 21/62 (2013.01); G06F 3/06 (2006.01); G06F 21/60 (2013.01)
CPC G06F 21/6209 (2013.01) [G06F 3/0622 (2013.01); G06F 3/0637 (2013.01); G06F 3/0673 (2013.01); G06F 21/602 (2013.01); G06F 21/6218 (2013.01); G06F 2221/2113 (2013.01); G06F 2221/2147 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method, comprising:
generating, by an application runtime of an application having a current authentication state, application data, wherein:
the application defines a plurality of data categories for data in the application data,
the application data includes a plurality of containers into which the application data is segregated and securely stored in encrypted format to prevent unauthorized access, and
the current authentication state is associated with one or more credentials that are currently available to the application runtime;
requesting, by the application runtime, access to data associated with a particular one of the plurality of data categories;
determining, by the application runtime, whether the current authentication state includes a credential combination corresponding to the particular one of the plurality of data categories;
in response to determining that the current authentication state includes the credential combination corresponding to the particular one of the plurality of data categories, obtaining, by the application runtime, an access level key corresponding to one access level of a plurality of access levels associated with the current authentication state, wherein the access level key is encrypted by one or more credentials associated with the one access level;
decrypting, by the application runtime, an encrypted container key corresponding to the one access level by using the access level key;
decrypting, by the application runtime, application data stored in a particular one of the plurality of containers by using the decrypted container key; and
providing access to the decrypted application data in the particular one of the plurality of containers.