A Standards-based Approach to IP Protection for HDLs



Similar documents
A Mechanism for VHDL Source Protection

Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)

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

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

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

Cryptography & Digital Signatures

How To Encrypt Data With Encryption

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

Lecture 9: Application of Cryptography

Using etoken for SSL Web Authentication. SSL V3.0 Overview

Savitribai Phule Pune University

INTRODUCTION TO CRYPTOGRAPHY

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

CSE/EE 461 Lecture 23

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

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

7! Cryptographic Techniques! A Brief Introduction

Encryption, Data Integrity, Digital Certificates, and SSL. Developed by. Jerry Scott. SSL Primer-1-1

Message Authentication Codes

Chapter 7: Network security

CRYPTOGRAPHY IN NETWORK SECURITY

Network Security. HIT Shimrit Tzur-David

Chapter 10. Cloud Security Mechanisms

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

The Misuse of RC4 in Microsoft Word and Excel

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

1.2 Using the GPG Gen key Command

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

CSCE 465 Computer & Network Security

Chapter 8 Security. IC322 Fall Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Usable Crypto: Introducing minilock. Nadim Kobeissi HOPE X, NYC, 2014

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

Secure Network Communications FIPS Non Proprietary Security Policy

Guide to Data Field Encryption

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Data Encryption WHITE PAPER ON. Prepared by Mohammed Samiuddin.

Overview. SSL Cryptography Overview CHAPTER 1

Authentication Types. Password-based Authentication. Off-Line Password Guessing

What is network security?

Hash Functions. Integrity checks

Lecture Objectives. Lecture 8 Mobile Networks: Security in Wireless LANs and Mobile Networks. Agenda. References

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Ky Vu DeVry University, Atlanta Georgia College of Arts & Science

IT Networks & Security CERT Luncheon Series: Cryptography

NETWORK SECURITY. Farooq Ashraf. Department of Computer Engineering King Fahd University of Petroleum and Minerals Dhahran 31261, Saudi Arabia

SECURITY IN NETWORKS

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

Designing a Secure Client-Server System Master of Science Thesis in the Programme Software Engineering & Technology

Public Key Infrastructure (PKI)

How To Use Pretty Good Privacy (Pgp) For A Secure Communication

Cryptography: Motivation. Data Structures and Algorithms Cryptography. Secret Writing Methods. Many areas have sensitive information, e.g.

ELECTRONIC COMMERCE OBJECTIVE QUESTIONS

Report to WIPO SCIT Plenary Trilateral Secure Virtual Private Network Primer. February 3, 1999

Is your data safe out there? -A white Paper on Online Security

DataTrust Backup Software. Whitepaper Data Security. Version 6.8

Computer Networks. Network Security and Ethics. Week 14. College of Information Science and Engineering Ritsumeikan University

NXP & Security Innovation Encryption for ARM MCUs

Chapter 6 Electronic Mail Security

Overview Keys. Overview

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

Client Server Registration Protocol

Transparent Data Encryption: New Technologies and Best Practices for Database Encryption

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

DRAFT Standard Statement Encryption

CSCE 465 Computer & Network Security

Part I. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

High Security Online Backup. A Cyphertite White Paper February, Cloud-Based Backup Storage Threat Models

7 Key Management and PKIs

Efficient Framework for Deploying Information in Cloud Virtual Datacenters with Cryptography Algorithms

OOo Digital Signatures. Malte Timmermann Technical Architect Sun Microsystems GmbH

USB Portable Storage Device: Security Problem Definition Summary

Principles of Network Security

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

Electronic Mail Security. Security. is one of the most widely used and regarded network services currently message contents are not secure

Internet Programming. Security

GlobalSign Enterprise Solutions

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

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

Certificate Management. PAN-OS Administrator s Guide. Version 7.0

Key Hopping A Security Enhancement Scheme for IEEE WEP Standards

Public Key Cryptography Overview

Network Security. Network Security. Security in Computer Networks

Center for Internet Security. INTEGRATED INTELLIGENCE CENTER Technical White Paper William F. Pelgrin, CIS President and CEO

OpenADR 2.0 Security. Jim Zuber, CTO QualityLogic, Inc.

WiMAX Public Key Infrastructure (PKI) Users Overview

Message authentication and. digital signatures

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

CSCI-E46: Applied Network Security. Class 1: Introduction Cryptography Primer 1/26/16 CSCI-E46: APPLIED NETWORK SECURITY, SPRING

CRYPTOGRAPHY AS A SERVICE

Cryptography and Network Security Chapter 15

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

An Introduction to Cryptography as Applied to the Smart Grid

SkyRecon Cryptographic Module (SCM)

First Semester Examinations 2011/12 INTERNET PRINCIPLES

Release: 1. ICANWK502A Implement secure encryption technologies

PGP from: Cryptography and Network Security

Transport Level Security

Introduction to Cryptography

Transcription:

A Standards-based Approach to IP Protection for HDLs John Shields Staff Engineer, Modelsim

Overview Introduction A Brief Status First Look at The Flow Encryption Technology Concepts Key Management Second Look at the Flow Examples of the Protect Directives A Few Missing Details Recommendations for EDA Tool and IP Providers 2

IP Protection Goals Deliver HDL-based IP to potential customers you do not completely trust Fast turnaround from design to delivery Low cost to protect Make money while protecting your investment 3

Some Approaches to IP Protection Brick and Mortar Isolation - the Design Center Trusting the Customer - Contractual Protection Equivalent Models - an abstraction They all involve compromise in cost, quality, lead time, or effectiveness! Encryption a lossless transformation rendering IP unreadable Caution: poor implementation could give false hope 4

Verilog And VHDL Have Developed A Standard For IP Protection Based on well-known standardized methods for strong encryption, encoding, and authentication Markup of unprotected HDL source at the token level Flexibility to meet issues outside the standards, e.g., international legal considerations IEEE Verilog 1364-2005 Accellera VHDL 2006 - pending approval 7/2006 Minor differences reflect normal syntax considerations and learning curve 5

Steady-State Flow At IP Vendor HDL HDL Markup with protect directives protect me Encrypt Deliver Repeat if business/legal need 6

The Steady-State Flow At IP Vendor Develop your HDL model Markup sections of the model with encryption directives optionally sanitize source, obsfucate it, etc. Encrypt the model once with any standards-compliant encryption tool Deliver the IP to your customers directly, in a design kit, via a 3rd party, Repeat last 3 steps if legal/business considerations dictate different encryption methodology 7

The Customer Experience Design Compliant Design Tool Runtime Data Customer works in his shop IP is only decrypted within the tool and just for its intended purpose The tool is obligated not to reveal information that would compromise protected IP The encrypted IP is otherwise virtually impossible to crack (OK, we don t know what the NSA can do :) 8

Symmetric Cipher A secret key is used to convert plaintext to ciphertext The ciphertext can be sent over an insecure channel without concern of compromise The same secret key must used to decrypt ciphertext back into plaintext The secret key is delivered in some out of band communication Secure bi-directional exchange of messages Symmetric ciphers may be implemented in hardware or software and are generally quite fast 9

Asymmetric Cipher A pair of keys - one to encrypt, the other to decrypt One key is designated the public key, the other the private key Solves key delivery over an insecure channel Secure way of delivering messages in one direction Very versatile mechanism applied many different ways Much slower decryption performance commonly 1000x slower! 10

Asymmetric Cipher To send information only you can read, I'll need your public key Guarantee is anything I send to you can only be read by you ( if that's really your public key) Anyone else can send you private communication using your public key, too You may need to authenticate that this came from me Eavesdropping doesn t hurt much, but man in the middle could 11

Digital Envelopes A hybrid approach employing enhanced key security of asymmetric ciphers with the performance of symmetric ciphers The data (your IP) is encrypted with a session key using a symmetric cipher One use key, generated in a cryptographically random way The session key is placed in a secure digital envelope i.e., encrypted with the public key of an asymmetric cipher The ciphertext and the secure envelope are delivered to the user The EDA tool decrypts the envelope, gets the session key, and then decrypts the data You can send many envelopes holding the same session key at the same time with your data 12

A signature identifies you Digital Signatures Legal significance, weakly resistant to forgery In a digital signature, I take a little bit of information about me and/or my message To sign, I encrypt it with my private key (asymmetric cipher is not about which key is revealed) With my public key, anyone can authoritatively determine that I signed it Two important applications to discuss Managing keys Authenticating delivered IP 13

Public Key Certificates Build Trust A public key and information about its owner that a trusted party digitally signs is called a public key certificate The trusted party, the certification authority (CA), guarantees that this is really that owner s public key The certificate is like a passport and the CA is like your government state department (or notary public) The CA can be an external service provider, an industry or government agency ITU X.509 public key infrastructure standard The signer is trusted by you and supports you in trusting someone else Trust may be built organically using the web of trust model (open pgp, key signing parties, key servers..) 14

Using Signatures for Authentication Compute a fixed length binary string from an arbitrarily long message, its message digest Cryptographic hash function insures that no 2 messages will have the same digest Decrypt a message, compute its digest, decrypt the signed digest, and compare This process validates the authenticity of the message Using message digests is an option in the standard 15

Sanity Check Strong encryption is possible with both symmetric and asymmetric ciphers Brute force attacks are computationally infeasible Information is secure unless you have the keys Key attacks could eavesdrop on key transmission, intercept the key and deliver a fake key, or steal the keys Seems it s all about managing the keys Which I claim is about establishing a web of trust and using good quality tools 16

The Key Management Problem The HDL standards do not say how users and tools manage keys You, as the IP provider, may have numerous keys 1 per tool vendor, tool, tool rev, user 1 per model, per model revision, etc. You manage these keys inhouse and delivers some of them Tool Vendor has the same problems and one more potentially many keys from many IP providers tools must be delivered to customers with secured set of keys available What does it take to make this manageable? 17

The Secure Keychain Concept In the standard, keys are identified by the tuple of owner and name Secure keychain is an encrypted persistent database that accesses a key by its identifiers Ability to import, remove, and export keys (maybe some other housekeeping utilities) Only the keychain manager enabled tools can access the database The concept has a role as a standalone program, part of encryption tool suite, and part of a compliant EDA design tool 18

A Second Look at the Flow For Producing Protected IP HDL HDL Reference key(s) Markup with protect directives protect me Encrypt Generate Key(s) Import Secure Local Keychain Key 19

Validate Design Tool Regression Tests Compliant Design Tool Runtime Data Export/Import Local KeyChain Tool Specific KeyChain 20

Validate EDA Design Tool If necessary, export keys from your local keychain and import them into a design tool specific local keychain Qualify the customer experience with your IP Run validation tests on models using your protected IP with that design tool Qualify the tool Inspect all tool outputs for exposure of IP, look at runtime environment for implementation weakness Deliver local keychain securely to vendor for hardening into a tool release(its default keychain) Option to deliver a tool specific keychain with IP to directly customer? Depends on the strength of protection of the local keychain 21

Choose Wisely The secure keychain is just a concept to discuss principles As an IP Provider, to give keys to my vendors I might: generate a key in a file, zip it, and email it bad idea that often works write it to a memory stick and Fedex it or hand carry it better Use PKI or web of trust to establish secure communications As a tool provider handling my customers keys I might: Allows a tester to copy it to a work directory that anyone can read Write it to a open file that is shipped in customer_keys directory Use best practices for handling secured communications and deliver with secure keychain The standard has sound mechanisms, but anything can be defeated by careless actions and weak implementation 22

Simple Secret Key IP Protection Scenario `protect data_keyowner="acme IP Provider", data_method="aes192-cbc" `protect begin IP source text... `protect end 23

Simple Secret Key IP Protection Scenario `protect begin_protected `protect encrypt_agent="encryptomatic",encrypt_agent_in fo="2.3.4a" `protect data_keyowner="acme IP Provider", data_method="aes192-cbc" `protect encoding = (enctype="base64", line_length=40, bytes=4006), data_block encoded encrypted IP... `protect end_protected 24

Default IP Protection Scenario `protect begin IP source text... `protect end encryption tool selected key and algorithm can only be decrypted by related tools that share key knowledge no user generation or exchange of keys, no referencing of them Interoperable EDA tool suites would use same defaults Hmm tool might enable the CAD group to configure defaults 25

Default IP Protection Scenario `protect begin_protected `protect encrypt_agent="encryptomatic", encrypt_agent_info="2.3.4a" `protect data_keyowner="electrowizz Tool Co", data_keyname="crypto-101", data_method="descbc" `protect encoding = (enctype="base64", line_length=40, bytes=4006), data_block encoded encrypted IP... `protect end_protected 26

Digital Envelope Protection Scenario `protect key_keyowner="acme IP Owner", key_name= For Joe Designer,key_method="rsa", key_block `protect data_method="aes192-cbc" `protect begin IP source text... `protect end Key_* directives indicate digital envelope 27

Digital Envelope Protection Scenario `protect begin_protected `protect encrypt_agent="encryptomatic", encrypt_agent_info="2.3.4a" `protect key_keyowner="acme IP Owner", key_name= For Joe Designer,key_method="rsa" `protect encoding = (enctype="base64", line_length=40, bytes=256), key_block encoded encrypted session key... `protect data_method="aes192-cbc" `protect encoding = (enctype="base64", line_length=40, bytes=4006), data_block encoded encrypted IP... `protect end_protected 28

Multiple Envelopes `protect key_keyowner="acme IP User1", key_method="rsa", key_block `protect key_keyowner="acme IP User2", key_method="elgamal", key_block `protect key_keyowner="acme IP User3", key_method="aes192-cbc", key_block `protect data_method="aes192-cbc" `protect begin IP source text... `protect end 29

A Signed Digital Envelope `protect key_keyowner="acme IP User", key_method="rsa", key_block `protect data_method="aes192-cbc" `protect digest_keyowner="acme IP Author", digest_key_method="rsa" `protect digest_method="sha1", digest_block `protect begin IP source text... `protect end 30

Other Protect Directives in the Standard Viewports Opens an aspect of your opaque IP for usability Immature aspect of the standard Licensing Require a license check to access IP Provisioned with marginal security Encoding Choose method of encoding binary ciphertext for textual representation Documentation Comments and/or automatic annotation by encryption tools 31

Standard Details DES is the only required cipher method Symmetric algorithm and highly exportable It can be broken by brute force SHA-1 and MD5 are only required cryptographic hash functions for computing message digests They are considered to be very good; SHA-1 is the better one Both have been broken, but spoofing IP is not a practical vulnerability Provision is made in the syntax for virtually all known and important ciphers, cryptographic hash functions, and encoders 32

High Quality EDA Tools for IP Protection Should Implement the standard Provide additional market-driven ciphers, cryptographic hash functions, encoders Provide utilities for key generation, keychain management, and encryption Employ best practices for developing encryption tools Deploy tools within the applicable law Provide a process for establishing secure communication with IP providers Collaborate on developing best practice for IP protection 33

Recommendations Advocate your requirements to the EDA vendor community Learn how vendors will safeguard your keys in their house and in the field when the tools are in use Qualify tools tool-specific defaults, interoperability, performance, direct attack, runtime information compromise Use good counsel on export laws, use of encryption, etc. Make sure compromise doesn t originate in your house and you ll make more money with your HDL-based IP! TRUST ME ;) 34

35

Backup Material Tremendous amount of info on the web Cryptographic technology Related export law Experiment with Open PGP standard tools FSF s GnuPG is a good choice No export restrictions on it to my knowledge (except known sponsors of terror) 36

Symmetric Cipher DES is a NIST standard, a 64 bit block cipher, with 56 bit key A workhorse with no known structural attacks, brute force methods have cracked in ~22 hours ( ~30 2.2GHz Opteron years over 5 months was known level of effort at one time) It is exportable to non-terrorist countries (but you want a legal opinion, not mine!) Interim improvement is triple-des (which is 3 times slower) 37

Symmetric Cipher AES is the new published NIST standard based on 128 bit blocks and 128, 256, or 512 bit keys It was selected from a large field of candidates in a competitive process It is unlikely to be cracked in our lifetime 38

Asymmetric Cipher RSA is most commonly used Keys of >1024 bits are quite secure, 2048 should give security for decades 39