logging in or signing up burr nist crypto standards Burnell Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: Embed: Flash iPad Dynamic Copy Does not support media & animations Automatically changes to Flash or non-Flash embed WordPress Embed Customize Embed URL: Copy Thumbnail: Copy The presentation is successfully added In Your Favorites. Views: 651 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 05, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript NIST Cryptographic StandardsStatus Report : NIST Cryptographic Standards Status Report April 4, 2006 Bill Burr Manager, Security Technology Group NIST firstname.lastname@example.orgCrypto Standards Toolkit: Crypto Standards Toolkit Standardized, best of breed solutions for Encryption algorithms modes of operation Message authentication Digital signature Hashing Key generation deterministic (pseudorandom) and nondeterministic (hardware) key derivation Key management agreement transport wrapping Random number generation Acronyms (some are new): Acronyms (some are new) DLC: Discrete Logarithm Cryptography FFC: Finite Field Cryptography Digital Signature Algorithm (DSA), Diffie-Hellman (DH) and MQV* ECC: Elliptic Curve Cryptography ECDSA, ECDH, and ECMQV* Believed secure if it’s hard to find discrete logarithms in FF or EC spaces respectively IFC: Integer Factorization Cryptography RSA is only algorithm in this category we use Reversible: can use for encryption or digital signatures Believed secure if its hard to factor big numbers * MQV: Menenzes, Qu and Vanstone - efficient secure authenticated key agreement protocol that uses DLCCryptographic Standards: Cryptographic Standards Security Requirements for Cryptographic Modules FIPS 140-2 Symmetric Key * DES (FIPS 46-3) * TDES (SP-800-67) * AES (FIPS 197) * Block Cipher Modes - SP 800-38A, B, C * HMAC (FIPS 198) Public Key * Dig. Sig. Std. FIPS 186-2& FIPS 186-3 - DSA – bigger keys - RSA (X9.31 and PKCS #1) - ECDSA (X9.62) * Key Establishment Schemes - SP 800-56A (DH & MQV; FFC & ECC Schemes; X9.42 and X9.63) - SP 800-56B (IFC Schemes; X9.44) * Key Management Guideline - General Guidance - Key Management Organization - Application-Specific Guidance Secure Hash * SHA-1, SHA-224, SHA-256. SHA-384, SHA-512 (FIPS 180-2) Random Number Generation * SP 800-90 (X9-82) FFC: Finite Field Crypt. i.e., DSA, DH, MQV IFC: Integer Factorization Crypt., i.e., RSA ECC: Elliptic Curve Cryptography, i.e., ECDSA, ECDH, ECMQVTheoretical Comparable Strengths: Theoretical Comparable Strengths Note: Approx. strength of hash functions used in HMAC, rand. no. gen. or key derivation is hash size itself Sym. Key: Symmetric key encryption algorithms FFC and IFC: Finite field discrete log and factoring based public key algorithms ECC: Elliptic Curve discrete log based public key algorithms White background: expected to be secure until at least 2030 Yellow background: Phase out use by 2010 Size in bitsNIST Crypto Standards Status: NIST Crypto Standards Status Black Text: FIPS approved or NIST Recommended Blue italic text: Public Review begun Red Italic text: Under development Hashed background: no plans for this strength Black background: Withdrawn Recent Events: Random Number Generation: Recent Events: Random Number Generation SP 800-90: Deterministic Random Bit Generators Draft for public review Dec. 2005 Hash, HMAC, block cipher and number theoretic (Elliptic Curve) based generators ANSI X9.82: Consists of four parts Part 1: Overview and Basic Principles Part 2: Entropy Sources Part 3: Deterministic (pseudo-random) Random Bit Generators Part 4: Random Bit Generator Constructions Workshop held Summer 2004 Recent Events: Recent Events FIPS 186-3 Digital Signature Standard began Public Review Extend DSA to include 2048-bit & 3072-bit keys ECDSA & RSA also updated RNG: Points to SP 800-90 Assurance: Points to SP 800-89 (also posted for comment) Public Review ends June 12th http://csrc.nist.gov/publications/drafts.html NIST SP 800-56A: Recommendation for Par-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography Posted: March 2006 http://csrc.nist.gov/publications/nistpubs/ Covers FFC and ECC Diffie-Hellman and MQV schemes The Future – Near Term: The Future – Near Term Post SP 800-38D, GCM for comments Start issuing Pub. Key certificates with at least 2k FFC or 224 bit ECC keys and SHA-256 or SHA-224 by 2008 Stop using 80-bit equivalent crypto by 2010 Don’t rely on 2key TDEA, SHA-1 (for signatures), 160-bit ECDSA, 1024-bit RSA, 1024-bit DSA, 1024-bit DH & MQV key agreement after Dec 31, 2010 Hash Standard workshops and competition Response to cryptanalysis of SHA-1 Define requirements in workshops – next one Aug. 24-25 in Santa Barbara Competition for new Hash Function standard to supplement or supplant SHA-2 hash functions Future for Public Key Crypto: Future for Public Key Crypto NIST expects to allow continued use of finite field public key cryptography for the foreseeable future Need 2048-bit keys after 2010 NIST encourages movement to Elliptic Curve methods for 128-bit equivalent public key crypto May never see wide use of 3k FFC & IFC PK algorithms ECC patents should be a minor issue long before we need 128-bit equivalent public key crypto in most unclassified applications With bigger keys, ECC is much more efficient NIST encourages adoption of MQV key agreement protocol Many good properties Specified in SP 800-56AFull MQV Key Agreement Scheme: Full MQV Key Agreement Scheme One way to view Full MQV is as ephemeral-ephemeral Diffie-Hellman with static keys (contained in PKI certificates) included Get nice properties of e-e DH (forward secrecy) with authentication for about 25% more computation The shared secret is computed from the identifiers of A and B (IDA & IDB), the ephemeral key pairs (ePubA, ePrivA, ePubB & ePrivB), and the static key pairs (sPubA, sPrivA, sPubB & sPrivB). ms1 & ms2 are distinct message strings. K is an authentication key derived from the shared secret. Static public keys or certificates may be obtained out of band. A B IDA, ePubA, Cert(sPub)A IDB, ePubB, MACK(ms1, IDB, IDA, ePubB, ePubA), Cert(sPub)B MACK(ms2, IDA, IDB, ePubA, ePubB)SP 800-56: MQV Key Agreement Scheme: SP 800-56: MQV Key Agreement Scheme Most good security properties with the fewest messages and public key operations of any key agreement scheme Various combinations of static and ephemeral keys 1, 2 & 3 pass protocols MQV primitives for FFC and ECC Nice properties Implicit key authentication Explicit key authentication Forward secrecy Key compromise impersonation resilience Unknown key-share resilience Certicom patents on MQV IETF proposals from Certicom for TLS and IPSEC No security proof in the Canetti-Krawczyk model Hash Functions – a Hot Topic: Hash Functions – a Hot Topic Hash functions take a variable-length message and reduce it to a shorter fixed message digest Many applications: “Swiss army knives” of cryptography: Digital signatures (with public key algorithms) Random number generation Key update and derivation One way function Message authentication codes (with a secret key) Integrity protection code recognition (lists of the hashes of known good programs or malware) User authentication (with a secret key) Commitment schemes Recent Cryptanalysis changing our understanding of hash functions Prof. Wang’s analysis of MD5, SHA-0 and SHA-1 & othersMerkle-Damgard Hash Functions: Merkle-Damgard Hash Functions Take a long message, break it into blocks (typ. 512 bits) M1, M2, M3…Mk (pad out last block) Let F be a “compression function” that operates on a block and the current h-bit state and “mixes” the block into the state Last output of compression function is the h-bit message digest. M1 h-bit fixed IV h-bit chaining value h-bit message digest … F F Mk … …Hash Function Properties: Hash Function Properties Preimage resistant Given only a message digest, can’t find any message (or preimage) that generates that digest. Roughly speaking, the hash function must be one-way. Second preimage resistant Given one message, can’t find another message that has the same message digest. An attack that finds a second message with the same message digest is a second pre-image attack. It would be easy to forge new digital signatures from old signatures if the hash function used weren’t second preimage resistant Collision resistant Can’t find any two different messages with the same message digest Collision resistance implies second preimage resistance Collisions, if we could find them, would give signatories a way to repudiate their signaturesHalloween Hash Bash: Halloween Hash Bash Held Oct. 31-Nov 1 2005 at NIST Recommendations: Getting rid of MD5 is highest priority NIST never recommended MD5, but it is widely used OK to continue using SHA-1 a few more years in old apps (really have to) but new apps must use something else (SHA-2) But we don’t want apps to roll their own crypto SHA-2 support doesn’t arrive from Microsoft until Vista Long tail to XP Can’t issue only SHA-2 certificates until clients can do SHA-2Hash Bash on SHA-2: Hash Bash on SHA-2 A family of algorithms, but only SHA-256 is usually discussed Very little analysis yet - rather complex May be theoretical break within a decade Probably won’t be a practical attack within a decade Not very efficient in hardware Can fix problems with more rounds Need to be more conservative with number of rounds generally (think block cipher) NIST recommends for relatively near termHash Bash: General Observations: Hash Bash: General Observations Merkle-Damgard hash as random oracle => trouble ? Algorithm agility is needed Resilience: several hash functions But: algorithm agility “sucks” in hardware So: we should overbuild But: everybody pays all the time for thatHash Bash: The Future: Hash Bash: The Future Still uncertain about exactly what we want Beyond Merkle-Damgard: block “generic attacks” Maybe we need more specialized functions MACs, Digital Signatures, PRFs, KDF? Better design Higher hamming weights Better compression functions Provable security? Number theoretic or equivalent to breaking something? Improve protocols to rely less on hash function propertiesNIST Policy on SHA-1 and SHA-2: NIST Policy on SHA-1 and SHA-2 Federal Users may use SHA-2 family hash functions (SHA-224, SHA-256, SHA-384, & SHA-512) for all hash function applications. For digital signatures, commitment schemes, time-stamping and other apps that require collision resistance, Federal users: Should convert to SHA-2 as soon as practical, but Must stop using SHA-1 for these apps by end of 2010 Federal users are encouraged to use SHA-2 for all new applications; however, they may continue to use SHA-1 after 2010 for: HMAC Key derivation Random number generation Longer Term: Hash Standard Strategy: Longer Term: Hash Standard Strategy For reasonably long term, not a crash program Still discussing requirements/criteria Hash functions not as mature as block cipher design in late 90s Flesh out requirements & criteria Additional workshop(s) First one after Crypto2006, August 24-25, 2006 in Santa Barbara Competition Probably 2 stages, as with AES Selection How many? How do we improve significantly on SHA-2? NSA Suite B: NSA Suite B Previously, NIST’s open crypto algorithms used to protect sensitive unclassified data could not be used to protect classified data. That is no longer the case: NIST and NSA have been working to offer a standardized, public set of algorithms that can be used to protect both unclassified and classified information. The result is Suite B, an NSA selected subset of the NIST toolkit for classified applications up through Top Secret http://www.nsa.gov/ia/industry/crypto_suite_b.cfm?MenuID=10.2.7 Specific NSA approval is still required for the implementations and systems that are used to protect classified information Expect more guidance from NSA on acceptable key management Should be consistent with SP 800-57Suite B: Suite B FIPS 140 Cryptographic Module Validation required for unclassified applications NSA will evaluate products used for classified applications Commercial COMSEC Evaluation Program (CCEP) and User Partnership Agreements (UPA) Not only evaluate a vendor's product, but also provide extensive design guidance on how to make a product suitable for protecting classified information Use of Suite B algorithms is only one step in a larger process CNSSP #15: CNSSP #15 Committee on National Security Systems Policy No. 15 128-bit AES can be used for up to SECRET 192 & 256 bit AES can be used for up to TOP SECRET Only AES-256 is used in Suite B http://www.cnss.gov/Assets/pdf/cnssp_15_fs.pdfSuite B – the algorithms: Suite B – the algorithms Encryption Algorithm AES (FIPS 197) AES-128 up to SECRET AES-256 up to TOP SECRET Digital Signature (FIPS 186-3) ECDSA with 256-bit prime modulus up to SECRET ECDSA with 384-bit prime modulus up to TOP SECRET Key Agreement (NIST SP 800-56A) EC Diffie-Hellman or EC MQV with 256-bit prime mod. up to SECRET EC Diffie-Hellman or EC MQV with 384-bit prime modulus up to TOP SECRET Hash Functions (FIPS 180-2) SHA-256 up to SECRET SHA-384 up to TOP SECRET Encryption Algorithms: Encryption AlgorithmsHash Algorithms (for dig. signatures): Hash Algorithms (for dig. signatures)Digital Signature: Digital Signature * Prime Modulus curves onlyKey Establishment: Key Establishment * Prime Modulus curves onlyWhy AES 256 with ECC 384 in Suite B?: Why AES 256 with ECC 384 in Suite B? Theoretically AES 256 is equivalent to ECC 512 AES 192 is equivalent to ECC 384 By CNSSP # 15 192 bit AES is enough for Top Secret AES 192 not included in Suite B AES 256 with ECC 384 seems a mismatch But there is very little performance penalty for AES 256 About a 20% difference A lot of people are choosing to use AES 256 There is a significant performance cost going to ECC 512 and ECC 384 is strong enough for Top Secret Make life simple: use ECC 384, which is fast and strong enough, with AES 256 which is strong and fast enough.Suite B: Bottom Line: Suite B: Bottom Line Some folks need to do both classified and unclassified applications National security apps. need to use ordinary commercial software No fundamental difference between algorithms for SBU & classified NIST & NSA cooperation: cryptography for both SBU and classified NSA approval of implementations required for classified Expect NSA-managed keying material for classified apps. Unclassified users must have CMVP validated crypto modules More choices of algorithms including the ones in Suite B Users typically generate their own keys Nobody looses; some of us gain NIST Links: NIST Links NIST Computer Security Resources Center http://csrc.nist.gov/ NIST Crypto toolkit http://csrc.nist.gov/CryptoToolkit/ FIPS 201/PIV page http://csrc.nist.gov/piv-project/index.html FIPS page http://csrc.nist.gov/publications/fips/index.html NIST Security Special Publications http://csrc.nist.gov/publications/fips/index.html Slide33: Questions ?NIST Information Security Responsibilities: NIST Information Security Responsibilities NIST has been charged under a series of Laws with the responsibility for issuing guidance and standards for security Federal Information Security Management Act of 2002 (FISMA) Federal Information Processing Standards (FIPS) & NIST guidance apply only to the protection of unclassified, sensitive information by Federal agencies But they are widely adopted by others NIST Cryptographic Standards “Toolkit”: NIST Cryptographic Standards “Toolkit” The Data Encryption Standard, FIPS 46, approved in 1978 began the modern era of open cryptographic standards US Federal government users must use NIST standards and guidance to protect unclassified, sensitive data Nobody else is required (by US law) to use them FIPS 140 Cryptographic Module Validation Program (CMVP) Crypto FIPS & recommendations are often adopted by others SHA-1, AES, DSS & DES became widely used ANSI & ISO standards No US Federal regulation of cryptography by the private sector Limited commercial crypto export controls & no crypto import controls Some laws/regulations may effectively require business crypto use NIST Crypto Toolkit Philosophy: NIST Crypto Toolkit Philosophy Best of breed standardized algorithms Intended to be secure against analytic attacks Small but comprehensive set of algorithms and methods Promote interoperability It’s hard & expensive to analyze crypto and be sure it’s secure Industry doesn’t want to have to support too many algorithms Transparent Process – AES selection is a model Published standards, nothing is secret Do our best to explain our choices Invite the whole world to review and comment; work with international cryptographic community Do not rule out patented methods but must be freely licensed Patented crypto is very unpopularSymmetric Key Block Cipher: Symmetric Key Block Cipher Encrypt & Decrypt with the same key Fast workhorse Used for most message and file encryption Used in a variety of “modes of operation” different security and other propertiesModes of Operation Recommendations: Modes of Operation Recommendations SP 800-38 A – Modes of operation for encryption - update of FIPS 81 ECB – Electronic Code Book CBC – Cipher Block Chaining CFB – Cipher Feedback OFB – Output Feedback Counter (not in FIPS 81) SP 800-38 B: CMAC Mode for Authentication SP 800-38 C: Counter with CBC MAC mode (CCM) Used by 802.11i for wireless LANs SP 800-38 D: Galois Counter Mode (GCM) – Working Draft DP 800-38 E: AES Key Wrap – waiting for active runway CBC Mode: CBC ModeCounter Mode(a stream cipher mode): Counter Mode (a stream cipher mode)CCM Mode Overview: CCM Mode Overview Designed for IEEE 802.11 wireless LANs Use CBC-MAC to compute a MIC (Message Integrity Code) on the plaintext header, length of the header, and the payload Use CTR mode to encrypt the payload Counter values 1, 2, 3, … Use CTR mode to encrypt the MIC anywhere else we’d call it a MAC rather than a MIC Counter value 0 Header Payload MIC Authenticated Encrypted Finding Hash Collisions: Finding Hash Collisions Find two messages with the same digest Birthday “paradox” Given a population of x equally probable values, we need roughly random samples to expect to find a single collision Therefore any attack on a hash with an n-bit message digest that finds a collision in much under 2n/2 operations is said to “break” the collision resistance property of the hash function Collision Resistance: a strong property A hash function that is collision resistant must necessarily be second preimage resistantFinding Preimages: Finding Preimages Work backward from message digest to find a message that will produce it Expect to have to hash about 2n messages to find an unknown pre-image for any particular selected message digest Any attack that finds a preimage in significantly under 2n operations is a break of the one-way property or preimage resistance of a hash function If we can find second preimages, we can forge a new digital signature from an old signatureSHA-1 Collisions: SHA-1 Collisions Current best estimate ~ 262 to 263 operations to find a collision Attack due to Prof. Xiaoyun Wang Should be 280 262 is still a fair amount of work How much farther will it go? Would be nice to verify this result May be dangerous to do so How important are collisions? Two extreme views: Relatively minor, only matter for rare instances where we have to prove to a 3rd party (e.g. certain PKI apps), or; Canary in the mineshaft, crack in the dyke – a warning of much bigger dangers possibly close at hand You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.