이중 서명: Difference between revisions

From IT Wiki
(새 문서: 분류:보안분류:암호학 ; Dual Signature ; SET에서 고객의 프라이버시 보호 및 거래의 정당성 인증을 위해 고안된 전자서명 프로토콜 * 판...)
 
No edit summary
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[분류:보안]][[분류:암호학]]
[[분류:보안]]
; Dual Signature
[[분류:암호학]]
; SET에서 고객의 프라이버시 보호 및 거래의 정당성 인증을 위해 고안된 전자서명 프로토콜


* 판매자에게 결제 정보를 노출하지 않으면서 고객이 정상 결제 했음을 확인시켜 줄 수 있다.
;Dual Signature
* PG에게 주문정보를 노출하지 않으면서 해당 결제요청이 정당한 요청임을 확인할 수 있다.
;[[SET]]에서 고객의 프라이버시 보호 및 거래의 정당성 인증을 위해 고안된 전자서명 프로토콜


== 절차 ==
[[SET]]에서는 고객의 결제정보가 판매자를 통하여 해당 지급정보중계기관(PG)으로 전송됨에따라 고객의 결제정보가 판매자에게 노출될 가능성과 판매자에 의한 결제 정보의 위·변조의 가능성이 있으므로, 판매자에게 결제정보를 노출시키지 않으면서도 판매자가 해당 고객의 정당성 및 구매내용의 정당성을 확인 할 수 있고 PG는 판매자가 전송한 결제요청이 실제고객이 의뢰한 전문인지를 확인할 수 있도록 하는 이중서명 기술 도입이 필요하게 됨
# 고객의 이중서명 생성 
## 구매정보 OI에 대해 Hash함수를 적용하여 160 비트의 메시지 다이제스트 M1을 생성
## 결제정보 PI에 대해 Hash함수를 적용하여 160 비트의 메시지 다이제스트 M2를 생성
## 생성된 두개의 메시지다이제스트 M1,M2를 연접(Concatenation)한 후 연접된 결과에 Hash함수를 적용하여 메시지 다이제스트 M을 생성 
## M에 고객의 개인키로 전자서명


# PG에게 전해질 전자봉투 생성 및 필요데이타의 판매자앞 전송 
==절차==
## 비밀키를 Random Generate하여 결제정보(PI)를 암호화 시킨후 해당키를 PG의 공개키로 암호화하여 전자봉투 생성
===검증 정보 생성===
## 구매정보, 암호화된 결제정보, M1M2, 고객의 전자서명, 전자봉투를 판매자에게 전송


# 판매자는 구매정보와 이중서명 확인후 암호화된 결제정보를 PG에게 전송
#'''고객의 전자서명 생성'''
## 판매자는 수신된 구매정보(OI)고객과 동일한 Hash함수를 적용하여 메시지 다이제스트 M1을 생성  
##'''구매정보'''에 Hash함수를 적용하여 '''B'''을 생성
## 판매자는 수신된 M1M2 중 M1을 새로 생성한 M1으로 대체시킨후, 대체된 M1M2에 동일한 Hash함수를 적용하여 메시지다이제스트 M을 구함
##'''결제정보'''에 Hash함수를 적용하여 '''P'''를 생성
## 판매자는 수신된 이중서명을 고객의 공개키로 복호화하여 메시지다이제스트 M을 추출
##생성된 '''B와 P'''를 연접(Concatenation)한 '''BP'''에 Hash함수를 적용하여 '''M'''을 생성
## 판매자는 ㉡과 ㉢의 메시지다이제스트를 비교하여 동일한 경우 정당한 구매요청으로 간주하여 처리 
##'''M'''을 고객의 개인키로 암호화 → '''전자서명'''
## 판매자는 고객으로부터 전송받은 암호화된 결제정보(PI), 전자봉투, 이중서명, M1M2를 자신의 승인요청전문 전송시 PG로 전송
#'''PG에게 전해질 전자봉투 생성'''
##'''대칭키'''를 생성<ref>Random Generate</ref>하여 '''결제정보'''를 암호화 후
##해당 '''대칭키'''를 '''PG의 공개키'''로 암호화 → '''전자봉투'''<ref>결제정보를 바로 PG의 공개키로 암호화하지 않는 이유는, 이 정보가 판매자를 거쳐 PG사에게 전달되는데 판매자도 PG의 공개키를 알 고 있으므로 이 정보를 다른 정보로 바꿔치기 할 수 있기 때문</ref>
#''' BP, 전자서명, 구매정보<ref>암호화 되지 않음</ref>, 암호화된 결제정보, 전자봉투'''를 판매자에게 전송


# PG의 전자봉투 및 결제정보 복호화
===판매자 검증===
## PG는 자신의 개인키를 사용하여 전자봉투를 복호화
## 전자봉투에서 획득한 비밀키를 이용하여 결제정보, M1M2값, 고객의 서명값을 추출 


# PG의 고객 이중서명 확인 및 결제정보 확인   
#판매자는 '''구매정보'''에 고객과 동일 Hash함수를 적용하여 '''B`'''을 생성
## PG는 복호화된 결제정보에 고객과 동일한 Hash함수를 적용하여 메시지다이제스트 M2를 생성  
#판매자는 '''BP''' 를 '''B`P'''로 대체 후, 동일 Hash함수를 적용하여 '''M`'''을 구함
## PG는 수신된 M1M2 중 M2을 새로 생성한 M2으로 대체시킨후, 대체된 M1M2에 동일한 Hash함수를 적용하여 새로운 메시지다이제스트 M을 구함  
#판매자는 '''전자서명'''을 '''고객의 공개키'''로 복호화하여 '''M'''을 추출
## PG는 수신된 고객의 이중서명을 고객의 공개키로 복호화하여 메시지다이제스트 M을 추출  
#판매자는 '''M과 M'를 비교'''하여 동일한 경우 정당한 구매요청으로 간주하여 처리
## PG는 2과 3의 메시지다이제스트를 비교하여 동일한 경우 정당한 결제요청으로 간주하여 처리
#판매자는 '''BP, 전자서명, 암호화된 결제정보, 전자봉투'''를 PG로 전송
 
===PG 검증===
 
#'''PG의 전자봉투 및 결제정보 복호화'''
##'''PG의 개인키'''로 '''전자봉투'''를 복호화하여 '''대칭키''' 추출
##'''대칭키'''로 암호화된 '''결제정보''' 복호화
#'''PG의 고객 이중서명 확인 및 결제정보 확인'''  
##PG는 '''결제정보'''에 동일한 Hash함수를 적용하여 '''P`'''를 생성
##PG는 '''BP''' 를 '''BP`'''로 대체한 후 동일한 Hash함수를 적용하여 '''M``'''을 구함
##PG는 '''전자서명'''을 '''고객의 공개키'''로 복호화하여 '''M'''을 추출
##PG는 '''M과 M``를 비교'''하여 동일한 경우 정당한 결제요청으로 간주하여 처리
 
==같이 보기==
 
*[[SET]]
*[[전자 서명]]
 
== 각주 ==
<references />

Latest revision as of 11:59, 27 February 2022


Dual Signature
SET에서 고객의 프라이버시 보호 및 거래의 정당성 인증을 위해 고안된 전자서명 프로토콜

SET에서는 고객의 결제정보가 판매자를 통하여 해당 지급정보중계기관(PG)으로 전송됨에따라 고객의 결제정보가 판매자에게 노출될 가능성과 판매자에 의한 결제 정보의 위·변조의 가능성이 있으므로, 판매자에게 결제정보를 노출시키지 않으면서도 판매자가 해당 고객의 정당성 및 구매내용의 정당성을 확인 할 수 있고 PG는 판매자가 전송한 결제요청이 실제고객이 의뢰한 전문인지를 확인할 수 있도록 하는 이중서명 기술 도입이 필요하게 됨

절차[edit | edit source]

검증 정보 생성[edit | edit source]

  1. 고객의 전자서명 생성
    1. 구매정보에 Hash함수를 적용하여 B을 생성
    2. 결제정보에 Hash함수를 적용하여 P를 생성
    3. 생성된 B와 P를 연접(Concatenation)한 BP에 Hash함수를 적용하여 M을 생성
    4. M을 고객의 개인키로 암호화 → 전자서명
  2. PG에게 전해질 전자봉투 생성
    1. 대칭키를 생성[1]하여 결제정보를 암호화 후
    2. 해당 대칭키PG의 공개키로 암호화 → 전자봉투[2]
  3. BP, 전자서명, 구매정보[3], 암호화된 결제정보, 전자봉투를 판매자에게 전송

판매자 검증[edit | edit source]

  1. 판매자는 구매정보에 고객과 동일 Hash함수를 적용하여 B`을 생성
  2. 판매자는 BPB`P로 대체 후, 동일 Hash함수를 적용하여 M`을 구함
  3. 판매자는 전자서명고객의 공개키로 복호화하여 M을 추출
  4. 판매자는 M과 M'를 비교하여 동일한 경우 정당한 구매요청으로 간주하여 처리
  5. 판매자는 BP, 전자서명, 암호화된 결제정보, 전자봉투를 PG로 전송

PG 검증[edit | edit source]

  1. PG의 전자봉투 및 결제정보 복호화
    1. PG의 개인키전자봉투를 복호화하여 대칭키 추출
    2. 대칭키로 암호화된 결제정보 복호화
  2. PG의 고객 이중서명 확인 및 결제정보 확인
    1. PG는 결제정보에 동일한 Hash함수를 적용하여 P`를 생성
    2. PG는 BPBP`로 대체한 후 동일한 Hash함수를 적용하여 M``을 구함
    3. PG는 전자서명고객의 공개키로 복호화하여 M을 추출
    4. PG는 M과 M``를 비교하여 동일한 경우 정당한 결제요청으로 간주하여 처리

같이 보기[edit | edit source]

각주[edit | edit source]

  1. Random Generate
  2. 결제정보를 바로 PG의 공개키로 암호화하지 않는 이유는, 이 정보가 판매자를 거쳐 PG사에게 전달되는데 판매자도 PG의 공개키를 알 고 있으므로 이 정보를 다른 정보로 바꿔치기 할 수 있기 때문
  3. 암호화 되지 않음