스마트폰의 대중화와 더불어 웨어러블 디바이스, 가전제품, 스마트 TV에도 운영체제가 보급되고 있다. 사용자는 운영체제가 설치된 디바이스 상에서 다양한 애플리케이션을 사용할 수 있게 되었지만, 반면에 애플리케이션을 통한 해커의 위협도 증가하고 있다. 이에 따라, 운영체제 내 애플리케이션의 위변조를 탐지하기 위한 기술은 더욱 중요시되고 있으며, 애플리케이션의 위변조를 탐지하기 위한 기술 중 하나로, 전자서명 기술이 널리 사용돼 왔다. W3C의 규격에 따라 애플리케이션은 최소 2회 이상의 서명이 필요하며, 설치 시 각 구성요소에 대한 모든 서명 파일이 검증되어야 한다. 따라서 애플리케이션 전자서명 검증 시스템의 성능은 운영체제의 인스톨러 성능에 큰 비중을 차지한다. W3C 규격을 준수한 운영체제의 애플리케이션 전자서명 검증 시스템은 구성요소에 대한 무결성 검증 과정이 중복되기 때문에 성능 저하가 발생한다. 본 연구는 이러한 문제를 해결하기 위해 무결성 검증 과정 내 프락시 시스템을 도입하여 성능을 향상하는 방법을 제안한다. 제안된 연구는 기존 검증 시스템 대비 효율적으로 성능이 개선됨을 보여준다.
스마트폰의 대중화와 더불어 웨어러블 디바이스, 가전제품, 스마트 TV에도 운영체제가 보급되고 있다. 사용자는 운영체제가 설치된 디바이스 상에서 다양한 애플리케이션을 사용할 수 있게 되었지만, 반면에 애플리케이션을 통한 해커의 위협도 증가하고 있다. 이에 따라, 운영체제 내 애플리케이션의 위변조를 탐지하기 위한 기술은 더욱 중요시되고 있으며, 애플리케이션의 위변조를 탐지하기 위한 기술 중 하나로, 전자서명 기술이 널리 사용돼 왔다. W3C의 규격에 따라 애플리케이션은 최소 2회 이상의 서명이 필요하며, 설치 시 각 구성요소에 대한 모든 서명 파일이 검증되어야 한다. 따라서 애플리케이션 전자서명 검증 시스템의 성능은 운영체제의 인스톨러 성능에 큰 비중을 차지한다. W3C 규격을 준수한 운영체제의 애플리케이션 전자서명 검증 시스템은 구성요소에 대한 무결성 검증 과정이 중복되기 때문에 성능 저하가 발생한다. 본 연구는 이러한 문제를 해결하기 위해 무결성 검증 과정 내 프락시 시스템을 도입하여 성능을 향상하는 방법을 제안한다. 제안된 연구는 기존 검증 시스템 대비 효율적으로 성능이 개선됨을 보여준다.
As smart phones are becoming popular, an operating system is being used at wearable devices, home appliances and smart TVs. A user is able to use various applications on devices with operating system, but there is an increased threat of hacker. Thus, the technology for detecting the forgery of appli...
As smart phones are becoming popular, an operating system is being used at wearable devices, home appliances and smart TVs. A user is able to use various applications on devices with operating system, but there is an increased threat of hacker. Thus, the technology for detecting the forgery of applications is becoming more important on operating system. To detect the forgery of the application, a digital signature technology is used on the filed of application digital signature. According to W3C recommendation, the signing process of application digital signature must be performed at least twice, and the applications which are signed by the application digital signature have to be validated for all signature files when the application is installed in the operating system. Hence, the performance of the application digital signature validation system is closely related to the installer performance on the operating system. Existing validation system has performance degradation due to redundancy of integrity verification among application components. This research was conducted to improve the performance of the application digital signature validation system. The proposal of validation system which is applied proxy system shows a performance improvement compared to the existing verification system.
As smart phones are becoming popular, an operating system is being used at wearable devices, home appliances and smart TVs. A user is able to use various applications on devices with operating system, but there is an increased threat of hacker. Thus, the technology for detecting the forgery of applications is becoming more important on operating system. To detect the forgery of the application, a digital signature technology is used on the filed of application digital signature. According to W3C recommendation, the signing process of application digital signature must be performed at least twice, and the applications which are signed by the application digital signature have to be validated for all signature files when the application is installed in the operating system. Hence, the performance of the application digital signature validation system is closely related to the installer performance on the operating system. Existing validation system has performance degradation due to redundancy of integrity verification among application components. This research was conducted to improve the performance of the application digital signature validation system. The proposal of validation system which is applied proxy system shows a performance improvement compared to the existing verification system.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 W3C 규격에 따른 애플리케이션 전자서명 검증 시스템의 성능을 향상시키는 방법을 제안한다. 현재 애플리케이션 전자서명 검증 시스템은 레퍼런스(구성요소)들의 해시값을 검증할 때에 서명 검증 횟수에 따라 이를 중복적으로 검사하여 성능 저하가 발생하였다.
본 연구는 애플리케이션 전자서명 검증 시스템의 성능 강화를 위하여 검증 시스템 내 프락시를 적용하였다. PADS의 검증 시스템은 기존 TADS의 무결성 중복 검사로 인한 검증 시스템의 성능 저하를 해결하기 위해, 프락시를 시스템을 적용하여 레퍼런스의 검사 유무를 기록하고 중복된 레퍼런스는 무결성 검사에서 제외하는 시스템을 제안하였다.
제안 방법
본 연구는 애플리케이션 전자서명 검증 시스템의 성능 강화를 위하여 검증 시스템 내 프락시를 적용하였다. PADS의 검증 시스템은 기존 TADS의 무결성 중복 검사로 인한 검증 시스템의 성능 저하를 해결하기 위해, 프락시를 시스템을 적용하여 레퍼런스의 검사 유무를 기록하고 중복된 레퍼런스는 무결성 검사에서 제외하는 시스템을 제안하였다. 시스템의 변경에 따라 PADS의 서명 파일 검증 사이에 애플리케이션의 위변조가 일어날 수 있으나, 최초 검증시 구성 요소의 파일 시스템 내 타임스탬프를 캐시에 저장하고 이를 검증에 활용함으로써 보안성을 유지하였다.
W3C의 규격을 준수하고 있는 타이젠 3.0 운영체제의 전자서명 검증 시스템을 분석하여 기존 시스템의 문제점을 확인한다.
공개키 암호기술에 기반을 두는 방식으로 서명자는 한 쌍의 공개키와 개인키를 소유하며 자신의 개인키와 암호학 알고리즘을 통하여 메시지에 서명한다. 검증자는 서명자의 공개키와 암호학 알고리즘으로 서명의 유효성을 검증한다[7].
이때, 이미 검증된 파일에 대한 해시값을 개발자 서명검증과 배포자 서명검증에 재활용하기 때문에 무결성 검증 내 중복 비용을 제거한다. 또한, 타임스탬프를 활용하여 검증 기간 내 무결성을 보증함으로써, 기존과 동일한 보안 수준을 제공한다.
먼저 검증 시스템은 애플리케이션 내 존재하는 서명 파일들을 탐색 후 파서를 통해 서명 파일 내 기록되어있는 서명자의 공개키, 레퍼런스 해시값, 서명 값, 메타 정보를 파싱 한다.
1절의 실험 결과를 바탕으로 서명 파일 개수를 임의로 변경하여 이에 따른 비교 실험을 진행하였다. 모수를 선정하기 위해 성능 개선 비율에 따라 20% 미만, 20% 이상 40% 미만, 40% 이상으로 군집화하여 서명 파일 개수를 증가시키면서 추가 실험을 진행하였다.
애플리케이션 전자서명 검증 시스템은 W3C의 규격에 따라 애플리케이션 내 모든 서명 파일에 대하여 검증을 진행하여야 하고, 각 서명 파일의 검증은 서명 파일에 포함된 모든 레퍼런스에 대하여 무결성 검증을 진행하여야 한다[1]. 이를 위해 TADS의 검증 시스템은 각 서명 파일 단위로 독립적으로 검증을 실시하는데, 이는 각 서명 파일 검증 도중에 파일이 변조되어도 마지막 서명 파일 검증 시 이를 탐지할 수 있게 한다. 또한 이전 서명 파일 검증이 실패하는 경우, 나머지 서명 파일의 검증을 실시 않아도 되는 장점이 있다.
무결성 검증 단계에선 서명 파일에 명시된 메타 정보를 이용하여 애플리케이션의 구성 정보들에 대해 해시값을 재생성한다. 재생성된 해시값과 서명 파일에 명시되어 있는 해시 값을 비교함으로써 무결성을 보장한다. 서명 검증은 서명 파일에 명시된 서명자의 공개키를 메타 정보를 이용하여 서명 파일에 명시되어 있는 서명값을 확인함으로써 서명자 인증과 부인방지를 보장한다.
3의 오른쪽 분기에 따라 진행된다. 전자서명 대상 파일들의 무결성을 검증하기 위하여 레퍼런스들의 해시값을 구하여 서명 파일에 적혀 있는 해시값과 비교한다. 애플리케이션은 리소스, 소스 코드, 라이브러리, 메타 데이터 등 다양한 파일로 구성되어 있으므로 오른쪽 분기의 로직은 이 모든 레퍼런스에 대해 반복적으로 진행된다.
현재 애플리케이션 전자서명 검증 시스템은 레퍼런스(구성요소)들의 해시값을 검증할 때에 서명 검증 횟수에 따라 이를 중복적으로 검사하여 성능 저하가 발생하였다. 제안한 방법에서는 검증 시스템 내 프락시 시스템을 도입하여 W3C 규격을 유지하면서 불필요한 무결성 검사를 제거한다. 제안한 방법을 평가하기 위하여 타이젠 운영체제를 이용하여 시스템을 구현하고, 이에 대한 성능을 측정하였다.
제안한 방법에서는 검증 시스템 내 프락시 시스템을 도입하여 W3C 규격을 유지하면서 불필요한 무결성 검사를 제거한다. 제안한 방법을 평가하기 위하여 타이젠 운영체제를 이용하여 시스템을 구현하고, 이에 대한 성능을 측정하였다. 타이젠 운영체제는 W3C 규격을 준수하고 있는 유일한 모바일 플랫폼이다[5].
대상 데이터
PADS의 검증 시스템의 성능을 평가하기 위해서 W3C의 규격을 준수하고 있는 TADS의 검증 시스템과 비교 실험을 진행하였다. 본 실험은 타이젠 3.0 운영체제와 쿼드코어 ARMv7 CPU, 1G RAM이 내장되어 있는 실제 단말인 Samsung Z3 상에서 수행되었다. 연산에 필요한 알고리즘은 TADS와 같은 알고리즘으로 진행되었다.
과 같다. 실험 대상 애플리케이션은 타이젠 스튜디오의 공식 샘플 애플리케이션 중에서 크기별로 10건을 선정하였다. 기본적인 애플리케이션의 서명 파일은 개발자 서명 파일과 배포자 서명 파일 2개로 구성되어 있다.
데이터처리
PADS의 검증 시스템의 성능을 평가하기 위해서 W3C의 규격을 준수하고 있는 TADS의 검증 시스템과 비교 실험을 진행하였다. 본 실험은 타이젠 3.
서명 파일 개수는 W3C 규약 내 명시되어 있는 대로 배포자 수의 증가에 따라 N개까지 늘어날 수있다. 이를 이용하여, 5.1절의 실험 결과를 바탕으로 서명 파일 개수를 임의로 변경하여 이에 따른 비교 실험을 진행하였다. 모수를 선정하기 위해 성능 개선 비율에 따라 20% 미만, 20% 이상 40% 미만, 40% 이상으로 군집화하여 서명 파일 개수를 증가시키면서 추가 실험을 진행하였다.
이론/모형
0 운영체제와 쿼드코어 ARMv7 CPU, 1G RAM이 내장되어 있는 실제 단말인 Samsung Z3 상에서 수행되었다. 연산에 필요한 알고리즘은 TADS와 같은 알고리즘으로 진행되었다. 해시값 연산 시에는 sha256 알고리즘이 사용되었으며[10], 서명 연산 시에는 rsa-sha256 알고리즘이 사용되었다[11].
연산에 필요한 알고리즘은 TADS와 같은 알고리즘으로 진행되었다. 해시값 연산 시에는 sha256 알고리즘이 사용되었으며[10], 서명 연산 시에는 rsa-sha256 알고리즘이 사용되었다[11].
성능/효과
PADS의 검증 시스템 성능은 TADS의 검증 시스템 성능에 비해 실험 대상 애플리케이션 모두 감소하였으며 무결성 검증의 비중 또한 다소 감소하였다. 전체적인 검증 성능이 감소됨에 따라 무결성 검증의 비중이 작은 폭으로 감소 된 것으로 판단된다.
TADS 검증 시스템의 경우 크기가 작은 MessagePort 애플리케이션의 무결성 검증 성능의 비중이 16%로 나타났다. 이는 애플리케이션의 크기가 작기 때문에 무결성 검증의 비중보다 서명 검증의 비중이 높은 것으로 판단된다.
전체적인 검증 성능이 감소됨에 따라 무결성 검증의 비중이 작은 폭으로 감소 된 것으로 판단된다. 가장 작은 무결성 검증 비중은 10%로 측정되었으며 가장 큰 비중은 93%로 측정되었다.
8MB의 경우 49%의 성능 개선을 나타내었다. 결론적으로 애플리케이션의 크기가 클수록 전체 검증 중 무결성 검증 비중이 많이 차지하였으며 PADS의 검증 시스템은 이를 효율적으로 개선하였음을 확인하였다.
전체 검증 비용은 서명 검증 비용과 무결성 검증 비용 그리고 추가로 발생한 프락시의 비용의 합이다. 기존 시스템의 검증 비용(1)과 비교하였을 때 무결성 검증비용은 n번에서 1번으로 감소하였고, 추가로 n-1번의 프락시 시스템 비용이 증가하였다.
W3C의 규격을 준수하고 있는 타이젠 운영체제의 경우 서명 검증 과정은 애플리케이션 설치 중 이루어지는 9단계의 과정 중 하나이지만 소요시간은 큰 비중을 차지한다[6]. 기존 타이젠 운영체제의 애플리케이션 전자서명 검증 시스템과 본 연구에서 제안한 애플리케이션 전자서명 검증 시스템을 비교 실험함으로써 서명 검증의 성능 개선을 확인하였다.
성능 개선 비율이 20%미만이었던 OAuth2의 경우, 성능 개선 비율이 최소 19%에서 최대 25%까지 성능이 개선됨을 확인하였다. 두 번째 성능 개선 비율이 20% 이상 40% 미만이었던 FileManager의 경우, 최소 24%에서 최대 37%의 성능 개선을 보였다. 마지막 성능 개선 비율이 40% 이상인 Media의 경우, 최소 49%에서 최대 78%의 성능 개선을 보였다.
두 번째 성능 개선 비율이 20% 이상 40% 미만이었던 FileManager의 경우, 최소 24%에서 최대 37%의 성능 개선을 보였다. 마지막 성능 개선 비율이 40% 이상인 Media의 경우, 최소 49%에서 최대 78%의 성능 개선을 보였다.
성능 개선 비율이 20%미만이었던 OAuth2의 경우, 성능 개선 비율이 최소 19%에서 최대 25%까지 성능이 개선됨을 확인하였다. 두 번째 성능 개선 비율이 20% 이상 40% 미만이었던 FileManager의 경우, 최소 24%에서 최대 37%의 성능 개선을 보였다.
은 TADS의 검증 시스템 대비 PADS의 검증 시스템의 성능 개선 비율을 나타낸 것이다. 애플리케이션 크기가 1MB 미만인 경우 평균 약 20%의 성능 개선을 보였으며, 2.8M의 크기인 경우의 약 37% 개선을 보였다. 비교적 파일 크기가 큰 6.
크기가 MB 단위로 넘어가면서 무결성 검증의 비중이 더 높아지는 것을 볼 수 있으며 크기가 가장 큰 Media 애플리케이션의 무결성 검증 비중은 96%를 보였다. 이에 애플리케이션 전자서명 검증 중 무결성 검증 비중이 많은 부분을 차지하는 것을 확인하였다.
PADS의 검증 시스템 성능은 TADS의 검증 시스템 성능에 비해 실험 대상 애플리케이션 모두 감소하였으며 무결성 검증의 비중 또한 다소 감소하였다. 전체적인 검증 성능이 감소됨에 따라 무결성 검증의 비중이 작은 폭으로 감소 된 것으로 판단된다. 가장 작은 무결성 검증 비중은 10%로 측정되었으며 가장 큰 비중은 93%로 측정되었다.
이는 애플리케이션의 크기가 작기 때문에 무결성 검증의 비중보다 서명 검증의 비중이 높은 것으로 판단된다. 크기가 MB 단위로 넘어가면서 무결성 검증의 비중이 더 높아지는 것을 볼 수 있으며 크기가 가장 큰 Media 애플리케이션의 무결성 검증 비중은 96%를 보였다. 이에 애플리케이션 전자서명 검증 중 무결성 검증 비중이 많은 부분을 차지하는 것을 확인하였다.
타이젠 스튜디오 내의 공식 샘플 애플리케이션을 대상으로 제안된 시스템을 검증한 결과, 무결성 검증의 중복이 효율적으로 제거되었고 애플리케이션의 크기 및 레퍼런스가 증가할수록 제안 시스템이 효율적인 것을 확인할 수 있었다.
실선 화살표는 서명 파일의 입력 흐름을 나타내며 점선 화살표는 서명 파일에 대한 무결성 검증 흐름을 나타낸다. 프락시를 도입함으로 TADS 시스템 구성도(Fig. 3.)의 무결성 검증 흐름이 서명 파일 개수인 것에서 한 번으로 줄어든 것을 확인할 수 있다.
후속연구
향후에는 프락시 시스템에 병렬 프로그래밍을 적용하여 무결성 검증 과정 중 레퍼런스 해시 비용을 개선하는 방안을 연구할 예정이다.
질의응답
핵심어
질문
논문에서 추출한 답변
전자서명은 무엇인가?
전자서명이란 서명자를 확인하고 서명자가 당해 전자 문서에 서명하였음을 인증하기 위하여 당해 전자 문서에 첨부되거나 논리적으로 결합한 전자적 형태의 정보를 말한다. 공개키 암호기술에 기반을 두는 방식으로 서명자는 한 쌍의 공개키와 개인키를 소유하며 자신의 개인키와 암호학 알고리즘을 통하여 메시지에 서명한다.
애플리케이션 전자서명에서 서명 과정은 어떤 단계로 이루어지는가?
애플리케이션 전자서명에서 서명 과정은 레퍼런스 생성 단계와 서명 생성 단계로 이루어진다. 레퍼런스 생성 단계는 무결성을 보장하기 위해 애플리케이션의 구성 파일들, 즉 모든 레퍼런스들의 해시값들을 구하는 단계이다.
서명 파일은 어떻게 생성되는가?
애플리케이션 전자서명 중 서명은 애플리케이션을 구성하는 각 파일들의 해시값들을 모아서 서명하고 이를 포함하여 해시값들과 함께 하나의 파일을 생성한다. 이를 서명 파일이라 하며, 애플리케이션과 함께 배포된다.
참고문헌 (11)
"XML Digital Signatures for Widgets," https://www.w3.org/TR/widgets-digsig
Lijang Yi, Guoqiang Bai and Guozhen Xiao, "Proxy multi-signature scheme: a new type of proxy signature scheme," IEEE Electronics Letters, vol. 36, no. 6, pp. 527-528, Mar. 2000.
Ying Sun, Chunxiang Xu, Qi Xia and Yong Yu, "Analysis and Improvement of a Proxy Blind Multi-signature Scheme without a Secure Channel," Information Assurance and Security 2009. Fifth International Conference on, vol. 2, pp. 661-664, Oct. 2009.
Shiangfeng Tzeng, Chengchi Lee and Minshiang Hwang, "A batch verification for multiple proxy signature," Parallel Processing Letters, vol. 21, no. 01, pp. 77-84, Mar. 2011.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.