HSM(Hardware Security Module)
임베디드 장비에 네트워크가 들어가면서 보안의 중요성이 대두되었고 이에 따라 관련 법규들도 제정되고 있다. 임베디드 장비에 보안을 어떻게 적용할 것인가에 대한 문제의 해결책 중 하나는 보안을 위한 전용 하드웨어 모듈인 HSM을 장착하는 것이다.
HSM을 사용하지 않는 시스템의 시나리오

HSM을 사용하지 않는 데이터 보안은 어플리케이션이 DB에서 암호문을 받은 후 가지고 있는 복호화키로 암호문을 해독한다. 이 방법의 문제점은 어플리케이션이 뚫리면 복호화 키도 같이 뚫린다는 것이다.
HSM을 사용하는 시스템의 시나리오

앞서 말한 문제를 해결하기 위해 어플리케이션이 아닌 별도의 서비스가 복호화 키를 보관하고 있고 어플리케이션의 요청에 의해 서비스로부터 키를 받거나 서비스가 직접 복호화할 수 있다. 그러나 이 방법도 해당 서비스가 뚫리면 결과는 마찬가지다. 따라서 뚫리지 않도록 보안기술이 적용된 별도의 하드웨어를 사용하는데, 이 하드웨어가 HSM이다.
HSM이 키를 안전하게 저장하는 이유
- 범용 하드웨어가 아니므로 입출력 인터페이스가 적다. 따라서 공격을 대비해야 할 곳이 적다.
- 범용 OS가 아닌 보안을 위한 전용 OS 혹은 SW 사용
- 해킹시도가 발견될 시 보관 중인 키를 삭제
- HSM에 접근한 로그기록 저장
- 보관 중인 키를 다른 곳에 공유하지 않음