1. Field of the Invention
This invention relates to digital systems (such as mobile devices, microprocessors, memory devices, and computer systems) and, more particularly, to mechanisms and techniques to secure the devices using the controlled clocking mechanism of the digital designs.
2. Brief Description of the Related Technology
Electronic digital computational devices like computers, laptops, netbooks, PDAs, memories, handheld, smart phones, and mobile digital devices (collectively called ‘Mobile Devices’) have become the critical part of many businesses. These devices provide significant computing and previously unavailable data communication capabilities. Availability and affordability of these devices is also expanding with their accompanying proliferation.
This popular trend has resulted in the increased need for securing the Mobile Devices. In a business atmosphere, these Mobile Devices frequently contain secure information that relates to the businesses. The Mobile Devices typically have the ability to connect to the servers and enterprise information technology infrastructure (collectively called ‘Enterprise Server’) to communicate and access information on the server. They also store and retain confidential information on their local hard drive or other such storage units.
These Mobile Devices are inherently prone to being misplaced, dropped, lost, or stolen. Potential compromise of data retained internally is very high. Additionally, perpetrators can access the Enterprise Server by using these lost devices. It is possible to compromise the entire IT infrastructure of a business by the lost Mobile Devices.
There is a critical need for comprehensive security solutions that secure both transmitted and stored information. Development of a suitable security solution will demand creativity and innovation as the resultant approach must be viable and at the same time it must not add significantly to the Mobile Devices' computational load or otherwise degrade device functionality and responsiveness.
Personal Mobile Devices, while incorporating increasingly powerful computers, simultaneously are fitted with software applications, integrated hardware subsystems, etc which must be serviced by the Enterprise Server. This also necessitates an innovative approach to Mobile Device security and also communication device.
There are many security mechanisms for securing the Mobile Devices. The first and foremost is protecting the devices with passwords. This simple technique can protect both the Enterprise Server and the Mobile Device from casual intrusions. However, this will not be able to offer protection from serious hackers.
There are several data encryption techniques and these are used in some high-end laptop and desktop computers. However, these are not always best suited for use in Mobile Devices. The solid-state mass storage system in a Mobile Device may not be compatible with those techniques or the computational workload may be excessive. Similarly, simple addition of available wireless network encryption hardware is undesirable as battery run-time is yet another issue that is critical in some Mobile Devices. Added hardware will shorten device runtime and increase frequency of recharge.
Thus, in addition to an innovative approach to securing the Mobile Devices, the mechanism should avoid adverse impact to the device's intended purpose and minimal additional hardware, if any, to avoid noticeable reduction in battery life as well as increase in physical size of the device.
Industry has also introduced unique techniques like Remote Wiping to protect Mobile Devices. This typically involves the Enterprise Server wiping out the Mobile Device clean when potential hackers activate the lost Mobile Device. This technique is effective in protecting the Enterprise Server from many potential perpetrators. However, there are several vulnerabilities with this technique. The information on the Mobile Device can be stolen without activating the device. A technically savvy hacker may be able to access the Enterprise Server without activating Mobile Device by using the information contained in the Mobile Device.
The vulnerabilities in techniques available today can be exploited by professional hackers compromising the Enterprise Server. While the mechanisms of today offer security that is sufficient for most users, they are inadequate for security critical applications.
Some Mobile Devices have hardware keys such as an USB device or a RF key to protect them from potential hackers. These can be cumbersome to the normal user and also present the opportunity of being stolen or lost along with the Mobile Device.
A more secure mechanism is desirable for security critical applications. To provide a high level of security, using robust algorithms and encryption algorithms in software will be power and resource prohibitive in Mobile Device. Alternative to software techniques is the hardware techniques that can provide robust higher level of security. However, using special hardware techniques by adding hardware into Mobile Devices are not acceptable due to power and resource constraints.
It will be advantageous to have simple hardware techniques that will enable robust security yet not compound resource and power issues of Mobile Devices. Towards keeping the resource requirement to a minimum, it will be advantageous for any new mechanism to make use of existing resources in the Mobile Devices.
The problems outlined above are in large part solved by a design in accordance with the various embodiments of this invention. Embodiments of this invention are adaptable for use in any Mobile Device, computer systems, or other digital designs.
In particular, the invention contemplates on using the clock scheme of a synchronous digital design to provide a lock-up mechanism. This lock-up mechanism will enable a simple, yet robust foolproof mechanism to protect not only the Mobile Devices but also, more critically, the Enterprise Servers from hackers and intruders.
Most digital designs of today, including microprocessors, computer systems, memory subsystems, and Mobile Devices are based on synchronous design methodology. The term “synchronous design” generally refers to the method employed to control the timing of the design. A clock (a signal with deterministic period of state change) generally controls the time at which the events are executed within a synchronous digital design in a deterministic fashion. All timed elements in synchronous digital designs use clocking mechanism for their operation. One or more clocks control the operation of all clocked units in the system. In addition to driving the operation of each unit in a system, clocks also guarantee the time synchronization of various units within the design. Most digital designs of today use this methodology and there is a wealth of Computer Aided Design (CAD) tools and verification tools and methodology to support this.
A digital design typically has a centralized clock system with a well-balanced clock tree controlling, coordinating, and synchronizing the entire design. Typically, free-running clock tree can account for 30-40% of the power in high performance designs of today. To reduce this power consumption, many clock management schemes are available. This often involves of implementing mechanisms to disable clocks by generating signals that enable or disable clocks. These signals are gated with respective clocks to control the enabling or disabling of the clock.
Mobile Devices are especially sensitive to power consumption. Extending the life of battery and/or lowering the power consumption are crucial for Mobile Devices. Mobile Devices implement power management techniques to reduce power consumption. Controlling the clocks is an important part of the power reduction techniques deployed in Mobile Devices.
This invention provides various embodiments of mechanisms to utilize the clock and/or power management scheme of Mobile Devices to enable security from potential hackers. The problem of potential security breach by compromised Mobile Device is in large part solved in embodiments of this invention by using the clock and/or power management scheme to disable the clock when unauthorized access is detected.
Embodiments of this invention contemplate on mechanisms to detect potential security breach. Various embodiments of the invention further contemplate mechanisms to disable clocks to one or more units in the Mobile Device. Several embodiments of the invention further contemplate mechanisms to protect the Enterprise Server in addition to the Mobile Device. Various embodiments of invention further contemplate mechanisms to re-enable the Mobile Devices if and when the security risk is resolved.
Embodiments of the invention provide a Mobile Device with ability to stop normal operations by stopping or locking the clocks to one or more parts of the device when a potential security breach is detected.
In one embodiment, the invention provides a Mobile Device comprising of an application processor, a power management unit, a display, a network interface, a memory system, a keyboard and touchscreen, a USB port, audio devices, camera, and a clock unit mechanism to stop normal operations when a potential security breach is detected.
In another embodiment, the invention provides Mobile Device with a mechanism to stop the clock supplied to one or more of the units of the Mobile Device.
In another embodiment, the invention provides Mobile Device with a mechanism to stop the clock by detecting the potential breach from the CPU of the application processor.
In yet another embodiment, the invention provides Mobile Device with a mechanism to generate an interrupt when potential security breach is detected.
In yet another embodiment, the invention provides mechanism to disable the communication capability of the Mobile Device when a potential security breach is detected.
In one embodiment, the invention provides a method to protect the integrity of the Enterprise Server by disabling the Mobile Device that has detected potential security breach.
In another embodiment, the invention provides for a mechanism to control the tolerance level of detecting potential security breach.
While this preferred embodiments of the invention are primarily beneficial in personal mobile devices, other embodiments of the invention further contemplates using the mechanism for desktop and other computing devices with communication capabilities. Embodiments of this invention will secure the Enterprise Server that has one or more devices that connect to it remotely. Other embodiments of the invention can be used in any remote connectivity applications to prevent security breach.
A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings.
So that the manner in which the above recited advantages and features of the present invention, as well as others which will become apparent, are attained and can be understood in detail, a more particular description of the invention summarized above may be had by reference to the embodiment thereof which is illustrated in the appended drawings, which drawings form a part of this specification.
It is to be noted, that the appended drawings only illustrate the typical embodiments of the invention and therefore should not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
a is a block diagram of one embodiment of implementing clock locking mechanism of this invention when power management controls the clocking mechanism.
b is a block diagram of one embodiment of implementing clock locking mechanism of this invention when power management does not control the clocking mechanism.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawing and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
Turning now to
As shown in
Application Processors 30 performs most of Mobile Device 10 operations. CPU 32 is the core of Mobile Device 10. Graphic Accelerator 34 is used in high-performance Mobile Device to provide high quality graphic display. Memory Controller 36 controls the operation of Memory 18. Memory 18 may include of hard drive, SDRAM, DDR, DRAM, Flash RAM, and other forms of memory devices. Communication Controller 38 enables Mobile Device 10 to interface with external world via Network Interface 16. Network Interface 16 enables Mobile Device 10 to communicate via various network media are like Bluetooth, GPS, GSM modem, Wi-Fi, and others. Network Interface 16 can also be a wired interface like Ethernet.
I/O Controller 20 of the Application Processor 30 enables Mobile Device 10 to connect to various I/O Devices. I/O Device Keyboard/Touchscreen Device 22 allows users to either type or touchscreen the data. I/O Device USB port 24 allows various USB devices to be connected to Mobile Device 10. I/O Device Audio device 26 provides audio interface to Mobile Device 10 such as microphones, speakers etc. I/O Device Camera 28 captures pictures for Mobile Device 10.
Clock Unit 42 controls the operation of all units within Mobile Device 10 by Clock 40. In one embodiment Clock 40 can be a derivative clock running at various frequencies. In another embodiment Clock 40 can be a group of clocks each running at different frequencies. In one embodiment, Clock 40 going to Memory 18 can be a low-frequency clock when compared to Clock 40 going to application processor 30. Each Clock 40 going to different units can be synchronized with each other or can be unsynchronized.
Power Management 12 provides power to all units. Power Management 12 also controls the operation of each unit by supplying Clock Enable 46. In one embodiment, Clock Enable 46 could be different signals generated for each unit. When the Power Management 12 wants to turn off a unit, it will control the unit by generating inactive Clock Enable 46 to that unit.
It should be noted that in one embodiment, the clock management might be combined with power management as shown in Power Management 12 of
In
In one embodiment, locking mechanism is implemented globally across the Mobile Device using Lock 200. In another embodiment, the locking mechanism is implemented as global within the Application Processor 30 using Lock 200a. In other embodiments, it can be implemented local to one or more units using 200b, 200c and so on.
A global lock of the Mobile Device 10 clock can be realized when Lock 200 located in Clock Unit 42 is activated. Application Processor 30 can be locked by Lock 200a located in Clocking 44. Optionally, in one embodiment CPU 32 can be locked by Lock 200b. Local lock can also be achieved by Lock 200c located in Network Interface 16. It should be noted that the lock could be achieved at any unit either globally or locally. While local locking of Application Processor 30 with Lock 200a, locking of CPU with Lock 200b, and locking of Network Interface 16 with Lock 200c are shown in
The locking mechanism can be triggered by various events. In one embodiment, as shown in
In
Turning now to
b depicts an embodiment of Lock Clock 200 for a Mobile Device 10 when Power Management 12 does not control clocking mechanism. Lock Clock 200 has a Lock Control 211 and a Clock Distribution 43. Lock Clock 210 controls the enabling of Clock Distribution 43. When lock condition is inactive, Clock Enable 46a is generated. Clock Enable 46a will enable Clocks 40 to be activated in Clock Distribution Unit 43 resulting in active Clocks 40a. When Lock Clock 210 is active, Clocks 40a are stopped.
Next, the mechanism of generating Lock Clock 210 will be considered. In the description below, clock lock mechanism will be described being generated in CPU 32. It should be noted that in other embodiments, clock lock mechanism could be generated in other units.
Turning now to
The External Clock 40 governs the functioning of CPU 32 in the time domain. An internal Phase Locked Loop (PLL) 326 generates an internal Clock 334 for CPU 32 in synchronization with External Clock 40.
Instruction Cache 314 And Data Cache 316 are coupled to receive instructions and data respectively from Memory 18 through the BIU 312. Decode unit 318 is coupled to receive instruction data from Instruction Cache 314. Decode unit 318 is further coupled with Register File 320, Execution Unit 322 and MDACU 324 to provide instruction control information to these units. Further, Register File 320 is coupled with Execution Unit 322 in providing data for execution. Similarly, MDACU 324 is coupled with Execution Unit 322 in providing access to memory data. Also, the MDACU 324 is coupled with Data Cache 316.
Generally speaking, instructions are fetched from main memory and stored into Instruction Cache 314 through BIU 312. During execution, instructions are fetched from the Instruction Cache 314 and decoded by Decode Unit 318 that drives the Execution Unit 322 to execute the decoded instruction/instructions. Execution Unit 322 gets the operand data for execution from either Register File 320 and/or Data Cache 316 through MDACU 324. Results generated from Execution Unit 322 are written back to Register File 320 and/or Data Cache 316 through MDACU 324.
Traditionally, each of these units described above constitutes one or more pipeline stages in a microprocessor. If an instruction (e.g., I1) is fetched from Instruction Cache 314 during a clock (say C1), during the next clock cycle (say C2), instruction I1 will be in the decode unit 14 while the next instruction (say I2) is being fetched from the Instruction Cache 314. Thus pipelining enables simultaneous operation of multiple instructions. In general, number of pipeline stages increases with the design complexity and the clock frequency. The term clock frequency refers to number of clock cycles within a time unit, usually a second.
Further, in typical synchronous designs, a central Clock 334 (shown in dashed lines) derived from External Clock 40 through PLL 326 is distributed to all digital functional units (or blocks) of CPU 32. Data passes from one block to the other using one of the two clock edges provided by central internal Clock 334.
Lock 201 is shown generating Lock Clock 210 signal. Lock Clock 210 connects to PLL 326 to control the local Clock 334. When Lock Clock 210 is enabled, PLL 326 can be designed to lock the operation of the CPU 32 with Clock 334. In the figure Lock 201 is shown as a block with dashed lines. In an implementation, this could be a software program, hardware logic, micro-code segment, or a combination of these.
In one embodiment Lock Clock 210 can be used only to lock CPU 32. In another embodiment Lock Clock 210 can be connected to other units in Mobile Device 10.
Turning now to
As a sample embodiment, Lock 201 has an Authenticate User block 350 that is coupled to a User Valid Checking Block 352. This is coupled to Clear Authentication Attempt Count block 360 and Increment Authentication Attempt Count block 354. Clear Authentication Attempt Count block 360 is coupled to Normal Operations block 362. Increment Authentication Attempt Count block 354 is coupled to Attempt Count Limit checking block 356. This Attempt Count Limit checking block 356 is coupled to Authenticate User block 350 and Initiate Clock Lock block 358. Initiate Clock Block 356 generates Lock Clock 210.
The simple mechanism shown here depicts Authenticate User 350 authenticating the user. Authenticate User 350 will be invoked during the power-up and/or login. In one embodiment, this authentication is invoked at regular intervals to assure the security of the Mobile Device. In another embodiment, authentication is triggered when certain preset conditions are detected.
Valid User 352 checks if the user is authorized to use the Mobile Device 10. This authentication process may comprise of various embodiments such as the simple password checking mechanism, hardware port checking mechanism, biometric checking mechanism, or other authentication mechanism embodiments. Biometrics verification includes fingerprint, DNA, face recognition, eye scan etc. If authentication checking passes shown by 352a in
In one embodiment the authentication limit could be set to one. In this case Mobile Device 10 will lockup when the authentication fails the very first time. This may be required in an extremely security conscious application. In one embodiment, the authentication limit may be made programmable to be set based on the security requirements of each deployment.
In one embodiment, as shown in
In another embodiment Lock Clock 210 can be used to lock other units in Mobile Device 10. In this case Lock Clock 210 can be generated as in interrupt. The interrupt signal could be connected to clocks of other units in Mobile Device 10.
Turning now to
In one embodiment, the interrupt may connect to other units of the Mobile Device 10 such as Memory 18, Display 14, etc.
Turning now to
In the process of securing breached Mobile Devices, there could be occasional inadvertent blocking of the device. In such situations, it is optimal to reactivate the Mobile Device after the security risk has been resolved. Reactivation of the Mobile Device can be done remotely, locally, or at the Enterprise site.
Turning to
While Unlock 370 of
As can be seen, there are various ways of locking and unlocking Mobile Device 10 by using clock locking mechanism. The embodiments described in the figures are illustrative for demonstrating the workings of the mechanism. It is not limiting the possible implementation of various embodiments.
Turning now to
If the authentication passes in Valid User 454 verification, Mobile Device 10 operations are enabled as shown by 454a.
If the verification fails, as shown by 454b, the authentication attempted is incremented in Increment Authentication Attempt Count 460. The attempt count is verified in Attempt Count Limit 462 module. If the limit has not reached, the flow goes to Authenticate User 452 and the authentication process is restarted. If the authentication count limit is reached, flow goes to Initiate Clock Lock 464 that activates Lock Clock 466.
In one embodiment, Mobile Device 10 will have additional authentication for accessing the Enterprise Server. This is depicted by Enterprise Server Access Request 458 module in
In one embodiment, Authentication Attempt Count is set by Set Authentication Parameter 451 to allow tolerance for potential unsuccessful authentication attempts. In one embodiment with high security demand, Authentication Attempt Count may be set to trigger lock clock when the authentication fails for the first time.
In another embodiment, the Authentication Attempt Count could be set to ‘n’ which is greater than 1 to provide some lenience during authentication.
When a Mobile Device requires additional authentication process for accessing the Enterprise Server, in one embodiment, the process is same as the one used to authenticate the Mobile Device operation. In another embodiment, the authentication process for accessing the Enterprise Server is different from the authentication process for enabling Mobile Device operations.
In one embodiment, the Mobile Device is in normal mode of operation and if the device needs to access the Enterprise Server, the authentication process will initiate itself everytime. This will ensure that the Enterprise Server is safe even when the Mobile Device is compromised after the device is turned on and authenticated.
In accordance with above disclosure, a digital design has been shown to comprise of a mechanism to protect the integrity of Enterprise Server and Mobile Device. It contemplates achieving this by locking the remote devices by stopping the clocks to one or more units of the system. The invention contemplates mechanisms to detect a security breach. It further contemplates mechanisms to lock the remote device when security breach is detected.
While the above description contains many specificities, these should not be construed as limitations on the scope of the invention, but rather as an exemplification of preferred embodiments thereof. Accordingly, the scope of the invention should be determined not by the embodiment(s) illustrated, but by the appended claims and their legal equivalents.