하드웨어
기술개요
합리적인 조직과 엄격한 개발계획을 통하여Elliptic회사는 이미 업계에서 제일 광범위하게 사용되는 보안IP 솔루션을 개발하였습니다. 또 소비자에게 자체의 수요에 근거하여 사용자가 필요로 하는 표준, 게이트의 수, 메모리요구를 만족하는 정확한 성능과 사양(싸이퍼와 헤쉬 모드)을 제공합니다. Elliptic의 하드웨어 개발팀은아래의 항목들에 중점을 두고 솔루션의 개발에 임합니다:
|
|
|
|
제품 구성의 용이성
Elliptic은 개발자가 알고리듬을 직접 확인할 수 있는 look-aside나 in-line 프리미티브를 사용하여 보안 코어의 기반을 만듭니다. 사용자 회사 내부의 표준에 준수하여 만들어진 이 인터페이스는 SASPA나 SPAcc 기반에 사용될 수 있습니다. SASPA (Symmetric and Asymmetric Security Performance Acccelerator)는 AMBA나 AHB 같은 공통된 look-aside slave bus 인터페이스에 존재하는 여러 보안 코어를 통합합니다. 개발자들은 AMBA 인터페이스 에서 제공되는 여러 싸이퍼 (cipher)와 해쉬 (hash) 코어를 원하는대로 요청할 수 있습니다. 많은 경우에 코어의 성능을 조절하는 옵션 역시 가능해서 bit/cycle을 향상 시킬 수도 있으며 CLP-23 Public Key Accelerator나 CLP-27 True Randome Number Generator를 요청하는것도 가능합니다. 중급의 성능이나 저원가형 어플리케이션의 경우에는 단 하나의 메모리 블록을 사용할 수 있도록 설정이 가능하고, 이 메모리 블록에는 메시지나 컨텍스트(context)를 저장하기 위해 사용됩니다. SASPA급의 엔진들은 기록 메체 콘텐트 보호, Ipsec, SSL, 무선 솔루션등에 쓰입니다.
![]() |
샘플추출 계산법 옵션
|
샘플추출 엔진 옵션
|
SPAcc 아키텍쳐는 고성능 해결방안이 필요한 경우 사용됩니다. SPAcc는 Security Protocol Accelerator의 약자로, 여러가지 훌륭한 기능들을 포함하고 있습니다. SASPA의 경우에도 그랬듯이 다수의 싸이퍼 (cipher)나 헤쉬 (hash) 코어들을 끌어들일 수 있으며, 마스터 (master) AMBA/AHB 인터페이스를 통해서 메시지 전송을, 그리고 두번째 AMBA/AHB 인터페이스를 통해서 시스템 제어 나 설정에도 사용할 수 있습니다. 마스터 AMBA/AHB 인테페이스에서는 분산된 DMA 제어를 가능케 하는데 이 DMA를 통해서 스캐더게더 (scatter/gather)가 가능하고 소프트웨어 시스템에서 제공된 엔진으로의 포인터를 이용하여 작동하게 됩니다. 여러 코어의 인터럽트 (interrupt) 연동을 가능케 하기 위해서 설정 가능한 명령어들과 명령어 상태를 저장하는 FIFO(status FIFO)가 콘트롤 인터페이스에 제공됩니다. 여기서 복수의 명령어들이 status FIFO에 저장이 되고, 이 저장된 명령어들의 수가 status FIFO에 지정된 깊이를 초과할 경우에만 인터럽트가 발생하게 됩니다. 작은 파켓 (packet)의 전송이 꼭 필요한 경우, 이러한 인터럽트 메커니즘은 매우 중요합니다.
![]() |
샘플추출 계산법 옵션
|
샘플추출 엔진 옵션
|
품질 보장
Elliptic의 하드웨어 팀은 Elliptic에 소속되기 전에는 정밀한 SoC(시스템온칩, system-on-chip) 설계를 담당했던 무설비업체 (fabless) 회사였으며, SoC 프로젝트의 계발과정을 시작부터 검증 단계까지 완벽히 이해하고 있습니다. 이에 만족하지 않고 Elliptic은 더욱 엄격한 개발단계를 도입하여 실천하고 있으며, 이 개발 과정은 ISO9000:2001 인증을 받았습니다. 제품 품질 검증과정에서 한가지 요소는 사용자의 요구에 상응하는 IP 엔진을 개발하고 검증하는것입니다. 그러므로 Elliptic 제품의 성능 검증 과정은 다단계로 이루어져있으며 간단한 crypto 프리미티브 (AES, 3DES, SHA)의 검증에서부터 시작해서 NIST Cryptographic Algorithm Validation Program (CAVP)를 도입한 제 3자 실험과정과 Elliptic 자체적으로 개발된 태스팅 과정을 혼합한 검증과정도 포함합니다. Elliptic의 CAVP 검증 인증서는 본 웹사이트의 “링크” 페이지에서 찾을 수 있습니다. 하나의 알고리즘이 검증을 통과하게되면, 검증과정을 통과한 엔진은 EDA 시뮬레이션 툴을 이용한 엄격한 테스팅과정을 거치며, 이 검증과정을 통과하게되면 Elliptic의 하드웨어 평가카드(evaluation card)를 이용한 검증과정을 거침으로서 검증과정이 완료됩니다.
성능 보장
아래의 그래프는 Elliptic의 높은 성능으로의 도약을 실감케 합니다. Elliptic의 제품 중 가장 으뜸의 성능을 자랑하는 CLP-30을 이용한 IPsec엔진은 복수의 AMBA/AHB 마스터 포트 (mater port)를 연동한 복수의 파이프라인을 이용하여 수 Gbps IPsec의 속도를 실현합니다. 또한 하나의 AMBA 메스터 (master)를 보안연관 (SA – Security association) 데이터 전송에 전임(專任)시킬 수도 있으며, 보안연관 캐시를 칩상에 전임시키는 것 역시 가능합니다. 아래의 차트에서는 CLP-30을 사용하여 이룩할 수 있는 성능을 볼 수 있으며, CLP-30과 SASPA의 전체 시스템 관점에서의 성능을 비교분석하였습니다. 시스템 관점에서의 성능은 여러가지 시스템내의 변수를 포함한 성능 태스팅이라는 점에서 평가표준으로서 매우 중요합니다. Elliptic은 하드웨어와 소프트웨어 개발능력을 모두 겸비하고 있으므로 사용자 솔루션의 SoC나 FPGA개발 과정에 있어서의 성능목적을 이해하고 실현시키기에 용이한 위치에 있습니다. 예를 들어 Cipher코어 해결방안을 소프트웨어만으로 제공하는 회사의 경우, 하드웨어 성능상의 결점을 이해하기 어려울 뿐만 아니라, 사용자에게 전체 시스템 성능에 관련된 왜곡된 정보를 제공 하기가 쉽습니다.
개발 능력
Elliptic은 개발 과정을 보완하여 품질을 향상 시켰으며, 각각의 코어가 서로 다르게 설정되어있다 하더라도 각각의 사용자의 요구조건에 상응하는 품질을 보장합니다. 이것은 검증환경의 자동화로인해서 가능하게 되었습니다. Elliptic은 사용자들에게 최대의 성능을 보장하기 위하여 Cadence의 RTL 콤파일러를 PLE (Physical Layout Emulator)모드로 사용하여 레이아웃 후 (post-layout)의 엔진 성능을 예측합니다. 이러한 노력의 목적은 사용자가 Elliptic의 엔진들을 연계할 시 예상치 못했던 문제로 인한 우여곡절을 없애고자 하는데 있습니다.


