Evaluation of Digital Signature Process



Similar documents
Digital Signatures. Meka N.L.Sneha. Indiana State University. October 2015

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

CRYPTOGRAPHY IN NETWORK SECURITY

RSA Attacks. By Abdulaziz Alrasheed and Fatima

Cryptographic Algorithms and Key Size Issues. Çetin Kaya Koç Oregon State University, Professor

Table of Contents. Bibliografische Informationen digitalisiert durch

CSCE 465 Computer & Network Security

Digital Signature. Raj Jain. Washington University in St. Louis

Overview of Public-Key Cryptography

2. Cryptography 2.4 Digital Signatures

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

ARCHIVED PUBLICATION

Authentication requirement Authentication function MAC Hash function Security of

Digital Signature Standard (DSS)

Randomized Hashing for Digital Signatures

Signature Schemes. CSG 252 Fall Riccardo Pucella

Lecture 6 - Cryptography

Forward Secrecy: How to Secure SSL from Attacks by Government Agencies

The Mathematics of the RSA Public-Key Cryptosystem

Software Tool for Implementing RSA Algorithm

Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem

Cryptography and Network Security Chapter 9

Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket

Public Key (asymmetric) Cryptography

Hash Function JH and the NIST SHA3 Hash Competition

EXAM questions for the course TTM Information Security May Part 1

SECURITY IN NETWORKS

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Network Security. Security Attacks. Normal flow: Interruption: 孫 宏 民 Phone: 國 立 清 華 大 學 資 訊 工 程 系 資 訊 安 全 實 驗 室

Capture Resilient ElGamal Signature Protocols

Computer Science A Cryptography and Data Security. Claude Crépeau

Public Key Cryptography Overview

Computer Security: Principles and Practice

Crittografia e sicurezza delle reti. Digital signatures- DSA

Cryptography Lecture 8. Digital signatures, hash functions

Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths

IT Networks & Security CERT Luncheon Series: Cryptography

Implementation and Comparison of Various Digital Signature Algorithms. -Nazia Sarang Boise State University

Lecture 9: Application of Cryptography

FIPS Non- Proprietary Security Policy. McAfee SIEM Cryptographic Module, Version 1.0

A New Generic Digital Signature Algorithm

Index Calculation Attacks on RSA Signature and Encryption

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

Cryptography and Network Security

Introduction to Cryptography CS 355

Side Channel Analysis and Embedded Systems Impact and Countermeasures

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Secure File Transfer Using USB

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Message authentication and. digital signatures

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

An Introduction to Cryptography as Applied to the Smart Grid

A Security Flaw in the X.509 Standard Santosh Chokhani CygnaCom Solutions, Inc. Abstract

I N F O R M A T I O N S E C U R I T Y

Authentication, digital signatures, PRNG

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

Public Key Cryptography. c Eli Biham - March 30, Public Key Cryptography

Textbooks: Matt Bishop, Introduction to Computer Security, Addison-Wesley, November 5, 2004, ISBN

Network Security. Chapter 2 Basics 2.2 Public Key Cryptography. Public Key Cryptography. Public Key Cryptography

Security Policy for Oracle Advanced Security Option Cryptographic Module

Timing Attacks on software implementation of RSA

Implementation of Elliptic Curve Digital Signature Algorithm

How To Encrypt Data With Encryption

How encryption works to provide confidentiality. How hashing works to provide integrity. How digital signatures work to provide authenticity and

Cryptography and Network Security Chapter 11

Cryptographic Hash Functions Message Authentication Digital Signatures

Digital Signatures. (Note that authentication of sender is also achieved by MACs.) Scan your handwritten signature and append it to the document?

Public Key Cryptography. Performance Comparison and Benchmarking

One-Way Encryption and Message Authentication

CS 758: Cryptography / Network Security

White Paper. Enhancing Website Security with Algorithm Agility

I N F O R M A T I O N S E C U R I T Y

Elliptic Curve Hash (and Sign)

Applied Cryptography Public Key Algorithms

Analysis of Software Realized DSA Algorithm for Digital Signature

A common weakness in RSA signatures: extracting public keys from communications and embedded devices

Network Security Technology Network Management

VoteID 2011 Internet Voting System with Cast as Intended Verification

Digital Signature For Text File

CSE/EE 461 Lecture 23

Elements of Applied Cryptography Public key encryption

AN IMPLEMENTATION OF HYBRID ENCRYPTION-DECRYPTION (RSA WITH AES AND SHA256) FOR USE IN DATA EXCHANGE BETWEEN CLIENT APPLICATIONS AND WEB SERVICES

CrypTool Claudia Eckert / Thorsten Clausius Bernd Esslinger / Jörg Schneider / Henrik Koy

Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs

OFFICE OF THE CONTROLLER OF CERTIFICATION AUTHORITIES TECHNICAL REQUIREMENTS FOR AUDIT OF CERTIFICATION AUTHORITIES

National Security Agency Perspective on Key Management

CRC Press has granted the following specific permissions for the electronic version of this book:

Computer Networks. Network Security 1. Professor Richard Harris School of Engineering and Advanced Technology

QUANTUM COMPUTERS AND CRYPTOGRAPHY. Mark Zhandry Stanford University

Software Implementation of Gong-Harn Public-key Cryptosystem and Analysis

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

DIGITAL SIGNATURES 1/1

Secure Network Communications FIPS Non Proprietary Security Policy

SHA3 WHERE WE VE BEEN WHERE WE RE GOING

Safeguarding Data Using Encryption. Matthew Scholl & Andrew Regenscheid Computer Security Division, ITL, NIST

NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES

Principles of Public Key Cryptography. Applications of Public Key Cryptography. Security in Public Key Algorithms

Transcription:

Evaluation of Digital Signature Process Emil SIMION, Ph. D. email: esimion@fmi.unibuc.ro

Agenda Evaluation of digital signatures schemes: evaluation criteria; security evaluation; security of hash functions; security of RSA, DSA and ECDSA schemes; case study transition from FIPS 186-2 to FIPS 186-3. Vulnerabilities in digital signatures schemes: main attacks on RSA; case study: RSA and CRT; case study: padding in PCKS-1, X9.31; ISO/IEC 9796. Others features of digital signatures schemes: Cryptographic protocols; Subliminal channels in ElGamal and DSA signatures.

Evaluation of digital signatures scheme There are three area to evaluate: Evaluation of the algorithm; Evaluation of the implementation; Evaluation of the device (e.g. token) and the scheme; Evaluation of the system (risk analysis). Methodology: Academic evaluation (e.g. during international conferences or R&D programs); Standardization (e.g. by NIST, ISO, NSA).

General scheme of RSA digital signature process

Security evaluation Security evaluation is done on: Hash function, which provides a digest to be encrypted using private key; Public key algorithm (RSA, DSA, ECDSA etc.); Public key generation process; Public Key Infrastructure (PKI).

Security of hash functions Hash functions H must be one-way: given the value x, it is easy to compute H(x); given H(x), it is computationally difficult to compute the input x. Examples: SHA family standardized in FIPS 180-2, Secure Hash Standard (SHS) lacks in security: In 2005 Prof. Xiaoyun Wang announced a differential attack on the SHA-1 hash function; with her recent improvements, this attack is expected to find a hash collision (two messages with the same hash value) with an estimated work of 2 63 operations, rather than the ideal 2 80 operations that should be required for SHA-1 for any good 160-bit hash function. New functions: NIST has selected five SHA-3 finalists- BLAKE, Grøstl, JH, Keccak, and Skein to advance to the third (and final) round of the SHA-3competition. A one-year public comment period is planned for these candidates. NIST also plans to host a final SHA-3 Candidate Conference in the spring of 2012 to discuss the public feedback on these candidates, and select the SHA-3 winner later in 2012.

Security of RSA, DSA and ECDSA RSA security is based on the difficulty of factorizations of large numbers: given n (big number) find the prime factors; DSA security is based on the difficulty of solving discrete log problem in prime fields: given g, x and p (prime) find y such x=g x mod p. ECDSA security is based on the difficulty of solving discrete log problem in EC group (over primes or over GF).

Transition from FIPS 186-2 to FIPS 186-3 FIPS 180-3 Secure Hash Standard (SHS) (Oct. 2008): This Standard specifies five secure hash algorithms - SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 - for computing a condensed representation of electronic data (message). FIPS 186-3 Digital Signature Standard (DSS) (June 2009): The FIPS specifies three techniques for the generation and verification of digital signatures that can be used for the protection of the datat: the Digital Signature Algorithm (DSA), the Elliptic Curve Digital Signature Algorithm (ECDSA), and Rivest Shamir Adelman (RSA) algorithm Although all three of these algorithms were approved in FIPS 186 2, FIPS 186 3 increases the key sizes allowed for DSA, provides additional requirements for the use of RSA and ECDSA, and includes requirements for obtaining the assurances necessary for valid digital signatures.

Vulnerabilities in digital signatures schemes

Main attacks on RSA Chosen ciphertext attack: Some attacks work against the implementation of RSA. These are not attacks against the basic algorithm, but against the protocol. It s important to realize that it s not enough to use RSA. This attack and can be avoided if we use a one-way hash function before signing a document. Common Modulus Attack on RSA A possible RSA implementation gives everyone the same n, but different values for the exponents e and d. Unfortunately, this doesn t work. The most obvious problem is that if the same message is never encrypted with two different exponents (both having the same modulus), and those two exponents are relative prime (which they generally would be), then the plain text can be recovered without either of the decryption exponents. This attack is feasible if we use a common n among a group of users.

Main attacks on RSA cont 1. Low encryption exponent attack against RSA RSA encryption and signature verification are faster if we use a low value for e, but that can also be insecure. If you encrypt e(e+1)/2 linearly dependent messages with different public keys having the same value of e, there is an attack against the system. If there are fewer than that many messages, or if the messages are unrelated, there is no problem. If the messages are identical, then e messages are enough. The easiest solution is to pad messages with independent random values. Most real-world RSA implementations PEM and PGP for example do this. To avoid this kind of attack the messages must be padded with random values before encrypting them; make sure that m is about the same size as n. Low decryption exponent attack against RSA Another attack, this one by Michael Wiener, will recover d, when d is up to one quarter the size of n and e is less than n. This rarely occurs if e and d are chosen at random, and cannot occur if e has small value. This attack can be avoided if we chose a large value for d.

Main attacks on RSA cont 2. Attack on encryption and signing with RSA It makes sense to sign a message before encryption it, but not everyone follows this practice. With RSA, there is an attack against protocols that encrypt before signing. Attack in case of small difference between prime numbers p and q In the situation that the prime numbers p and q are close one to each other the following remark allows us to develop an efficient searching algorithm for p and q: 2 p + q p n = q 2 2 2.

Side channel (hardware) attack in RSA Hardware attacks exploits some hardware parameters such running time, simple power analysis (SPA), differential power analysis (DFA) and fault analysis (FA). Examples of hardware attacks are: Timings attacks: depending the running time we can predict which of the bits from the key are zero and which of the bits of the key are one; SPA attack: depending the consume power of the cryptographic engine and using adequate math we can derive the key bits. This attack is suitable for crypto devices with external power supply such as smart cards, using the consumed power we can recover the code source from the inside of the smart card; DPA attack: in the most cases of microprocessors the consumed power depends on the value of the operand (for example erasing a bit requires a less power then setting a bit), measuring different inputs we can deduce the value of the operand; Fault analysis: we can induce same faults in the processor computations and using some math we can derive the key bits.

Case study: RSA and CRT Timing attacks: Expose private information, such as RSA keys, by measuring the amount of time required to perform private key operations (decryptions). Side-channel attacks: Power analysis Electromagnetic radiation analysis Timing attacks Fault injections

RSA quick review Multiple prime RSA key generating algorithm 1. Select k primes: p 1, p 2,, p k 2. Let n= p i, i=1,2,,k 3. Let φ(n)= (p i -1) 4. Choose e, s.t. gcd(e,φ(n))=1 5. Calculate d=e -1 (mod φ(n)) 6. Public Key = (e,n) and Private key = (d,n) Encryption: c=m e mod n Decryption: m=c d mod n

Chinese Remainder Theorem n = n 1 n 2 n k with gcd (n i ; n j ) = 1 when i j. The system of congruencies x=x 1 (mod n 1 )= =x k (mod n k ) has a simultaneous solution x to all of the congruencies, and there exists exactly one solution x between 0 and n-1.

Speedup RSA with CRT Any message M<N is uniquely represented by the tuple [M p ;M q ], where M p = M mod p and M q = M mod q. C p = C mod p and C q = C mod q. D p = d mod (p-1) and D q = d mod (q-1) R p = q p-1 mod N and R q = p q-1 mod N M p = C d p p mod p and M q = C d q q mod q S p = M p R p mod N and S q = M q R q mod N M = S p + S q. If M>=N then calc M=M-N.

Operations needed for Decryption Computing c d (mod p) and xy(mod p) requires: Multiplication routines Normal (unequal len) Karatsuba (equal len): faster Exponentiation Sliding windows Modular reduction Montgomery The key relevant fact is the extra reduction

What causes time variance? Montgomery reduction Given g calc g mod q Probability for and extra reduction is: P[extra step] (g mod q)/2q Choice of multiplication routine To calc xg mod q, if x is the same length as (g mod q), use Karatsuba. O(n log 2 3 ) Otherwise, use Normal. O(nm)

Summary of time variance g<q g>q Montgomery effect Multiplication effect Longer Shorter Shorter Longer g is the decryption value. Each is dominant at a different phase.

Case study: padding in PCKS-1, X9.31 An attack has been found on some implementations of RSA digital signatures using the padding scheme of PCKS-1 when the public key e = 3. Details of the attack on PKCS-1 implementations are provided below. A similar attack could also be applied to implementations of digital signatures as specified in American National Standard (ANS) X9.31. Note that this attack is not on the RSA algorithm itself, but on improper implementations of the signature verification process. The testing used by the Cryptographic Algorithm Validation Program (CAVP) has been modified to test for this improper implementation on new RSA signature applications that undergo CMVP testing. However, many implementations that have already been certified as implementing RSA signatures using PKCS-1 might have been implemented with this problem. NIST has designed a sequence of messages that can be used by a vendor to test the vulnerability of an implementation to this type of attack. Details: http://csrc.nist.gov/groups/st/toolkit/documents/dss/rsastatement_10-12- 06.pdf

Case study: ISO/IEC 9796 ISO/IEC 9796-2: 2002 specifies three digital signature schemes giving message recovery, two of which are deterministic (non-randomized) and one of which is randomized. The security of all three schemes is based on the difficulty of factorizing large numbers. All three schemes can provide either total or partial message recovery. In 1999, Coron, Naccache and Stern discovered an existential signature forgery for two popular RSA signature standards, ISO/IEC 9796-1 and 2. Following this attack ISO/IEC 9796-1 was withdrawn. ISO/IEC 9796-2 was amended by increasing the message digest to at least 160 bits. Attacking this amended version required at least 2 61 operations. Naccache (http://eprint.iacr.org/2009/203.pdf), exhibit algorithmic refinements allowing to attack the amended (currently valid) version of ISO/IEC 9796-2 for all modulus sizes. A practical forgery was computed in only two days using 19 servers on the Amazon EC2 grid for a total cost of aprox. $800. The forgery was implemented for e = 2 but attacking odd exponents will not take longer. The forgery was computed for the RSA-2048 challenge modulus, whose factorization is still unknown.

DEMO: RSA attacks Simulations are made with CRYPTOOL: Ulrich Kuehn's side-channel attack; Attack on small private exponents.

Others features of digital signatures Cryptographic protocols: Authentication protocols; Key agreement protocols. Subliminal channels: Subliminal channels in digital signature crypto systems were found in 1984 by Gustavus Simmons. They are a subgroup of Covert channels and can be used to communicate secretly in a normal looking communication over an insecure channel with help of digital signatures. Simmons describes how the dilemma can be solved through parameter substitution in digital signature algorithms. In signature algorithms like ElGamal and DSA exist parameters which have to be set with random. He shows how one can make usage of these parameter to send a message subliminally. Because the algorithm's signature creation procedure is unchanged, the signature remains verifiable and indistinguishable from a normal signature. Therefore it is hard to detect if the subliminal channel is used.

Thank you for your attention!