risc-v as a basis for asip design … · metric micro-ecc walnutdsa without ext. walnutdsa withext....

21
RISC-V as a basis for ASIP design A Quantum-Resistant IoT Security Implementation

Upload: others

Post on 22-Sep-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

RISC-VasabasisforASIPdesignAQuantum-ResistantIoT SecurityImplementation

Page 2: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

Agenda

• Introductions

• RISC-VandASIPs

• ImplementationofSecurityMethods

• Performanceresults

Page 3: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

Codasip andSecureRF

• ASIPIPandtoolcompany– Czech-basedandventurebacked– Researchbegan2006,launched2014

• 40R&D,worldwidesalesandsupport

• Productsinproductionuse

World’sfirst“Linear-in-Time”AsymmetricSecurity

AddressingAuthenticationandDataProtectionforthe“Smallest”

InternetofThings

Page 4: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

“Everydesignisdifferent,sowhyiseveryembeddedprocessorthesame?”

Page 5: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

WhyRISC-VandASIPs?Commonquestions…WheredoIstart

Whathappensifthecompanygoesaway Doyousupportmy

favorite[RT]OS

Canyoubenchmarkagainst…

Aretherestandardextensionsfor…

RISC-VbasedASIPsaddressallofthis

Page 6: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

ImplementingRISC-VforASIP

• Codix Coresarehighlevelprocessormodels– Easilyadaptedtoanapplicationneed– CodasipStudiogeneratesSDK,RTL,etc.– Availableforwiderangeofapplications

• Codix-BkisourRISC-Vcompatibleprocessorline– FullysupportedbyLLVMbasedSDK,with

profiler,simulator,debugger,etc.

• BerkeliumProcessorFeatures• Availablein3and6-stagepipelines• RV32IMandRV64IMsupport

• Option“C”compactinstructionsetsupport

• Configurablegeneralpurposeregisters• Compilerorhardware-basedhazardavoidance

• Interruptsupport• ConfigurableBranchPredictionUnit

• Optionalfloatingpoint• Optionalinstructionanddatacache• JTAGsupport• Sleepmodesupport

HeCodixHelium

CoCodixCobalt

TiCodix

TitaniumCodixBkBerkelium

Page 7: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

SecureRF’sSecuritySolutions

• Quantum-resistantsecurityforlowresourcedevicesusingGroupTheoreticCryptography

• Toolkits:KeyAgreementandAuthenticationprotocols,DigitalSignatures,HashFunctions

• Existingimplementationson8051,MSP430,ARMM0/M3,FPGAsandASICs

• Today’sdiscussion:WalnutDSA™,adigitalsignaturealgorithmrunningonCodasipZ-Scale-inspiredCodix-Bkcore

Page 8: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

TheApplicationThesignatureverificationportionofthealgorithmruns46-178xfasterthanECDSA,withhalfthecodesizeandsignificantlylowerenergyconsumption.

Page 9: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

HWPlatformandTesting• Microsemi SmartFusion2+board

– Sameboardusedintheworkshop/tutorial– UsedCodasip generatedJTAGforincircuitdebug–

Page 10: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

WalnutDSA vs.ECDSA SecureRFLogo

Metric Micro-ECCWalnutDSA (softwareonly)

Improvement

Verificationtime 680ms 10.7ms 63xfasterCode size(bytes) 9,076 4,504 50%smaller

Notes:1.Micro-ECCcompiledwith-Os optimizations forCodix Berkeliumcore2.Micro-ECCcurve:secp256r13.WalnutDSA securitylevel:2128

4.SignaturesstoredasCconstants

Page 11: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

UsingCodasip Studio

Integrateddesign,programminganddebug

Advancedprofilingandoptimization

VirtualPrototype

Simulation

Applications

ASIC/FPG

A

Architecture

μArchitecture

Page 12: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

TheProcess• Profilingusedtoidentify resourceintensiveops– MultiplicationinGF(32)takes24clockcyclesinsoftware

• Replacedwithsinglecyclecustominstruction– Wrappedintothefunctionandusedasbefore:

SecureRFLogo

/* quad_gmul32 : A wrapper function around gmul32 that calculates* four products in GF(32)*/uint32_t __attribute__((always_inline)) quad_gmul32(uint32_t argA,

uint32_t argB){

uint32_t res;

__asm__( "quad_gmul32 %[res], %[a], %[b]" :[res]"=r"(res) : [a]"r"(argA),[b]"r"(argB));

return res;}

Page 13: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

CodAL Description

Semantics InstructionSet Resources μArch(s)

Instruction Accurate (IA)

Cycle Accurate (CA)

CodAL ProcessorModelingSingledescription generatesRTL,ToolChain, VSP,verificationenvironment• Describevirtuallyanyprocessorarchitecture• C-likelanguageSimilarto“LISA”or“nML”• MinimalmodelonlyneededforSDKgeneration

Modular and flexible• Supportsmultipleimplementationsforsingledesign• Supportsmultiprocessorandplatformprototyping

Supports externalcomponents• Reuseexistingimplementations,orworkinChiselenvironment

/* Multiply and accumulate, semantics dst += src1 * src2 */element i_mac {

use reg as dst, src1, src2;assembler { “mac” dst “,” src1 “,” src2 };binary { OP_MAC:8 dst src1 src2 0:9 };semantics {

rf[dst] += rf[src1] * rf[src2];};

};

Page 14: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

Theextensions

• SDKSupport • HWSupport

SecureRFLogo

/* quad_gmul32 : A wrapper function around gmul32 that calculates* four products in GF(32) (one for each byte in* argA, argB)*/uint32 quad_gmul32(uint32 argA, uint32 argB){

uint32 res;uint32 mask;uint8 i;

res = 0;for (i=0; i<32; i+=8) {

/* Isolate a single byte from a and b,* write the result back* to the corresponding byte in res*/mask = 0xFF << i;res |= (uint32)gmul32((argA & mask) >> i,

(argB & mask) >> i) << i;}return res;

}

/* quad_gmul32 : A wrapper function around gmul32 that calculates* four products in GF(32) (one for each byte in* argA, argB)*/inline uint32 hw_quad_gmul32(uint32 argA, uint32 argB){

uint32 res;uint8 res0, res1, res2, res3;

/* Isolate a single byte from a and b, write the result back* to the corresponding byte in res*/res0 = hw_gmul32(argA[ 7.. 0], argB[ 7.. 0]);res1 = hw_gmul32(argA[15.. 8], argB[15.. 8]);res2 = hw_gmul32(argA[23..16], argB[23..16]);res3 = hw_gmul32(argA[31..24], argB[31..24]);

res = res3 :: res2 :: res1 :: res0;

return res;}

single instruction for GF(32) multiplication, only combinatorial logic:

quad_gmul32

Page 15: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

FPGAResourceUtilization SecureRFLogo

Resource WithoutExtension WithExtension Overhead4LUT 5,797 5,913 116 1.9%DFF 1,909 1,912 3 0.16%

LogicElement 5,851 5,988 137 2.3%

M2S005 M2S010 M2S025 M2S050 M2S060 M2S090 M2S150LogicElements 6,060 12,084 27,696 56,340 56,520 86,316 146,124%Utilization 98.8% 49.5% 21.6% 10.6% 10.5% 6.9% 4.0%

OnMicrosemiM2S010SmartFusion2

MicrosemiSmartFusion2family

Page 16: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

HardwareAccelerationResults SecureRFLogo

WalnutDSAutilizestinyoperands—just5-bit—whichmakesitpossibletoimplementhardwareacceleratorsinveryfewgates.

TheresultontheCodasipCodix-Bkcoreisanearly3xspeed-upoversoftwarealonebyaddingjust137logicelementsoutofanavailable12,084.

Page 17: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

WalnutDSA vs.ECDSARedux SecureRFLogo

Metric Micro-ECCWalnutDSA withoutExt. WalnutDSA with Ext.

Improvement Improvement

Verificationtime 680ms 10.7ms 63xfaster 3.8ms 178xfasterCode size(bytes) 9,076 4,504 50%smaller 3,052 66%smaller

Notes:1.Micro-ECCcompiledwith-Os optimizations forCodix Berkeliumcore2.Micro-ECCcurve:secp256r13.WalnutDSA securitylevel:2128

4.SignaturesstoredasCconstants5.WalnutDSA codesize=3,912/2,980bytes(with/without Ext.)with–Os optimizations

Page 18: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

WalnutDSA,GTC,andASIPGTC-basedcryptographyisfasterthanECCandisquantumresistant• WalnutDSAsignatureverificationrunsupto63xfasterthanECDSAinsoftware• GTC-basedcryptographyusestinyoperands(<8bit)sohardwareaccelerationusesvery

fewlogicresources

HardwareaccelerationofGTCimprovesruntimebyalmost3x• Attheexpenseofonly2%additionalresources• Morepossiblewithadditionaleffort

GTCmethodsplusCodasip ASIPtoolsstreamlineddevelopmentprocess• Fromconcepttoimplementationtookonlyoneweek• StillRISC-V(noneedforacustomISA)withfullLLVM-basedSDKincludingISS• SignificantlyreducesrisksincecanleveragethecompleteRISC-Vecosystem

Page 19: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

TryingitforyourselfConnectwithSecureRFatthepostersession• Tonight

Codasip toolseasilyaccessible• Haveanextensiveindustry

anduniversitypartnerprograms

RISC-Vmodelsavailable• Incl.theGF32designfiles

RTH

Security for a mobile world.

Page 20: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

TryingitforyourselfSecuritydevelopmentkitsavailablefromSecureRF,for:• KeyAgreement/Authentication• DigitalSignatureAlgorithms—

GenerationandValidation• HashFunctions• SecureBoot/SecureLoad• CertificateFunctions

Page 21: RISC-V as a basis for ASIP design … · Metric Micro-ECC WalnutDSA without Ext. WalnutDSA withExt. Improvement Improvement Verification time 680 ms 10.7 ms 63x faster 3.8 ms 178x

ContactInformation

[email protected]

www.Codasip.com

[email protected]

www.SecureRF.com

Twitter:@SecureRF