543 presentation

29
Crypto processor Design Sai Suman Devraj Mallikarjun Prasad Eedupuganti Anivesh Reddy Kankanala Venkatesh Yarlagadda

Upload: yarlagadda-venkatesh-chowdary

Post on 17-Sep-2015

241 views

Category:

Documents


6 download

DESCRIPTION

design of crypto processor

TRANSCRIPT

Crypto processor Design

Crypto processor Design Sai Suman Devraj Mallikarjun Prasad Eedupuganti Anivesh Reddy Kankanala Venkatesh Yarlagadda OverviewIntroduction to crypto processors Designs of crypto processors Performance analysis of cryptographic hardware Introduction to Trusted Platform Module Attacks on crypto processors and how to defend against them Investigate documented attack on crypto processorWhat is a crypto processor?A specialized processor that executes cryptographic algorithms within hardwareDefinition varies, but the standard definition includes Acceleration of encryption Protection against tampering Intrusion detection Protection of data Secure I/O

Why we use crypto processor?Most modern security work is based on either protecting or cracking vulnerabilities in targets OSMajority of systems use conventional processors, standard OS, and standard communication channelsA lot of good work has been done here but may be seen as a dead-end for high securitySoftware isnt enough to protect system, need physical protectionWhy we use crypto processor?Motivation for securing processorsProtection of IPAlgorithms, FPGA configured files, etc.Protection of key data where simple storage encryption isnt enoughPrevent exploits in vulnerabilitiesIn ATMs and other high risk applicationsOffer advantages in speed and power consumptionIncreasing data rates and complexity in security protocols cause s/w implementations to be slowTypically the same software crypto algorithms are implemented in hardwareHistory of crypto processorsMilitary applicationsNuclear weapons arming, battlefield communications hardware, etc. Earliest civilian crypto processor was IBM 3848 (1980s)Used for ATMs and mainframe computersRecently, been used in many consumer level goods and applicationsSmart cards, GSM phone SIM cards, set-top TV boxes, etc.Manufactures can exercise control over aftermarket accessories Game controllers, car electronics, ink cartridges, etc.Trusted Computing initiative is to incorporate Trusted Platform Module crypto processors into chipDesign & Design considerationsStart from the ground upStart with secure silicon, meaning must trust your fabNo backdoors, no undocumented features, etc.Design and program in secure environment and limit access to design infoHave a strong and reliable key management systemNeed to consider level of security neededParanoia, IP protection, protection of sensitive data, protection of legally liable data or financial transactionsGround up design may not be practicalExpensive, time consuming, may need to conform to commercial communication standards, e.g. TCP/IPGround up design is infeasible for many applicationsMobile devices make h/w security difficult/impossibleHigh complexity of modern systems make fully custom hardware impractical

Families of Crypto ProcessorsDouble encryptionProtects programs and dataStandard processor architecture + dedicated crypto blocksIncreased throughputFPGA implementationFlexible and allow efficient complex arithmetic operationsASIC implementationFast and low power consumptionDouble Encryption This type of crypto processor protects the programs running and the dataData and addresses are encryptedAll info is decrypted within the security of the processor and then encrypted again before memory storage or I/O transmissionA barrier of encrypts and decrypts stands between the processing elements, data storage, and I/O elements.

Processor With Double Encryption

Advantages of Double Encryption New Section for key managementKeys may be hardwired in (externally loadable)Hardwiring in the keys generally allows them to be zeroed Hardwired keys are generally not visible to the outside world under any (reasonable) conditions There is both a secure and a non-secure I/O channelThe strength of the security in the processor is directly dependent on how well these two channels are isolatedThe easiest place to attack would be at this point of isolationResults in data transactions being monitored in the clearProcessor With Dedicated Crypto BlocksBuild upon standard processor architectures with the addition of multiple dedicated crypto algorithm blocksParallel connections to data bus Processor instructions are not secure Handle large quantities of encrypted data, but do not need the instructions to be secure Ideal for network routers Greatly increase throughput in network applications Multiple cryptographic algorithms

Architecture of Dedicated Crypto Blocks

Crypto Processors implemented in FPGAs Used for speeding up cryptographic processing Flexibility allows for system evolutionAlgorithm agility for security protocols A must to become commercially viable Allow complex arithmetic operations that general CPUs cannot perform efficiently May be more cost-effective solution than VLSI/ASICModifications can be made with easePerformance of Crypto Processor on ASIC

Optimized ASIC compared to FPGA performance4x faster97% area reduction93% dynamic power reductionMay be unrealistic to see these gains High volume applications Speed necessary applicationse.g. network routers Low power applicationse.g. RFID devicesComparison between ASIC & FPGAPARAMETERSSOFTWAREFPGAASICPERFORMANCELOW MEDIUMHIGHPOWER CONSUMPTIONDEPENDS VERY HIGHLOWLOGIC INTEGRATIONLOW LOWHIGHTEST DEVELOPMENTVERY LOW VERY LOWHIGHDENSITYHIGHVERY LOWHIGHSIZESMALLMEDIUMLARGETIME TO MARKETSHORTSHORTHIGHTrusted Platform ModuleTPM is a component on the CPU board that is specifically designed to enhance platform securityCrypto processor with a s/w microkernel Securely generates and stores encryption keys, passwords, and digital certificatesIdea is for one TPM to certify another TPMCan certify both the program and the platformMany different applications e.g. for DRM: A TPM can assure a content vendor it is selling to a true copy of the media player rather than hacked copy

Trusted Platform ModuleDependent on state of PC ServicesAttestation: Cryptographic reporting of stateSealing: State dependent access to information Used for Encrypting and decrypting data Control digital rights management (DRM) access Authenticate users, applications, and computers ~250 million units, few applications actually use TPM Customer resistance due to developers locking in more tightly and forcing incompatibility. Due to complexity of managing chip Due to the lack of awareness of its capabilities

FIB image of TPMs

Attacks

Early 90s, security was minimal in devices.Simple attacks could be performed, such as clock signals and voltage glitching ,x-rays, photo flash , UV light and other Radiation attacks.Few valuable applications has been attacked. Soon enough, the need for security changed. For Example,there have been many attacks devised against smart cards,since they are used in pay-TV systems,as stored value cards and as tickets on mass-transit systems,and thus breaking their security can provide financial gains to the attacker.

AttacksAttacks can be done due to Weaknesses in implementation. Not providing any additional security for the devices. Easy to breakdown and do reverse engineering.The set of physical, electrical, and logical interfaces that are exposed to potential attackers. Four classes of attacks InvasiveNon-invasiveSemi-invasiveRemote attacks

Invasive AttacksInvolve direct electrical access to internal components of crypto processor Example: drilling into passivation layer and micro probing IBM 4758 interior has been exposed

Attack on IBM 4758

The IBM 4758 is an extremely secure cryptographic co-processor.It is used by banking systems and in other security conscious applications to hold keying material.It is designed to make it impossible to extract this keying material unless you have the correct permissions and can involve others in a conspiracy.Only neededabout 20 minutes uninterrupted access to the deviceOne persons ability to use the combine-key-parts permission.A standard off-the shelf FPGA evaluation board from altera. About two days of cracking time.

Non-invasive Attacks

Doesnt physically abuse cpu.But rather feeds its bogus code,or forces it to operate under adverse environmental conditions.Examples: Power spikes.Irregular clock signals to the processor.Subjecting it to radiation.

Semi-invasive AttacksInvolve access to the chips surface but doesnt require electrical contact or penetration of passivation layer Examples:UV light allows attacker to read memory contentsFault injection attacksLow cost probing workstation using photoflashLight causes transistor to conduct. Then able to set or reset any bit in SRAM

Remote Attacks Not necessary to be near chip, just need to intercept encrypted traffic Two well known attacks but arent specific to crypto processors Cryptanalysis and protocol analysis API analysis: specific to crypto processors Top level s/w that governs its interactions with outside world an unexpected sequence of transactions which would trick a security module into revealing a secret in a manner contrary to the devices security policyDefenses on AttacksCrypto processors provide physical layers for protection of devices.strong protection of IP.Protection against tampering.For Example, sensors will alert cpu if the temperature, clock signals, voltage or radiation levels appear abnormal or the cpu believes if it is under attack it will destroy any private key, shutdown or even self-destruct.But this is cost effective.References

Broesch, James D. "Secure Processors for Embedded Applications." black hat. 2-28-2007. black hat, Web. 14 Feb 2010. http://www.blackhat.com/presentations/bh-dc 07/Broesch/Presentation/bh-dc-07-Broesch-ppt.pdf Anderson, R.; Bond, M.; Clulow, J.; Skorobogatov, S.; , "Cryptographic Processors-A Survey," Proceedings of the IEEE , vol.94, no.2, pp.357-369, Feb. 2006 Kim, HoWon, and Sunggu Lee. "Design and Implementation of a Private and Public Key Crypto Processor and Its Application to a Security System." IEEE Transactions on Consumer Electronics. 50.1 (2004): 214-224. Print Clayton, Richard. "Extracting a 3DES key from an IBM 4758." 2 Feb 2002. Computer Laboratory, University of Cambridge, Web. 1 Mar 2010. Wiens, Jordan. "A Tipping Point For TPM?." Informationweek. 1193 (2008): 39-41. Print. Montgomery, David, and Ali Akoglu. "Cryptographic Instruction Set Processor Design." bildiriler kitabi proceedings. (2007): 139-144. Print

Questions?