초록
경량 사물인터넷 디바이스 상에서의 암호화 구현은 정확하고 빠르게 연산을 수행하여 서비스의 가용성을 높이는 것이 중요하다. 특히 곱셈 연산은 RSA, ECC, 그리고 SIDH와 같은 공개키 암호화에 활용되는 핵심 연산으로 최적화된 구현이 요구된다. 하지만 최신 저전력 프로세서인 ARM Cortex-M3 프로세서의 경우에는 곱셈연산 입력 크기에 따라 수행속도가 달라지는 보안 취약점을 가지고 있다. 수행속도가 달라지게 될 경우 연산 시간의 차이점을 확인하여 비밀정보를 추출하는 것이 가능하다. 이를 보완하기 위해 최근 연구에서는 고정된 연산 시간 안에 곱셈 연산을 수행하는 기법이 제안되었다. 하지만 해당 구현에서는 여전히 속도가 완전히 최적화되어 있지 않다. 본 논문에서는 기존에 제안된 곱셈연산을 보다 효율적으로 연산하기 위한 기법을 제안한다. 제안된 기법은 기존 방식에 비해 연산 속도를 최대 25.7% 향상시킨다.
Secure authentication technology is a fundamental building block for secure services for Internet of Things devices. Particularly, the multiplication operation is a core operation of public key cryptography, such as RSA, ECC, and SIDH. However, modern low-power processor, namely ARM Cortex-M3 processor, is not secure enough for practical usages, since it executes the multiplication operation in variable-time depending on the input length. When the execution is performed in variable-time, the attacker can extract the password from the measured timing. In order to resolve this issue, recent work presented constant-time solution for multiplication operation. However, the implementation still missed various speed-optimization techniques. In this paper, we analyze previous multiplication methods over ARM Cortex-M3 and provide optimized implementations to accelerate the speed-performance further. The proposed method successfully accelerates the execution-time by up-to 25.7% than previous works.