전자서명

:암호방식에 따라 개키 서명 방식, 중재 서명 방식으로 나눌 수 있다.

:공개키 서명 방식은 서명 생성 및 검증이 간편

:중재 서명 방식은 서명 생성 및 검증을 중재하는 방식으로 제 3자의 참여가 있어야 한다.


과정

1. 송신자는 서명 알고리즘을 이용해서 메시지에 서명

2. 메시지와 서명은 수신자에게 전송

3. 수신자는 메시지와 서명을 받고 검증 알고리즘을 적용

4. 결과가 참이면 올바른 메시지, 거짓이면 그 메시지는 송신자가 전송한게 아님


서비스

-메시지 인증

-메시지 무결성

-부인방지(제 3자를 이용)

-기밀성(전사서명을 한다고 해서 기밀성이 보장되는 통신X,기밀성이 필요하다면 암·복호화를 할 수 있는 다른 수단이 적용되어야 한다.)


주요기능

-위조 불가

-서명자 인증

-부인방지

-변경 불가

-재사용 불가


RSA 전자서명 구조

:RSA 암호시스템을 이용한 전자서명의 안전도는 RSA 암호시스템의 안전도와 일치

:암호화의 경우에서처럼 수신자의 키를 사용하는 것이 아닌 송신자의 개인키와 공개키를 사용

:메시지 대신 메시지의 해시값에 서명을 하면 RSA 전자서명 구조에 대한 위험성은 해시 알고리즘의 강도에 좌우


타원곡선 전자서명 구조

:타원곡선에 기반을 둔 DSA(=ECDSA)

:짧은 처리 시간에 짧은 서명 생성이 가능


EIGamal 전자서명 구조

:EIGamal 암호시스템과 동일한 키를 사용하지만 알고리즘은 다르다.(이산대수 문제를 이용한 최초의 서명 방식)

:EIGamal 서명 알고리즘은 실제로 거의 사용되지 않는다.


Schnorr 전자서명 구조

:EIGamal에 기반을 두고 있지만 서명의 크기를 줄인 구조


DSS(=DSA , 전자서명표준)

:미국의 전자서명 표준으로 EIGamal  전자서명을 개선한 방식

:서명과 검증에 소요되는 계산량을 획기적으로 줄인 방식

:전자서명 기능만 제공, 암호화나 키 교환에 사용되지 않는다.

:EIGamal 서명 스킴보다 서명 길이가 320비트로 짧고, EIGamal에 대한 공격 중 일부가 적용되지 않는다.


KCDSA

:국내 전자서명 표준

:EIGamal 전자서명을 개선, DSS를 변형한 방식


전자서명 방식

메시지 복원형(RSA)

:메시지에 직접 서명하는 방식

:서명자의 개인키를 이용해 메시지를 암호화하여 전송

:검증자는 서명자의 공개키를 이용하여 서명된 암호문을 복호화하여 검증

:기존의 공개키 암호방식을 이용하므로 별도의 전자서명 프로토콜이 필요하지 않음

:메시지를 일정한 크기의 블록으로 나누어 각각의 블록에 서명을 해야 하므로 많은 시간이 소요되어 실제로는 사용되지 않음


메시지 부가형(EIGamal, DSS, KCDSA)

:메시지의 해시값에 서명하는 방식

:임의의 길이로 주어진 메시지를 해시 알고리즘을 이용하여 일정 길이로 압축

:해시값에 서명자의 개인키를 이용하여 전자서명을 하고 메시지에 붙여 전송

:수신된 메시지의 해시값과 공개키를 이용하여 전자서명을 복호화한 값과 비교

:전자서명을 붙여 전송하므로 전송량이 약간 늘어나지만, 메시지가 아무리 길더라도 한 번의 서명 생성만 필요하므로 효율적이며 실제로 많이 사용


특수 전자서명

부인방지 서명 : 서명자의 도움이 있어야 검증이 가능한 방식

의뢰 부인방지 서명 : 부인방지 서명의 서명자 익명성을 보장하지 못하는 문제점을 부분적으로 개선한 방식

수신자 지정 서명 : 지정된 수신자만이 서명을 확인할 수 있으며, 서명의 남용을 서명자가 아닌 수신자가 통제할 수 있는 서명 방식

은닉 서명 : 서명자가 문서 내용을 보지 않은 상태에서 서명을 하여 익명성을 제공하는 방식

위임 서명 : 서명자를 대신해서 대리로 서명할 수 있도록 구성한 서명 방식

다중 서명 : 동일한 문서에 여러 사람이 서명하는 방식


전자서명 응용

-보안공지

-소프트웨어의 다운로드

-공개키 인증서(공개키에 전자서명을 붙인 것)

-전자투표

-전자입찰


전자서명으로 해결할 수 없는 문제

:"서명 검증을 할 때 이용하는 공개키가 진짜 송신자의 공개키일 것"

:해결방법(공개키 인증서)


전자투표

:유권자가 투표소에 가지 않고 온라인 시스템을 통해 투표하는 것

:유권자 개인의 인증과 투표 내용의 기밀성 유지 등의 문제점이 있음


전자투표 시스템의 요구사항

-완전성

-비밀성

-재사용 불가

-공정성

-적임성

-검증성


전자투표 방식

-투표소 전자투표(PSEV, Poll Site E-Voting)

-키오스크(Kiosk)

-인터넷 투표(REV, Remote internet E-Voting)


전자입찰

:입찰방식을 인터넷을 통하여 구현


전자칩찰 시스템의 요구사항

-독립성

-비밀성

-무결성

-공평성

-안전성


문제점

:네크워크상의 메시지 유출

:입찰자와 서버 사이의 공모

:입찰자간의 공모

:입찰자와 입찰 공무자간의 공모


공개키 기반 구조(PKI, Public-Key Infrastructure)

:공개키 암호 기법을 이용한 인증 수단으로, 사전에 공유된 비밀 정보가 없어도 인증서에 기반해 상대방을 인증할 수 있다.

:공개키 알고리즘을 통한 암호화 및 전자서명을 제공하기 위한 복합적인 보안 시스템 환경을 말한다.

:기밀성, 무결성, 접근제어, 인증, 부인방지의 보안서비스를 제공

:인증기관, 등록기관, 사용자, 신뢰 당사자, 저장소 등의 요소로 구성


PKI의 주요 구성요소

인증기관(CA, Certification Authority)

:인증서를 발급해 주는 역할을 하며, 인증서는 사용자가 합법적인 사용자임을 입증한다.

:최상위 인증기관 -> 전자서명인증관리센터(KISA)

:공인인증기관 -> 한국정보인증(주), (주)코스콤, 금융결제원, 한국전자인증(주), 한국무역정보통신

-정책 승인기관(PAA, Policy Approving Authority)

:정책과 절차를 생성하여 수립

:하위 기관들의 정책 준수 상태 및 적성성을 감사

-정책 인증기관(PCA, Policy Certification Authority)

:인증기관의 공개키를 인증하고 인증서

:인증서 폐지 목록 등을 관리 

-인증기관(CA, Certification Authority)

:공개키 인증서를 발행하거나 폐지

:사용자에게 자신의 공개키와 상위 기관의 공개키 전달

:등록 기관의 요청에 의해 인증서를 발행


검증기관(VA, Validation Authority)

:인증서와 관련된 거래의 유효성을 확인하고 신뢰 당사자에게 확인시켜 준다.

:검증기관 없이 인증기관만 존재할 수 있으나, 보안측면에서 불완전하다고 간주될 수 있다.

:검증기관과 인증기관은 통합적으로 운영되거나 독립적으로 운영 될 수 있다.


등록기관(RA, Registration Authority)

:인증기관과 사용자 사이에 등록기관을 두어, 사용자의 인증서 신청 시 인증기관 대신 그들의 신분과 소속을 확인하는 기능을 수행한다.

:등록기관은 사용자의 신분을 확인하고 인증서 요청에 서명을 한 후 인증기관에 제출 -> 인증기관은 등록기관의 서명을 확인 후 사용자의 인증서 발행

:등록기관은 선택적인 요소, 등록기관이 없을 때에 인증기관은 등록기관의 기능을 수행할 수 있다고 가정한다.


저장소(Repository, Directory)

:사용자의 인증서를 저장

:사용자 자신이 원하는 상대방의 인증서를 검색할 수 있다.

:디렉터리 표준형식 X.500


사용자

:PKI 내의 사용자는 사람뿐만 아니라 사람이 이용하는 시스템 모두를 의미한다.



PKI의 형태

계층 구조

:최상위 루트 CA가 존재하고 그 아래 하위의 CA가 계층적으로 존재하는 트리형태

:최상위 인증기관 간의 상호인증은 혀용하지만 하위 인증기관 간의 상호인증은 원칙적으로 배제


네트워크 구조

:상위 인증기관의 영향 없이 인증기관 각각이 자신의 인증정책에 따라 독립적으로 존재하는 형태

:CA간에 인증을 위해 상호인증서를 발행하여 인증서비스를 한다.

:모든 상호인증이 허용되면 상호인증의 수가 대폭 증가하는 단점이 있다.


혼합형 구조

:계층 구조와 네트워크 구조의 장점을 취한 방법


구분

계층 구조

네트워크 구조

장점

정부와 같은 관료조직에 적함

인증경로 탐색이 간단

모든 사용자가 최상위 CA의 공개키를 알고 있으므로 인증서 검증 간단

유연하며 실질적인 업무관계에 적합

인증경로 단순

CA의 비밀키 노출 시 국소적 피해

단점

최상위 CA에 집중되는 오버헤드 발생가능

협동업무 관계에는 부적합

최상위 CA의 비밀키 노출 시 피해 규모 막대함

인증경로 탐색이 복잡

인증정책 수립 및 적용 어려움



공개키 인증서(PKC, Public-Key Certificate)

:공개키가 특정인의 것이라는 것을 확신할 수 있는 증거로서의 기능을 수행한다.

:공개키 인증서에는 개인정보 및 그 사람의 공개키가 기재되고, 인증기관의 개인키로 전자서명 되어있다.

:인증서 표준 규격은 ITU(국제전기통신연합)나 ISO(국제표준화기구)에서 정의하고 있는 X.509는 규격이다.

:X.509 인증서는 IPsec, SSL/TLS, SET, S/MIME에 사용된다.


X.509 v3 인증서 양식

요소

구분

설명

 버전

필수

 X.509 버전을 정의

 일련번호

필수

 인증기관에 의해 각 인증서에 부여되는 번호

 서명 알고리즘 식별자

필수

 서명하기 위한 알고리즘과 알고리즘 식별자를 포함, 서명 필드에 포함되기 때문에 이 필드는 쓸모 없음

 발행자 이름

필수

 발행자(인증기관)의 이름을 나타낸다. 이름은 국가명,조직명,부서명,일반이름 등의 속성으로 정의

 유효기간

필수

 인증서 유효 기간이 시작하는 날짜인증서 유효 기간이 종료하는 날짜로 구성

 주체 이름

필수

 사용자의 이름을 나타낸다. 上인증기관이 下인증기관에게 인증서를 발행하는 경우 사용자는 인증기관이 된다. 

 주체의 공개키 정보

필수

 사용자의 공개키에 대한 정보가 들어 있다.

 발행자 유일 식별자

선택

 발급자나 사용자의 이름이 중복되는 경우 이를 구별하기 위한 수단을 제공한다.

 주체 유일 식별자

선택

 비트열 필드로서 선택사항이다. 

 확장

선택

 발행자가 인증서에 추가적으로 사적인 정보를 넣을 수 있다. v3 버전에서 확장을 추가

 서명

필수

 인증서에 대한 서명값이 들어가는데, 인증서의 나머지 필드 전체를 보호한다. CA의 개인키로 암호화


인증서 확장 영역

:공개키 정보와 연관된 추가적인 정보를 제공하며, 인증서 계층 구조를 관리할 수 있는 방법을 제공한다.


-키와 정책 정보

구분

설명 

기관키 식별자

 개인키에 대응하는 공개키를 구분할 수 있는 수단을 제공

 사용자키 식별자

 여러 인증서를 획등한 경우, 특정공개키를 포함하는 인증서의 집합을 빠르게 구분할 수 있는 수단을 제공

 키 사용

 인증서에 포함된 키의 용도를 정의한다.

 인증서 정책

 인증기관은 자신이 발행한 인증서에 대한 정책을 인증서 내에 나타낼 수 있다.


-사용자와 발행자 속성

구분

설명

 사용자 대체 이름

 추가적인 신분이 인증서의 사용자와 결합할 수 있도록 한다.

 우편 주소, DNS이름, IP주소, URI가 포함

 발급자 대체 이름

 다양한 형식으로 된 하나 이상의 다른 대체 이름을 포함


-인증 경로 제약조건

구분 

설명

 기본 제한

 인증서의 사용자가 인증기관인지 여부를 구분한다.

 이름 제한

 사용자 DN(Distinguished Name)이나 사용자 대체 이름에 제약을 가할 수 있다. 

 정책 제한

 인증기관에게 발급된 인증서 내에는 정책 제한 확장을 적용할 수 있다.


CRL(Certificate Revocation List)

:인증서 폐지 목록(CRL)이라고 하며 인증기관의 저장소 or 디렉터리 시스템 등에 등재하여 신뢰 당사자가 언제든지 목록을 검색할 수 있도록 하여야 한다.

:버전, 서명 알고리즘 및 발급 기관의 이름, 인증서 발급입, 다음 번 갱신일, 취소된 인증서에 대한 정보(일련번호, 폐지일자, 폐지사유) 등이 포함


폐지사유

-사용자 개인키가 노출 or 훼손

-CA가 사용자를 더 이상 인증X

-CA의 인증서가 노출 or 훼손


온라인 인증서 상태 검증 프로토콜(OCSP, Online Certificate Status Protocol)

:실시간으로 인증서의 상태 정보를 확인할 수 있는 효율적인 방법

:OCSP 클라이언트, OCSP 서버, 인증 서버로 구성


서버 기반 인증서 검증 프로토콜(SCVP, Simple Certification Validation Protocol)

:SCVP 서버를 이용하여 클라이언트의 인증서 처리에 대한 부담을 줄여준다.

:인증서의 유효성 혹은 신뢰할 수 있는 인증서의 체인 등 다양한 정보를 제공

:클라이언트의 구현을 단순화시키고 기업 내에서 신뢰 및 정책 관리를 중앙 집중식으로 처리할 수 있도록 허용하는 데에 목적




+ Recent posts