Abstract
When the application code is downloaded into the mobile device, it is important to provide authentication. Usually, mobile code execution is overlapped with downloading to reduce transfer delay. To the best of our knowledge, there has not been any algorithm to authenticate the mobile code in this environment. In this paper, we present two efficient code authentication schemes that permit overlapping of execution and downloading under the two cases: the first is when the order of transmission of code chunks is determined before the transmission and the second is when this order is determined during the transmission. The proposed methods are based on hash chaining and authentication trees, respectively. Especially, the latter scheme utilizes previously received authentication informations to verify the currently received chunk, which reduces both communication overhead and verification delay. When the application code consists of n chunks, communication overheads of the both schemes are 0(n) and verification delays of these two schemes are O(1) and O(log n), respectively.
모바일 장치에서 코드를 다운로드 받아 수행할 때, 코드 인증이 매우 중요하다. 한편, 모바일 코드의 수행 시간 지연을 줄이기 위해 통상 전체 코드가 다운로드 되기 전에 수신된 일부 코드로 수행이 시작된다. 그러나. 저자들이 조사한 바로는 이 경우 코드 인증을 할 수 있는 방법이 아직 발표된 바가 없다. 본 논문에서는 전송될 코드 청크의 순서가 미리 결정되어 있는 경우와 프로그램 실행 도중 동적으로 결정되는 2 가지 경우에 대하여, 일부 코드로 수행을 시작하면서도 인증이 가능한 2 가지 방법을 제시한다. 이 방법은 각각 해쉬 체인 기법과 인증 트리 기법을 기반으로 한다. 특히, 후자의 기법에서 각 모바일 코드 청크를 인증시 이전 수신한 인증 정보를 활용함으로써 통신 오버헤드와 검증 지연 시간을 줄였다. 코드 청크의 개수가 n 일 때, 두 기법의 통신 오버헤드의 크기는 O(n)이며, 검증 지연 시간은 각각 O(1), O(log n)이다.