본문 바로가기

보안 연구/Side_Channel_Attack

[ChipWhisperer tutorial] Introduction

아래 설명은 ChipWhisperer tutorial에 관한 introduction 중, Parameter block에 대한 설명과 예제이다.

 

[Completing Tutorial]

ChipWhisperer tutorials are designed to be run from start to finish, with few changes needed. One change you will likely need to make is to the Paramater block. These appear as the first code block in every tutorial and are used to allow tutorials to work with multiple hardware setups. An example Parameter block is shown below:

 

ChipWhisperer 튜토리얼은 약간의 변경으로 시작부터 끝까지 작동하도록 설계되었다. 약간의 변경에 해당하는 것이 Paramater 블록이다. 이러한 Paramater block은 모든 tutorial에서 첫번째 block으로 주어지며, tutorial이 여러 hardware 설정에서 작동하는데 사용된다. 예제는 다음과 같다.

 

[Figure.1] Parameter block 예제

These are typically used as follows in the tutorial:

  • SCOPETYPE - Indicates the capture hardware to use. If you have a ChipWhisperer Lite or Pro, use 'OPENADC'. If you have a ChipWhisperer Nano, use 'CWNANO'.
  • PLATFORM - Selects the target we're attacking. As of ChipWhisperer v5.1.0, tutorials only support at most 'CWLITEARM' (STM32F3 target), 'CWLITEXMEGA' (XMEGA target), and 'CWNANO' (Nano STM32F0 target).
  • CRYPTO_TARGET - Selects the cryptographic library to use on the target. If unsure, use 'AVRCRYPTOLIB' for the XMEGA target and 'TINYAES128C' otherwise. Tutorials that don't have this block or use 'NONE' don't require a crypto library.

The parameter blocks should always be the first one run during a tutorial.

 

일반적으로 각각의 해당하는 keyword는 tutorial에서 다음과 같이 사용된다.

  • SCOPETYPE : 사용할 Hardware를 나타낸다. ChipWhisperer Lite또는 Pro인 경우 'OPENADC'를 사용한다. Nano인 경우 'CWNANO'를 사용한다. 필자가 사용하는 hardware는 Pro에 해당하므로 'OPENADC'를 사용하여 진행한다.
  • PLATFORM : 공격할 target을 선택한다. ChipWhisperer v5.1.0 기준 tutorial은 'CWLITEARM'(STM32F3), 'CWLITEXMEGA'(XMEGA), 'CWNANO'(Nano STM32F0)만 지원한다.
  • CRYPTO_TARGET : target에 사용할 crypto library를 선택한다. 확실 하지 않을 경우 XMEGA target에 대해 'AVRCRYPTOLIB' 를 사용한다. 그 외에는 'TINYAES128C'를 사용한다. 이러한 block이 없거나, 'NONE'을 사용하면 crypto library를 필요로 하지 앟는 tutorial 이다.

앞서 설명한 parameter block은 항상 tutorial 앞 부분에 위치하여야 한다.

 

이상으로 Parameter block에 대한 설명과 예제에 대한 설명을 마치겠다.

 


이 게시글은 NewAE technology사에서 제공하는 ChipWhisperer의 tutorial 오픈소스(Open Source) 기반으로 작성하였으며,
게시물에 해당하는 내용에 관한 정보는 다음과 같은 출처를 통해서 확인할 수 있습니다.
출처1 : https://chipwhisperer.readthedocs.io/en/latest/
출처2 : https://wiki.newae.com/Main_Page
출처3 : https://github.com/newaetech/chipwhisperer