[오답정리] 암호화 기법

정보시스템 구축 관리 > 암호 알고리즘 > 암호화 기법
  • 데이터베이스 암호화
    • 데이터베이스 보안
      • 데이터베이스의 일부분 또는 전체에 대해서 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용되는 기술
      • 보안을 위한 데이터 단위는 테이블 전체로부터 특정 테이블의 특정한 행과 열 위치에 있는 특정한 데이터 값에 이르기까지 다양
      • 데이터베이스 사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근 권리 또는 권한을 갖게 됨
    • 데이터베이스 암호화의 개념
      • 외부로부터의 공격, 내부자의 불법행위로 인한 데이터 유출을 방지하기 위해 DB 내에 저장된 데이터를 해독 불가능한 형식의 암호문으로 저장하는 행위
    • 데이터베이스 암호화의 유형
      • 디스크 전체 암호화 (Storage Level)
        • DB 파일을 보호하고 비인가 사용자에 의한 불법적인 파일 열람을 제한
        • 인가된 서버만이 정상적인 암호화된 데이터를 해독하고 열람이 가능
      • 컬럼 암호화 (Column Level)
        • 개인정보, 기업의 민감한 정보를 담고 있는 특정 테이블의 컬럼만을 암호화
        • DB 서버에 접속하는 사용자들을 구분하고 정의된 암, 복호화 정책에 따라 데이터를 제공
        • 컬럼 암호화의 종류
          • Plug-In 방식 : DB 서버 내의 플러그인을 장착하여 암복호화를 수행하는 방식
          • API 호출 방식 : 애플리케이션 서버가 암복호화를 위한 API를 호출하여 수행하는 방식 
  • 암호화 기법 용어
    • 암호화 (Encryption)
      • 데이터를 보낼 때 송신자와 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것
      • 암호화 과정 (Encryption) : 암호화되지 않은 평문을 정보 보호를 위해 암호문으로 바꾸는 과정
      • 복호화 과정 (Decryption) : 암호문을 원래의 평문으로 바꾸는 과정
      • 암호화의 원리 : 치환, 전치, 혼합, 블록화, 확장, 압축 등의 기법 사용 
    • 암호 알고리즘
      • 패스워드, 주민번호, 은행계좌와 같은 중요정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법
      • 해시를 사용하는 단방향 암호화 방식, 개인키 및 공개키로 분류되는 양방향 암호화 방식으로 구분
  • 암호화 방식의 분류

    • 양방향 암호화 방식의 종류
      • 개인키 암호화 방식 (Private Key Encryption)
        • 개인키 암호화 방식의 개념
          • 대칭 암호 방식, 단일키 암호화 기법, 비밀키 암호화 기법
          • 동일한 키로 데이터를 암호화하고 복호화
          • 비밀키는 제 3자에게는 노출시키지 않고 데이터베이스 사용 권한이 있는 사용자만 나누어 가짐
        • 개인키 암호화 기법의 암호화 방식 : 데이터베이스 사용자는 평문의 정보 M을 암호화 알고리즘 E와 개인키 K를 이용하여 암호문 C로 바꾸어 저장시켜 놓으면 사용자는 그 데이터베이스에 접근하기 위해 복호화 알고리즘 D와 개인 키 K를 이용하여 다시 방문의 정보 M으로 바꾸어 이용하는 방법
        • 개인키 암호화 기법에서 사용되는 키의 개수 : (n = 암호화 대상의 개수)
        • 개인키 암호화 기법의 종류
          • 데이터 교체 방법에 따른 분류
            • 전위 기법 : 글자 순서 변경
            • 대체 기법 : 글자를 다른 글자로 바꾸는 방식
            • 대수 기법 : 데이터를 정해진 순서대로 배치하는 방식
            • 합성 기법 : 데이터를 서로 교환하는 방식 
              • DES 기법 (Data Encryption Standard) : 개인키 암호화 방식의 대표적인 알고리즘, 64Bit의 평문 블록을 56Bit의 16개 키를 이용하여 16회의 암호 계산 단계를 거쳐 64Bit의 암호문을 얻음 
              • LUCIFER
          • 데이터 단위에 따른 분류
            • 블록 암호화 방식
              • 한번에 하나의 데이터 블록을 암호화
              • 블록 단위로 치환, 대칭을 반복하여 암호화
              • 장점 : 대용량의 평문 암호화 
              • 종류 : DES, 3DES, Blowfish, SEED, AES, ARIA, IDEA
                • SEED
                  • 1999년 한국인터넷진흥원 KSA에서 개발한 블록 암호화 알고리즘
                  • 블록 크기 : 128bit
                  • 키 길이 : 128, 256bit
                • ARIA
                  • 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘
                  • 학계(Academy) + 연구기관(Research Institute)+정부(Agency)
                  • 블록 크기 : 128bit
                  • 키 길이 : 128, 192, 256bit 
                  • 활용 : 국내 공공 기관 
                • DES
                  • 1975년 미국 NBS에서 발표한 개인키 암호화 알고리즘
                  • 3DES(Triple DES) : DES를 3번 적용하여 보안을 더욱 강화
                  • 블록 크기 : 64bit
                  • 키 길이 : 56bit 
                • AES
                  • 2001년 미국 표준 기술 연구소 NST에서 발표한 개인키 암호화 알고리즘
                  • DES의 한계를 느낀 NST에서 공모한 후 발표
                  • 블록 크기 : 128bit
                  • 키 길이 : 128, 192, 256bit 
                  • 활용 : WPA2 무선 인증 등 
                • IDEA
                  • 128bit의 키를 사용해 64bit의 평문을 8 라운드에 거쳐 64 bit의 암호문으로만 구성
                  • 모든 연산이 16bit 단위로 이루어지도록 하여 16bit 프로세서에서 구현이 용이
                  • 주로 키 교환에 사용
                  • 활용 : PGP 메일 암호 등 
            • 스트림 암호화 방식
              • 평문과 동일한 길이의 스트림을 생성하여 비트, 바이트, 워드 단위로 암호화
              • 하나의 bit, byte 단위로 암호화, 평문을 XOR로 1bit 단위로 암호화
              • 장점 : 실시간 암호, 복호화, 블록 암호화보다 빠름
              • 종류 : LFSR, RC4, RC5, SEAL, OTP 
                • RC5
                  • 1994년 미국 RSA 연구소의 리베스트가 개발
                  • 비교적 간단한 연산으로 빠른 암호화와 복호화 기능을 제공하여 모든 하드웨어에 적합
                  • 입출력, Key, 라운드 수가 가변인 블록 알고리즘
                  • 32, 54, 128 bit의 키를 사용
                  • 활용 : PC4의 개선 
        • 개인키 암호화 방식의 장단점
          • 장점 : 암호화, 복호화 속도가 빠르며, 알고리즘이 단순함, 공개키 암호 기법보다 파일의 크기가 작음
          • 단점 : 사용자의 증가에 따라 관리해야 할 키의 수가 상대적으로 많아짐
      • 공개키 암호화 방식 (Public Key Encryption)
        • 공개키 암호화 방식의 개념
          • 비대칭 암호 방식
          • 서로 다른 키로 데이터를 암호화하고 복호화
          • 자신만이 보관하는 비밀키를 이용하여 인증, 전자서명 등에 적용 가능 
        • 공개키 암호화 방식의 키의 공개 여부
          • 공개 키(Public Key) : 데이터를 암호화할 때 사용하는 키는 데이터베이스 사용자에게 공개
          • 비밀 키(Secret Key) : 데이터를 복호화할 때 사용하는 키는 관리자가 비밀리에 관리 
        • 공개키 암호화 방식의 암호화 방식 : 데이터베이스 사용자는 평문 정보 M을 암호화 알고리즘 E와 공개키 P를 이용하여 암호문 C로 바꾸어 저장시켜 놓고, 이를 복호화하기 위해서는 비밀키와 복호화 알고리즘에 권한이 있는 사용자만이 복호화 알고리즘 D와 비밀키 S를 이용하여 다시 평문의 정보 M으로 바꿀 수 있는 기법
          • 공개키와 개인키라는 두 개의 암호화 키를 사용해서 암호화하고 복호화하는 방식임
          • 송신자 : 공개키를 수신 받은 후 공개 키로 암호화하여 메시지 전송
          • 수신자 : 개인키로 복호화 
        • 공개키 암호화 기법에서 사용되는 키의 개수 : (n=암호화 대상의 개수) 2n
        • 공개키 암호화 기법의 장단점
          • 장점 : 키의 분배가 용이, 관리해야 할 키의 개수가 적음
          • 단점 : 암호화/복호화 속도가 느림, 알고리즘이 복잡, 개인키 암호화 기법보다 파일의 크기가 큼 
        • PKI (공개 키 기반 구조 암호시스템)
          • PKI의 개념 : 공개 키 암호 시스템을 안전하게 사용하고 관리하기 위한 정보 보호 표준 방식
          • PKI의 이용 : 전자 서명, 공인인증서 검증을 통해 부인 방지, 인증, 무결성, 기밀성 제공 
          • PKI의 종류
            • ITU-T의 X509 방식 : 인증기관에서 발생하는 인증서를 기반으로 상호 인증을 제공
            • 비X509 방식 : 국가별, 지역별로 맞게 보안 및 개발
          • PKI의 구성 요소
            • 사용자 : 인증서를 신청하고 인증서를 사용하는 주체
            • 등록기관 (RA) : 사용자 요청 시 신원을 확인하고 CA에 인증서 발급 요청
            • 인증기관 (CA) : 인증서 등록, 발급 등의 관리 총괄, 인증서 폐기 목록(CRL) 생성
            • Certificate Repository : 인증서 및 CRL 보관
            • Directory : 인증서 관련 서비스, LDAP 
          • PKI의 관리 대상
            • 인증서(X.509) 구조 : 버전, 일련번호, 서명 알고리즘, 유효기간 시작 / 종료, 주체, 공개 키, 다이제스트 알고리즘, 데이터 다이제스트, 이름, 키
            • 인증서 검증방식 : CRL, OCSP, SCVP
            • 인증서 취소 목록 : CRL
            • 유효성 : OCSP
            • 인증서 체인 : SCVP 
        • 공개키 암호화 기법의 종류
          • RSA
            • 1978년 MIT의 라이베스트(Rivest), 샤미르(Shamir), 애들인(Adelman)에 의해 제안된 공개키 암호화 알고리즘 
            • 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘
            • 큰 숫자를 소인수분해하기 어렵다는 것에 기반하여 만들어짐
            • 공개키와 비밀키를 사용
            • 원리 : 소인수 분해
            • 장점 : 여러 라이브러리 존재
            • 단점 : 컴퓨터 속도의 발전으로 키 길이 증가 
          • ECC
            • 1985년 RSA 암호 방식의 대안으로 제안
            • 이산대수 문제를 타원 곡선으로 옮겨 기밀성과 효율성을 높인 암호화 알고리즘
            • 원리 : 타원 곡선
            • 장점 : 짧은 키로 높은 암호 강도, 오버헤드 적음
            • 단점 : 키 테이블(20kbyte) 필요 
          • Rabin
            • 1979년 미하엘 라빈이 제안
            • 소인수분해의 어려움에 안전성의 근거를 둔 암호화 알고리즘 
          • DSA
            • 전자서명 알고리즘 표준
            • 원리 : 이산대수 문제
            • 장점 : 간단한 구조
            • 단점 : 전자서명 활용 / 암호화 / 키 교환 불가
          • 디피/헬만 (Diffle  Hellman) 
            • 최초의 공개키 알고리즘
            • 키 분배 전용 알고리즘
            • 원리 : 이산대수 문제
            • 장점 : 키 분배에 최적화, 키는 필요시에만 생성, 저장 불필요
            • 단점 : 암호화 또는 서명 사용하지 않음 (상대방에 대한 인증 기능 없음), 위조에 취약 
구분 대칭 키 알고리즘 비대칭 키 알고리즘
키의 상호관계 암호화 키 = 복호화 키 암호화 키 ≠ 복호화 키
암호화 키 비밀 키 공개 키
복호화 키 비밀 키 개인 키
키의 종류 세션 키(Session Key), 공유 키(Shared Key), 비밀 키(Secret Key), 대칭 키 (Symmetric Key) 공개 키(Public Key), 개인 키(Private Key)
비밀키 전송 여부 필요 불필요
키 관리 복잡 : 모든 전송 당사자 간 암복호화 키 공유 단순 : 인증기관을 통해 전송 당사자 별 개인키 발급
안전한 인증 곤란 용이
암호화 속도 고속 저속
경제성 높음 낮음
부인방지 여부 불가능 : 대칭키로 인하여 가능 : 키의 2원화
속도 빠름 느림
구현 방식 블록, 스트림 암호화 소인수 분해, 이산대수
적용 알고리즘 DES, 3DES, SEED, AES, IDEA RSA, ECC
장점 구현용이, 변형가능 암호해독이 어려움, 전자서명 가능
단점 쉽게 해독, 키 관리의 어려움 해독 시간이 많이 걸림
  • 단방향 암호화 방식의 종류
    • 해시 (Hash)
      • 해시의 개념
        • 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것을 의미
        • 해시의 용어
          • 해시 함수 : 해시 알고리즘
          • 해시 값(해시 키) : 해시 함수로 변환된 값이나 키
        • 해시의 특징
          • 무결성 검증을 위해 사용될뿐만 아니라 정보보호의 다양한 분야에서 활용
          • 복호화가 거의 불가능한 일방향 함수에 해당
        • 해시 함수의 종류
          • SHA 시리즈
            • 1993년 미국 국가안보국 NSA이 처음 설계했으며, 미국 국립 표준 기술 연구소 NIST에 의해 발표
            • 종류 : SHA-0, SHA-1, SHA-2 (SHA-224), SHA-256,SHA-384, SHA-512
          • MD5
            • 1991년 R.Rivest가 Md4를 대체하기 위해 고안한 암호화 해시 함수
            • 블록 크기 : 512bit
            • 키 길이 : 128bit
          • N-NASH
            • 1969년 일본의 전신전화주식회사 NTT에서 발표한 암호화 해시 함수
            • 블록 크기, 키 길이 : 128bit
          • SNEFRU
            • 1990년 R.C.Meride가 발표한 해시 함수
            • 32bit 프로세서에서 구현을 용이하게 할 목적으로 개발
            • 블록 크기 : 512bit
            • 키 길이 : 128bit, 256bit
  • 솔트(Salt)
    • 둘 이상의 계정에 대해 패스워드를 qwer1234라고 지정하고 같은 암호화 알고리즘을 적용하게 되면 결과도 마찬가지로 동일하게 나타나 이 경우 공격자가 나타나면 하나의 암호만 해제해도 둘 이상의 계정을 알게되는 문제를 방지하고자, 암호화를 수행하기 앞서 원문에 무작위의 값(솔트)를 덧붙이는 과정을 수행
    • 솔트의 개념
      • 같은 암호를 해쉬하게 되면 같은 해쉬 값이 나오므로 이를 방지하기 위해서 암호를 해쉬하기 전에 각각의 사용자마다 랜덤 값을 암호에 덧붙여 해쉬할 때, 이 랜덤값이 솔트
      • 이렇게 하면 같은 암호라 하더라도 사용자마다 랜덤 값이 붙으므로 해쉬된 결과 값이 달라짐 
    • 솔트를 사용하면 같은 패스워드에 대해 암호화를 수행하더라도 서로 다른 결과가 나타나게 되어 더 안전하게 암호화된 데이터를 관리할 수 있게 됨 
800제-90번. 소인수 분해 문제를 이용한 공개키 암호화 기법에 널리 사용되는 암호 알고리즘 기법은?

① RSA
② ECC
③ PKI
④ PEM 

 

정답 : 1 

 

 

800제-181번. 블록 암호화 방식이 아닌 것은?

① DES
② RC4
③ AES
④ SEED

 

정답 : 2

 

 

800제-191번.  큰 숫자를 소인수 분해하기 어렵다는 기반하에 1978년 MIT에 의해 제안된 공개키 암호화 알고리즘은? 

① DES
② ARIA 
③ SEED
④ RSA 

 

정답 : 4 

 

 

800제-394번. 스트림 암호화 방식의 설명으로 옳지 않은 것은?

① 비트/바이트/단어들을 순차적으로 암호화한다.
② 해쉬 함수를 이용한 해쉬 암호화 방식을 사용한다.
③ RC4는 스트림 암호화 방식에 해당한다.
④ 대칭키 암호화 방식이다. 

 

정답 : 2

 

 

800제-500번. 암호화 키와 복호화 키가 동일한 암호화 알고리즘은? 

① RSA
② AES
③ DSA
④ ECC 

 

정답 : 2 

 

 

800제-681번. 블록 암호화 방식이 아닌 것은?

① DES
② RC4
③ AES
④ SEED 

 

정답 :2 

 

 

800제-698번. 큰 숫자를 소인수 분해하기 어렵다는 기반하에 1978년 MIT에 의해 제안된 공개키 암호화 알고리즘은? 

① DES
② ARIA
③ SEED
④ RSA 

 

정답 :4

 

 

800제-788번. Public Key System에 대한 설명으로 틀린 것은?

① 공개 키 암호화 기법을 이용한 대표적 암호화 방식에는 RSA가 있다.
② 암호화 키와 해독키가 따로 존재한다.
③ 암호화 키와 해독키는 보안되어야 한다. 
④ 키의 분배가 용이하다. 

 

정답 :3 

 

 

800제-799번. 암호화 키와 복호화 키가 동일한 암호화 알고리즘은? 

① RSA
② AES
③ DSA 
④ ECC 

 

정답 : 2 

 

 

1000제-439번. 데이터베이스 암호화에 대한 설명으로 옳지 않은 것은?

① 데이터 유출을 방지하기 위해 DB내에 저장된 데이터를 해독 불가능한 형식의 암호문으로 저장하는 행위를 데이터베이스 암호화라고 한다.
② DB 암호화 방식으로 디스크 전체 암호화 방식과 컬럼 암호화 방식이 있다.
③ 컬럼 암호화 방식의 종류로 Agent 방식과 Deamon 방식이 있다.
④ 개인정보나 기업의 민감한 정보를 담고 있는 특정 테이블 컬럼만을 암호화하는 것을 컬럼 암호화라고 한다. 

 

정답 : 3 

 

 

1000제-738번. 다음 중 암호화 기법이 아닌 것은?

① DES
② MALLOC
③ Public Key System
④ RSA 

 

정답 :2 

MALLOC : 동적 메모리 할당을 위해 C 언어에서 제공하는 메모리 할당 함수 

 

 

1000제-739번. Public Key System에 대한 설명으로 틀린 것은?

① 공개 키 암호화 기법을 이용한 대표적 암호화 방식에는 RSA가 있다.
② 암호화 키와 해독 키가 따로 존재한다.
③ 암호화 키와 해독 키는 보안되어야 한다.
④ 키의 분배가 용이하다. 

 

정답 : 3

 

 

1000제-740번. 다음 암호화 기법에 대한 설명으로 틀린 것은?

① DES는 비대칭형 암호화 기법이다.
② RSA는 공개키/비밀키 암호화 기법이다.
③ 디지털 서명은 비대칭형 암호 알고리즘을 사용한다.
④ DES 알고리즘에서 키 관리가 매우 중요하다. 

 

정답 :1 

 

 

1000제-741번. 데이터를 전송할 때에는 항상 정보에 대한 보안 문제가 대두되며, 이를 해결하기 위해 다양한 암호화 방식이 사용된다. 다음이 설명하고 있는 암호화 방식을 사용하는 것은?

<설명>

암호화할 때는 하나의 키를 사용하고, 해독 과정에서 또 다른 키를 사용한다. 망 내의 각 단말 시스템은 수신될 메시지의 암호화와 해독에 사용될 키의 쌍을 생성한다. 암호화는 공개 키를 사용하고 복호화는 개인키를 사용한다.

① DES
② RSA
③ SEED
④ IDEA

 

정답 : 2

 

 

1000제-793번. 공개 키 암호화 구조에서 송신자는 수신자에게 정보를 암호화하여 전송하기 위해 어떤 암호를 사용해야 하는가? 

① 송신자의 공개키
② 송신자의 개인키 
③ 수신자의 공개키 
④ 수신자의 개인키 

 

정답 :3 

 

 

1000제-898번. 큰 숫자를 소인수 분해하기 어렵다는 기반하에 1978년 MIT에 의해 제안된 공개키 암호화 알고리즘은?

① DES
② ARIA
③ SEED
④ RSA 

 

정답 :4 

 

 

1000제-988번. Public Key System에 대한 설명으로 틀린 것은?

① 공개키 암호화 기법을 이용한 대표적 암호화 방식에는 RSA가 있다. 
② 암호화키와 해독키가 따로 존재한다.
③ 암호화키와 해독키는 보안되어야 한다.
④ 키의 분배가 용이하다. 

 

정답 : 3 

 

 

1000제-999번. 암호화 키와 복호화 키가 동일한 암호화 알고리즘은? 

① RSA
② AES
③ DSA
④ ECC 

 

정답 : 2

 

 

800제-598번. 시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과 값으로 저장된다. 이때 암호 공격을 막기위해 똑같은 패스워드들이 다른 암호값으로 저장되도록 추가되는 값을 의미하는 것은? 

① Pass flag
② Bucket
③ Opcode 
④ Salt 

 

정답 : 4