Mobile device with secure private memory
A mobile device includes non-private memory that can store software programs and a private memory that can store copies of the software programs as well as exclusively store trusted programs that are not stored in the non-private memory. The mobile device includes a processor configured to execute the software programs of the non-private memory when the mobile device is in a non-private mode, execute a trusted program only when the mobile device is in a private mode, and enable switching between the non-private mode and the private mode in response to a reboot of the mobile device.
1. A mobile device comprising:
a non-private memory configured to store multiple software programs,
wherein the multiple software programs include an application and a driver program, and
wherein the driver program controls operations of a radio access technology (RAT) device, a positioning, navigation, or timing (PNT) device, an input/output (I/O) device, or a communications port of the mobile device;
a private memory configured to store copies of the multiple software programs and additionally store a trusted software program;
wherein the trusted software program is only stored in the private memory; and
a processor configured to:
boot the mobile device in a non-private mode that forbids access to the copies of the multiple software programs or the trusted software program,
boot the mobile device in a private mode that allows access to the copies of the multiple software programs or the trusted software program,
switch from the private mode to the non-private mode in response to completion of a first authentication procedure, and
switch from the non-private mode to the private mode in response to completion of a second authentication procedure different from the first authentication procedure.
2. The mobile device of claim 1 , wherein the processor is configured to enable switching the mobile device to the private mode in response to completion of a multifactor authentication (MFA) procedure.
3. The mobile device of claim 2 , wherein the MFA procedure verifies factors including a biometric factor or a near field communication (NFC) factor.
4. The mobile device of claim 1 :
wherein the non-private memory is configured to store the multiple software programs in accordance with a first encryption protocol, and
wherein the private memory is configured to store the copies of the multiple software programs or trusted software program in accordance with a second encryption protocol different from the first encryption protocol.
5. The mobile device of claim 1 :
wherein the copies of the multiple software programs or the trusted software program stored in the private memory are encrypted when the mobile device is in a non-private mode, and
wherein the copies of the multiple software programs or the trusted software program stored in the private memory are decrypted when the mobile device is in a private mode.
6. A system comprising:
a first memory configured to store software;
a second memory configured to store a copy of the software and an application that is not stored in the first memory; and
a processor configured to switch a computing device between a first mode and a second mode,
wherein the computing device in the first mode allows access to the first memory and denies access to the second memory,
wherein the computing device in the second mode allows access to the second memory,
wherein the computing device is switched from the first mode to the second mode in response to completion of a first authentication procedure, and
wherein the computing device is switched from the second mode to the first mode in response to completion of a second authentication procedure different from the first authentication procedure.
7. The system of claim 6 :
wherein the first memory is configured to store the software in accordance with a first encryption protocol, and
wherein the second memory is configured to store the copy of the software or the application in accordance with a second encryption protocol different from the first encryption protocol.
8. The system of claim 6 :
wherein the copy of the software or the application stored in the second memory is encrypted when the computing device is in a first mode, and
wherein the copy of the software or the application stored in the second memory is decrypted when the computing device is in a second mode.
9. A method performed by a mobile device, the method comprising:
storing, on a non-private memory of the mobile device, multiple software programs including an application and a driver program,
wherein the driver program controls operation of a radio access technology (RAT) device, a positioning, navigation, or timing (PNT) device, an input/output (I/O) device, or a communications port of the mobile device;
storing, on a private memory of the mobile device, copies of the multiple software programs and a trusted software program,
wherein the trusted software program is only stored in the private memory of the mobile device;
switching the mobile device between a non-private mode and a private mode upon a reboot of the mobile device,
wherein the non-private mode denies access to the private memory,
wherein the private mode allows access to the private memory;
wherein the mobile device is switched from the private mode to the non-private mode in response to completion of a first authentication procedure, and
wherein the mobile device is switched from the non-private mode to the private mode in response to completion of a second authentication procedure different from the first authentication procedure.
10. The method of claim 9 :
wherein the non-private memory is configured to store the multiple software programs in accordance with a first encryption protocol, and
wherein the private memory is configured to store the copies of the multiple software programs or trusted software program in accordance with a second encryption protocol different from the first encryption protocol.
11. The method of claim 9 :
wherein the copies of the multiple software programs or the trusted software program stored in the private memory are encrypted when the mobile device is in a non-private mode, and
wherein the copies of the multiple software programs or the trusted software program stored in the private memory are decrypted when the mobile device is in a private mode.