Movatterモバイル変換


[0]ホーム

URL:


US20080052530A1 - System and method to provide CPU smoothing of cryptographic function timings - Google Patents

System and method to provide CPU smoothing of cryptographic function timings
Download PDF

Info

Publication number
US20080052530A1
US20080052530A1US11/355,659US35565906AUS2008052530A1US 20080052530 A1US20080052530 A1US 20080052530A1US 35565906 AUS35565906 AUS 35565906AUS 2008052530 A1US2008052530 A1US 2008052530A1
Authority
US
United States
Prior art keywords
function
execution time
time
previous execution
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/355,659
Inventor
Michael Negley Abernethy
Kulvir Singh Bhogal
Travis M. Grigsby
Robert Norris-Lance Krentler
Alexandre Polozoff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines CorpfiledCriticalInternational Business Machines Corp
Priority to US11/355,659priorityCriticalpatent/US20080052530A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATIONreassignmentINTERNATIONAL BUSINESS MACHINES CORPORATIONASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: BHOGAL, KULVIR S, ABERNETHY, JR., MICHAEL N, KRENTLER, ROBERT N, GRIGSBY, TRAVIS M, POLOZOFF, ALEXANDRE
Priority to CNB2007100082181Aprioritypatent/CN100472551C/en
Publication of US20080052530A1publicationCriticalpatent/US20080052530A1/en
Priority to US12/049,292prioritypatent/US8311211B2/en
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

A system and method to smooth a cryptographic function's timing footprint is presented. A processor includes a “function timing smoother” that smoothes out spikes in the amount of time that a particular cryptographic function requires to execute. When a cryptographic function executes, the function timing smoother tracks the amount of time that the cryptographic function executes (current execution time) and compares the time with the amount of time that the same cryptographic function took for a previous execution (previous execution time). When the current execution time is less than the previous execution time, the function timing smoother adds instructions or varies an execution unit's clock speed in order to increase the cryptographic function's current execution time. Using this approach, a malicious user is not able to decipher sensitive information from the cryptographic function's timing footprint.

Description

Claims (20)

8. A computer program product stored on a computer operable media, the computer operable media containing instructions for execution by a computer, which, when executed by the computer, cause the computer to implement a method for smoothing cryptographic function timing footprints, the method comprising:
executing a function included in a program;
in response to the execution, computing a current execution time that corresponds to the amount of time that the function requires to execute;
retrieving a previous execution time, the previous execution time corresponding to the amount of time that the function required during a previous execution;
determining that the current execution time is less than the previous execution time; and
in response to the determination, injecting one or more filler instructions that do not correspond to the program, wherein the injecting increases the current execution time until the current execution time is equal to the previous execution time.
15. An information handling system comprising:
one or more processors;
a memory accessible by the processors;
one or more nonvolatile storage devices accessible by the processors; and
a timing footprint smoothing tool for smoothing a cryptographic function's timing footprint, the timing footprint smoothing tool being effective to:
execute a function included in a program that is retrieved from one of the nonvolatile storage devices;
in response to the execution, compute a current execution time that corresponds to the amount of time that the function requires to execute;
retrieve a previous execution time from the memory, the previous execution time corresponding to the amount of time that the function required during a previous execution;
determine that the current execution time is less than the previous execution time; and
in response to the determination, inject one or more filler instructions that do not correspond to the program, wherein the injecting increases the current execution time until the current execution time is equal to the previous execution time.
US11/355,6592006-02-162006-02-16System and method to provide CPU smoothing of cryptographic function timingsAbandonedUS20080052530A1 (en)

Priority Applications (3)

Application NumberPriority DateFiling DateTitle
US11/355,659US20080052530A1 (en)2006-02-162006-02-16System and method to provide CPU smoothing of cryptographic function timings
CNB2007100082181ACN100472551C (en)2006-02-162007-01-25 System and method for CPU smoothing of cryptographic function timing
US12/049,292US8311211B2 (en)2006-02-162008-03-15Providing CPU smoothing of cryptographic function timings

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
US11/355,659US20080052530A1 (en)2006-02-162006-02-16System and method to provide CPU smoothing of cryptographic function timings

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US12/049,292ContinuationUS8311211B2 (en)2006-02-162008-03-15Providing CPU smoothing of cryptographic function timings

Publications (1)

Publication NumberPublication Date
US20080052530A1true US20080052530A1 (en)2008-02-28

Family

ID=38744067

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US11/355,659AbandonedUS20080052530A1 (en)2006-02-162006-02-16System and method to provide CPU smoothing of cryptographic function timings
US12/049,292Expired - Fee RelatedUS8311211B2 (en)2006-02-162008-03-15Providing CPU smoothing of cryptographic function timings

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
US12/049,292Expired - Fee RelatedUS8311211B2 (en)2006-02-162008-03-15Providing CPU smoothing of cryptographic function timings

Country Status (2)

CountryLink
US (2)US20080052530A1 (en)
CN (1)CN100472551C (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9015838B1 (en)*2012-05-302015-04-21Google Inc.Defensive techniques to increase computer security
US9251341B1 (en)2012-05-302016-02-02Google Inc.Defensive techniques to increase computer security

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8661536B2 (en)*2010-03-172014-02-25Microsoft CorporationSide channel attack analysis
CN110569633B (en)*2012-10-252023-04-18英特尔公司Theft protection in firmware
DE102015226249A1 (en)*2015-12-212017-06-22Siemens Aktiengesellschaft Apparatus and method for providing a plurality of reproducible values
EP3624390A1 (en)*2018-09-172020-03-18Secure-IC SASDevices and methods for protecting cryptographic programs

Citations (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4587612A (en)*1982-10-221986-05-06International Business Machines CorporationAccelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter
US6381558B1 (en)*1998-12-182002-04-30International Business Machines CorporationAlternative profiling methodology and tool for analyzing competitive benchmarks
US20040062391A1 (en)*2002-09-262004-04-01Yukiyasu TsunooData encryption system and method
US6754349B1 (en)*1999-06-112004-06-22Fujitsu Services LimitedCryptographic key, or other secret material, recovery
US20040128575A1 (en)*2002-12-272004-07-01Thorsten SchmidtMethod for optimizing processor clock frequency in a hard disk drive to minimize power consumption while maximizing performance
US6819766B1 (en)*1999-03-302004-11-16International Business Machines CorporationMethod and system for managing keys for encrypted data
US20050034002A1 (en)*2003-08-042005-02-10Krisztian FlautnerPerformance control within a multi-processor system
US20070237326A1 (en)*2004-04-262007-10-11Masao NonakaComputer System and Computer Program Executing Encryption or Decryption
US7321958B2 (en)*2003-10-302008-01-22International Business Machines CorporationSystem and method for sharing memory by heterogeneous processors

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7987510B2 (en)*2001-03-282011-07-26Rovi Solutions CorporationSelf-protecting digital content
KR100574945B1 (en)*2003-08-082006-04-28삼성전자주식회사 Encryption Method Using Overlap Method and Variable Clock Method
JP3998616B2 (en)2003-09-102007-10-31株式会社東芝 Encryption / decryption module
KR100652377B1 (en)*2004-08-062007-02-28삼성전자주식회사 Modular Exponential Algorithms, Record Media and Systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4587612A (en)*1982-10-221986-05-06International Business Machines CorporationAccelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter
US6381558B1 (en)*1998-12-182002-04-30International Business Machines CorporationAlternative profiling methodology and tool for analyzing competitive benchmarks
US6819766B1 (en)*1999-03-302004-11-16International Business Machines CorporationMethod and system for managing keys for encrypted data
US6754349B1 (en)*1999-06-112004-06-22Fujitsu Services LimitedCryptographic key, or other secret material, recovery
US20040062391A1 (en)*2002-09-262004-04-01Yukiyasu TsunooData encryption system and method
US20040128575A1 (en)*2002-12-272004-07-01Thorsten SchmidtMethod for optimizing processor clock frequency in a hard disk drive to minimize power consumption while maximizing performance
US20050034002A1 (en)*2003-08-042005-02-10Krisztian FlautnerPerformance control within a multi-processor system
US7321958B2 (en)*2003-10-302008-01-22International Business Machines CorporationSystem and method for sharing memory by heterogeneous processors
US20070237326A1 (en)*2004-04-262007-10-11Masao NonakaComputer System and Computer Program Executing Encryption or Decryption

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9015838B1 (en)*2012-05-302015-04-21Google Inc.Defensive techniques to increase computer security
US9251341B1 (en)2012-05-302016-02-02Google Inc.Defensive techniques to increase computer security

Also Published As

Publication numberPublication date
US20080162979A1 (en)2008-07-03
CN100472551C (en)2009-03-25
CN101025777A (en)2007-08-29
US8311211B2 (en)2012-11-13

Similar Documents

PublicationPublication DateTitle
US9767284B2 (en)Continuous run-time validation of program execution: a practical approach
US8756434B2 (en)System and method for executing an encrypted binary from a memory pool
CA2525376C (en)System and method for authenticating software using hidden intermediate keys
Kolbitsch et al.Effective and efficient malware detection at the end host.
Zhang et al.Exploring branch predictors for constructing transient execution trojans
US7475254B2 (en)Method for authenticating software using protected master key
US8311211B2 (en)Providing CPU smoothing of cryptographic function timings
US7272228B2 (en)System and method for securing code and ensuring proper execution using state-based encryption
Belleville et al.Automated software protection for the masses against side-channel attacks
Canella et al.The evolution of transient-execution attacks
US10496825B2 (en)In-memory attack prevention
Harris et al.Morpheus II: A RISC-V security extension for protecting vulnerable software and hardware
Gupta et al.Marlin: Mitigating code reuse attacks using code randomization
Fell et al.TAD: Time side-channel attack defense of obfuscated source code
Kim et al.Reinforcing meltdown attack by using a return stack buffer
Aktas et al.Continuous, low overhead, run-time validation of program executions
Albartus et al.On the design and misuse of microcoded (embedded) processors—a cautionary note
Murphy et al.Software profiling options and their effects on security based diversification
Chakraborty et al.Embedded software security through key-based control flow obfuscation
Kanter et al.Diversity in cloud systems through runtime and compile-time relocation
Uitto et al.Practical implications and requirements of diversifying interpreted languages
Berlakovich et al.Look ma, no constants: Practical constant blinding in GraalVM
Harris et al.Understanding Microbenchmark Detection of Existing Exploits in Apple M1 and M2 Chips
Zhang et al.AttestLLM: Efficient Attestation Framework for Billion-scale On-device LLMs
McNamaraObject-Level Hardware Tracking for Out-of-Bounds Read and Write Protection

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ABERNETHY, JR., MICHAEL N;BHOGAL, KULVIR S;GRIGSBY, TRAVIS M;AND OTHERS;REEL/FRAME:017298/0564;SIGNING DATES FROM 20051215 TO 20060120

STCBInformation on status: application discontinuation

Free format text:ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION


[8]ページ先頭

©2009-2025 Movatter.jp