[정보보호기술] 4강. 인증과 전자서명

인증과 전자서명


인증기술

인증 (Authentication)


인증시스템


사용자 인증기술


메시지 인증기술


인증 방법 - 사용자가 알고 있는 것 (What You Know)


인증 방법 - 사용자가 소유 하고 것 (What You Have)


인증 방법 - 사용자만의 고유한 특성 (What You Are)


기타 인증 방법


패스워드 기반 인증 : 사용자 -> 패스워드 : 신원정보 -> 서버


좋은 패스워드란?


패스워드 설정 정책


패스워드 추측 공격시 방어법


패스워드 기반 인증 기술 종류

고정 패스워드 기법


일회용 패스워드 기법


OTP 생성 방식

비동기화 방식

  1. 로그인 정보 전달 (사용자)
  2. 로그인 정보 확인 (서버)
  3. 질의값 전달 (서버 -> 사용자)
  4. 질의값을 토큰에 입력하여 OTP 생성 (사용자)
  5. 응답값 (사용자 -> 서버)
  6. 응닶갑과 비교하여 사용자 인증 (서버)


동기화 방식

  1. 로그인 정보 전달 (사용자)
  2. 로그인 정보 확인 (서버)
  3. 동기화방식에 따라 OTP 생성 후 OTP 값 전달 (사용자 -> 서버)
  4. 응닶갑과 비교하여 사용자 인증 (서버)


Challenge-Response 기법

  1. 로그인 정보 전달 (사용자)
  2. 로그인 정보 확인 후 난수 r를 선택 (서버)
  3. 난수 r (Challenge) 전달 (서버 -> 사용자)
  4. 비밀키 k를 사용하여 암호문 C = Ek(r) 생성 (사용자)
  5. 암호문 C (Response) 전달 (사용자 -> 서버)
  6. Dk(C) = r을 확인하여 인증함

E는 인코딩, D는 디코딩


전자서명


인감과 전자 서명 차이

인감 : 종이문서 + 인감도장 날인


전자 서명 : 전자문서 + 전자 서명


전자서명 특성

  1. 위조불가 (Unforgeable)

    • 서명은 성명자 이외의 다른 사람이 생성할 수 없어야 함
  2. 사용자인증 (Authentic)

    • 서명은 서명자의 의도에 따라 서명된 것임을 확인할 수 있어야 함
  3. 부인 방지 (Non-repudiation)

    • 서명자가 자신이 서명한 사실을 부인할 수 없어야 함
  4. 변경 불가 (Unalterable)

    • 서명한 문서의 내용을 변경할 수 없어야 함
  5. 재사용 불가 (Not Reusable)

    • 하나의 문서의 서명을 다른 문서의 서명으로 사용할 수 없어야 함


전자 서명의 종류

  1. 간접 서명

    • 제 3자를 통해 서명을 생성 및 검증
  2. 직접 서명

    • 공개키 암호 시스템을 사용하여 직접 서명 및 검증

    • 메시지 복원형

      • RSA와 같이 공개키로 암,복호화 할 때 본래의 메시지가 환원되는 경우
      • 서명의 검증과정에서 본래의 메시지가 복원되는 방식임
      • 기존의 암호시스템을 이용하기 때문에 별도의 전자 서명 프로토콜이 필요하지 않음
      • 메시지를 이정한 크기의 블록으로 나누어 그 각각의 블록에 대해서 서명을 해야 하므로
        서명생성, 서명검증 시간이 많이 소요됨
    • 부가형

      • 메시지를 해시함수로 사용하여 일정한 길이로 압축하고 그 해시 알고리즘의 결과와
        서명자의 비밀키를 이용하여 비밀키를 이용하여 전자 서명을 생성해서 메시지에 덧붙임
      • 메시지 이외에 서명을 따로 전송해야 하므로 전송량이 조금 늘어남
      • 메시지가 아무리 길더라도 단 한번의 서명생성 과정만 필요함
      • 해시함수의 특성상 서명의 위조나 서명된 메시지의 변조를 막음
      • 상대적으로 부가형 전자 서명의 장점이 크기 때문에 선호함
      • DSA, ECDSA, KCDSA, ECKCDSA


전자서명 안전성 근거 비고
RSA 소인수분해문제 가장 많이 사용
DSA 이산대수문제 미국 연방 표준
ECDSA 타원곡선, 이산대수문제 가장 효율적임
KCDSA 이산대수문제 국내 표준


전자서명의 응용

  1. 은닉 서명 (Blind Signature)

    • 서명자가 메시지의 내용을 모르면서 메시지가 유효하다는 것을 증명하도록 서명하는 것
    • 전자화폐, 전자투표
  2. 부인방지 서명 (Undeniable Signature)

    • 자체 인증 방식을 배제시켜 서명의 검증과정에 서명자가 참가하도록 하는 서명 방식
    • 서명자의 프라이버시 보호
  3. 위임 서명 (Proxy Signature)

    • 위임 서명자로 하여금 서명자를 대신해서 대리로 서명
  4. 다중 서명 (Multi Signature)

    • 하나의 문서에 여러 사용자가 서명
  5. 그룹 서명 (Group Signature)

    • 그룹의 소속원이 그룹을 대표해서 서명할 수 있는 방식
    • 서명의 검증자는 그룹의 서명임을 확인가능하나 서명자의 신원은 알 수 없음


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


공개키 기반 구조 (KPI) 구성 요소

분류 설명
인증기관 (CA: Certification Authority) * 역할과 기능에 따라 계층적으로 구성
* 인증 정책 수립 및 인증서 발행 및 관리
등록기관 (RA: Registration Authority) * 인증 기관과 사용자 사이에 등록 기관을 두어
인증기관 대신 사용자들의 신분확인 등을 대행
디렉토리 (Directory Service) * 인증서와 사용자 관련 정보들을 저장, 검색을 위한 장소
사용자 (Subject) * 일반적인 사람뿐 아니라 이용하는 시스템 포함


공인인증서 (Certificate)


공인인증서에 포함된 내용

분류 설명
버젼 (Version) * 인증서의 버전을 기술함
* 인증서 확장 영역을 이용할 때, X.509의 버젼번호는 V3을 이용함
일련번호 (Serial Number)* 인증기관에 의해 각 인증서에 유일하게 부여되는 번호임  
서명 알고리즘 (Signature Algorithm ID) * 인증기관이 인증서를 서명하기 위한 알고리즘과 알고리즘 식별자를 포함함
발행자 (Issuer Name) * 인증서를 발행하고 표시하는 CA의 이름을 명기함
유효기간 (Validity Period) * 인증서 유효 기간이 시작하는 날짜와 인증서 유효 기간이 종료하는 날짜로 구성됨
주체 (Subject Name) * 이 인증서에 대한 사용자(피발급자)의 이름을 나타냄
사용자 공개키 정보(Subject Public-key Information) * 사용자의 공개키에 대한 정보(공개키 및 관련 알고리즘)가 들어 있음
발행고유식별자 (Issuer Unique Identifier) * 인증서를 발급한 CA의 부가정보를 제공함
사용자고유식별자(Subject Unique Indetifier) * 인증서를 주체에 대한 부가정보를 제공함
확장영역 (Extensions) * 이 필드는 버젼 3인 경우에만 나타날 수 있음
* X.509 v3 인증서를 위해 정의된 확장은 사용자의 공개키 정보와 연관된 추가적인 정보를 제공하며, 인증서 계층 구조를 관리할 수 있는 방법을 제공함
서명문 (Signed by Issuer(CA)) * CA의 개인키로 서명된 서명문을 제공함