암호화 기초

암호화는 일종의 키 또는 암호화 알고리즘을 사용하여 읽을 수있는 텍스트를 읽을 수없는 텍스트로 변환하여 정보를 숨기는 프로세스를 말합니다.

암호화를 사용하여 보호되는 정보에는 이메일, 파일 및 기타 민감한 데이터가 포함됩니다.

암호화의 목적은 암호화 된 정보가 기밀성, 무결성, 인증 및 부인 방지를 유지하도록하는 것입니다.




암호화 유형

암호화에는 두 가지 유형이 있습니다.

  • 대칭 암호화 하나의 키를 사용하여 송수신되는 정보를 암호화하고 해독합니다.
  • 비대칭 암호화 서로 다른 키를 사용하여 송수신되는 정보를 암호화하고 해독합니다.


암호

Cipher는 암호화 및 복호화에 사용되는 알고리즘을 말합니다.


암호 유형은 다음과 같습니다.

클래식 암호

  • 대체 암호 일반 텍스트가 암호문으로 대체되는 암호입니다.
  • 전치 암호 일반 텍스트를 재 배열하여 암호문을 생성하는 암호입니다.

현대 암호


  • 키 기반 암호 :



    • 대칭 키 알고리즘은 암호화 및 복호화에 하나의 키를 사용하는 알고리즘입니다.

    • 비대칭 키 알고리즘은 암호화 및 복호화에 두 개의 키를 사용하는 알고리즘입니다.


  • 입력 기반 암호 :



    • 블록 암호는 대칭 키를 사용하여 고정 된 크기의 데이터 블록에서 작동하는 암호입니다.

    • 스트림 암호는 대칭 키를 사용하여 한 번에 한 비트 씩 작동하는 암호입니다.



암호화 알고리즘

DES는 대칭 암호화를 사용하는 데이터 암호화 표준입니다. 암호화 및 복호화에 사용되는 비밀 키는 64 비트로,이 중 56 비트는 무작위로 생성되고 나머지 8 비트는 오류 검사에 사용됩니다.


AES

AES는 동일한 작업을 여러 번 수행하는 대칭 키 알고리즘입니다. 128 비트의 고정 크기 블록과 128, 192 및 256 비트의 세 가지 크기의 키를 사용합니다.

RC4, RC5, RC6

RC4 한 번에 한 비트 씩 작동하고 임의의 순열을 사용하는 가변 길이 키 알고리즘입니다. 대칭 키 스트림 암호 그룹에 속합니다.

RC5 가변 블록 크기, 가변 키 크기 및 가변 수의 라운드를 갖는 매개 변수화 된 알고리즘입니다. 블록 크기는 32, 64 및 128 비트 중 하나 일 수 있습니다. 키 크기는 0에서 2,040 비트 사이 일 수 있습니다. 라운드 수는 0에서 255 사이 일 수 있습니다.

RC6 RC5에서 파생되었으며 두 가지 추가 기능이 있습니다. 정수 곱셈과 4 비트 레지스터를 사용합니다 (RC5는 2 비트 레지스터를 사용함).


투 피쉬

Twofish 알고리즘은 암호화 및 복호화에 128 비트 블록과 하나의 키를 사용하는 블록 암호입니다. 키의 크기는 0 ~ 256 비트입니다.

DSA

DSA는 개인 키와 공개 키를 모두 사용하는 비대칭 알고리즘입니다. 개인 키는 메시지에 서명 한 사람을 알려주고 공개 키는 디지털 서명을 확인합니다. 두 엔터티 간의 메시지 교환에서 각 엔터티는 공개 및 개인 키를 만듭니다.

RSA

RSA는 두 개의 큰 소수를 사용하여 계산을 수행하기 위해 모듈 식 산술 및 기본 수 이론을 사용합니다. 암호화 표준으로 간주되어 다양한 응용 분야에서 사용됩니다. RSA는 암호화 및 복호화 과정에서 개인 및 공개 키를 모두 사용합니다.

Diffie-Hellman

Diffie-Hellman 알고리즘은 안전하지 않은 채널을 통해 두 엔티티간에 공유 키를 생성하는 데 사용됩니다. 두 당사자가 암호화 키를 만든 다음 해당 키로 트래픽을 암호화 할 수 있습니다.


메시지 다이제스트

메시지 다이제스트 함수 또는 단방향 함수는 정보 블록의 고유 한 고정 크기 문자열 표현을 계산하는 데 사용됩니다. 되돌릴 수 없으며 파일 무결성을 확인하는 데 사용됩니다.

MD5는 임의의 길이 입력을 받아 입력의 128 비트 메시지 다이제스트를 생성하는 메시지 다이제스트 알고리즘입니다. 이 알고리즘은 디지털 서명 응용 프로그램, 파일 무결성 검사 및 암호 저장에 사용됩니다.

SHA

Secure Hashing Algorithm 또는 SHA는 암호화 보안 메시지 다이제스트를 생성하는 알고리즘입니다. SHA 알고리즘에는 SHA-1, SHA-2 및 SHA-3의 세 가지 세대가 있습니다. SHA-1은 160 비트 다이제스트를 생성하는 반면 SHA-2 및 SHA-3은 256, 384 및 512 비트 다이제스트를 생성합니다.

HMAC

해시 기반 메시지 인증 코드 또는 HMAC는 메시지 인증 코드의 한 유형입니다. SHA-1 또는 MD5와 같은 암호화 키와 해시 기능의 조합을 사용합니다. 인증 및 무결성 검사에 사용됩니다.




PKI

PKI는 공개 키 인프라를 나타내며 디지털 인증서를 관리하는 데 필요한 하드웨어, 소프트웨어, 사람, 정책 및 절차를 나타냅니다. 교환되는 정보의 기밀성을 높이기 위해 개발 된 보안 아키텍처입니다.

서명 된 인증서는 인증 기관 (CA)에서 발급 한 인증서입니다. 여기에는 공개 키와 소유자의 신원이 포함됩니다.

자체 서명 인증서는 자신이 발급하고 서명 한 인증서입니다. 일반적으로 테스트 목적으로 사용되며 그렇지 않으면 신뢰할 수 없습니다.



이메일 및 디스크 암호화

전자 서명

디지털 서명은 비대칭 암호화를 사용하여 생성됩니다. 전송 된 데이터에 첨부되며 암호화 인증 방식을 나타냅니다.

SSL

SSL은 Secure Sockets Layer를 나타내며 네트워크 및 인터넷을 통한 메시지 전송의 보안을 보장하는 작업을 수행하는 애플리케이션 계층의 프로토콜을 나타냅니다.

TLS

TLS는 Transport Layer Security의 약자로 안전한 클라이언트-서버 연결을 설정하고 전송 중에 정보 무결성과 개인 정보를 보장하는 프로토콜을 나타냅니다.

PGP

PGP는 Pretty Good Protection의 약자로 인증 및 암호화 데이터의 암호화 및 복호화에 사용되는 프로토콜을 나타냅니다. PGP는 데이터, 디지털 서명, 이메일 암호화 / 복호화 및 기타 민감한 정보를 압축하는 데 사용됩니다.

디스크 암호화

디스크 암호화는 디스크에 저장된 모든 데이터의 암호화를 의미합니다. 목표는 디스크에 저장된 데이터를 보호하고 기밀성을 보장하는 것입니다.



암호 분석

암호 분석은 암호 및 암호화 된 텍스트의 암호 해독 프로세스를 나타냅니다. 암호화 시스템의 취약성을 식별하여 암호화 된 시스템에서 일반 텍스트를 추출 할 수 있습니다.

암호화에 사용되는 방법은 다음과 같습니다.

  • 선형 암호화는 블록 암호에 사용됩니다.
  • 대칭 키 알고리즘에서 차등 암호화가 사용됩니다.
  • 적분 암호화 분석은 블록 암호에 사용됩니다.

코드 브레이킹 방법론

암호화를 해제하여 암호화 알고리즘의 강도를 측정하는 데 사용되는 기술은 다음과 같습니다.

  • 무차별 대입 기술은 가능한 모든 문자 조합을 시도하여 암호화를 해제합니다.
  • 주파수 분석 기술은 특정 심볼이 발생하는 빈도를 분석하고이를 기반으로 암호화를 차단합니다.
  • 속임수 및 속임수 기술은 키를 추출하고 암호화를 해제하기 위해 사회 공학 기술을 사용해야합니다.
  • 일회성 패드 기술은 일반 텍스트가 반복되지 않는 문자 집합으로 구성된 키와 결합되고 무작위로 생성되며 전송되는 메시지와 동일한 길이를 갖는 깨지지 않는 암호화를 의미합니다.

암호화 공격


  • 암호문 전용 공격 공격자가 키를 찾고 텍스트를 암호화하기 위해 분석해야하는 암호 텍스트 모음을 보유하는 공격입니다.


  • 알려진 평문 공격 공격자가 키를 파생하는 데 기반을 둔 일반 텍스트의 일부를 갖는 공격입니다.


  • 선택한 일반 텍스트 공격 공격자가 생성 한 일반 텍스트와 해당 암호문을 분석하여 공격자가 키를 도출하는 공격입니다.


  • 선택된 암호문 공격 공격자가 선택한 암호문 집합에 대한 일반 텍스트를 얻고 키를 파생하려고 시도하는 공격입니다.


  • 무차별 대입 공격 올바른 키를 찾을 때까지 가능한 모든 키 조합이 암호문에 대해 시도되는 공격입니다. 이 공격에는 많은 시간과 처리 능력이 필요합니다.


  • 사전 공격 공격자가 일반 텍스트 및 해당 암호문 사전을 만든 다음 해당 사전을 사용하여 암호화를 해제하는 공격입니다.