An ECDSA Processor for RFID Authentication Michael Hutter, Martin - - PowerPoint PPT Presentation

an ecdsa processor for rfid authentication
SMART_READER_LITE
LIVE PREVIEW

An ECDSA Processor for RFID Authentication Michael Hutter, Martin - - PowerPoint PPT Presentation

VLSI Institute for Applied Information Processing and Communications (IAIK) VLSI & Security An ECDSA Processor for RFID Authentication Michael Hutter, Martin Feldhofer, and Thomas Plos Workshop on RFID Security 2010 07. - 09.06.2010,


slide-1
SLIDE 1

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 1

TU Graz/Computer Science/IAIK/VLSI

Institute for Applied Information Processing and Communications (IAIK)

Graz University of Technology

VLSI

Michael Hutter

An ECDSA Processor for RFID Authentication

Michael Hutter, Martin Feldhofer, and Thomas Plos

Workshop on RFID Security 2010

  • 07. - 09.06.2010, Istanbul, Turkey
slide-2
SLIDE 2

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 2

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Outline

  • Motivation
  • Implementation Requirements
  • The ECDSA Processor
  • The System Architecture
  • Memory Unit and Datapath
  • Microcontroller
  • Instruction Set Extensions for ECDSA
  • Synthesis Results
  • Conclusion
slide-3
SLIDE 3

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 3

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Motivation

  • RFID is one key enabler for the “Internet of

Things”

  • Intelligent “smart things/tags” extend the Internet
  • Tags are already integrated into many products
  • There are still open issues in realizing a “secure

Internet of things”

slide-4
SLIDE 4

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 4

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Requirements

  • Digital-signature service
  • To provide a transferable proof of origin
  • Message authentication, non-repudiation, data integrity
  • Asymmetric cryptography
  • Large scale deployment
  • Integration in open-loop systems (Internet)
  • Standardized algorithms
  • ECDSA has been tested/proved over many years
  • Existing PKI (X.509 certificates using ECDSA)
  • Strong authentication
  • Challenge-response protocol (e.g. ISO/IEC 9798-3)
  • Low-resource HW design
slide-5
SLIDE 5

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 5

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

What we did?

  • Design of an ECDSA processor for RFID
  • Based on NIST recommended elliptic curve GF(p192)
slide-6
SLIDE 6

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 6

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Tag Authentication using ECDSA

slide-7
SLIDE 7

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 7

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Memory Unit

  • 16-bit dual ported interface
  • Concurrently read/write from/to two ports
  • RAM macro (128x16 bit)
  • ROM
  • ECC constants (e.g. base point P)
  • EEPROM
  • Stores the private key
  • Stores the certificate

EEPROM EEPROM RAM ROM RAM

IN_A OUT_B OUT_A addr Port B addr Port A IN_B

slide-8
SLIDE 8

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 8

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

16-bit Datapath

  • 16x16-bit multiply

accumulate (MAC) unit

  • 1 cycle 16-bit operations
  • Two 40-bit adders
  • One 40-bit accumulator
  • Feedback of ACCU signal
  • Logic operations for SHA1
  • XOR, AND, OR
  • Writing into memory using

two 16-bit values concurrently

ACC adder1 adder2 16x16 multiplier bitop logic mul mux

1 FFFF

acc

16 40

Port A

40 16 20 40 16 1 16 20 32 40 16 16 16

Port B Port A Port B

slide-9
SLIDE 9

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 9

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

8-bit Microcontroller

  • 32 instructions supported
  • Arithmetic operations (ADD, SUB,…)
  • Logical operations (OR, AND,…)
  • Control operations (GOTO, CALL,…)
  • Register file and program ROM
  • Instruction decoder, ALU,

Counter,…

  • Two-stage pipeline (fetch and

execute)

  • Call-stack support (3 recursive

subroutines possible)

  • Self-written Java compiler

Program counter Instruction decode unit ACC STATUS PCH Register file 16 x 8-bit Data memory

  • Prog. ROM

600 x 16-bit ECDSA SHA-1 ALU

16 8 8 8 8 4 12 2 8

I/O

…...

Mux

16 ALU out Instruction Address reg_out2 reg_out1 ROM Status ROM reg_in

slide-10
SLIDE 10

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 10

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Instruction Set Extensions

  • 55 ISEs for ECDSA and SHA1
  • Can be executed by the microcontroller by a MICRO instruction
  • Implemented in 8 ROM tables
  • Area reduction through different table sizes
  • Modular arithmetic
  • Addition: 32 cycles
  • Subtraction: 38 cycles
  • Multiplication: 204 cycles
  • NIST reduction applied (p192≡2192–264–1)
  • Montgomery arithmetic
  • Inversion: 20823 cycles
  • Multiplication: 785 cycles
  • SHA1: 3455 cycles
slide-11
SLIDE 11

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 11

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Improving ECC Point Multiplication

  • Montgomery Ladder
  • Use of x-coordinate only formulas (Brier and Joye)
  • Combined double-and-add (Izu, Möller, and Takagi)
  • Common-Z coordinate representation (Meloni, Lee)
  • Total: 12M + 4S + 9add + 7sub
  • 7x192-bit RAM used
slide-12
SLIDE 12

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 12

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Implementation Attack Countermeasures

  • SPA
  • Montgomery Ladder
  • DPA
  • Randomized Projective Coordinates (S. Coron)
  • First-order blinding of the private-key multiplication

instead of

  • Fault Injections
  • Check of curve equation after point multiplication

(Ebeid and Lambert)

  • Y recovery necessary
slide-13
SLIDE 13

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 13

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Synthesis Results

7,04% 15,63% 23,78% 43,17% 3,74% 3,52% 3,08%

RAM

Clock Datapath ISE

R O M MCU

  • Prog. ROM

Chip Area Power Consumption

  • Cadence RTL Compiler (0.35 µm CMOS)
  • Synopsys NanoSim for power simulation
  • 387 µA mean current at 3.3 volt and 847 kHz
slide-14
SLIDE 14

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 14

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Comparison with Related Work

slide-15
SLIDE 15

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 15

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Conclusions

  • Improved the state-of-the-art in designing a low-

resource ECC hardware processor

  • First ECDSA hardware implementation results
  • Fully capable digital signature generating

device

  • Allows proof of origin to prevent product counterfeiting
  • Sample implementation
  • Processor will be integrated in an NFC-compliant HF tag
  • Fabricated in summer 2010
slide-16
SLIDE 16

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 16

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

http://www.iaik.tugraz.at/content/research/implementation_attacks/

Michael Hutter

IAIK – Graz University of Technology michael.hutter@iaik.tugraz.at www.iaik.tugraz.at

Thanks for your attention!

slide-17
SLIDE 17

Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security 17

TU Graz/Computer Science/IAIK/VLSI

VLSI

Michael Hutter

Montgomery Ladder