Security features for portable computing environment
AssigneeMicrosoft Corporation
InventorsThomas G Phillips, Christopher A Schoppa, William J Westerinen, Mark A Myers
Life of this patent
Estimating the term…
Abstract
The described systems, methods and data structures are directed to a portable computing environment. A communication link is established between a portable device and a host device. The portable device is equipped with a processing unit and is configured to execute a process that is accessible by the host device. The host device includes an application configured to interact with the process on the portable device. The process on the portable device provides data to the application on the host device using the communication link. The application uses the data to provide a computing environment.
Claims42
A method comprising:
- connecting a portable device to a host device;
- establishing a communication link between the portable device and the host device;
- identifying the portable device to the host device;
- instantiating a process using a computing module of the portable device;
- retrieving security information embedded in the portable device;
- requesting authentication data from the host;
- determining whether the authentication data is valid based, at least in part, on the embedded security information;
- determining a first timing identifier;
- determining a second timing identifier associated with the process;
- enabling an application on the host device to interact with the process based, at least in part, on a protocol when the second timing identifier is valid relative to the first timing identifier and when the authentication data is valid, wherein enabling the application on the host device to interact with the process includes providing an application executing on the host device with access to the process on the portable;
- and
- denying access to the process when the second timing identifier is invalid relative to the first timing identifier, wherein the second timing identifier is invalid when the second timing identifier represents a time that is after another time represented by the first timing identifier.
An apparatus comprising:
- a computing module having at least one processing unit;
- an interface module configured to communication with a host device;
- a timing apparatus configured to provide a first timing identifier;
- a memory module comprising instructions which, when executed, cause the processing unit to:
- connect to the host device;
- identify the apparatus to the host device;
- establish a communication link with the host device;
- instantiate a process configured to interact with an application on the host device;
- retrieve security information embedded in the computing module;
- receive authentication data;
- determine whether the authentication data is valid based, at least in part, on the security information;
- determine a second timing identifier associated with the process;
- enable an application on the host device to interact with the process based, at least in part, on a protocol when the second timing identifier is valid relative to the first timing identifier and when the authentication data is valid;
- and
- if the authentication data is not valid, deny request from an application on the host device to interact with the process when the second timing identifier is invalid relative to the first timing identifier, wherein the second timing identifier is invalid when the second timing identifier represents a time that is after another time represented by the first timing identifier.
An apparatus comprising:
- means for establishing a communication link to a host device
- means for determining security information incorporated into a component of the apparatus;
- means for storing states associated with a process in the apparatus;
- means for requesting authentication data;
- means for determining whether the authentication data is valid based, at least in part, on the security information;
- means for determining a first timing identifier:
- means for determining a second timing identifier associated with the process:
- means for enabling a host device to interact with the process based, at least in part, on a protocol when the second timing identifier is valid relative to the first timing identifier, wherein means for enabling the application on the host device to interact with the process includes means for enabling the host device to access the process if the authentication data is valid;
- and
- means for denying the host device access to the process when the second timing identifier is invalid relative to the first timing identifier, wherein the second timing identifier is invalid when the second timing identifier represents a time that is after another time represented by the first timing identifier.
A portable computing apparatus comprising:
- an interface module configured to communicate with a host device;
- a timing apparatus configured to provide a first timing identifier;
- a first computer-readable medium encoded with a first authentication key;
- a second computer-readable medium encoded with data encrypted with a second authentication key;
- and
- a computing module having at least one processing unit;
- wherein the computing module is configured to:
- decrypt the data based, at least in part, on the first authentication key,
- execute a process based, at least on part, on the data, and
- when a second timing identifier associated with the precess is valid relative to the first timing identifier, provide the host device with access to the process, wherein access to the process is denied to the host device when the second timing identifier is invalid relative to the first timing identifier, wherein the second timing identifier is invalid when the second timing identifier represents a time that is after another time represented by the first timing identifier.
Dependencies are inferred from the claim text.