Thursday, February 16, 2017

네오와인(Neowine) 보안 칩으로 소프트웨어 제품에 락(Lock)을 걸어보자. (하드웨어보안 Key Dongle 소개)

소프트웨어(Software) 개발 업체라면 한 번 이상 다음과 같은 물음을 던진 적이 있을 것이다.

"누가 내 소프트웨어를 복제해서

사용하면 어떡하지?"

PC뿐 아니라, Embedded 환경에서도 소프트웨어 복제 사용해 대한 우려는 크다. 내가 어렵게 개발한 제품을 누군가 그대로 하드웨어를 복제하고 소프트웨어를 (Firmware) 전체를 복제해서 나와 동일한 제품을 판매한다면 기가 막힐 것이다.이런 고민에 대한 시원한 해답을 얻을 수 있는 제품을 소개하고자 한다.



네오와인사는 Micro SD카드 타입과 Chip 형태의 하드웨어 보안 제품을 판매한다.


* 데이터 암호화 복호화 (AES-128 bits Encryption / Description) 

* SHA-256 Authentication - 암호화 key를 이용한 하드웨어 키


오와인의 Dorca라는 상품은 두 가지 기능이 있다. 하나는 데이터를 암호화 복호화 하는 기능이다. 이는 SSL / TLS 소프트웨어로 할 수 있는 기능이지만, Embedded(임베디드) 환경에서 리소스가 부족해서 SSL/TLS 의 porting을 포기해야 했다면 Dorca 하드웨어 칩으로 이런 기능을 외부에서 처리할 수 있다.
특히 Micro SD카드로도 제품이 지원되기 때문에, 핸드폰의 App(어플)을 개발했는데, 이 App 내부의 데이터를 암호화하고 싶다면, Micro SD카드 타입의 제품을 이용해서 제품을 개발하면, 핸드폰의 App을 누가 취득해서 설치했더라도 보안 SD카드가 없으면 Data를 읽을 수 없다. 혹은 App 자체의 실행을 중단하게 만들 수도 있을 것이다.





제품의 주요 기능에 대해서는 사진을 Click 해서 크게 보면 주요 기능에 대한 Flow chart(플로 차트)를 확인해 볼 수 있다. 이번에는 소프트웨어를 실행할 때 보안 키가 없으면 소프트웨어 자체가 실행되지 않는 사례를 좀 더 자세히 소개해 본다.



누구나 쉽게 테스트해 볼 수 있도록 테스트 환경은 Raspberry Pi 보드를 이용하였다. 물론, 어떤 보드라도 관계는 없지만, Raspberry Pi는 대부분 Embedded Engineering 회사라면 테스트 용도로 한두 개씩 갖고 있기 때문에, 좋은 실험 재료가 된다.
이제 매우 간단한 테스트 C 프로그램을 작성해 본다.



"authentication.h"라는 네오와인에서 제공하는 library(라이브러리)를 첨부하고, 테스트 프로그램은 인증이 되면 "Authentication Success"라는 메세지가 출력되도록, 실패하면 "Authentication failure"라고 하면서 프로그램을 종료하는 것이 테스트 프로그램의 역할이다.


이제 프로그램을 실행하기 위해서 GCC 컴파일러로 빌드하고 실행해보면 된다.




이렇게 보안칩을 연결한 상태에서 프로그램을 실행하면, "Authentication Success"라는 메세지와 함께 프로그램이 실행될 준비가 된다. 그런데 보안칩이 없는 상태에서 프로그램을 실행하면,



이런 메세지를 출력하며 프로그램이 실행이 실패되었다는 메세지를 볼 수 있다.



사실 하드웨어 키를 이용해서 소프트웨 자산을 보호하는 방법은 국내에는 비교적 생소하지만, 해외 소프트웨어 업체는 일반적이라 할 수 있다. 내 소프트웨어가 불법 복제되는 것보다는 아무래도 보호를 할 수 있다면 하는 것이 현명하다.




진의 USB Drive 제품은 AES 128 bit Encryption / Decryption 을 지원하는 제품이다. 데이터를 보호하는 목적으로 이용되는데, USB Drive 제품을 분실하더라도 안에 저장되어 있는 제품은 안전하니 걱정할 필요 없다.
네오와인 DORCA는 이런 하드웨어 키 + 데이터 보안을 목적으로 하는 업체라면 반드시 검토해보아야 할 필요가 있다. 칩 자체가 원가에 큰 부담을 주지 않기 때문에 의사결정이 비교적 용이하다. 
만일 우리 소프트웨어 제품이 royalty 가 있다고 하면 더욱 이 하드웨어 보안키에 대해서 검토할 필요가 있을 것이다. 대부분 Royalty count는 업체를 믿고 업체의 수량 보고서에 의존하는데, 하드웨어 키가 있다면 하드웨어 칩의 개수를 count 하면 객관적인 입증이 용이하다. 
DORCA보안칩을 이용한 개발에 관한 문의는 (주)디오이즈 성원호(whsung@dioiz.com)
Share:

0 comments:

Post a Comment