전자서명

▶ 배경
종이 문서 사회에서 정보화 사회로의 진전으로 다양한 서비스 요구
데이터 무결성 , 사용자 인증, 부인방지 서비스가 필수적

 

목적
신뢰성 확보 ( 내용의 위·변조 및 신분 확인에 사용)

전자서명 = 사용자 인증 + 메시지 인증

▶ 전자문서의 문제점
• 위,변조가 용이 : 무결성
• 문서작성 사실 입증 곤란 : 부인방지

 

▶ 전자상거래의 문제점
• 거래상대방의 신원확인 곤란 : 사용자 인증
• 전송 내용의 비밀 유지 곤란 : 기밀성

 

▶전자서명으로 알 수 있는 사항

• 서명자 신원확인(User Authentication)
  - 개인키의 소유자가 전자서명 행위자임을 증명
  - 서명자 고유의 표식

• 위조 불가(Not forgeable)
  - 합법적인 서명자 외에는 전자서명 생성 불가 증명

• 변경 불가(Unalterable)
  - 서명한 문서의 내용과 서명의 변경 불가 증명

• 부인 불가(Non-Repudiation)
- 서명은 본인 이외에는 불가능함을 증명

• 재사용 불가(Not Reuseable)
  - 다른 전자문서의 서명으로 사용 불가능함을 증명

 

암호화 방법과 전자서명

전자서명은 전자서명의 조건을 만족하면서 서명방식과 검증 방식이 명확하여야 함


▶ 대칭키 암호 알고리즘에 의한 방법
• 중재된 서명기법
• 서명과 검증을 제 3자에 의해서 행할 수 밖에 없음


▶ 공개키 암호 알고리즘에 의한 방법
• 메시지 복원형 전자서명 방식
• 문서 자체를 이용하는 서명방식
• 메시지 부가형 전자서명 방식
• 문서에 서명메세지를 포함하는 방식

 

공개키 이용 전자서명

공개키 : A의 인감 증명서

개인키 : A의 인감

* 전자서명 : A의 개인크로 데이터의 전자서명 생성, A의 공개키로 전자서명 검증

- 평문(메시지 다이제스트) + 개인키 = 암호문(전자서명)

- 암호문(전자서명) + 공개키 = 평문(다이제스트)

1. 송신자는 보낼 메시지를 해시함수로 다이제스트를 생성한다.

2. 다이제스트와 송신자의 개인키로 암호화한다.

3. 메시지와 서명을 같이 송신한다.

4. 수신받은 서명을 송신자의 공개키로 복호화해 다이제스트를 생성한다.

5. 수신받은 메시지를 해시함수를 통해 다이제스트를 생성한다.

6. 서명을 복호화해 얻은 다이제스트와 메시지를 해시함수를 통해 얻은 다이제스트를 비교한다.

   → 비교해서 같으면 신뢰할 수 있고, 다르면 거래의 신뢰성을 확보할 수 없다.

 

※ 사용자와 메시지 인증은 가능하지만 기밀성 보장이 안된다.

※ 개인키를 잃어버리면 자신이 책임져야 한다.

 

전자서명의 이용 : 전자봉투 (원타임 비밀키)

1. 송신자는 메시지와 암호화하기 위해 난수를 발생해 비밀키를 생성한다.

2. 메시지를 비밀키로 암호화해 암호메시지를 만든다.

3. 비밀키를 수신자의 공개키로 암호화한다.

4. 암호메시지와 공개키로 암호화한 비밀키를 디지털봉투에 담아 전송한다.

5. 수신자는 디지털 봉투에 있는 암호화된 비밀키를 수신자의 개인키로 복호화해 비밀키를 얻는다.

6. 암호화된 메시지를 비밀키로 복호화한다.

 

※ 사용할 때마다 난수를 발생시켜 비밀키로 정한다. 받는 사람의 공개키로 이 비밀키를 암호화한다. 

※ 기밀성이 가능하지만 인증은 불가능하다.

※ 네트워크에서 빠르게 사용 가능하다.

 

공개키와 대칭키를 이용한 전자서명

공개키를 이용한 전자서명으로 사용자 인증이 가능하다.

대칭키를 이용한 전자서명으로 기밀성이 가능하다.

※ 인증과 기밀성이 가능하다.

 

▶ PKI(Public Key Infrastricture) 구성 요소

- 공개키 소유자 증명

- 인증서는 인감증명서에 해당한다. → 기밀성, 무결성, 인증

인증서

 

▶ 인증서의 정의

- 공개키 소유자 증명

- 인증서라 함은 개인키와 이에 합치하는 공개키에 대하여 이를 소유하는 자연인 또는 법인과의 귀속관계 등을 인증기관이 자신의 개인키로 전자서명하여 확인, 증명하는 전자적 정보

▶ 인증서 : X.509

• 1K바이트 정도의 바이너리 데이터
• RFC 2459(X.509 ver. 3)

 

인증서 항목
• 서명전 인증서
  - tbsCertificate(to be signed certificate)
  - 확장항목 이외의 항목 필수
• 서명 알고리즘
  - 메시지 다이제스트 알고리즘(MD2,MD5..)
  - 공개키 암호 알고리즘
• 인증기관
  - 서명전 인증서 부분을 입력으로 해서 서명
  - 인증기관의 개인키와 인증서로 기재한 알고리즘 이용

 

▶ 인증서 발행과 이용

인증서를 발행하기 위해서는 공개키의 소유주는 인증기관에 공개키를 등록하고 인증기관은 등록된 개인의 공개키를 자신의 개인키로 서명해서 인증서를 발행한다.

▶ 인증 기관과 CRL

• CA (Certificate Authority) : 인증서 발행기관
• RA (Registration Authorities) : 인증서 유저 등록 기관

 

 

• CRL (Certificate Revocation List) : 인증서 폐지 목록

▷ 암호 개념

통신 당사자들끼리만 아는 비밀스러운 신호나 부호
암호화와 복호화하기 위한 원리, 수단, 방법 등을 취급하는 기술이나 과학

암호 시스템에서 기밀성, 무결성 확인

** plain text : 주고받는 메시지

- 암호 알고르즘, 복호 알고리즘은 같은 것을 사용한다. 

- 문제가 없는 알고리즘만 사용한다.

- 메시지를 보낼 때 평문으로 보내든 암호문으로 보내든 속도 저하가 없다.

 

평문을 암호화하기 위한 연산자의 유형

• 치환 (Substitution) : 평문의 각 원소를 다른 원소로 사상
• 전치 (Transpostion) : 평문의 각 원소를 재배열 (글자 재배열)
• 혼합 (Confusion) : 평문의 원소를 치환 선택(bit) (치환, 전치 혼합 사용)
• 확산 (Duffusion) : 평문의 원소를 확대(bit) (비트 수 확대)

 

사용된 키의 수

 대칭키 

: 송수신자가 같은 키를 사용

대칭키 : 암호키 = 복호키

키를 나눠가져야 해서 만나서 키를 나눠가져야 한다.

 

• 공개키 

: 송수신자가 다른 키를 사용

공개키 : 암호키 ≠ 복호키

공개키와 개인키가 있어야 암호화, 복호화를 할 수 있다.

송신자와 수신자가 각각 자신만의 공개키와 개인키를 만든다.

네트워크상에 공개키만 공개한다.

송신자는 수신자의 공개키를 가져와 암호화해 암호문을 수신자에게 보낸다. 

수신자는 수신된 암호문을 자신의 개인키로 복호화한다.

  * 단점은 너무 느림.

 

평문 처리 방법

• 블록 암호화 (Block cipher) : 연산을 블록단위로 처리
• 스트림 암호화 (Stream cipher) : 입력을 연속적으로 처리

 

 

▷ 암호 원리

단대단 암호 (End-to-End Encryption)

• OSI 참조모델에서 가장 높은 계층(7,6)에서 이루어진다.
• 네트워크에서 보안유지에 실패하더라도 데이터의 비밀성은 위협받지 않는다.
• 암호화는 송수신 프로세서가 담당한다.


링크 암호 (Link Encyption)

• OSI 참조모델에서 가장 낮은 계층(1,2)에서 암호화된다.
• 송수신 호스트나 중간 노드에서 노출된다.
• 신뢰적인 호스트 사이에 비신뢰적인 매체를 사용할 때 유리하다.
• 암호화는 송수신 호스트에서 담당한다.

• 유선 전화에서 음성을 암호화할 경우 사용한다.

 

** 단대단 암호와 링크 암호는 사용용도만 다르다.

 

관용 암호 ( = 대칭키 암호 )

• 암호/복호에 동일한 키 와 동일한 알고리즘 사용
• 수신자와 송신자는 키를 교환해야 함
• 공유한 키(비밀키)는 비밀로 유지
• 키 분배의 어려움
• 디지털 서명 불가능
• 속도가 빠름


공개키 암호

• 암호/복호에 각각 서로 다른 키 와 동일한 알고리즘 사용
• 수신자와 송신자는 연관된 키쌍 중 하나를 알아야 함
• 키 쌍중 하나(개인키)를 비밀로 유지
• 공개키를 공개
• 디지털 서명 가능
• 속도가 느림

 

 

고전적 암호 기술 (손으로 하는 암호 기법)

암호 방법
• 다양한 원문의 변환에 의해 외부인이 그 의미를 알지 못하도록 메시지를 변형
• 치환, 전치를 이용 원문을 숨김

 

1) Steganograhpy

: 메시지를 특정 메시지 위치에 숨기는 방법

특징

• 전송 내용을 숨기는 방법

• 메시지의 존재 자체를 은폐
• 원문 내의 단어나 문자를 적당히 배열 함으로써 실제 메시지를 나타냄

 

예제

• 문자 마킹 (Character marking)
  - 원문의 문자에 연필로 덧써서 표시를 해 빛을 적당한 각도로 비춰어야만 보임
• 보이지 않는 잉크 (Invisible ink)
  - 종이에 열이나 화학 처리를 해야만 보이는 잉크를 사용
• 핀 구멍 (Pin punctures)
  - 빛을 비춰야만 보이는 작은 구멍을 원문에 넣는 방법

 

Steganography의 장점

• 생성이 쉽다.


Steganography의 단점

• 상대적으로 적은 정보 비트를 은닉하는데 많은 오버헤드 요구
• 방법 노출 시 재사용 불가능
• 비밀통신에 대한 사실이 발견되면 타인에 의해 이용될 수 있다.

• 위치만 알고 있으면 확인 가능


최근 경향

• 동영상, 이미지 파일을 이용 원문을 숨기는 방법이 인터넷 등의 네트워크에서 이용됨
• 테러, 범죄에 이용되는 경우가 나타남

 

+ Recent posts