타임스탬프 토큰을 발급 받았다고 끝이 아니다. 운영에서는 검증 역시 중요하다.
- TSQ <-> TSR 매칭 여부(요청한 응답이 맞는지)
- 토큰에 대한 서명/인증서 검증(TSA를 신뢰할 수 있는지)
1. TSR status
TSR(TimeStampResp)에는 status(PKIStatusInfo)가 존재한다.
- granted / grantedWithMods 등 성공 여부 확인
2. timeStampToken
status가 성공이면 timeStampToken이 존재
3. messageImprint
- 원문을 다시 해시
- TSTInfo의 messageImprint(알고리즘+해시값)와 비교
4. nonce
TSQ에 nonce를 포함하였다면, TSR에도 같은 nonce가 있어야 한다.
- TSQ nonce == TSR nonce
- 리플레이 공격 방지용
5. policy
TSTInfo 에는 policy OID가 포함
- 허용 정책이 정해져 있다면 필터링
- TSQ에서 reqPolicy를 요청했다면 응답 policy가 동일한지 확인
6. TimeStampToken 서명 검증
- 토큰(CMS SignedData) 서명 검증
- signerInfo가 가리키는 TSA 인증서로 검증
7. TSA 인증서 체인 검증
토큰에 인증서가 포함되어 있어도 신뢰 여부는 별도로 판단해야 함
- 루트/중간CA 체인이 신뢰 저장소에 연결되는지 확인
정리
TimeStampToken 검증은 단순한 시간 검증이 아니다.
- status 확인
- token 존재 확인
- messageImprint 일치 여부
- nonce 매칭
- policy 확인
- 서명 검증
'TSA' 카테고리의 다른 글
| [TSA] 전자서명에서 타임스탬프가 필요한 이유 (0) | 2026.01.21 |
|---|---|
| [TSA] TimeStampToken(TST) (0) | 2026.01.15 |
| [TSA] RFC 3161 TimeStamp 프로토콜 구조 (0) | 2026.01.12 |
| [TSA] TSA(Time-Stamp Authority)란? (0) | 2026.01.06 |
