DOI QR코드

DOI QR Code

A Design of Group Signature Based Vehicle Payment Protocol to Ensure Vehicle Anonymity

차량 익명성을 보장하는 그룹 서명기반 차량용 결제 프로토콜 설계

  • Chung, Myung-woo (Center for Information Security Technologies(CIST), Korea University) ;
  • Kim, Seung-joo (Center for Information Security Technologies(CIST), Korea University)
  • 정명우 (고려대학교 정보보호대학원) ;
  • 김승주 (고려대학교 정보보호대학원)
  • Received : 2019.06.03
  • Accepted : 2019.08.13
  • Published : 2019.08.31

Abstract

CV(Connected Vehicle) technology provides safety-related services and user convenience-related services to vehicle. Safety-related services can cause privacy problem by continuously transmitting vehicle information to nearby vehicles or base stations. Therefore, safety-related services should provide vehicle anonymity for privacy protection. However, if convenience-related services such as payment services fail to provide vehicle anonymity, driver information related to safety-related services may also be leaked. In this paper, we design a payment protocol based on ECQV(Elliptic Curve Qu-Vanstone) impicit certificate and group signature that provides BU-anonymity and traceability. The proposed payment protocol makes it impossible to track vehicles from payment transactions history by separating roles of payment system components. Moreover, we define the security requirements that the vehicle payment protocol must satisfy and show that the protocol satisfies the requirements.

CV(Connected Vehicle) 기술은 크게 차량에 안전 관련 서비스와 사용자 편의성 관련 서비스를 제공한다. 안전 관련 서비스는 차량 운행에 관한 정보들을 지속적으로 주변 차량 혹은 기지국에 전송하므로 프라이버시 문제가 생길 수 있다. 이에 안전 관련 서비스는 프라이버시 보호를 위해서 차량 익명성을 제공해야 한다. 그러나 결제 서비스와 같은 편의성 관련 서비스가 차량 익명성을 제공하지 못할 경우 안전 관련 서비스와 관련된 개인정보 또한 보호받을 수 없다. 이에 본 논문에서는 BU(Backward Unlinkability)-익명성과 추적성(traceability)을 제공하는 그룹 서명 기법과 ECQV(Elliptic Curve Qu-Vanstone) 묵시적 인증서를 기반으로 결제 프로토콜을 설계하였다. 제안하는 결제 프로토콜은 결제 시스템 구성요소의 역할을 분리하여 거래내역으로부터 차량을 추적할 수 없게 하였다. 또한 차량용 결제 프로토콜이 만족해야하는 보안 요구사항들을 정의하고 제안한 프로토콜이 이를 만족함을 보였다.

Keywords

I. 서론

CV는 V2V(Vehicle-to-Vehicle), V2I(Vehicle-to-Infrastructure) 통신을 통해 안전 관련 정보 혹은 교통 관련 정보를 지속적으로 교환 혹은 공유하는 기술을 말한다[1]. NHTSA(National Highway Traffic Safety Administration)의 연구 결과에 의하면 교차로에서 운전 중인 차량에 CV 안전 응용 프로그램을 적용하는 경우 매년 592,000건의 사고와 270,000건의 부상을 예방할 수 있다고 예상하였다[2]. 이에 미국은 USDOT의 주도하에 CV와 관련된 연구를 진행하고 있으며, 탬파, 뉴욕, 와이오밍주에서 현재 연구된 기술들을 바탕으로 파일럿 테스트(pilot test)를 진행하고 있다[3,4].

CV에서 제공할 수 있는 서비스는 크게 안전 관련 서비스와 사용자 편의성 관련 서비스로 나눌 수 있다[5, 6, 7]. 안전 관련 서비스는 차량의 안전에 영향을 끼칠 수 있는 정보들을 제공하는 서비스이며, 사용자 편의성 관련 서비스는 교통 관련 정보, 결제 서비스 등 사용자에게 편의성을 제공해주는 서비스들을 말한다. CV에서 제공하는 안전 관련 서비스의 경우 안전과 직접적으로 연관이 있기 때문에 메시지와 송/수신자에 대한 신뢰성이 중요하다. 또한 NHTSA는 [2]에서 소비자들이 CV 기술을 수용하기 위해서는 프라이버시를 고려하여 연구를 진행해야 함을 강조하였다. 이에 안전 관련 서비스에서 차량이 지속적으로 다른 차량 혹은 기지국에 전송하는 BSM(Basic Safety Messages)로부터 차량을 추적할 수 없도록 차량 익명성을 제공해야 한다. 현재 안전 관련 서비스와 차량 익명성 연구[8, 9, 10, 11, 12, 13, 14, 15, 16]에 비교적 많은 연구가 진행되고 있지만, 편의성 관련 서비스가 다양한 사업 모델을 제공할 수 있으므로 추후 해당 서비스의 연구 및 개발에 많은 연구가 진행될 것으로 기대된다[6].

사용자 편의성 관련 서비스 중에서 차량용 결제 서비스 관련 연구[6, 7, 16, 17, 18, 19, 20, 21]가 몇몇 연구자에 의해 진행되었다. 차량에서 결제 서비스를 제공하기 위해서는 결제 프로토콜이 차량 통신의 요구사항들을 만족해야 한다. 특히 차량의 높은 이동성에 의한 네트워크 휘발성[5, 22, 23, 24]과 차량이 금융기관과 직접적인 통신을 할 수 없는 특징[24,25]을 고려하여 결제 프로토콜을 설계해야 한다. 이에 이전 연구들에서는 효율적이면서도 안전하게 결제 요청을 전달할 수 있는 결제 서비스에 초점을 맞추어 시스템을 설계하였다. 그러나 위의 결제 프로토콜들은 차량 익명성을 제공하지 않는다. 결제 시스템이 차량 익명성을 제공하지 않는 경우 공격자는 결제 관련 정보로부터 차량을 추적할 수 있는 정보들을 수집할 수 있다. 더욱이 안전 관련 서비스에서도 공격자가 수집한 결제 관련 정보와 BSM으로 부터 차량을 추적할 수 있다. 즉, 차량 소유주의 개인정보를 보호하기 위해서 차량의 결제시스템 또한 차량 익명성을 제공해야 한다.

이에 본 논문에서는 결제 내역으로부터 차량을 추적할 수 없는 결제 서비스를 제공하기 위한 차량용 결제 프로토콜을 설계하였다. 차량을 추적할 수 없도록 역방향 불연결성[26] 및 추적성[27]을 만족하는 그룹 서명 기법[10,26]과 지역을 기반으로 그룹을 분리하여 효율적으로 그룹키를 폐지할 수 있는 DKM(Distributed Key Management)[11]을 사용하여 결제를 수행하며, 결제 참여자의 역할을 분리하여 결제 과정에서 수집한 정보를 바탕으로 차량을 추적할 수 없도록 하였다. 또한 차량만이 자신의 지역 그룹 개인키를 발급받을 수 있도록 ECQV(Elliptic Curve Qu-Vanstone) 묵시적 인증서[28] 기반의 티켓[15] 발급 과정을 적용하였다. 해당 결제 서비스는 다양한 결제 서비스 중에서 스마트 주차 혹은 주유소와 같은 서비스를 제공한다. 또한 차량은 은행과 직접 통신을 할 수 없는 환경이며, 판매자를 통해 서비스 제공자와 통신하는 상황으로 가정한다.

II. 관련 연구

2.1 키오스크 중심(Kiosk-Centric) 결제 모델 및 주요 트랜잭션

키오스크 중심 결제 모델은 Fig.1.과 같이 PG( Payment Gateway), M(Merchant), C(Client), C의 거래은행 I(Issuer), M의 거래은행 A(Acquirer)로 구성되어 있다. 해당 모델은 C가 I와 직접적으로 통신할 수 없는 제한된 환경에서 M이 프록시처럼 행동하여 C와 I의 통신을 가능하게 한다[7,29].

JBBHCB_2019_v29n4_753_f0001.png 이미지

Fig. 1. Kiosk-Centric Payment Model

해당 모델에서 결제를 수행하기 위해서는 크게 3가지 트랜잭션을 수행해야 한다[30]. Payment 트랜잭션은 C에 의해서 만들어지며 M에게 대금을 지급하고 서비스 혹은 재화를 받기 위한 메시지이다. Value Substraction은 C가 자신의 계좌로부터 돈을 출금하기 위하여 PG에 보내는 요청이다. Value Claim은 M에 의해서 만들어지며 자신의 계좌로 돈을 입금하기 위하여 PG에 요청하는 메시지이다.

2.2 차량용 결제 프로토콜 연구 사례

차량용 결제 프로토콜은 차량 통신의 추가적인 요구사항들을 고려하여 설계해야 한다. 이에  KCM-VAN(Kiosk Centric Model payment protocol for-VANet) 프로토콜[6]은 기존의 전자 서명 기법을 사용하지 않고 자체-인증 공개키를 사용하여 결제 프로세스의 효율성을 증가시켰으며, 가명ID를 사용하여 차량 익명성을 제공하려 하였다. [18]에서 제안한 결제 프로토콜의 경우 [6]의 자체-인증 공개키 기법을 기반으로 프로토콜을 설계하였으며, 자체-인증 키 동의 프로토콜을 제안하여 차량과 판매자가 안전하게 대칭키를 공유하게 하였다. 그리고 스트리밍 서비스와 같은 세션 기반 결제와 이벤트 기반 결제를 지원한다. 또한 [6]과 마찬가지로 가명-ID를 사용하여 차량 익명성을 제공하려하였다. 이외에도 [7]에서는 대칭키 암호화 기법만을 사용한 결제 프로토콜을 제안하였으며, [20]에서는 선불카드 기반의 결제 프로토콜을 제안하였다.

현재까지 제안한 프로토콜들의 경우 가명ID만을 사용하여 차량 익명성을 제공하려 하였다. 그러나  가명ID를 지속적으로 사용하면 결제 내역을 기반으로 차량을 추적할 수 있는 문제점을 가지고 있다. 또한 결제 참여자들의 경우 가명ID에 해당하는 차량을 알 수 있기 때문에 내부 공격자에 의한 프라이버시 침해를 방지할 수 없다.

2.3 그룹 서명기반의 차량 통신 연구 사례

그룹 서명 기법은 서명자의 익명을 보장하며 그룹에 가입된 멤버만이 서명을 수행할 수 있다. 이에 차량 익명성을 제공하기 위한 다양한 그룹 서명 기법들이 제안되고 있다. [12]는 차량의 프라이버시를 보호하고 차량 통신의 보안 요구사항을 만족시키기 위해서 Boneh 그룹 서명[31]기반의 그룹 서명 기법과 ID 기반 서명 기법을 사용한 GSIS(Group Signature and Identity-based Signature)를 제안하였다. GSIS는 차량과 차량의 통신에 그룹 서명을 사용하며 차량과 RSU(Road Side Unit) 혹은 특수 차량간의 통신에 ID 기반 서명 기법을 사용하였다. 또한 저자는 그룹의 멤버가 폐지되면 그룹 전체의 키를 업데이트해야하는 기존의 연구와 RL(Revocation List)의 크기가 커지는 문제를 해결하기 위해서 임계값을 설정하여 RL의 크기가 임계값을 넘을 경우에만 그룹의 키를 업데이트하는 방식을 사용하였다. 그러나 GSIS는 서명의 길이가 길고 무죄 입증성을 만족하지 않으며 역방향 불연결성을 만족하지 않는 문제를 가지고 있다. [32]연구에서는 필요한 경우 서명자를 쉽게 추적할 수 있으며 무선 네트워크, 센서 네트워크와 같은 환경에서 사용할 수 있는 그룹 서명 기법을 제안하였다. 그러나 서명의 길이가 길며 단일 기관에서 차량을 추적할 수 있다. 또한 역방향 불연결성을 제공하지 않는 문제가 있다. [10, 13, 26, 33] 연구에서는 차량 익명성을 제공하면서 역방향 불연결성을 만족하는 그룹 서명 기반의 인증 기법을 제안하였다. 역방향 불연결성을 만족시키기 위해 해당 논문은 키 생성 단계에서 시간에 의존적인 폐지 토큰을 발급하고 이를 RL에 추가하여 차량의 폐지 여부를 확인한다. 그러나 해당 연구들의 경우 단일 기관에서 폐지 토큰을 관리하므로 이를 통해 서명을 수행한 차량을 찾을 수 있다. 또한 [13, 26, 33] 연구는 역방향 불연결성을 만족시키기 위해 서명의 길이가 길어지는 문제점이 있다. [15]는 가명ID 발급 프로세스에 참여한 기관이 차량에서 사용하는 가명ID를 모두 알고 있는 문제점을 해결하기 위해 가명ID 발급 기관을 티켓 발급 기관과 토큰 발급 기관으로 분리하였다. [11]에서는 그룹 서명 기법에서 폐지와 관련된 메커니즘의 오버헤드가 커지는 문제점을 해결하기 위해 지역을 기반으로 그룹을 분리한 그룹 서명 기법을 제안하였다. 해당 연구에서는 차량이 TA(Trusted Authority)로부터 그룹 개인키를 발급받으며, 이를 기반으로 각 지역을 담당하는 RM(Regional group Manager)으로부터 키 업데이트 정보를 수신하여 지역 그룹 개인키를 발급받는다. 기존의 논문의 경우 TA의 신뢰를 기반으로 키를 발급을 수행하지만 해당 연구에서는 RM을 기반으로 키를 발급받으므로 RM에 대한 신뢰가 중요하다. 그러나 차량들이 RM을 신뢰할 수 없으므로 해당 논문에서는 차량이 어떤 지역 그룹 개인키를 소유하고 있는지 RM과 TA가 알 수 없게 하여 부인 방지를 제공한다. 그러나 TA가 차량의 그룹 개인키를 알고 있으므로 차량으로 위장하여 RM에게 키 업데이트 정보를 발급받을 수 있어 무죄 입증성(exculpability)을 만족하지 못한다.

이에 본 논문에서는 위의 연구들이 가지고 있는 문제점들을 해결하기 위해 BU-익명성 및 추적성을 만족하면서 지역을 기반으로 그룹을 분리한 그룹 서명 기법과 ECQV 묵시적 인증서 기반으로 결제 프로토콜을 설계하였다.

III. 배경지식

본 장에서는 제안하는 차량용 결제 프로토콜의 구성요소와 요구사항 및 결제 프로토콜에 사용되는 표기법들을 설명한다.

3.1 제안하는 차량용 결제 프로토콜 구성요소

본 논문에서 제안하는 결제 프로토콜은 키오스크 중심 모델을 따른다. 이는 차량 통신의 특성상 제한된 환경에서 결제를 수행하기 위한 것이다. 본 논문에서 제안하는 결제 프로토콜의 구성요소는 Fig. 2.와 같다.

JBBHCB_2019_v29n4_753_f0002.png 이미지

Fig. 2. Components of Payment Protocol

- 차량: 차량은 OBU(On Board Unit)를 탑재하며 다른 차량, 판매자 혹은 RSU와 DSRC(Dedicated Short Range Communications)/WAVE(Wireless Access in Vehicle Environment)를 통해 메시지를 주고받는다. 본 논문에서 차량은 판매자로부터 제품 혹은 서비스를 구매하고자 하는 결제 서비스의 소비자로 가정한다.

- 판매자: 판매자는 서비스 혹은 물품을 제공하는 구성요소이다. 본 논문에서는 판매자를 주유소, 톨게이트 등과 같은 물리적인 존재로 가정한다[7]. 판매자는 차량과 DSRC /WAVE로 통신하며 SP(Service Provider)와 인터넷을 통해 연결되어 있다. 또한 판매자는 판매자 거래은행을 통해 거래를 수행한다.

- 서비스 제공자1(SP1): SP2, 은행 그리고 인터넷에 연결되어 각 네트워크에서 중간자 역할을 수행한다. 인터넷을 통해 결제 요청을 처리하고,  이에 대한 응답을 차량 및 판매자에 전송한다.

- 서비스 제공자2(SP2): SP2는 SP1에서 받은 정보들을 바탕으로 결제 요청 차량의 등록 여부 및 인증을 수행한다. 그리고 등록된 차량에 대응되는 가상 계좌로부터 SP의 계좌로 금액을 인출하는 역할을 수행한다.

- RRM(Root RM): RRM은 각 지역을 관리하는 RM들에 그룹 개인키를 발급하는 역할을 수행한다. RRM은 TA와 그룹 파라미터 및 그룹 비밀키를 공유한다.

- RM: RMj는 Regionj를 관리하는 기관으로 차량에 키 업데이트 정보를 발급한다. RM은 RRM으로부터 그룹 개인키를 발급받으며, TM과 협력하여 차량의 신원을 밝힐 수 있다.

- TA: TA는 차량에 그룹 개인키와 티켓을 발급하는 기관이다. TA는 티켓 발급에 필요한 ECC 키 쌍과 그룹 공개키 및 비밀키를 소유하고 있으며 RRM과 그룹 파라미터 및 비밀키를 공유한다.

- TM(Trace Manager): TM은 RMj와 같이 부정거래가 발생한 차량의 신원을 확인하는 역할을 수행한다.

3.2 제안하는 차량용 결제 프로토콜 보안 요구사항

본 장에서는 차량의 익명성을 유지하면서 안전한 결제를 수행하기 위해 결제 프로토콜이 만족해야 하는 보안 요구사항들을 분석한다[10, 16, 34, 27, 35, 36, 37].

3.2.1 차량 보안 요구사항

- V1 요구사항(차량 자산 보호): 계좌와 연결되어 있는 차량 V가 아닌 다른 차량 혹은 장치에서 V의 계좌로 결제를 수행할 수 없어야 한다. 또한 악의적인 판매자, 인가받지 않은 판매자 혹은 SP에 의해 의도하지 않은 결제가 수행되었을 때, 해당 결제를 승인하지 않았음을 증명할 수 있어야 한다.

- V2 요구사항(결제 승인 확인): 차량은 결제 요청 후 자신의 계좌에서 돈이 인출되었음을 확인할 수 있는 증명 값을 수신해야한다.

- V3 요구사항(차량 익명성): 차량이 수행한 거래의 트랜잭션은 잠재적 차량 집합 내에서 익명성을 유지할 수 있어야 한다. 즉, 트랜잭션으로부터 특정한 차량이 결제를 수행했음을 알 수 없어야 한다.

- V4 요구사항(역방향 불연결성): 부정 거래가 발생하여 차량의 식별 정보를 확인한 경우, 부정 거래가 발생한 시점 이전에 수행된 거래내역과는 연결시킬 수 없어야 한다.

3.2.2 판매자 및 SP 보안 요구사항

- R1 요구사항(판매자 자산 보호): 판매자 M이 의도하지 않은 결제가 수행될 수 없어야하며 해당 결제를 승인하지 않았음을 증명할 수 있어야 한다.

- R2 요구사항(입금 확인에 대한 응답): 판매자는 자신의 은행으로부터 입금 사실을 입증할 수 있는 증명을 수신해야 한다.

- R3 요구사항(조건부 차량 식별): 익명의 차량에 의해서 부정 거래가 발생하였을 경우 해당 차량을 식별할 수 있어야 하며, 이는 다른 참가자들과의 협력을 통해 수행되어야 한다.

IV. 제안하는 차량용 결제 프로토콜

해당 장에서는 제안하는 차량용 결제 프로토콜의 결제 서비스 등록 및 결제 과정을 서술하며 이를 수행하기 위한 티켓 및 지역 그룹 개인키 발급 과정을 서술한다. 또한 부정 거래를 수행한 차량ID를 식별하고 지역 그룹 개인키를 폐지하는 과정을 설명한다.

4.1 차량의 지역 그룹 개인키 발급 과정

4.1.1 시스템 초기화

해당 장에서는 차량에 그룹 개인키 gski=<xi,

① TA는 그룹 키 발급에 필요한 그룹 파라미터[26,33]\(\left(G_{1}, G_{T}, p, e, g_{1}, g_{T}\right)\)그룹 비밀키 \(\gamma \in Z_{p}^{*}\), 그리고 그룹 공개키 \(\boldsymbol{w}=\boldsymbol{g}_{1}^{\gamma}\)을 계산하고 RRM과 \(\left(G_{1}, G_{T}, p, e, g_{1}, g_{T}, \gamma\right)\)를 공유한다. 또한 티켓 발급을 위한 타원 곡선 매개변수[28] \((q, a, b, G, n, h)\)를 선택한다.

② RRM은 지역j 를 관리하는 RMj 에 그룹 개인키 \(r g s k_{j}=<x_{j}, A_{j}=g_{1}^{1 / \gamma+x_{j}}>\)을 발급한다.

③ TM은 모든 시간 \(t \in[1, T]\)에 대하여 \(r_{t} \in Z_{p}^{*}\)를 선택하여 \(h_{t}=g_{1}^{r_{t}}\)을 계산한다.

최종적으로 TA는 그룹 공개키를 \(g p k=\left(g_{1}, g_{T}\right.\left.\boldsymbol{w}, h_{1}, h_{2}, \cdots, h_{T}\right)\)로 설정한다. 그리고 TM은 폐지 토큰 비밀정보 \(r t s k_{T M}=r_{t}\) , RMj는 그룹 개인키  를 안전하게 저장한다.

4.1.2 차량 티켓 발급

본 논문에서 제안하는 프로토콜의 경우 차량 i가  RMj로부터 키 업데이트 정보를 받기 위해서 자신이 결제 서비스 그룹 멤버임을 증명할 수 있는 티켓 \(\delta_{v_{i}}\)를 발급받아야 한다. [11]에서는 TA가 차량에 발급한 비밀정보 gsk{i}를 모두 알고 있으므로 TA는 차량으로 위장하여 키 업데이트 정보를 부적절한 방법으로 발급받을 수 있다. 이에 본 논문에서는 그룹 개인키 이외에 ECQV 묵시적 인증서 기반의 티켓 발급 과정을 추가하여 차량만이 알고 있는 비밀 값을 키 업데이트 발급 과정에서 사용할 수 있다. 티켓 발급 과정은 SCMS(Security Credential Management System)[8]의 등록 인증서 발급환경과 유사하게 차량 제조사와 TA간의 안전한 채널을 기반으로 수행되며, 그 과정은 Fig. 3.과 같다.

JBBHCB_2019_v29n4_753_f0003.png 이미지

Fig. 3. Ticket Issuance Process

① 그룹 개인키 발급 요청: 차량 Vi는 임의의 ECC 키 쌍 \(k_{v_{i}} \in[1, \ldots, n-1]\)\(R_{v_{i}}=k_{v_{i}} G\)를 생성하고 \(R_{v_{i}}\)를 TA에게 전송한다.

② 그룹 개인키 발급 응답: TA는 임의의 값 \(c \in[1, \ldots, n-1]\)를 선택하고 자신의 ECC 키 쌍 (QTA,dTA), 그룹키 쌍 \((\gamma, w)\)으로 공개키 추출 값 \(P_{v_{i}}=R_{v_{i}}+c G=\left(k_{v_{i}}+c\right) G\)와 그룹 개인키\(g s k_{i}=<x_{i}, A_{i}=g_{1}^{1 / \gamma+x_{i}}>\)와 결제 서비스 그룹 ID인 GID를 차량에 전송한다.

③ 티켓 발급 요청: \(V_{i}\)는 를 계산하여 TA에 전송한다.

④ 티켓 발급 응답: TA는\(e\left(\eta, w W_{2}\right)=e\left(W_{1}, g_{1}\right)\) 을 확인하여 Vi가 그룹 개인키 gski를 수신하였음을 확인한다. 이후\(\phi=h\left(P_{v_{i}}, G I D, W_{1}, W_{2}, \eta\right)\)로부터 비밀키 추출 값 \(\boldsymbol{r}_{v_{i}}=\phi \boldsymbol{c}+\boldsymbol{d}_{T A}\)를 계산하여 rvi값을 Vi에 전송한다.

비밀키 추출 값을 수신한 Vi는 티켓의 비밀키 \(s_{v_{i}}=\phi k_{v_{i}}+r_{v_{i}}\)와 공개키 \(P k_{v_{i}}=s_{v_{i}} G=\phi P_{v_{i}}+Q_{T A}\)를 계산하고 Table 1.와 같이 티켓 를 저장한다. 이후 \(V_{i}\)\(\delta_{v_{i}},<x_{i}, A_{i}>, r_{0}\)를 저장한다.

Table 1. Format of TIcket

JBBHCB_2019_v29n4_753_t0001.png 이미지

차량의 티켓 발급 과정과 유사하게 판매자 또한 TA로부터 판매자 IDm으로 티켓 \(\delta\)m을 발급받아야 한다. 해당 티켓을 통해 판매자는 차량에 자신이 정당한 판매자임을 증명할 수 있다. 판매자의 경우 익명성을 제공할 필요가 없다. 이에 본 논문에서 판매자는 ECQV 묵시적 인증서를 사용하여 안전하면서도 효율적인 통신을 지원하도록 한다. 판매자의 티켓 발급 절차는 [28]와 같다. 티켓 발급 절차를 완료한 M은 서명에 사용할 비밀키\(s_{m}=\phi r_{m}+k_{m}\)을 계산하고 이에 대응되는 공개키 \(P k_{m}=\phi P_{m}+Q_{T A}\)를 계산하여 저장한다. 이에 판매자 M의 티켓은 \(\delta_{m}\)\(=\left\{I D_{m}, P_{m}\right\}\)으로 구성되어 있다.

판매자는 수신한 티켓을 기반으로 ECDSA와 같은 효율적인 서명 기법을 사용할 수 있다[38]. 판매자의 서명을 수신한 차량은 MRL(Merchant Revocation List)에 포함된 판매자의 IDm을 보고 서명의 유효성을 판단할 수 있으며 효율적으로 서명을 검증할 수 있다.

4.1.3 차량의 키 업데이트 정보 발급

[11]에서는 지역을 기반으로 그룹을 분리한 키 업데이트 절차를 통해 효율적인 그룹키 폐지 절차와 폐지 여부 확인을 지원한다. 그러나 티켓 발급 기관이 차량으로 위장하여 키 업데이트 정보를 수신할 수 있는 문제가 존재한다.

이에 본 논문에서는 차량 티켓 \(\delta_{i}\)와 그룹 개인키 <xi,Ai>를 기반으로 업데이트 정보를 받을 수 있게 하여 TA가 차량으로 위장할 수 없도록 하였다. 또한 티켓에 차량의 그룹 개인키 관련 정보를 포함하도록 하여 [11]의 그룹 개인키 확인 절차를 제거하였으며, 겹선형 쌍함수 기반의 서명 대신 ECDSA와 같은 서명 기법을 사용하여 효율적으로 업데이트 정보를 받을 수 있도록 개선하였다. RMj의 지역 그룹 공개키 \(r g p k_{j}=\left\{P k_{j}^{1}, P k_{j}^{2}, P k_{j}^{3}, P k_{j}^{4}\right\}\)[11]를 사용한 키 업데이트 정보 발급 과정은 다음과 같다.

① 키 업데이트 정보 발급 요청(\(V_{i} \rightarrow R M_{j}\) ): Vi는 RMj에 키 업데이트 정보 발급을 요청한다. 이에 차량은 \(R e q=\left(T, x_{i}, t, \varphi=\left(P k_{j}^{2}\right)^{r_{0}}\right)\)를 생성하고 자신이 발급받은 티켓 \(\delta_{v_{i}}\)에 대응되는 \(\mathbf{S}_{v_{i}}\)로 Req에 서명을 수행 후 \(\operatorname{Req}\left\|\delta_{v_{i}}\right\| \operatorname{Sig}_{v_{i}}(\text {Req})\)을 전송한다.

② 키 업데이트 정보 발급 응답( \(R M_{j} \rightarrow V_{i}\)): RMj는 티켓 \(\delta_{v_{i}}\)\(P k_{v_{i}}\)를 계산하여 해당 티켓이 유효함을 확인하며 Vi가 유효한 그룹 개인키를 소유하고 있음을 알 수 있다. 이후 Pkvi로 서명 Sigvi(Req)를 검증한다. 검증에 성공하면 Req에 포함된 xi값이 블랙리스트에 포함되어 있는지 확인한다. 블랙리스트에 포함되어 있다면 키 업데이트 정보 발급을 중단하며, 그렇지 않은 경우 티켓 \(\delta_{v_{i}}\)\(\eta\)값과 \(\varphi\)로부터 키 업데이트 정보 \(\theta\)를 생성하여 Vi에 전송한다. \(\theta\)를 수신한 Vi는 다음과 같이 지역 그룹 개인키 \(A_{i}^{j, t}\)를 계산한다.

\(\begin{aligned} A_{i}^{j, t} &=\theta^{\frac{1}{r_{0}}} \\ &=A_{j}^{\frac{1}{\left(x_{j}+h(j \| t)\right)\left(x_{i}+\gamma\right)}} \end{aligned}\)       (1)

이후 Vi는 RMj로부터 발급받은 지역 그룹 개인키가 지역 j를 관리하는 RMj로부터 발급받았으며 시간 t에 대한 개인키임을 다음과 같이 검증할 수 있다.

\(e\left(A_{i}^{j, t}, P k_{j}^{1} g_{1}^{h(j \| t)}\right) \stackrel{?}{=} e\left(A_{i}, A_{j}\right)\)       (2)

 

4.1.4 그룹 서명 및 검증

지역 그룹 개인키를 수신한 차량 Vi는 [10]의 그룹 서명 생성 및 폐지 절차를 수행하며, 기존의 그룹키가 아닌 지역 그룹 개인키로 서명을 수행하기 위해 RMj의 지역 그룹 공개키 rgpkj로 [11]의 P1과 P2를 계산한다. 이후 서명 생성 및 검증 절차는 다음과 같다.

① 메시지 M에 대한 서명 \(\sigma\)을 생성할 차량 Vi\(\alpha \in Z_{p}^{*}\)를 선택하고 T1,T2 를 계산한다.

② 이후 \(r_{\alpha}, r_{x_{i}} \in Z_{p}^{*}\)를 선택하여 다음과 같이 \(R_{1}= e\left(P k_{j}^{2}, P k_{j}^{2}\right)^{r_{\alpha}} e\left(T_{1}, P_{1}\right)^{-r_{x}}, R_{2}, c, s_{\alpha}, s_{x}\) 를 계산한다.

③ 차량은 서명 \(\sigma=\left(T_{1}, T_{2}, c, s_{\alpha}, s_{x_{i}}\right)\)와 메시지 M을 전송한다.

서명을 수신한 판매자는 다음과 서명 검증과 폐지 여부를 확인한다.

① 판매자는 서명 검증을 위해 R1'과 R2'을 계산한다.

\(\begin{aligned} R_{1}^{\prime}=& e\left(P k_{R M_{j}}^{2}, P k_{R M_{j}}^{2}\right)^{s_{\alpha}} e\left(T_{1}, P_{1}\right)^{-s_{x_{i}}} \\ & e\left(T_{1}, P_{2}\right)^{-c} \end{aligned}\)        (3)

② 이후 판매자는 \(R_{1}^{\prime}, R_{2}^{\prime}\)로부터 \(c^{\prime}=h\left(M\|j\| t \| T_{1}\right. \left.\left\|T_{2}\right\| R_{1}^{\prime} \| R_{2}^{\prime}\right)\)을 계산하여 \(c^{\prime}=c\)이 성립할 경우 유효한 서명임을 알 수 있다.

③ 판매자는 \(R L_{j}\)에 포함된 \(\left(g r t_{i, j, t}^{1}, g r t_{i, j, t}^{2}\right)\)로부터  서명자의 폐지 여부를 확인할 수 있다.

\(e\left(T_{1}, g r t_{i, j t}^{1}\right)=e\left(T_{2} g r t_{i, j, t}^{2}, P k_{j}^{2}\right)\)       (4)

해당 식이 성립할 경우 차량 i가 폐지된 것으로 간주한다.

4.1.5 차량 ID 식별 및 그룹 개인키 폐지 절차

기존의 그룹 서명 기법[10, 14, 26, 32, 33]의 경우 단일 기관인 GM(Group Manager)에서 폐지 토큰을 계산하여 서명자의 신원을 밝힐 수 있는 문제가 존재하며, [11]은 그룹키 폐지 절차를 제공하지 않는다. 또한 그룹키 폐지 절차를 수행하기 위해서 모든 그룹 멤버의 폐지 토큰을 비교해야 하며 GM이 모든 그룹 멤버의 폐지 토큰을 저장하고 있어야 한다.

이에 본 논문에서는 부정 거래를 식별한 SP가 TM에 폐지 요청 메시지를 전송하여 RMj와 협력을 통해 폐지 절차를 수행하도록 한다. 또한 부정 거래가 발생한 시간 t와 지역 j에서 키 업데이트 정보를 받은 차량ID 집합만을 비교하여 폐지 절차를 수행하여 효율적이고 모든 그룹 맴버의 폐지 토큰을 저장할 필요가 없다. 자세한 절차는 다음과 같다.

① 그룹 개인키 폐지 요청(SP → TM): SP는 부정거래를 탐지하고 해당 거래에 포함된 \(h(h(O I) \| h(P I)), G \operatorname{Sig}_{y_{i}}(h(h(O I) \| h(P I))) . T_{v_{i}}\) 그리고 \(I D_{m}\)을 TM에게 전송한다.

② 차량ID 식별 관련 정보 전송(TM →RMj ): TM은 \(T_{v_{i}}\) , \(I D_{m}\)으로부터 t와 j를 선택하고 서명에 포함된 T1으로부터 \(T_{1}^{r_{t}}\)을 계산하여 RMj에  전송한다.

③ 차량ID 식별 및 그룹 개인키 폐지( RMj→ TM): \(T_{1}^{r_{t}}\)값을 수신한 RMj는 t시간에 키 업데이트 정보를 발급 받은 차량 {xi}로부터 \(e\left(T_{1}^{r_{t}}\right.\left.,g_{1}^{\left(x_{i}+\gamma\right)\left(x_{j}+h(j \| t)\right)}\right)\)\(e\left(T_{2} h_{t}^{-x_{i}}, A_{j}\right)\)를 계산하여 두 값이 같은 경우 를 블랙리스트에 추가하고 폐지 절차를 수행한다. 이후 RMj는 폐지 토큰 생성 정보 RI(Revocation Information) =\(\boldsymbol{w}^{\left(x_{j}+h(j | t)\right)} \boldsymbol{g}_{1}^{x_{i}\left(x_{j}+h(j | t)\right)}\)와 폐지 토큰 \(g r t_{i, j, t}^{2}=h_{t}^{-x_{i}}\)을 생성하여 RLj 에 추가한 후 RI를 TM에게 전송한다.

④ 폐지 토큰 생성 및 추가(TM → RMj): 위의 정보를 수신한 TM은 부정 거래 발생시간에 대응되는 rt로부터 \(g r t_{i, j, t}^{1}=R I^{r_{t}}=h_{t}^{\left(x_{i}+\gamma\right)\left(x_{j}+h(j | t)\right)}\)을 계산하여 RMj에게 전송한다. 이를 수신한 RMj\(g r t_{i j, t}^{1}\)를 RLj에 추가한다. 그리고 다른 RMj에게 xi를 전송하여 블랙리스트에 추가하도록 하며, i에 대한 지역 j*의 폐지 토큰을 Rlj*에 추가하도록 한다.

4.2 결제 서비스 등록 및 수행 절차

본 장에서는 차량이 결제 서비스를 등록한 후 판매자를 통해 재화를 구입하는 절차를 서술한다. 이때 SP1과 SP2, SP1과 은행간의 통신은 안전한 환경에서 수행된다고 가정한다. 이에 본 논문에서는 [34]에서 보인 결제 프로토콜과 동일하게 결제를 위해 필요한 정보들을 보내는 절차만을 서술한다.

4.2.1 결제 서비스 등록 단계

차량이 SP를 통해 결제를 수행하기 위해서는 사전에 SP에 차량을 등록하고 SP에서 관리하는 가상 계좌를 발급받아야 한다. 이를 위해서 차량은 TA로부터 발급받았던 티켓 를 사용하여 결제 서비스 그룹의 멤버임을 증명하고 SP와 결제에 필요한 정보를 공유한다. 결제 서비스 등록 절차는 다음과 같다.

① 서비스 등록 요청(Vi → SP1): 차량 Vi는 사전에 TA로부터 발급받았던 티켓 \(\delta_{v_{i}}\)를 기반으로 등록 요청 메시지 RegReq(Registration Request)를 계산한다. Vi는 가상 계좌 인증에 사용될 대칭키 \(K_{v_{v}, s p_{2}} \in Z_{p}^{*}\)를 선택하고 SP1으로 부터 계좌관련 정보를 숨기기 위해 \(s k_{v_{i}-s p 2}\)를 계산한다. Vi\(r_{v, p p_{2}} \in[1, n-1]\)를 선택하고 SP2의 인증서 공개키 \(P k_{s p 2}\)로부터 \(s k_{v_{i}-s p 2}=s_{v_{i}} r_{v_{i} s p 2}P k_{s p 2}\)를 계산한다. 이후 익명 신원 정보 AID를 선택하여 RegReq를 SPi에 전송한다.

\(\begin{aligned} &\operatorname{Reg} \operatorname{Req} \\ &=\left\{\delta_{v_{i}}, r_{v_{i} s p 2} P k_{v_{i}}, E_{s k_{v_{i}-s p 2}}\left(A I D, K_{v_{i}-s p 2}\right)\right. \\ &\left.S_{v i g_{v_{i}}}\left(r_{v_{i} s p 2} P k_{v_{i}}, E_{s k_{v_{i}-s p 2}}\left(A I D, K_{v_{i}-s p 2}\right)\right)\right\} \end{aligned}\)       (5)

② 가상 계좌 발급 요청(SP1 → SP2): Vi로부터 등록 요청을 받은 SP1은 \(\delta_{v_{i}}\)로부터 공개키를 추출하여 서명을 검증한다. 이후 가상계좌 발급을 위해 SP2에 \(r_{v_{i} s p 2} P k_{v_{i}}, E_{s k_{v_{i}-s p 2}}\left(A I D, K_{v_{i}-s p 2}\right)\)를 전송한다.

③ 가상 계좌 발급 응답(SP2 → SP1): SP2는 \(r_{v_{i} s p 2} P k_{v_{i}}\)로부터 \(s k_{v_{i}-s p 2}=s_{s p 2} r_{v_{i} s p 2} P k_{v_{i}}\)를 계산하고 \(A I D\)\(K_{v_{i}-s p 2}\)를 추출한다. 이후 가상 계좌를 발급하고 로 암호화한 후 서명 와 같이 SP1에게 전송한다.

④등록 요청 응답(SP1 → Vi): SP1은 SP2로부터 수신한 정보를 차량에 전달한다. 이후 차량은 \(P k_{s p 2}\)로 서명을 검증하고 가상 계좌 \(V A_{v_{i}}\)\(K_{v_{i}-s p 2}\)를 저장한다.

4.2.2 결제 및 승인 단계

본 논문에서 제안한 결제 프로토콜은 톨게이트, 주유소, 스마트 주차 등에 사용되는 것으로 가정하므로 판매자 M이 결제 요청을 Vi에게 보내는 것으로 시작한다. 위의 예들이 아닌 다른 서비스들의 경우 프로토콜을 적절하게 변경하여 결제를 진행할 수 있다. 결제 단계에서 Vi는 초기화 단계를 통해 가상 계좌에 일정한 금액을 입금한 상태로 가정한다. 결제 및 승인 절차는 Fig. 4.와 같다.

JBBHCB_2019_v29n4_753_f0004.png 이미지

Fig. 4. Payment and Authorization Phase

① 결제관련 정보 전송: M은 결제 관련 정보 OI(Order Information)= {IDm,Tm,OD(Order Description),price }, \(\delta_{m}, \operatorname{Sig}_{m}(h(O I \| T M))\)를 V에게 전송한다.

② 결제 요청: Vi\(​​​​\delta_{m}\)으로부터 \(P k_{m}\)을 계산하여 서명을 검증하고 OI를 확인한다. 그리고 소유하고 있는 SP2의 인증서로부터 대칭키 \(s k_{v_{i}-s p 2}=s_{v_{i}} r_{v_{i} s p 2} P k_{s p 2}\)를 계산한다. 그리고 \(r_{v_{i} s p 2} P k_{v_{i}}\)를 포함하는 다음과 같은 메시지를 작성한다.

(Value Substraction Request)

\(VSReq(Value\ Substraction\ Request) =M A C\left(TID, T_{v_{i}}, A ID, p r i o c, K_{v_{i}-sp2}\right)\)       (6)

\(\begin{aligned} &P I \\ &=\left\{T I D, T_{v_{i}}, r_{v_{i} s p 2} P k_{v_{i}}, E_{s k_{v_{i}-s p_{2}}}(A I D,\right. \\ &\quad V S R e q)\} \end{aligned}\)       (7)

이후 V는 다음과 같은 메시지를 M에게 전송한다.

\(\begin{aligned} &\text {PI(Payment Information).}\\ &G \operatorname{sig}_{v}(h(h(O I) \| h(P I))) \end{aligned}\)       (8)

③ 결제 승인 요청: M은 RMj의 지역 그룹 공개키 를 사용하여 서명 \(\operatorname{GSig}_{v}(h(h(O I) \| h (P I)) \)을 검증한다. 이를 통해 M은 Vi가 OI에 대한 결제를 요청하였음을 확인할 수 있다. 이후 \(\text {VCReq(Value Claim Request) }=\{P I, O I, \left.\delta_{m},ID _{A}\right\}\)를 계산하여 SP1에게 다음과 같은 메시지를 전송한다.

\(\begin{array}{l} \text {VCReq, } \operatorname{GSig}_{V_{i}}(h(h(O I) \| h(P I))) \\ \operatorname{Sig}_{m}(h(h(O I) \| h(P I))) \end{array}\)       (9) 

④ 차량 등록 여부 확인: SP1은 위의 메시지를 수신하고 Vi와 M의 서명을 검증한다. 이를 통해 M과 Vi가 OI에 대한 결제를 승인하였으며 같은 주문에 대한 결제 요청임을 확인할 수 있다. 또한 해당 서명이 결제를 요청한 M과 Vi에 의해서 작성되었으며, 각 \(\text {VSReq. VCReq}\)가 위/변조되지 않았음을 알 수 있다. 이후 SP1은\(PI, \text {price, } \operatorname{Sig}_{\text {sp} 1}(\text {PI,price})\)를 SP2\(\)에게 전송한다.

⑤ 결제 금액 인출: SP2는 \(s k_{v_{i}-s p 2}\)를 계산하고 AID및 \(K_{v_{i}-s p 2}\)를 추출하여 차량을 인증한다. 인증에 성공하면 SP2는 차량의 VAvi로부터 price에 해당하는 금액을 인출하여 자신의 가상 계좌로 돈을 입금한다. 그리고 VSRes(Value Substraction Response){Yes/No, SigSP2(Yes/No,AID,TID,Tvi,price}를 작성하고 \(Yes/No. TID, VSRes\)를 SP1에게 전송한다.

⑥ 입금 요청: SP1은 Vi의 가상 계좌 VAVi로부터 돈이 입금되었음을 확인하고 판매자 은행 A에 입금 요청 메시지 \(\left\{\text { OI, } T I D, h(P I), \operatorname{Sig}_{m}(h(h\right. (O I) \| h(P I)))\)}을 전송한다.

⑦ 입금 응답: 이를 수신한 A는 P의 계좌에서 M의 계좌로 돈을 입금한다. 이후 A는 SP1에게 입금에 대한 확인으로\( \operatorname{sig}_{A}(\text {Yes} / \text {No,h}(O I),\text { TID.}\left.T_{m}\right)\)를 전송한다.

⑧ 결제 승인 응답: SP1은 입금 요청 VCReq에 대한 응답 VCRes(Value Claim Response)=\(\left\{\text {VSRes. } \operatorname{sig}_{A}\left(\text {Yes} / \text {No,h}(\text {OI}), \text {TID.} T_{m}\right)\right\}\)를 M에 전송한다.

⑨ 결제 응답: VCRes를 수신한 M은 A의 서명을 확인하여 정상적으로 결제가 완료되었음을 확인하고 Vi에 VSRes를 전송한다. 이에 Vi는 VSRes를 확인하여 정상적으로 결제가 완료되었음을 확인할 수 있다.

V. 제안한 프로토콜 분석

5.1 보안 요구사항 분석

본 장에서는 본 논문에서 제안하고 있는 결제 프로토콜이 3.2절에서 정의한 보안 요구사항을 만족하는지 분석한다. 보안 요구사항 분석에 필요한 그룹 서명의 추적성 및 BU-익명성에 대한 증명은 본 논문의 부록에 서술하였다.

5.1.1 차량 보안 요구사항 분석

- V1 요구사항(차량 자산 보호): 본 요구사항은 차량 Vi이외의 장치 혹은 기관에서 Vi에 대한 결제를 수행할 수 없음을 만족해야함을 말한다. 이를 위해서 Vi이외의 차량 혹은 M에 의해서 Vi의 결제 승인에 대한 VSReq와 증명 값을 만들어 낼 수 없으며, 해당 정보의 위변조 및 재전송에 대한 탐지가 가능함을 보여야 한다. 이를 위해서 초과지출(overspending) 및 재전송 공격에 안전함을 보이며, 계좌 인증 관련 정보의 탈취가 불가능함을 보인다.

①  A1공격자(초과 지출 공격): 먼저 악의적인 판매자 A1이 실제 재화 및 서비스의 가격보다 높은 가격으로 결제를 수행하는 경우 SP가 이를 탐지할 수 있음을 보인다. A1은 Vi와 합의하였던 OI의 Price가 아닌 OI'의 price'으로 결제 요청을 전송하려 한다. A1은 로부터 PI에 대한 결제 요청 \(\text {VSReq}=M A C( \text {TID.}\cdots, \text { price }, K_{v_{i}-s p_{2}}^{\text { }}), P I\)그리고 서명 \(G \operatorname{sig}_{v_{i}}h(h(O I) \| h(P I))\)을 수신한다. 이후 A1\(V C R e q=\left\{P I, O I^{\prime}, \delta_{m^{\prime}}, I D_{A}\right\}\)를 계산하여 차량의 서명 및 \(\operatorname{Sig}_{A_{1}}\left(h\left(h\left(O I^{\prime}\right) \| h(P I)\right)\right)\)을 SP1에게 전송한다. 이를 수신한 SP1은 VCReq의 PI와 OI'으로부터 h(OI')와 h(PI)을 계산하여 서명을 검증한다. 이때 함수 h가 충돌저항성을 만족한다면, \(h(O I) \neq \left(O I^{\prime}\right)\)이므로 Vi의 서명 검증을 통과할 수 없다. 또한 서명 검증에 통과했다 하더라도 SP2에서 VSReq를 검증하는 과정에서 서로 다른 주문 정보에 대한 결제 요청임을 탐지할 수 있다. 즉, A1이 초과지출 공격에 성공하기 위해서는 차량 Vi의 서명을 변조해야 한다. 그러나 [27]에서 추적성을 만족하는 서명 기법은 위조 불가능성을 제공할 수 있다 하였으며, 해당 그룹 서명 기법은 부록에서 보인바와 같이 추적성을 만족하므로 A1이 해당 공격을 수행할 수 없음을 알 수 있다.

②  A2공격자(재전송 공격): 다음으로 공격자 A2가 이전 거래 TID에 대한 증명 값 \(G \operatorname{Sig}_{v_{i}} (h( h(O I) \| h(P I)))\)를 다음 거래인 TID'에서 재사용하는 공격을 탐지할 수 있음을 보인다. 이때 \(O I=O I'\)그리고 \(P I=P I^{\prime}\)인 경우는 타임스탬프 \(T_{v_{i}}\)\(T_{A_{2}}\)그리고 TID에 의해서 SP1이 거래 메시지 재사용을 탐지할 수 있으므로 다음과 같은 공격을 가정해본다. A2는 Vi와 평소와 같이 거래를 수행하며 \(T_{A_{2}}\)와 TID'를 제외한 나머지 주문 정보를 이전 주문과 동일하게 하여 Vi에게 전송한다. 이후 Vi는 TID'에 해당하는 증명 값을 A2에게 전송한다. 이를 수신한 A2\(V C R e q^{\prime}=\left\{P I^{\prime}, O I^{\prime} \ldots\right\}\)과 TID의 증명 값을 SP1에게 전송한다. 이를 수신한 SP1은 현재 시간 T와 \(T_{A_{2}}\)\(T_{v_{i}}^{\prime}\)그리고 저장된 TID값과 TID'값을 비교하여 해당 메시지가 재사용되지 않았음을 확인할 수 있다. 그러나 \(h(O I) \neq h\left(O I^{\prime}\right)\)이며 \(h(P I) \neq h\left(P I^{\prime}\right)\)이므로 증명 값에 대한 검증과정을 통과할 수 없다. 즉, 해당 공격을 성공하기 위해서는 초과지출 공격과 마찬가지로 서명의 변조가 필요하므로 A2는 해당 공격을 수행할 수 없다.

공격자가 Vi의 계좌 인증 정보를 탈취하여 Vi의 계좌로 결제를 수행할 수 없음을 다음과 같이 보일 수 있다. 이를 증명하기 위해 공격자는 차량의 역할을 수행하며 결제 서비스 등록 단계의 내용들을 도청하는 수동적 공격자 A3와 티켓 \(\delta_{v_{i}}\)의 비밀키 \(\mathcal{S}_{v_{i}}\)를 탈취 후 Vi로 위장하여 결제 서비스 등록을 수행하는 능동적 공격자 A4 로 나눌 수 있다.

③  A공격자(수동적 공격자의 도청 공격): 수동적 공격자 A3가 결제 서비스 등록 단계에서 얻을 수 있는 정보들은 다음과 같다.

\(r_{v s p 2} P k_{v}, E_{s k_{r-p p 2}}\left(A I D, K_{v-s p 2}\right)\),

\(E_{s k_{v-x p 2}}\left(V A_{v}\right)\)       (10)

이때 공격자 A3\(A I D, K_{v_{i}-s p_{2}}, V A_{v_{i}}\)를 얻기 위해서는 암호화키 \(s k_{v_{i}-s p 2}\)를 계산할 수 있어야 한다. 그러나 \(s k_{v_{i}-s p 2}\)의 경우 \( r_{v_{i} s p 2} P k_{v_{i}}\)\({s}_{s p 2}\)를 통해 계산할 수 있으므로 \({s}_{s p 2}\)를 알고 있는 사용자만이 계산할 수 있다. 즉, 공격자 A3는 Vi의 계좌 인증 정보를 알기 위해서는 SP2의 비밀키를 알고 있어야하므로 해당 공격을 수행할 수 없다. 이때 SP2의 비밀키를 탈취 할 수 없음을 보이기 위해서 공격자 A4의 능동적 공격이 불가능함을 보인다. SP2의 인증서와 차량의 티켓은 ECQV 묵시적 인증서를 사용하므로 차량 티켓의 안정성을 보임으로써 SP2의 비밀키를 탈취할 수 없음을 보일 수 있다.

④ A공격자(능동적 공격자의 위장 공격): 능동적 공격자 A4\(\delta_{v_{i}}\)의 비밀키 \({s}_{v_{i}}\)를 탈취하였다 가정하였을 때, A4는 Vi로 위장하여 결제 서비스 등록을 수행할 수 있다. 그러나 TA라 할지라도 \(\delta_{v_{i}}\)에 대응되는 차량의 비밀키 \(\mathbf{S}_{v_{i}}\)를 탈취하는 것이 계산적으로 불가능함을 ECDLP 문제를 기반으로 증명할 수 있다. A4를 차량 Vi의 공개키 및 티켓 발급 과정에서 나온 정보들로부터 비밀키 \({s}_{v_{i}}\)를 추출할 수 있는 공격자라 가정하며, 증명에 사용된 파라미터들은 4.1.1의 시스템 초기화 과정에 사용된 타원 곡선 파라미터와 동일하다. 이때 효율적인 공격자 A4가 존재한다면 ECDLP 문제를 해결할 수 있는 챌린저 C가 존재함을 보일 수 있다. A4는 TA의 역할을 수행하며, 챌린저 C는 차량 Vi의 역할을 수행한다. 먼저 챌린저 C는 (G,rG)를 입력 값으로 받아 \(\left(R_{v_{i}}=r G, c\right.\left.d_{T A}, \phi\right)\)를 생성하여 A4에게 전송한다. 이를 수신한 는 위의 정보들을 기반으로 차량의 비밀키 \(\mathbf{S}_{v_{i}}\)을 출력한다. 이에 C는 \(r=\left(s_{v_{i}}-d_{T A}\right) / \phi\)를 계산하여 r을 출력함으로써 ECDLP 문제를 해결할 수 있다. 그러므로 능동적 공격자 A4는 Vi의 티켓 비밀키를 알 수 없으며, SP2의 인증서 또한 ECQV 인증서를 사용하므로 수동적 공격자 A3에 의해서 수행되는 공격 또한 불가능함을 알 수 있다.

위의 공격이 불가능함을 보임으로써 계좌와 연결되어 있는 차량 Vi가 아닌 다른 차량 혹은 장치에서 Vi의 계좌로 결제를 수행할 수 없음을 증명하였다. 또한 증명 값 \(G \operatorname{Sig}_{v_{i}}(h(h(O I) \| h(P I)))\)이 추적성을 만족하므로 무죄 입증성을 제공할 수 있다[27]. 즉, 결제 그룹에 참여한 차량들의 연합 혹은 증명 값으로부터 차량의 신원을 밝힐 수 있는 공격자라 할지라도 해당 증명 값을 생성할 수 없음을 의미한다. 그러므로 차량 Vi는 자신이 의도하지 않은 결제가 발생하였을 때 결제를 승인하지 않았음을 증명할 수 있다.

- V3 & V4 요구사항(차량 익명성 & 역방향 불연결성): 본 요구사항은 거래 내역으로부터 차량을 식별할 수 없으며, 차량이 폐지된 시점 이전에 수행된 거래 내역에 대해서 익명성을 보장해야함을 말한다.

본 논문에서 제안한 결제 프로토콜의 경우 결제 단계에서 차량이 생성한 서명과 VSReq 에 포함된 AID 와 \(K_{v_{i}-s p 2}\)는 임의의 차량에 대응시킬 수 있는 정보를 포함하고 있다. SP1이 해당 값을 알고 있을 경우 TID, \(T_{v_{i}}\)그리고 price로부터 VSReq를 계산하여 어떤 차량의 결제 요청인지를 알 수 있다. 이에 결제 서비스등록 과정에서 AID 와 \(K_{v_{i}-s p 2}\)는 Vi와 SP2만이 알 수 있도록 \(s k_{v_{i}-s p 2}\)로 암호화되어 전송된다. V1 요구사항에서 보인바와 같이 차량 혹은 SP2의 비밀키를 알고 있어야만 암호화키 \(s k_{v_{i}-s p 2}\)를 계산할 수 있으므로 외부에서 해당 값을 탈취할 수 없다. 또한 SP1은 차량 인증과 거래의 적정성만을 판단하며 SP2는 계좌 소유주 인증만을 수행하도록 분리하였다. 이에 SP2는 SP1으로 부터 가격을 제외한 결제와 관련된 어떠한 정보도 수신하지 않으므로 차량 Vi의 계좌 정보와 거래 내역간의 연관성을 알 수 없다. 즉, 임의의 거래에 대해서 어떤 차량이 결제를 수행했는지 알 수 없다.

다음으로 차량 Vi가 부정거래로 시간 t에 폐지되었다 가정해보자. 이때 SP1은 폐지 토큰으로부터 서명을 검증하여 시간 t 이후에 차량 Vi가 수행한 거래 내역들을 확인할 수 있다. 그러나 그룹 서명 기법이 BU-익명성을 만족하므로 t'>t를 만족하는 V의 폐지 토큰을 알고 있다 하더라도 시간 t 이전에 차량 Vi로부터 수행된 거래내역들은 식별할 수 없다. 그러므로 제안하는 결제 프로토콜은 본 요구사항을 만족한다.

5.1.2 판매자 및 SP 보안 요구사항 분석

- R1 요구사항(판매자 자산 보호): 본 요구사항은 판매자가 의도하지 않은 결제가 수행될 수 없으며, 해당 거래를 승인하지 않았음을 증명할 수 있어야 함을 말한다. 해당 요구사항을 만족함을 보이기 위해서 판매자와 합의한 금액보다 작은 금액으로 결제를 수행하려는 공격과 판매자로 위장하여 경제적 손실을 입히는 공격을 수행할 수 없음을 증명한다. 또한 판매자만이 결제 요청에 대한 증명 값을 계산할 수 있음을 보인다.

①  A5공격자(결제 금액 변조 공격): 공격자 A5가 판매자 M과 합의한 결제 금액 price가 아닌 이보다 작은 price'로 결제를 수행하려 한다. A5는 기존의 결제 절차와 똑같이 OI를 수신하고 PI를 작성한다. 이때 A5는 OI의 price가 아닌 price'을 입력 값으로 VSReq를 계산한다. 이후 PI값과 서명값을 M에게 전송한다. 이를 수신한 M과 SP1은 VSReq를 검사하지 않으므로 A5가 price'로 결제를 수행하려는 사실을 탐지하지 못한다. 이에 SP1은 A5와 M의 결제 요청이 유효한 것으로 판단하여 OI에 포함된 price와 PI를 SP2에게 전송한다. SP2는 이 값들을 기반으로 VSReq'을 생성하고 A5의 VSReq와 비교한다. 이때 \(\text {price } \neq \text {price}^{\prime}\)임으로 \(\text {VSReq} \neq V S R e q^{\prime}\)이다. 즉, SP2는 해당 결제 요청이 잘못되었음을 탐지할 수 있다.

②  A6 공격자(판매자 위장 공격): 공격자 A6는 판매자 M으로 위장하여 의도하지 않은 결제를 수행하려 한다. 차량 A6는 판매자 M으로 위장하여 의도하지 않은 결제를 수행하는 절차는 다음과 같다. A6는 실제 물품의 금액보다 낮은 금액으로 VCReq를 계산하고 자신의 서명과 M의 서명 \(\operatorname{Sig}_{m}(h(h(O I) \| h(P I)))\)를 생성하여 SP1에게 결제를 요청하여 정상적인 결제를 수행할 수 있다. 이때 A6가 해당 공격을 성공하기 위해서는 M의 결제 요청 승인에 대한 증명 값 \(\operatorname{Sig}_{m}(h(h(O I) \| h(P I)))\)를 올바르게 생성할 수 있어야 한다. [38]에서 보인바와 같이 ECQV 묵시적 인증서 기반의 ECDSA 서명 기법을 사용하였을 때 존재적 위조가 불가능하므로 해당 서명을 올바르게 생성하기 위해서는 M의 티켓 \(\delta_{m}\)에 대한 비밀키 sm을 알아야만 한다. 이때 \(\delta_{m}\)으로부터 sm을 알아내는 것은 V1 요구사항에서 보인바와 같이 ECDLP 문제와 동치임을 알 수 있다.   

해당 요구사항의 증명 과정에서 보인바와 같이 티켓의 비밀키는 판매자만이 알고 있으며 ECQV 기반의 ECDSA 서명 기법은 존재적 위조가 불가능하므로 판매자는 해당 서명 값을 통해 의도하지 않은 결제에 대해 결제를 승인하지 않았음을 증명할 수 있다.

- V2 & R2 요구사항(결제 승인 응답 & 입금 확인에 대한 응답): V2 및 R2 요구사항은 차량과 판매자가 SP2 및 은행으로부터 결제에 필요한 입출금이 완료되었음을 확인할 수 있어야 함을 말한다. 요구사항을 만족하기 위해서 판매자는 SP1이 판매자 은행에 입금 요청을 하지 않고 입금 완료 응답을 판매자에게 전송할 수 없어야 한다. 또한 차량은 SP2에 의해서 생성된 응답 값을 항상 수신해야할 수 있어야 한다.

판매자는 결제 진행 과정에서 은행으로부터 \(\operatorname{sig}_{A}\left(\text {Yes} / \text {No,h}(\text {OI}), \operatorname{TID}, T_{m}\right)\)를 수신하여 입금 사실을 확인할 수 있다. 해당 값은 TID와 Tm을 포함하고 있어 SP1에 의한 재전송 공격을 방지할 수 있다. 또한 R2 요구사항에 의해서 서명의 위변조가 불가능함을 확인할 수 있으므로 판매자는 SP1이 입금 요청을 하지 않고 입금 완료 응답 메시지를 전송하였음을 탐지할 수 있다.

본 논문에서 제안한 결제 프로토콜은 키오스크 모델을 기반으로 설계하였다. 키오스크 모델의 경우 차량이 SP와 직접적으로 통신할 수 없는 환경을 가정하므로 판매자가 차량에 응답메시지를 의도적으로 보내지 않을 수 있다. 이에 차량이 판매자로부터 응답 값을 받지 못한 경우 차량이 RSU를 통해 SP와 통신을 수행할 수 있다. 차량은 RSU를 통해 SP에 해당 거래 관련 정보를 제공하여 응답 메시지를 수신하거나 부정행위를 일으킨 판매자의 폐지를 요청할 수 있다. 

- R3 요구사항(조건부 차량 식별): 해당 요구사항은 익명의 차량에 의해서 부정거래가 발생하였을 때, 해당 차량을 식별 할 수 있어야 함을 말한다. 본 논문에서 제안하는 결제 프로토콜의 경우 SP는 결제 완료 후 VCReq와 차량 및 판매자의 서명 값을 저장한다. 이후 부정 거래가 발생하였을 때 SP는 Tv,IDm그리고 차량의 서명으로부터 차량을 식별할 수 있다. 차량의 신원을 식별하는 절차는 4.1.5절의 차량 ID 식별 및 그룹 개인키 폐지 절차를 따른다.

본 결제 프로토콜이 해당 요구사항을 만족하기 위해서는 SP에 의해서 식별된 차량의 ID와 서명을 수행한 차량의 ID가 동일해야 한다. 이는 SP가 항상 거래 내역으로부터 차량ID를 식별할 수 있음을 의미하며, 차량의 서명 기법이 추적성을 만족하므로 서명으로부터 차량의 xi값을 식별할 수 있는 공격자 혹은 결제 그룹 멤버들의 연합이라도 추적이 불가능한 서명을 만들 수 없음을 알 수 있다. 즉, SP는 항상 거래내역으로부터 실제 차량의 ID를 식별할 수 있다. 또한 4.1.5에서 보인바와 같이 RM과 TM의 협업을 통해서 차량의 ID를 밝힐 수 있으므로 단일 기관에서 거래내역으로 부터 차량ID를 식별할 수 없다.

5.2 비교 분석

해당 결제 프로토콜은 효율적인 그룹 서명을 기반으로 위의 요구사항들을 만족한다. Table 2.는 이전의 그룹 서명 기법들과 본 논문에서 제안한 그룹 서명 기법의 서명 길이, 서명 생성 및 검증에 필요한 계산 오버헤드를 비교한 것이다. 다른 기법과 마찬가지로 제안한 기법은 p를 170 비트, G1의 요소를 171비트 그리고 GT의 요소가 1020 비트인 MNT 곡선[33]을 사용한다. 여기서 다중 지수 연산과 겹선형 쌍함수를 ME와 BM으로 표기한다. 계산 오버헤드 계산 기준은 [14]와 [31]을 따른다. 표에서 보는바와 같이 제안하는 그룹 서명 기법은 기존의 그룹 서명 기법에 비해 서명 길이가 짧으며 서명 생성 및 검증을 효율적으로 수행할 수 있다. 또한 기존의 기법은 서명자의 신원을 밝히기 위해서 그룹 멤버의 수만큼 비교 연산을 수행해야하나, 제안하는 기법은 지역을 기반으로 그룹을 분리하였으므로 지역 그룹에 포함된 멤버의 수만큼의 비교연산만을 수행하면 된다. 즉, 기존의 기법들보다 효율적으로 서명자의 신원을 밝힐 수 있다.

Table 2. Group signature performance comparisons

JBBHCB_2019_v29n4_753_t0002.png 이미지

그룹 서명에 대한 비교를 바탕으로 차량 결제와 관련된 이전 연구들과의 계산 오버헤드 및 요구사항 만족 여부를 비교하면 다음 Table 3.과 같다. 표기법은 [18]을 따르며, TVER은 서명 검증 시간, TMAC은 MAC 동작 시간을 뜻한다. 여기서 계산 오버헤드는 차량에서 수행되는 세션키 생성 및 결제 수행단계만을 포함하여 계산한다. 표에서 보는바와 같이 제안하는 결제 프로토콜이 기존의 연구들보다 높은 계산 오버헤드를 요구한다. 그러나 기존의 연구들은 익명성을 제공하지 않으며, 결제 프로토콜의 요구사항 또한 만족하지 않는다. [6]의 경우 사전에 SA와의 등록과정에서 발급받은 비밀키와 공개키 쌍으로부터 서명 및 암호화를 수행하지만 공개키와 차량의 신원 IDp를 대응시킬 수 있다. 또한 [17]의 경우 결제를 수행할 때 결제 참여자와 차량이 사전에 키를 공유했다 가정하고 결제를 수행하는 한계가 존재한다. [18]의 경우 결제 요청 메시지의 위/변조를 탐지하기 위한 서명이 포함되어 있지 않으며, [6] 연구와 마찬가지로 차량의 신원 IDV가 지속적으로 사용되어 결제 내역으로부터 차량을 추적할 수 있다. 그러므로 본 논문에서 제안한 결제 프로토콜은 익명성을 제공하면서도 효율적으로 결제 서비스를 제공할 수 있음을 알 수 있다.

Table 3. Payment protocol performance and requirements comparison

JBBHCB_2019_v29n4_753_t0003.png 이미지

VI. 결론

CV에서 차량의 추적을 방지하기 위해서는 안전 관련 서비스 이외에도 결제 서비스와 같은 사용자 편의성 서비스 또한 차량 추적을 방지할 수 있어야 한다. 특히 결제 서비스의 경우 거래 내역으로부터 차량을 추적하기 쉬우며, 이를 통해 안전 관련 서비스에서 사용되었던 메시지도 추적이 가능하다. 이에 본 논문에서 제안한 결제 프로토콜은 차량 익명성을 만족하며, 추적성 및 BU-익명성을 만족하는 그룹 서명을 기반으로 결제 프로토콜을 작성하여 공격자가 거래 내역 혹은 다른 정보들로부터 차량을 추적할 수 없도록 설계하였다. 차량은 TA로부터 티켓과 그룹 개인키를 발급받고 지역 j에서 RMj로부터 키 업데이트 정보를 수신하여 지역 그룹 개인키를 발급받는다. 또한 거래 요청 메시지에 차량의 고유 특성을 식별할 수 있는 정보들이 포함되어 있지 않아 거래내역으로부터 차량을 식별할 수 없다. 그리고 단일 기관에서 차량을 추적할 수 없도록 기관의 역할을 분리하였으며 역방향 불연결성을 만족시키는 폐지 토큰을 사용한다. 마지막으로 해당 결제 프로토콜이 3.2절에서 정의한 보안 요구사항들을 만족함을 보였다.

Appendix

본 논문에서 제안하는 그룹 서명 기법에 대한 정의와 추적성과 BU-익명성 정의는 다음과 같다.

정의1. 본 논문의 그룹 서명기법은 다음과 같은 알고리즘으로 구성된다.

\(\text {KeyGen}(N, T, J)\): 해당 알고리즘은 TA, RRM, TM에 의해 수행되는 확률적 알고리즘으로써, 그룹 맴버 집합의 크기 N , 시간 간격 집합 T ,  RM 집합의 크기 J를 입력 받아 그룹 공개키 gpk , 그룹 맴버의 그룹 개인키 \(\left\{g s k_{1}, \dots, g s k_{i}, \dots, g s k_{N}\right\}\), RM의 그룹 서명키 \(\left\{r g s k_{1}, \dots, r g s k_{j}, \dots, r g s k_{J}\right\}\)를 계산한다. 또한 그룹 맴버와 TA간의 상호 작용을 통해 그룹 맴버의 티켓 \(\left\{\delta_{1}, \ldots, \delta_{i}, \ldots, \delta_{N}\right\}\)을 발급한다.

▪ \(\text {Update }\left(g p k, r g p k_{j}, g s k_{i}, r g s k_{j}, \delta_{i}, j, t\right) :\) 해당 알고리즘은 TA로부터 티켓 \(\delta_{i}\)를 발급받은 그룹 맴버 \(i \in[1, N]\)와 지역 \(j \in[1, J]\)에 속한 RMj간의 상호 작용을 통해 시간 \(t \in[1, T]\)와 지역 j에 유효한 키 업데이트 정보를 맴버 i에게 발급한다. 그룹 맴버 는 키 업데이트 정보를 통해서 지역 그룹 개인키 \(A_{i}^{j, t}\)를 계산한다.

\(\cdot \operatorname{Sign}\left(g p k, \operatorname{rgp} k_{j}, A_{i}^{j, t}, j, t, M\right)\): 해당 알고리즘은 확률적 알고리즘으로 그룹 맴버 i에 의해서 수행되며,\(g p k, A_{i}^{j, t}\) 그리고 \(r g p k_{j}\)를 사용하여 지역  j및 시간 t에 유효한 메시지 M에 대한 서명 \(\sigma\)를 생성한다.

\(\text {Verify}\left(g p k, r g p k_{j}, R L_{j}, j, t, M, \sigma\right)\): 검증 알고리즘의 경우 지역 그룹 공개키 rgpki, 그룹 공개키 gpk , 지역 j에 유효한 폐지 토큰 집합 RLj그리고 메시지 M에 대한 서명 \(\sigma\)을 입력 값으로 하며 valid 혹은 invalid 를 반환한다. invalid의 경우 유효하지 않은 서명이거나, 폐지된 그룹 맴버에 의해 생성된 서명의 경우 가능한 결과 값이다.

\(\text {Open}\left(g p k, r g p k_{j}, R L_{j}, j, t, \sigma\right)\): 해당 알고리즘은 RMj와 TM에 의해서 수행된다. 지역 j와 시간 t 에 생성된 서명 \(\sigma\)에 대응되는 서명자 의 ID를 밝혀내고 폐지 토큰 grti,j,t를 생성하여 RLj에 추가한다. 또한 다른 지역을 관리하는 모든 RMj*가 RLj*에 폐지 토큰을 추가할 수 있도록 폐지된 서명자의 ID 값인 xi를 전송한다. 서명자의 신원을 밝히지 못한 경우 \(\perp\)를 반환한다.

다음으로 BU-익명성은 역방향 불연결성을 가지는 익명성을 보장하기 위한 요구사항이다. 이때 BU-익명성 게임은 다음과 같이 정의한다. 

▪SEtup : 챌린저 C는 키 생성 알고리즘과 업데이트 알고리즘을 수행하여 (gpk,rgpk,rgsk,gsk,ugsk,grt)를 얻을 수 있으며 공격자 A에게 gpk와 rgpk를 전송한다.

▪Queries: C는 모든 시간 간격 \(t \in[1, T]\)의 시작 부분에서 A에게 t의 시작을 알리며 t값은 계속해서 증가한다. 그리고 현재 시간 t에 A는 C에게 다음과 같은 쿼리를 할 수 있다.

-Signing : A는 임의의 맴버 i와 지역 j 그리고 현재 시간 t 에 대해서 임의의 메시지 M에 대한 서명을 C에 요청할 수 있다. C는 해당 쿼리에 대한 응답으로 메시지 M에 대한 서명을 A에게 전송한다. 

-Corruption : A는 임의의 맴버 i에 대한 비밀키 gski를 요청한다.

- Revocation : A는 시간 t 와 임의의 지역 j에 대한 맴버 i의 폐지 토큰을 요청하며 C는 이에 대한 응답으로 grti,j,t를 A에 전송한다.

▪Challenge : A는 임의의 i0와 i1에 대한 쿼리를 요청하지 않았으며, 지역 j에서 시간 t이전에 i0,i1에 대한 revocation 쿼리를 요청하지 않은 경우 \(\left(M, i_{0}, i_{1}, j_{0}, t_{0}\right)\)를 출력한다.  C는 무작위로 \(\Phi \in\{0,1\}\)을 선택하고 맴버 \(\dot{\imath}_{\Phi}\)에 대해서 메시지 M에 대한 서명을 A에게 전송한다.

▪Restricted Queries: A는 지역 j와 시간 t 이전에 io와 i1에 대한 Corruption 그리고 Revocation 쿼리를 요청할 수 없다. 이를 제외한 Signing, Corruption 그리고 Revocaton 쿼리를 요청할 수 있다. 

▪ Output : 마지막으로 A는 \(\Phi\)에 대한 추측값 \(\Phi\)'을 출력한다.

\(\Phi\)=\(\Phi\)'인 경우 는 BU-익명성 게임에서 승리한 것으로 간주하며, A의 이점(advantage)을 \(\left|\operatorname{Pr}\left[\Phi-\Phi^{\prime}\right]-1 / 2\right|\)로 정의한다.

정의2(BU-익명성). BU-익명성은 다항 함수 시간에 동작하는 모든 A에 대해서,  BU-익명성 게임에 대한 의 이점이 무시할 정도로 작아야 한다.

추적성 요구사항을 통해 그룹 서명의 위조 불가능성과 무죄 입증성를 제공할 수 있다. 이때 공격자 A와 C의 추적성 게임은 [10, 14, 26, 33]에 정의된바와 유사하여 본 논문에서는 이에 대한 설명을 생략한다.

정의3(추적성). 추적성은 다항 함수 시간에 동작하는 모든 A에 대해서, 추적성 게임에 대한 A의 이점이 무시할 수 있을 정도로 작아야한다.

다음 정리를 통해서 결제 프로토콜에서 사용된 그룹 서명이 BU-익명성과 추적성을 만족함을 보일 수 있다.

정리1. qR번의  Revocation쿼리와 qC번의 Corruption쿼리 이후 제안하는 그룹 서명 기법의 BU-익명성을 이점 e으로 깰 수 있는 공격자 A가 존재한다면, \(\left(1-\frac{q_{R}\left|T^{\prime}\right|+q_{c}}{N}\right) \frac{2}{N J T} \epsilon\)이점으로 G상에서 DLDH 가정을 깰 수 있는 알고리즘 B가 존재한다.

 증명) B의 입력값은 \(u, v, h \in G\)\(a, b, c \in Z_{p}^{*}\)이며, \(Z=h^{a+b}\)이거나 \(Z=h^{c}\)일 때 \(\left(u, v, h, u^{a}, v^{b}, Z\right)\)라고 하자. 이때 B는 A와의 상호작용을 통해 다음과 같이 Z값을 결정할 수 있다:

▪Setup: B는 KeyGen(N,T,J)를 다음과 같이 시뮬레이션 한다.

① B 는 g1=u로 설정하고 \(i^{*} \in[1, N]\), \(t^{*} \in[1, T]\)그리고 \(j^{*} \in[1, J]\)를 선택한다.

② t*를 제외한 모든 \(t \in[1, T]\)에 대해서 B는 \(r_{t} \in Z_{p} *\)를 선택하여 \(h_{t}=g_{1}^{r_{t}}\)를 계산한다. 그리고 t*에 대해서는 \(h_{t^{*}}=h\)로 설정한다.

③ i*를 제외한 모든 \(i \in[1, N]\)에 대해서 B는 \(x_{i} \in Z_{p}^{*}\)를 선택하고 \(A_{i}=g_{1}^{\frac{1}{x_{i}+\gamma}}\)를 계산한다. i*에 대해서는 \(x_{i^{*}}=a\)그리고 \(A_{i^{*}}=g_{1}^{\frac{1}{a+\gamma}}\)로 설정하며 B는 a값을 모르기 때문에 해당 값 또한 알지 못한다.

\(j \in[1, J]\)에 대해서 \(x_{j} \in Z_{p}^{*}\)를 선택하고 \(A_{j}=g_{1} \frac{1}{x_{j}+\gamma} \)를 계산한다.

⑤ i*를 제외한 모든 \(i \in[1, N], j\)그리고 t에 대해서 B는 \(A_{i, j, t}=A_{j} ^\frac{1}{\left(x_{j}+h(j \| t)\right)\left(x_{i}+\gamma\right)}\)를 계산한다. i*에 대해서는 \(A_{i^{*}, j, t}=A_{j}^{\frac{1}{\left(x_{j}+h(j \| t)\right)\left(x_{i} \cdot+\gamma\right)}}\)로 설정하며 B는 해당 값을 알지 못한다.

⑥ B는 i*를 제외한 모든 i,t그리고 j에 대해서 \(g r t_{i, j, t}=\left(h_{t}^{\left(\gamma+x_{i}\right)\left(x_{j}+h(j \| t)\right)}, h_{t}^{-x_{i}}\right)\)를 계산한다. 그리고 t*을 제외한 모든 j와 t에 대해서 i*에 대한 폐지 토큰을 다음과 같이 계산한다.

\(\begin{aligned} g r t_{i^{*}, j, t} &=\left(g_{1}^{r_{1}\left(x_{r},+\gamma\right)\left(x_{j}+h(j | t)\right)}, g_{1}^{-x_{i} \cdot r_{t}}\right) \\ &=\left(u^{r_{t}(a+\gamma)\left(x_{j}+h(j | t)\right)}, u^{-\alpha r_{t}}\right) \end{aligned}\)       (11)

그리고 i*,t* 그리고 모든 j에 대해서 B는 \(g r t_{i^{*}, j, t^{*}}=\left(h^{\left(x_{i}+\gamma\right)\left(x_{j}+h\left(j || t^{*}\right)\right)}, h^{-x_{i^{*}}}\right)\)로 설정하며 rt*와 xi* 를 모르기 때문에 해당 값을 알지 못한다.

▪Hash: A는 언제든지 해시 함수 h를 쿼리 할 수 있다. 이에 B는 일관성이 있는 랜덤 값으로 응답한다.

▪ Phase1: A는 시간 t와 지역 j에 대해서 Signing, Corruption 그리고 Revocation 쿼리를 요청할 수 있다. \(i \neq i^{*}\)인 경우 B는 맴버 i의 비밀키로 부터 쿼리에 대한 응답을 할 수 있다. 만약 i=i*라면 B는 i*의 비밀키를 알지 못하기 때문에 다음과 같이 응답한다:

․ Signing Query: B는 다음과 같이 i*에 대한 그룹 서명을 계산한다:

 - \(t \neq t^{*}\) 인 경우

① 무작위로 \(r \in Z_{p}^{*}\)를 선택한 후 다음과 같이 T1을 계산한다.

\(T_{1}=g_{1}^{\frac{r}{\left(x_{j}+h(j | t)\right)\left(x_{j}+\gamma\right)} g}\)       (12)

② 이후 \(\alpha=r(a+\gamma)\)로 설정하고 T2값을 계산한다.

\(\begin{aligned} T_{2} &=g_{1}^{r_{T} a} g_{1}^{r, r \gamma} g_{1}^{r_{1} a} \\ &=g_{1}^{r_{r}(a+\gamma)} g_{1}^{r_{a}}=h_{t}^{(\alpha+a)} \end{aligned}\)       (13)

③ B 는 R1,R2를 계산하기 위해 무작위로 \(c, s_{\alpha}, s_{x_{i}} \in Z_{p}^{*}\)를 선택하고 \(c=h\left(M\|j\| t \| T_{1}\right.\left.\left\|T_{2}\right\| R_{1} \| R_{2}\right)\)로 설정한다. 이후 R1'과 R2'을 계산하여 메시지 M에 대한 서명 \(\sigma =\left(T_{1}, T_{2}, c, s_{\alpha}, s_{x_{i}}\right)\)을 응답한다.

- t= t*인 경우

① 리스트 L을 빈 상태로 초기화 한다.

② 리스트 L이 비어있다면 \(r \in Z_{p}^{*}\)\(T_{1} \in G\)를 선택하고 \(\alpha=r-a\)로 설정한다. 그리고 \(T_{2}=h_{t^{*}}^{r}\)을 계산하고 L에 \(\left(T_{1}, T_{2}, r\right)\)을 추가한다. 리스트 L이 비어있지 않은 경우, \(r' \in Z_{p}^{*}\)를 선택한 후 \(\left(T_{1}\right)^{r^{\prime}},\left(T_{2}\right)^{r^{\prime}}\)을 계산하고 리스트 L을 \(\left(\left(T_{1}\right)^{r^{\prime}},\left(T_{2}\right)^{r^{\prime}}, r r^{\prime}\right)\)로 업데이트 한다.

③ 이후 \(t \neq t^{*}\)인 경우와 같이 메시지 M에 대한 서명 \(\sigma=\left(T_{1}, T_{2}, c, s_{\alpha}, s_{x_{c}}\right)\)를 생성하여 응답한다.

․ Revocation쿼리: t>t*인 경우, B는 \(g r t_{i^{*}, j, t}\)를 응답한다. 그렇지 않으면, B는 랜덤 추측 값 \(w^{\prime} \in\{0,1\}\)과 abort를 출력한다.

․ Corruption쿼리: B는 랜덤 추측 값 \(w^{\prime} \in\{0,1\}\)과 abort를 출력한다.

▪Challenge쿼리 : A는 메시지 M , 현재 시간 t, 지역 j  그리고 Corruption이 요청되지 않았으며 시간 t이전에 Revocation을 요청하지 않은 i0와 i1을 출력한다. 만약 \(t \neq t^{*}\)이거나 \(j \neq j^{*}\)인 경우 는 랜덤 추측 값 \(w^{\prime} \in\{0,1\}\)을 출력한다. 그렇지 않으면, B 는 을 \(w^{\prime} \in\{0,1\}\)선택한다. \(i_{\Phi} \neq i^{*}\)라면 B 는 랜덤 추측 값 \(w^{\prime} \in\{0,1\}\)과 abort를 출력한다. \(i_{\Phi} = i^{*}\)인 경우 다음과 같이 응답한다:

① B는 \(\alpha =b\)\(T_{2}=Z\)로 설정한다. 만약 \(Z=h^{a+b}\)라면, \(T_{2}=h_{t^{*}}^{\alpha+x_{i}}\)이다.

② 이후 B 는 Phase1과 같은 절차에 따라 메시지 M 에 대한 서명 \(\sigma\)를 출력한다.

▪ Phase2: 해당 과정은 i0와 i1에 대한 Corruption쿼리와 시간 t이전에 Revocation쿼리를 요청할 수 없는 것을 제외하고는 Phase1과 동일하다.

▪Output : A는 추측 값 \(\phi'\)을 출력한다. \(\phi'= \phi\)인 경우 w'=1 을 출력하며 이는  Z=ha+b임을 의미한다. \(\phi' \neq \phi\)인 경우는 w'=0을 출력하며 Z=hc임을 의미한다. 변수 \(w \in\{0,1\}\)가 Z의 상태를 나타낸다고 하자. 만약   Z=ha+b라면 w=1이 된다. 이때 B의 이점은 다음과 같다.

\(\begin{aligned} & | \operatorname{Pr}\left[B\left(u, v, u^{a}, v^{b}, Z=h^{a+b}\right)=1\right]-\\ & \operatorname{Pr}\left[B\left(u, v, u^{a}, v^{b}, Z=h^{c}\right)=1\right] | \\ =& \operatorname{Pr}\left[w^{\prime}=1 | w=1\right]-\operatorname{Pr}\left[w^{\prime}=1 | w=0\right] \\ =& \operatorname{Pr}\left[\overline{a b o r t}\right]_{\epsilon} \end{aligned}\) (14)

해당 프로토콜은 Corruption, Revocation 그리고 Challenge 쿼리에서만 abort가 발생한다. abort가 발생하지 않을 확률은 i*에 대한 Corruption쿼리를 요청하지 않았거나 시간 t*와 지역 j*에 대해서 i*의 Revocation 쿼리를 요청하지 않은 경우 Challenge에서 i*,j*그리고 t*를 선택할 확률과 동일하다. qC를 쿼리의 수라하며, qR\(T^{\prime}=\left\{t_{1}, t_{2}, t_{3}, \ldots, t^{*}\right\} \subseteq T\)라 할 때, 임의의 시간 t에 요청할 수 있는 Revocation 쿼리의 수라고 하자. 이때 i*에 대해 Corruption 그리고 Revocation 쿼리를 요청하지 않을 확률은 최소 \(\left(1-\frac{q_{R}\left|T^{\prime}\right|+q_{c}}{N}\right)\)이다. 반면에, B가 올바른 t와 j를 추측할 확률은 \(1 / J T\)이며, Challenge에서 i*을 올바르게 추측할 확률은 최소 2/n이다. 그러므로 B의 이점은 \(A d v_{B} \geq \left(1-\frac{q_{R}\left|T^{\prime}\right|+q_{c}}{N}\right) \frac{2}{N J T} \epsilon\)임을 알 수 있다. □

정리2. qH번의  Hash쿼리와 qS번의 Signing쿼리 이후 제안하는 그룹 서명 기법의 추적성을 이점 e으로 깰 수 있는 공격자 A가 존재한다면, \(\{\epsilon /(n-1)-1 / p\}^{2} /\left(16 q_{H}\right)\)이점으로 G상에서 (n+1)-SDH 가정을 깰 수 있는 알고리즘 B가 존재한다.

 증명) 추적성에 대한 증명 과정은 [10, 14, 26, 33]과 유사하므로 본 논문에서는 이를 생략한다.

* 본 연구는 과학기술정보통신부 및 한국인터넷진흥원의 “고용계약형 정보보호 석사과정 지원사업”의 연구결과로 수행되었음 (과제번호 H2101-18-1001)

References

  1. USDOT, ""what public officials need to know about connected vehicles" https://www.its.dot.gov/factsheets/pdf/JPO_PublicOfficials_v6.pdf, May. 2019.
  2. J. Harding, G. Powell, R. Yoon, J. Fikentscher, C. Doyle, D. Sade, M. Lukuc, J. Simons and J. Wang, "Vehicle-to-Vehicle Communications: Readiness of V2V Technology for Application," DOT HS 812 014, U.S. Department of Transportation, Aug. 2014.
  3. USDOT, "Connected vehicle basic - Intelligent Transportation Systems" https://www.its.dot.gov/cv_basics/cv_basics_what.htm, May. 2019.
  4. USDOT, "Connected Vehicle Pilot Deployment Program" https://www.its.dot.gov/pilots/index.htm, May. 2019.
  5. K. Zheng, Q. Zheng, P. Chatzimisios, W. Xiang and Y. Zhou, "Heterogeneous vehicular networking: A survey on architecture, challenges, and solutions," IEEE communications surveys & tutorials, vol. 17, no. 4, pp. 2377-2396, Jun. 2015. https://doi.org/10.1109/COMST.2015.2440103
  6. J.T. Isaac, J.S. Camara, S. Zeadally and J.T. Marquez, "A secure vehicle-to-roadside communication payment protocol in vehicular ad hoc networks," Computer Communications, vol. 31, no. 10, pp. 2478-2484, Mar. 2008. https://doi.org/10.1016/j.comcom.2008.03.012
  7. J.T. Isaac, S. Zeadally and J.S. Camara, "A lightweight secure mobile payment protocol for vehicular ad-hoc networks (VANETs)," Electronic Commerce Research, vol. 12, no. 1, pp. 97-123, Dec. 2012. https://doi.org/10.1007/s10660-011-9086-0
  8. B. Brecht, D. Therriault, A. Weimers kirch, W. Whyte, V. Kumar, T. Hehn and R. Goudy, "A Security Credential Management System for V2X Communications," IEEE Transactions on Intelligent Transportation Systems, vol. 19, no. 12, pp. 3850-3871, Dec. 2018. https://doi.org/10.1109/TITS.2018.2797529
  9. USDOT, "Security Credential Management System (SCMS)" https://www.its.dot.gov/resources/scms.htm, Jan. 2019.
  10. L. Wei, and J. Liu. "Shorter verifier-local revocation group signature with backward unlinkability," International Conference on Pairing-Based Cryptography, LNCS 6487, pp. 136-146, Dec. 2010.
  11. Y. Sun, Z. Feng , Q. Hu and J. Su. "An efficient distributed key management scheme for group-signature based anonymous authentication in VANET," Security and Communication Networks, vol. 5, no. 1, pp. 79-86, Mar. 2012. https://doi.org/10.1002/sec.302
  12. X. Lin, X. Sun and P. Ho, "GSIS: A secure and privacy-preserving protocol for vehicular communications," IEEE Transactions on vehicular technology, vol. 56, no. 6, pp. 3442-3456, Nov. 2007. https://doi.org/10.1109/TVT.2007.906878
  13. J. Zhang, L. MA, W. Su and Y. Wang, "Privacy-preserving authentication based on short group signature in vehicular networks," ISDPE 2007, pp. 138-142, Nov. 2007.
  14. D. Boneh and S. Hovav, "Group signatures with verifier-local revocation," Proceedings of the 11th ACM conference on Computer and communications security, pp. 168-177, Oct. 2004.
  15. D. Huang and S. Misra, "PACP: An efficient pseudonymous authentication-based conditional privacy protocol for VANETs," IEEE Transactions on Intelligent Transportation Systems, vol. 12, no. 3, pp. 736-746, Sep. 2011. https://doi.org/10.1109/TITS.2011.2156790
  16. N. Saxena, S. Grijalva, V. Chukwuka and A.V. Vasilakos, "Network security and privacy challenges in smart vehicle-to-grid," IEEE Wireless Communications, vol.24, no.4, pp.88-98, Aug. 2017. https://doi.org/10.1109/MWC.2016.1600039WC
  17. J.T. Isaac, S. Zeadally and J.C. Sierra, "Implementation and performance evaluation of a payment protocol for vehicular ad hoc networks," Electronic Commerce Research, vol. 10, no. 2, pp. 209-233, Jul. 2010. https://doi.org/10.1007/s10660-010-9052-2
  18. W. Li, Q. Wen, Q. Su and Z. Jin, "An efficient and secure mobile payment protocol for restricted connectivity scenarios in vehicular ad hoc network," Computer Communications, vol. 35, no. 2, pp. 188-195, Sep. 2012. https://doi.org/10.1016/j.comcom.2011.09.003
  19. J. Song, F. Yang and L. Wang, "Secure authentication in motion: A novel online payment framework for drive-thru Internet," Future Generation Computer Systems, vol. 76, pp. 146-158, Aug. 2017. https://doi.org/10.1016/j.future.2016.06.011
  20. C.L. Chen and W.C. Tsai, "Using a stored-value card to provide an added-value service of payment protocol in VANET," Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), pp. 660-665, Jul. 2013.
  21. J. Song, F. Yang, K. Choo, Z. Zhuang, and L. Wang, "SIPF: A secure installment payment framework for drive-thru internet," ACM Transactions on Embedded Computing Systems (TECS), vol. 16, no.2, Jan. 2017.
  22. N. Lu, N. Cheng, N. Zhang, X. Shen, and J.W. Mark, "Connected vehicles: Solutions and challenges," IEEE internet of things journal, vol. 1, no. 4, pp. 289-299, May. 2014. https://doi.org/10.1109/JIOT.2014.2327587
  23. H. Hasrouny, A.E. Samhat, C. Bassil and A. Laouiti, "VANet security challenges and solutions: A survey," Vehicular Communications, vol. 7, pp. 7-20, Jan. 2017. https://doi.org/10.1016/j.vehcom.2017.01.002
  24. E. Ahmed, and H. Gharavi, "Cooperative vehicular networking: A survey," IEEE Transactions on Intelligent Transportation Systems, vol. 19, no. 3, pp. 996-1014, Mar. 2018. https://doi.org/10.1109/TITS.2018.2795381
  25. Z. MacHardy, A. Khan, K. Obana and S. Iwashina, "V2X access technologies: Regulation, research, and remaining challenges," IEEE Communications Surveys & Tutorials, vol. 20, no.3, pp.1858-1877, Aug. 2018. https://doi.org/10.1109/COMST.2018.2808444
  26. T. Nakanishi and N. Funabiki, "Verifier-local revocation group signature schemes with backward unlinkability from bilinear maps," ASIACRYPT 2005, LNCS 3788, pp. 533-548, Dec. 2005.
  27. P. Andreas and M. Hansen. "Anonymity, unobservability, and pseudonymity-a proposal for terminology," International workshop on Design Issues in Anonymity and Unobservability, LNCS 2009, pp. 1-9, Mar. 2001.
  28. SECG SEC 4, "Standards for Efficient Cryptography SEC 4: Elliptic Curve Qu-Vanstone Implicit Certificate Scheme(ECQV)," SECG, Jan. 2013.
  29. T.S. Fun, L.Y. Beng and M.N. Razali, "Review of mobile macro-payments schemes," Journal of Advances in Computer Networks, vol.1, no.4, pp.323-327, Dec. 2013.
  30. J.T. Issac and S. Zeadally, "An Anonymous Secure Payment Protocol in a Payment Gateway Centric Model," Procedia Computer Science, vol. 10, pp. 758-765, Jun. 2012. https://doi.org/10.1016/j.procs.2012.06.097
  31. D. Boneh, X. Boyen and H. Shacham. "Short group signatures," Annual International Cryptology Conference, CRYPTO 2004, LNCS 3152, pp. 41-55, Aug. 2004.
  32. A. Sudarsono and M.U.H.Al. Rasyid, "An anonymous authentication system in wireless networks using verifier-local revocation group signature scheme," 2016 International Seminar on Intelligent Technology and Its Applications (ISITIA), Jul. 2016.
  33. T. Nakanishi and N. Funabiki, "A short verifier-local revocation group signature scheme with backward unlinkability," International Workshop on Security(IWSEC) 2006, LNCS 4266, pp. 17-32, Oct. 2006.
  34. M. Bellare, J.A. Garay, R. Hauser, A. Herzberg, H. Krawczyk, M. Steiner, G. Tsudik, E.V. Herreweghen and M. Waidner, "Design, implementation, and deployment of the iKP secure electronic payment system," IEEE Journal on selected areas in communications, vol. 18, no.4, pp. 611-627, Apr. 2000. https://doi.org/10.1109/49.839936
  35. J. Petit, F. Schaub, M. Feiri and F. Kargl. "Pseudonym schemes in vehicular networks: A survey," IEEE communications surveys & tutorials, vol. 17, no. 1, pp. 228-255, Aug. 2015. https://doi.org/10.1109/COMST.2014.2345420
  36. F. Schaub, Z. Ma and F. Kargl. "Privacy requirements in vehicular communication systems," 2009 International Conference on Computational Science and Engineering, vol. 3, pp. 116-145, Aug. 2009.
  37. C. Cao and X. Zhu, "Strong anonymous mobile payment against curious third-party provider," Electronic Commerce Research, pp. 1-20, Mar. 2018.
  38. D.R. Brown, M.J. Campagna and S.A. Vanstone, "Security of ECQV-Certified ECDSA Against Passive Adversaries," IACR Cryptology ePrint Archive, vol. 2009, pp. 620, Mar. 2011.