Patents by Inventor Todd L. Carpenter
Todd L. Carpenter has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20100192209Abstract: Technology is described for enabling passive enforcement of security at computing systems. A component of a computing system can passively authenticate or authorize a user based on observations of the user's interactions with the computing system. The technology may increase or decrease an authentication or authorization level based on the observations. The level can indicate what level of access the user should be granted. When the user or a component of the computing device initiates a request, an application or service can determine whether the level is sufficient to satisfy the request. If the level is insufficient, the application or service can prompt the user for credentials so that the user is actively authenticated. The technology may enable computing systems to “trust” authentication so that two proximate devices can share authentication levels.Type: ApplicationFiled: January 23, 2009Publication date: July 29, 2010Applicant: Microsoft CorporationInventors: David J. Steeves, Kim Cameron, Todd L. Carpenter, David Foster, Quentin S. Miller
-
Publication number: 20100192230Abstract: Technology is described for protecting transactions. The technology may include a switching component that a user can employ to switch an associated mobile device into a secure mode so that a user can confirm the transaction. After initiating a transaction request, the user can confirm the transaction request by activating the switching component, which can cause the mobile device to switch into a secure mode. In the secure mode, the mobile device may prevent the mobile device from conducting various normal activities, such as executing applications, receiving input, providing output, and so forth. The switching component may disable other processing temporarily. Upon receiving the confirmation from the user, the switching component may send a confirmation communication to complete the transaction.Type: ApplicationFiled: January 23, 2009Publication date: July 29, 2010Applicant: Microsoft CorporationInventors: David J. Steeves, Kim Cameron, Todd L. Carpenter, David Foster, Quentin S. Miller, Gregory D. Hartrell
-
Publication number: 20100174921Abstract: Described is a technology by which a transient storage device or secure execution environment-based (e.g., including an embedded processor) device validates a host computer system. The device compares hashes of host system data against valid hashes maintained in protected storage of the device. The host data may be a file, data block, and/or memory contents. The device takes action when the host system data does not match the information in protected storage, such as to log information about the mismatch and/or provide an indication of validation failure, e.g., via an LED and/or display screen output. Further, the comparison may be part of a boot process validation, and the action may prevent the boot process from continuing, or replace an invalid file. Alternatively, the validation may take place at anytime.Type: ApplicationFiled: January 7, 2009Publication date: July 8, 2010Applicant: Microsoft CorporationInventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkami, Salahuddin J. Khan
-
Patent number: 7750923Abstract: A display device for use with a computer adapted for operation in an unrestricted use mode and a limited function mode and a method for enforcing a limited function mode display is disclosed. The display device enters a limited function mode when a condition of non-compliance with an operating policy is discovered by the computer. Additionally, the display device may also enter a limited function mode upon powering up or when connections to the computer and/or selected components of the display are disabled or disconnected. When in the limited function mode, the display may support a limited function interface for use in correcting the condition of non-compliance.Type: GrantFiled: April 5, 2007Date of Patent: July 6, 2010Assignee: Microsoft CorporationInventors: Hanumant Kumar Yadav, William J. Westerinen, Todd L. Carpenter, Stephen Richard Drake
-
Publication number: 20100088759Abstract: Inline pattern matching and policy enforcement may be implemented by a memory storage device. In an example embodiment, a device-implemented method includes acts of receiving, intercepting, and performing and conditional acts of invoking or permitting. A request from a host to perform a memory access operation is received at a memory storage device. Data flowing between an I/O channel and physical storage of the memory storage device is intercepted. A pattern matching procedure is performed on the data with reference to multiple target patterns in real-time while the data is being intercepted. If a pattern match is detected between the data and a target pattern, a policy enforcement mechanism is invoked. If a pattern match is not detected between the data and the multiple target patterns, the request from the host to perform the memory access operation is permitted.Type: ApplicationFiled: October 3, 2008Publication date: April 8, 2010Applicant: MICROSOFT CORPORATIONInventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkarni, Mark A. Myers, David J. Steeves
-
Patent number: 7689733Abstract: A computer that operates in a metered mode for normal use and a restricted mode uses an input/output memory management unit (I/O MMU) in conjunction with a security policy to determine which peripheral devices are allowed direct memory access during the restricted mode of operation. During restricted mode operation, non-authorized peripheral devices are removed from virtual address page tables or given vectors to non-functioning memory areas.Type: GrantFiled: March 9, 2007Date of Patent: March 30, 2010Assignee: Microsoft CorporationInventors: Todd L. Carpenter, William J. Westerinen
-
Publication number: 20100037325Abstract: A pay-per-use computer, or other electronic device that uses local security, may use a security module or other circuit for monitoring and enforcement of a usage policy. To help prevent physical attacks on the security module, or the circuit board near the security module, a second circuit may be mounted over the security module to help prevent access to the security module. Both circuits may be mounted on a interposer and the interposer mounted to the circuit board, creating a stack including the first circuit, the interposer, the security module, and a main PC board. When the PC board includes dense signal traces under the security module a three dimensional envelope is created around the security module. When the first circuit is a high value circuit, such as a Northbridge, the risk/reward of attacking the security module is increased substantially and may deter all but the most determined hackers.Type: ApplicationFiled: December 18, 2006Publication date: February 11, 2010Inventors: William J. Westerinen, Todd L. Carpenter, Alexander Frank, Shon Schmidt, Stephen Richard Drake, David James Foster, Tse-Ching James Yu
-
Publication number: 20090319799Abstract: Providing for analysis of artifacts of electronic devices to generate data that is substantially unique to a particular device or to a class of devices is described herein. In some aspects, analyzed artifacts are chosen based on reliable reproducibility of such data over many analyses. The substantially unique data can be associated with a particular electronic device(s) to distinguish such devices from other devices. In some aspects, the generated data is first transformed into an identifier, such as a number, word, string of data, etc., to distinguish the electronic device in remote communication, to provide a key in an encryption/decryption algorithm, and so on. The data can be reproduced by reanalyzing the artifacts, and thus need not be stored for future consumption, mitigating risks involved in storing sensitive data.Type: ApplicationFiled: April 25, 2008Publication date: December 24, 2009Applicant: MICROSOFT CORPORATIONInventors: Todd L. Carpenter, William J. Westerinen, Vladimir Sadovsky
-
Publication number: 20090307451Abstract: A dynamic logical unit number system is implemented as a storage device that includes processing logic and storage functionality. A storage device may be configured to provide a first logical unit number when the storage device is attached to a computer system or other computing device. The storage device through its dynamic logical unit number system provides a configuration interface through which the computer system can configure additional logical unit numbers and reconfigure existing logical unit numbers of the storage device. After the redefinition of the logical unit numbers, the dynamic logical unit number system may cause a reestablishment of the connection between the storage device and the computer system. Upon establishing the new connection, the computer system recognizes the redefined logical unit numbers and treats each logical unit number as a separate storage device, including assigning a different number to each logical unit number.Type: ApplicationFiled: October 30, 2008Publication date: December 10, 2009Applicant: Microsoft CorporationInventors: David Abzarian, Harish S. Kulkarni, Todd L. Carpenter
-
Publication number: 20090276595Abstract: A method and a storage device may be provided. The storage device may include physical storage subdivided into a number of regions. The regions may start and end based on logical block addresses specified in a region table. At least one of the regions may be mapped to a logical drive letter. One or more others of the regions may be mapped to a subfolder with respect to the logical drive letter. The storage device may include an access control table. Each entry of the access control table may correspond to a respective region of the physical storage. Each of the entries of the access control table may indicate whether the respective region is protected and whether at least one entity is permitted protected access to the respective region after being successfully authenticated.Type: ApplicationFiled: April 30, 2008Publication date: November 5, 2009Applicant: MICROSOFT CORPORATIONInventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkarni
-
Publication number: 20090276837Abstract: A number of equivalent credentials may be associated with at least one entity. Each of the equivalent credentials may be of one of a number of types, such as, for example, a cryptographic key pair, a password, a biometric, or other types or combinations thereof. When one of the equivalent credentials is authenticated by an authentication control system, the at least one entity may be permitted access to a hardware device, software, or a service associated with the authentication control system. The authentication control system may include a number of authentication endpoints and blocking controls, each of which may be associated with a respective equivalent credential. After the authentication control system authenticates one of the equivalent credentials, a parameter of a blocking control and/or configurable credential-related attributes of an authentication endpoint associated with another of the equivalent credentials may be changed or reset.Type: ApplicationFiled: April 30, 2008Publication date: November 5, 2009Applicant: MICROSOFT CORPORATIONInventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkarni, David John Steeves
-
Patent number: 7577860Abstract: Processor power management capabilities that enable an operating system kernel to interact with a plurality of ACPI-compliant computing devices to manage processor power using a generic processor description. Specifications of power processor management capabilities of processor types are stored in data structures, i.e., objects. Each object contains a control value field and a control mask field. The kernel loads a generic processor driver and objects for each processor type enabling the kernel to respond to power management events such as processor utilization and processor operating temperature events. In response to a power management event, the kernel calculates a desired processor performance state; sets bits in the control mask field to describe the desired processor performance state; and passes the control mask to the generic processor driver which controls the processor. Responses to power management events include adjusting processor voltage and/or adjusting processor frequency.Type: GrantFiled: January 9, 2006Date of Patent: August 18, 2009Assignee: Microsoft CorporationInventors: Todd L. Carpenter, Allen Marshall, Andrew J. Ritz
-
Publication number: 20090183249Abstract: A storage token has a display and a keyboard, or other input device, that allows a user to view a request to access a memory location and enter a response to the request. The display allows presentation of details of the request, such as a pathname to a requested memory location, metadata describing a cryptographic key for use in a transaction confirmation, and/or transaction details which are awaiting verification by a credential stored on the token. The storage token may also include a cryptographic engine and a secure memory allowing signing data returned in response to the request.Type: ApplicationFiled: January 11, 2008Publication date: July 16, 2009Applicant: MICROSOFT CORPORATIONInventors: David Steeves, Todd L. Carpenter, David Abzarian, Gregory Hartrell, Mark Myers
-
Publication number: 20090178123Abstract: A token or other storage device uses Internet identities to set file access attribute rights. Subsequently, requests to access a file can be controlled by confirming the Internet identity of the requester by either validating the request with a known public key or retrieving the public key from an Internet identity provider. Files may be stored encrypted and may be re-encrypted with the public key associated with Internet identity making the request.Type: ApplicationFiled: January 9, 2008Publication date: July 9, 2009Applicant: MICROSOFT CORPORATIONInventors: Todd L. Carpenter, David Steeves, David Abzarian
-
Publication number: 20090177892Abstract: A security token is coupled to a computer and is available for use by both local and remote processes for on-demand response to a challenge. To minimize the security risk of an unattended session, the challenge may be issued to verify the presence of the token. When the token has a user interface, it may be used in conjunction with the computer to require that a user also participate in transferring displayed data between the token and computer. This helps to ensure that not only the token, but the user are both present at the computer during operation. For the most sensitive operations, such a confirmation may be required with each data submission.Type: ApplicationFiled: January 9, 2008Publication date: July 9, 2009Applicant: MICROSOFT CORPORATIONInventors: David Steeves, Todd L. Carpenter, David Abzarian, Gregory Hartrell, Charles D. Bassett, Bradley L. Carpenter
-
Publication number: 20090113210Abstract: A security module may be used to verify integrity of an executable program and may also be used to verify execution of the executable program on a computer. The security module may directly read a computer memory by asserting bus master control of a system bus. The executable program may be directly verified by calculating a hash or may be indirectly verified by an intermediate program that calculates the hash and passes it to the security module. To verify operation, the executable program may cause an interrupt to be generated when the executable program is in a known state. An interrupt service routine may trigger the security module to read registers in the computer processor via a debug port. If either the verification of the executable program fails or the register values are inconsistent with operation of the executable program, the security module may interrupt operation of the computer.Type: ApplicationFiled: October 24, 2007Publication date: April 30, 2009Applicant: Microsoft CorporationInventors: William J. Westerinen, Hanumant Kumar Yadav, Todd L. Carpenter
-
Publication number: 20090112521Abstract: A security module is used to perform an audit of both a computer memory and the computer's processor status. The security module may assert itself as a bus master to read the computer memory without dependence on a program running on the computer. In addition, using a separate hardware path, the security module may access processor register data using a debug port. The security module may collect both memory and processor status information without the use of any of the computer resources being measured, avoiding either alteration of the data by the measurement tool or tampering with the data while being collected.Type: ApplicationFiled: October 24, 2007Publication date: April 30, 2009Applicant: Microsoft CorporationInventors: Todd L. Carpenter, William J. Westerinen
-
Publication number: 20090094455Abstract: A computer or other electronic device may use a security module to securely control a system or processor clock to set a predetermined performance level. In an exemplary embodiment, the performance level may be high, medium, or low, supporting a range of application performance requirements. Changes to the performance level may be authorized by a third party presenting cryptographic rights to alter the performance level. Alternatively, postpaid ro pre-paid value may be accumulated at a rate corresponding to the predetermined performance level set by the security module.Type: ApplicationFiled: October 9, 2007Publication date: April 9, 2009Applicant: MICROSOFT CORPORATIONInventors: Shon Schmidt, Todd L. Carpenter, David James Foster, Harjit Singh
-
Patent number: 7490256Abstract: Embodiments of the present invention are directed at identifying an idle state for a processor that minimizes power consumption. In accordance with one embodiment, a method for identifying a target idle state that does not require a linear progression into any intermediate states is provided. More specifically the method includes collecting data from a plurality of data sources that describes activities occurring on the computer and/or attributes of the hardware platform. Then, using the collected data, a target idle state for the processor is calculated. Finally, if the current idle state of the processor is different than the target idle state, the method causes the idle state of the processor to be changed to the target idle state.Type: GrantFiled: April 4, 2006Date of Patent: February 10, 2009Assignee: Microsoft CorporationInventors: Allen Marshall, Andrew J Ritz, Todd L Carpenter
-
Publication number: 20080319910Abstract: A computer with scalable performance level components and selectable software and service options has a user interface that allows individual performance levels to be selected. The scalable performance level components may include a processor, memory, graphics controller, etc. Software and services may include word processing, email, browsing, database access, etc. To support a pay-per-use business model, each selectable item may have a cost associated with it, allowing a user to pay for the services actually selected and that presumably correspond to the task or tasks being performed. An administrator may use a similar user interface to set performance levels for each computer in a network, allowing performance and cost to be set according to a user's requirements.Type: ApplicationFiled: June 21, 2007Publication date: December 25, 2008Applicant: MICROSOFT CORPORATIONInventors: James S. Duffus, Curt Andrew Steeb, Thomas G. Phillips, Todd L. Carpenter, Martin H. Hall, Ricardo Lopez-Barquilla, Judy Tandog, Katie Ann Aldrich, Daniel Makoski, David James Foster, Krista L. Johnson