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: 20100192209
    Abstract: 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: Application
    Filed: January 23, 2009
    Publication date: July 29, 2010
    Applicant: Microsoft Corporation
    Inventors: David J. Steeves, Kim Cameron, Todd L. Carpenter, David Foster, Quentin S. Miller
  • Publication number: 20100192230
    Abstract: 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: Application
    Filed: January 23, 2009
    Publication date: July 29, 2010
    Applicant: Microsoft Corporation
    Inventors: David J. Steeves, Kim Cameron, Todd L. Carpenter, David Foster, Quentin S. Miller, Gregory D. Hartrell
  • Publication number: 20100174921
    Abstract: 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: Application
    Filed: January 7, 2009
    Publication date: July 8, 2010
    Applicant: Microsoft Corporation
    Inventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkami, Salahuddin J. Khan
  • Patent number: 7750923
    Abstract: 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: Grant
    Filed: April 5, 2007
    Date of Patent: July 6, 2010
    Assignee: Microsoft Corporation
    Inventors: Hanumant Kumar Yadav, William J. Westerinen, Todd L. Carpenter, Stephen Richard Drake
  • Publication number: 20100088759
    Abstract: 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: Application
    Filed: October 3, 2008
    Publication date: April 8, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkarni, Mark A. Myers, David J. Steeves
  • Patent number: 7689733
    Abstract: 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: Grant
    Filed: March 9, 2007
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Todd L. Carpenter, William J. Westerinen
  • Publication number: 20100037325
    Abstract: 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: Application
    Filed: December 18, 2006
    Publication date: February 11, 2010
    Inventors: William J. Westerinen, Todd L. Carpenter, Alexander Frank, Shon Schmidt, Stephen Richard Drake, David James Foster, Tse-Ching James Yu
  • Publication number: 20090319799
    Abstract: 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: Application
    Filed: April 25, 2008
    Publication date: December 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Todd L. Carpenter, William J. Westerinen, Vladimir Sadovsky
  • Publication number: 20090307451
    Abstract: 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: Application
    Filed: October 30, 2008
    Publication date: December 10, 2009
    Applicant: Microsoft Corporation
    Inventors: David Abzarian, Harish S. Kulkarni, Todd L. Carpenter
  • Publication number: 20090276595
    Abstract: 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: Application
    Filed: April 30, 2008
    Publication date: November 5, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkarni
  • Publication number: 20090276837
    Abstract: 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: Application
    Filed: April 30, 2008
    Publication date: November 5, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: David Abzarian, Todd L. Carpenter, Harish S. Kulkarni, David John Steeves
  • Patent number: 7577860
    Abstract: 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: Grant
    Filed: January 9, 2006
    Date of Patent: August 18, 2009
    Assignee: Microsoft Corporation
    Inventors: Todd L. Carpenter, Allen Marshall, Andrew J. Ritz
  • Publication number: 20090183249
    Abstract: 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: Application
    Filed: January 11, 2008
    Publication date: July 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: David Steeves, Todd L. Carpenter, David Abzarian, Gregory Hartrell, Mark Myers
  • Publication number: 20090178123
    Abstract: 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: Application
    Filed: January 9, 2008
    Publication date: July 9, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Todd L. Carpenter, David Steeves, David Abzarian
  • Publication number: 20090177892
    Abstract: 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: Application
    Filed: January 9, 2008
    Publication date: July 9, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: David Steeves, Todd L. Carpenter, David Abzarian, Gregory Hartrell, Charles D. Bassett, Bradley L. Carpenter
  • Publication number: 20090113210
    Abstract: 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: Application
    Filed: October 24, 2007
    Publication date: April 30, 2009
    Applicant: Microsoft Corporation
    Inventors: William J. Westerinen, Hanumant Kumar Yadav, Todd L. Carpenter
  • Publication number: 20090112521
    Abstract: 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: Application
    Filed: October 24, 2007
    Publication date: April 30, 2009
    Applicant: Microsoft Corporation
    Inventors: Todd L. Carpenter, William J. Westerinen
  • Publication number: 20090094455
    Abstract: 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: Application
    Filed: October 9, 2007
    Publication date: April 9, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Shon Schmidt, Todd L. Carpenter, David James Foster, Harjit Singh
  • Patent number: 7490256
    Abstract: 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: Grant
    Filed: April 4, 2006
    Date of Patent: February 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Allen Marshall, Andrew J Ritz, Todd L Carpenter
  • Publication number: 20080319910
    Abstract: 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: Application
    Filed: June 21, 2007
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: 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