디지털 서명
디지털 서명의 개념
- 종이문서의 인감, 서명등과 같은 역할
- 인가된 사용자가 접근했고, 내용이 변조된 것이 없다는 것을 보여줌
- 디지털 서명의 종류
- RSA, GQ, DSA, ElGamal, Schnorr, KCDSA
- 디지털 서명 특징
- 위조불가(Unforgeable): 서명자만이 서명문을 생성 (개인키 암호화)
- 서명자 인증(Authentic): 서명자를 확인 가능 (공개키를 통한 확인)
- 재사용 불가(Not Reusable): 다른 문서의 서명으로 사용 불가능 (hash 값이 다름)
- 변경 불가(Unalterable): 내용 변경 불가능 (무결성)
- 부인 불가(Nonrepudiation): 서명한 사실을 부인 할 수 없음 (개인키 암호화)
디지털 서명 기법
DSS(Digital Signature Standards)
- 이산대수의 어려움에 기반
- SHA-1 사용
- El-Gamal 방식과 유사
DSA(Digital Signature Algorithm)
- 준비과정
- 공통 매개변수 선정
- 160bit 소수 q
- 512~1024 사이의 소수p
- g=h(p−1)/qmod p
- 비밀키, 공개키 생성
- 비밀키 x (0<x<q)
- 공개키 y=gxmod p
- 서명 과정
- 메시지 별 비밀번호 k (비공개) 설정 (0<k<q)
- 서명
- r=(gkmod p)mod q
- s=[k−1(H(M)+xr)]mod q
- Signature=(r,s)
- 확인 과정
- 확인
- w=s−1mod q
- u1=[(H(M)w)]mod q
- u2=rwmod q
- v=[(gu1yu2mod p)]mod q
- if(v==r)
PKI (Public Key Infrastructure)
PKI 개요
- 공개키 암호 기술에 기반한 인증서를 생성, 관리 하는 하드웨어, 소프트웨어, 인력 등의 결정체
- 공개키 암호의 맹점인 안전한 키 교환 (어딘가에는 신뢰할 수 있는 공개키가 있어야)하는 점을 보완하기 위함
- 처음 공개키 암호화로 키를 공유하고, 그 뒤는 관용 암호화로 진행
PKI 제공하는 보안 서비스
인증서
- 전자서명 검증키에는 소유자 정보가 포함되지 않음(누구의 공개키를 써야하는지 알 수 없음)
- 인증기관이 검증키와 소유자 정보를 문서로 만들어 전자서명 수행
PKI 조직
- CA
- 인증서 발급 및 취소
- 자신의 공개 키 및 상위 인증기관 공개키 전달
- 상호 인증서 발급
- 인증서 DB 관리
- RA
- 공인인증서를 발급 받을 때 은행이 RA역할을 수행
- 신청자의 신분과 소속을 확인
- RA가 CA에 포함된 경우도 있음
- 디렉토리
- 인증서 목록등을 저장 및 읽어오는 장소
- DAP, LDAP이용
- 유효기관 경과 후에도 일정기간 저장
- 사용자
- 비밀키와 공개키 쌍을 생성
- 전자서명 생성 및 검증
- 특정 사용자의 인증서를 획득하고 상태 확인(from CA)
- 자신의 인증서를 타인에게 제공(through directory)