배너
닫기

테크노트

배너

[기고] IoT에 보안을 더하다 (上)

  • 등록 2019.04.30 15:32:29
URL복사

[첨단 헬로티]



사물 인터넷(IoT)을 개발할 때 직면하는 주요 문제 중 하나는 애플리케이션이 의존하는 데이터와 소프트웨어를 보호하는 문제이다. 공격자는 장치 내부와 네트워크를 통해 중계되는 과정에서 소프트웨어와 데이터에 접근하여 도청에서부터 장치 자체에 대한 해킹까지 다양한 시도를 할 수 있다.


예를 들어 공격자가 네트워크를 통해 장치에 침투하여 코어 소프트웨어를 변경하면, 이후에 공격자는 소유자나 애플리케이션 제공자의 정보가 없어도 쉽게 조회할 수 있다. 또는 단순히 장치와 서버 간 대화를 엿들을 수 있으며, 이렇게 획득한 데이터를 이용해 공격을 개시하거나 다른 방식으로 이득을 취할 수 있다.

네트워크를 통해 전송되는 중요한 데이터는 검증 가능한 방법으로 서명되어야 하고 암호화를 이용해 보호되어야 한다. 디지털 서명은 수신자에게 데이터가 중간자 공격에 의해 조작되지 않았다는 것을 보장한다. 암호화는 도청자가 데이터를 수집할 수 있더라도 암호를 해독하기 위해 엄청난 노력을 하지 않는다면 데이터를 이용할 수 없도록 보장하며, 실제로 오늘날의 기술로 암호를 깨는 것은 극도로 어렵다.


비대칭 암호화

암호화에는 두 가지 주요 형식인 대칭과 비대칭 암호화가 있다. 일반적으로 대칭 암호화는 컴퓨팅 자원을 덜 사용하므로 자원이 제한된 IoT 기기에 적용하기에 적합하지만, 애플리케이션은 제한된다. 비대칭 암호화는 통신뿐 아니라 장치 자체를 보호하는 공개키 시스템(PKI)의 핵심을 이룬다.


PKI는 대칭 암호의 데이터를 암호화해야 하는 모든 사람에게 비밀 키를 배포해야 하는 핵심적인 취약성을 극복하기 위해 개발되었다. 비대칭 암호화는 공개키와 개인키 조합을 사용한다. 공개키는 아무 문제없이 광범위하게 공개할 수 있다.


PKI의 기본 알고리즘은 개인키로부터 공개키를 쉽게 도출할 수 있게 한다. 역 연산은 수학적으로 훨씬 더 어렵고 수행하는 데 많은 시간이 걸린다. 공개키는 주로 데이터를 암호화하는 데 사용된다. 다시 말하면, 개인키를 갖고 있는 사람만 암호를 해독할 수 있다는 것을 의미한다.


서로 통신하기 위해 각 엔드포인트는 개인 마스터 키에서 다른 수신자에게 전송하는 공개키를 생성한다. 예를 들어 A가 보호된 데이터를 B에게 전송하고자 한다면, A는 B의 공개키를 요청한 다음, 이 키를 사용하여 메시지를 암호화한다. B는 자신의 개인키를 사용하여 메시지를 해독한다. B는 그 키를 가진 유일한 사람이므로 도청자는 데이터, 즉 암호화된 메시지에 접근할 수 없다.


응답에서는 전송 전에 A의 공개키를 사용하여 암호화해야 하는데, B는 A에게 메시지가 송신 후 조작되지 않았으며 어떤 식으로든 대체되지 않았음을 증명할 수 있다. 이러한 증명은 메시지와 암호화 키 해시를 생성하여 수행할 수 있다. 해시는 메시지와 관련되지만 메시지를 재구성하는 데 사용할 수 없는 코드를 생성하는 단방향 함수이다. 수신자는 동일한 해싱 함수를 실행하여 두 개의 해시가 일치하는지 검사하고, 일치하지 않으면 통신이 침해되었다는 것을 나타낸다.


글 / 마크 패트릭(Mark Patrick), 마우저 일렉트로닉스(Mouser Electronics)



















주요파트너/추천기업