ISO_IEC_13888

Download Report

Transcript ISO_IEC_13888

Non-repudiation
Mechanisms using asymmetric techniques
(ISO_IEC 13888-3)
유창훈
2013.5.31
Table of Contents
1.
2.
3.
4.
5.
6.
7.
8.
9.
Introduction
Scope
Normative references
Terms and definitions
Symbols and abbreviated terms
Requirements
Trusted Third Party involvement
Digital signatures
Use of non-repudiation token with and without
delivery authorities
Table of Contents
10.Evidence produced by the end entities
1. Non-repudiation of origin
2. Non-repudiation of delivery
11.Evidence produced by a Delivery Authority
1. Non-repudiation of submission
2. Non-repudiation of transport
12.Mechanisms to ensure that a NR token was signed
before a time t
1. Mechanism using a Time-stamping service
2. Mechanism using a Time-marking service
Introduction
• 목적 : 사건이나 행위의 발생유무에 대한 분쟁을 해결하
기 위해 가용한 유효 증거를 제공하는 것.
• ISO/IEC 13888 에 정의 된 부인방지 서비스 종류
–
–
–
–
Non-repudiation
Non-repudiation
Non-repudiation
Non-repudiation
of
of
of
of
origin
delivery
submission
transport
• 부인 방지 메커니즘은 부인방지 토큰의 상호교환을 포함.
– 부인방지 토큰은 전자서명과 부가 데이터로 구성된다.
– 부인방지 토큰은 분쟁 발생에 대비한 부인방지 정보로 저장.
Introduction
• 추가적인 데이터가 요구될 수 있다.
– Time-stamping authority 에 의해 제공되는 정보
– Time-marking service 에 의해 제공되는 정보
Scope
• This part of ISO/IEC 13888 specifies mechanisms for the
provision of specific, communication related, nonrepudiation services using asymmetric cryptographic
techniques.
Normative references
• ISO/IEC 13888-1:2004, Information technology —
Security techniques — Non-repudiation — Part 1:
General
• ISO/IEC 18014-1:2008, Information technology —
Security techniques — Time-stamping services — Part
1:Framework
Terms and definitions
• ISO/IEC 13888-1에 설명된 용어와 정의의 개념을 적용한
다.
Symbols and abbreviated terms
•
•
•
•
•
•
•
•
•
•
•
•
•
A : 메시지 송신자 A의 식별자
B : 메시지 수신자 B의 식별자
C : 제 3 신뢰기관 식별자
CA : 인증기관
Di : 배달기관 식별자
fi : 부인방지 서비스의 type을 나타내는 flag
Imp(y) : 데이터 y 또는 y의 해쉬값
M : 메시지
NR : 부인방지
NRD : 배달부인방지
NRDT : 배달부인방지 토큰
NRO : 송신부인방지
NROT : 송신부안방지 토큰
Symbols and abbreviated terms
•
•
•
•
•
•
•
•
•
•
NRS : 제출 부인방지
NRST : 제출 부인방지 토큰
NRT : 전달 부인방지
NRTT : 전달 부인방지 토큰
Pol : 증거에 적용되는 부인 방지 정책의 식별자
Q : 추가적인정보 ex) 메시지 m의 식별자, 서명이나 해쉬알고리즘
S : 실체 x의 개인키를 이용한 서명. Ex> S(X,m)
Ti : event가 발생한 날짜와 시간.
Tg : 증거가 생성된 날짜와 시간.
texti : (optional data) ex) 공개키 또는 인증기관 구별하기 위한 식
별자
• TSA : 시점확인 기관
Symbols and abbreviated terms
• TST : 시점확인 토큰
• X,Y : 개체 이름 X,Y
• y||z : y와 z의 순서로 연접된 결과
Requirements
• 부인방지 교환의 실체들은 동일한 제 3의 신뢰기관(TTP)
를 신뢰한다.
• 실체에 연결된 서명 키는 반드시 그 실체에 의해 비밀이
유지되어야 한다
• 사용되는 Imp 함수는 항등함수 이거나 충돌저항성이 보
장되는 해쉬 함수 이어야 한다.
• 사용된 전자서명 메커니즘은 부인방지 정책에 의해 명시
된 보안 요구사항을 만족해야 한다.
Requirements
• 증거 생성에 앞서 증거 생성자는 증거가 어떤 유형인지,
증거를 검증하기 위해 사용될 메커니즘은 무엇인지 알아
야 한다.
• 신뢰기관은 검증 시 메커니즘을 제공할 수 있어야 한다.
• 증거 생성자와 검증자는 Time-stamping service 또는
Time-marking serivce 를 이용할 수 있어야 한다.
Trusted Third Party involvement
• 배달기관은 메시지를 수신자에게 전달할 것과
submission, transport 부인방지 토큰을 제공 해야 한다.
• 비대칭암호기술은 TTP의 참여를 요구할 수 있다.
• 부인방지 정책은 TTP에 의해 생성되는 증거를 요구할 수
도 있다.
• TSA에 의해 TST 는 부인방지의 유효성을 보장받을 수
있다.
Trusted Third Party involvement
• A Time-marking Authority may be involved to provide
assurance that the signature of a given nonrepudiation
token was recorded before a given time.
• An Evidence Recording Authority may be involved to
record evidence that can later be retrieved if there is a
dispute.
Digital signatures
•
•
•
•
부인방지토큰은 전자서명을 포함.
서명은 유효기간을 가진다.
토큰도 서명을 포함하고 있기 때문에 유효기간을 가진다.
현재 시점에서 유효기간이 만기되었거나, 철회 또는 취소
되었을 때 에도 Time-stamping service 나 Timemarking service 를 통해 유효성을 보장 받을 수 있다.
Use of non-repudiation tokens without delivery
authorities
Evidence produced by the end entities
• NRO, NRD
• 배달기관 DA 없이 A에서 B로 메시지를 보낼 때.
• A, B는 각각 자신의 개인키를 알고 있고 공개키는 공개되
어있다고 가정.
• TTP C가 포함되어있다면(optional), C는 생성한 모든
NROT를 보관하고 NRDT를 생성하는데 NROT가 사용되
었는지 여부를 기록해놓아야 한다.
Non-repudiation of origin
• NRO토큰은 메시지 송신에 대한 허위 부정을 막기 위함
• NRO토큰은
– 메시지 m의 송신자 A(또는 인증기관 C)가 생성한다.
– A가 수신자 B에게 NRO토큰을 보낸다.
– 수신자 B는 검증 후 저장한다.(A나C의 공개키로)
• NRO토큰의 구조는
– NROT = text1||z1||S(A,z1)
– z1=Pol||forigin||A[||B]||C||Tg[||T1]||Q||Imp(m)
•
•
•
•
•
Pol : 증거에 적용된 부인방지 정책 식별자
forigin : 송신부인방지를 의미하는 플레그
A : 송신자 식별자 ex> email address
B : (optional data) 수신자 식별자 ex> email address
C : 인증기관식별자 if. S(A,z1)  S(C,z1)
Non-repudiation of origin
•
•
•
•
Tg : 토큰의 생성시간
T1 : (optional data) 메시지 m이 보내진 날짜와 시간
Q : 추가적인정보 ex>메시지 m의 식별자, 서명메커니즘 또는 해쉬 함수.
Imp(m) : 메시지 m, 또는 m의 해쉬 값.
Non-repudiation of origin
• Mechanism for NRO
① If TTP C is involved (optional)
1)
2)
3)
4)
5)
A가
C가
C가
C가
A가
C에게 m 에 대한 NRO token 생성요청
NRO token 요청을 확인
NRO token 을 구성
NRO token 을 저장하고, A에게 NRO token을 Send.
NRO token 수신.
② If TTP C is not involved
1) A가 NRO token을 구성
③ A가 NRO token을 m과 함께 B에게 보냄.
④ B는 NRO token 을 검증
1)
2)
Token구성요소 확인 및 공개키로 서명 확인
검증이 완료되면 NRO token은 증거로 저장된다.
Non-repudiation of delivery
• NRD 토큰은 메시지 수신 및 내용인식에 대한 허위 부정
을 막기 위함
• NRD토큰은
– 메시지 m의 수신자 B(또는 인증기관 C)가 생성한다.
– B가 송신자 A에게 NRD토큰을 보낸다.
– 송신자 A는 이를 검증 후 저장한다.(B나 C의 공개키로)
• NRD토큰의 구조는
– NRDT = text2||z2||S(B,z2)
– z2=Pol||fdelivery[||A]||B[||C]||Tg[||T2]||Q||Imp(m)
•
•
•
•
•
Pol : 증거에 적용된 부인방지 정책 식별자
fdelivery : 배달부인방지를 의미하는 플레그
A : (optional data) 송신자 식별자 ex> email address
B : 수신자 식별자 ex> email address
C : 인증기관식별자 if. S(B,z2)  S(C,z2)
Non-repudiation of delivery
•
•
•
•
Tg : 토큰의 생성시간
T2 : (optional data) 메시지 m이 수신된 날짜와 시간
Q : 추가정보 . ex>메시지 m의 식별자, 서명메커니즘 또는 해쉬 함수
Imp(m) : 메시지 m, 또는 m의 해쉬 값.
Non-repudiation of delivery
• Mechanism for NRD
① If TTP C is involved (optional)
1) B가 m 또는 m||Imp(NROT)를 C 에게 보내고 NRD token을 요청.(NROT는
C에 의해 생성되었음)
2) C는 NROT가 C에 의해 생성되었는지 확인.
3) C는 NRDT를 구성하고 해당 NROT가 NRDT를 만들기 위해 사용되었다는
것을 기록해놓는다.
4) C는 NRDT를 B에게 보냄.
5) B는 NRDT를 수신.
② If TTP C is not involved
1) B가 NRD token을 구성
③ B가 NRD token 을 A에게 보냄.
④ A는 NRD token 을 검증
1)
2)
Token구성요소 확인 및 공개키로 서명 확인
검증이 완료되면 NRD token은 증거로 저장된다.
Use of non-repudiation tokens with delivery
authorities
Evidence produced by a Delivery Authority
• NRS
– NRS 토큰은 DA에 의해 생성된다.
– NRS는 송신자나 선행 배달기관이 메시지가 배달을 위해 제출되
었다는 증거를 얻도록 허용한다.
• NRS토큰은
– DAi 의해 생성된다.
– DAi 는 이전 배달기관 DAi-1 또는 송신자 A에게 NRST를 전송한
다.
– DAi-1 또는 송신자 A 는 NRST를 공개키(DAi의)를 통해 검증하고
저장한다.
Evidence produced by a Delivery Authority
• NRS 토큰의 구조는(Di+1  Di )
( i = 1,2,3…n-1)
– NRST = text3||z3||S(Di+1,z3)
– z3=Pol||fsubmission[||A]||B||
D1||D2||……||Di||Di+1||Tg||T3[||Q]||Imp(m)
•
•
•
•
•
•
•
•
•
Pol : 증거에 적용된 부인방지 정책 식별자
fsubmission : 제출부인방지를 의미하는 플레그
A : (optional data) 송신자 식별자 ex> email address
B : 수신자 식별자 ex> email address
Di : 배달기관 i 는 배달기관의 번호.
Tg : 토큰의 생성시간
T3 : 메시지 m이 제출된 날짜와 시간
Q : 추가정보 ex>메시지 m의 식별자, 서명메커니즘 또는 해쉬 함수.
Imp(m) : 메시지 m, 또는 m의 해쉬 값.
Evidence produced by a Delivery Authority
• Mechanism for NRS
– 송신자 X (A or Di i = 1,2…n-1)  배달기관 Y(D1 or Di+1 ……)
– X sends the message m and request for an NRST to Y
– Y 는 NRST 구성 후 X로 전송
– X는 Y의 공개키로 검증 후 저장.
Evidence produced by a Delivery Authority
• NRT
– NRT토큰은 마지막 배달기관이 송신자에게 전달하는 것으로, 메
시지가 배달기관에 의해 지정 수신자에게 전달되었다는 증거를
얻도록 허용한다.
1) 송신자 A또는 선행 배달기관 X가 메시지 m 을 DA 로 전송
2) DA는 메시지 m을 수신자 B 또는 후위 배달기관에 전송
3) 메시지 m을 B에 전송한 DA는 NRTT를 송신자 A에게 전송.
• NRT토큰은
– 배달기관 DAn에 의해 생성
– DAn 에 의해 메시지 송신자 A에게 전송
– A에 의해 검증후 저장 (DAn 의 공개키로)
Evidence produced by a Delivery Authority
• NRT 토큰의 구조는(Dn  A )
– NRTT = text4||z4||S(Dn,z4)
– z4=Pol||ftransport[||A]||B||
D1||D2||……||Dn||Tg||T4[||Q]||Imp(m)
•
•
•
•
•
•
•
•
Pol : 증거에 적용된 부인방지 정책 식별자
fsubmission : 전송부인방지를 의미하는 플레그
A : (optional data) 송신자 식별자 ex> email address
B : 수신자 식별자 ex> email address
Di : 배달기관 i 는 배달기관의 개수.
Tg : 토큰의 생성시간
T4 : 메시지 m이 배달된 날짜와 시간
Q : 추가정보 .ex>메시지 m의 식별자, 서명메커니즘 또는 해쉬 함수, 인증서
관련정보.
• Imp(m) : 메시지 m, 또는 m의 해쉬 값.
Evidence produced by a Delivery Authority
• Mechanism for NRT
– 송신자 X (A or Di i = 1,2…n-1)  배달기관 DA(D1or Di+1 … Dn)
수신자 Y
–
–
–
–
X sends the message m to Y
Dn 은 메시지 m을 B에게 송신.
Dn 은 NRT 토큰을 구성하고 A에게 송신.
A는 Dn 의 공개키로 검증 후 저장.
Mechanisms to ensure that a NR token was
signed before a time t
• 서명된 부인방지 서비스의 유효성을 보장해 주기 위함.
• Time-stamping service
– information provided by a time-stamping authority which provides
assurance that the signature of the nonrepudiation token was
created before a given time
– 시점확인서비스
– TSA(Time-stamping Authority)에 의해 제공됨.
– 부인방지 서비스가 어떠한 시점에 생성되었다는 것을 증명해 주
는 것이다.
Mechanisms to ensure that a NR token was
signed before a time t
• Time-stamping service
– 요청자 X의 메시지
• R = text ||y ( y = hash(NR token) + ID(hash algorithm) )
• text 은 다음과 같은 내용을 포함한다.
– R이 시점 확인 서비스에 대한 요구임을 지시
– 요청자 X를 구별하는 식별자
– TSA를 구별하는 식별자
– Time-stamping 기관은 다음의 같은 응답
• TST = text ||w||STSA(w)
• w = Pol||f|TSA||Tg||Q||Imp(y)
–
–
–
–
–
–
Pol = 증거에 사용된 정책
f = 시점확인 토큰을 지시하는 지시자
TSA = 시점확인 기관을 구분하는 식별자
Tg = 증거가 생성된 날짜와 시간
Q = 자료 y의 식별자, 서명매커니즘, 해쉬함수
Imp(y) = y 혹은 y의 해시 값
Mechanisms to ensure that a NR token was
signed before a time t
Mechanisms to ensure that a NR token was
signed before a time t
Mechanisms to ensure that a NR token was
signed before a time t
• Time-marking service
– information provided by a time-marking service which provides
assurance that the signature of the nonrepudiation token was
recorded before a given time.
– 요청자 X 의 요청 메세지
• Req = text1 || y ( y = hash(NR token) + ID(hash algorithm) )
• text1 구성
– Time-marking 기관 식별자
– Time-Mark 정책
– X의 이름
– Time-Marking 기관은 다음과 같은 응답
• Resp = text2 || recording number
–
–
–
–
data y
기록된 날짜와 시간
요청 시 보낸 text1 의 전체 또는 부분
Time-mark에 적용된 정책
Q&A
감사합니다.