본문 바로가기

정보보안

정보보안 - Cryptographic Tools

암호화 알고리즘의 종류

▪ Symmetric encryption
▪ Public-key (asymmetric) encryption
▪ Random number

 

대칭키 비대칭키 암호화 알고리즘 

 

Symmetric Encryption

Symmetric encryption = conventional encryption = single-key encryption

기본개념 전송데이터 암호화 키 1개사용

암호화 복호화 같은키 사용

 

대칭 암호화는 전통적 암호화 또는 단일 키 암호화로도 불리며, 전송된 데이터의 기밀성을 제공하기 위한 보편적인 기술입니다.
  평문: 알고리즘의 입력으로 사용되는 원본 메시지나 데이터입니다.
  암호화 알고리즘: 암호화 알고리즘은 평문에 여러 가지 치환 및 변환을 수행합니다.
  비밀 키: 알고리즘에 의해 수행된 정확한 치환과 변환은 키에 따라 다릅니다; 또한 암호화 알고리즘의 입력입니다.
  암호문: 출력으로 생성된 혼란스러운 메시지입니다. 평문과 비밀 키에 의존합니다.
  복호화 알고리즘: 암호화 알고리즘이 역으로 실행됩니다. 암호문과 비밀 키를 받아 원본 평문을 생성합니다.
대칭 암호화의 안전한 사용을 위한 두 가지 요구 사항:
  강력한 암호화 알고리즘
  발신자와 수신자는 비밀 키를 안전하게 획득하고 보관해야 합니다.

 

예를들어 암호화를 1->2 하면 복호화는 2->1 이런식으로 진행된다.

대칭 암호화 공격

대칭 암호화 체계를 공격하는 두 가지 일반적인 접근 방식
  무차별 대입 공격
  암호 분석
무차별 대입 공격
  어떤 암호문에 가능한 모든 키를 시도하여 의미 있는 평문으로의 변환이 얻어질 때까지 시도합니다.
암호 분석
  알고리즘의 성질과 일부 평문 특성의 지식에 의존합니다
  심지어 일부 평문-암호문 쌍도 사용됩니다
  특정 평문이나 키를 유추하기 위해 알고리즘의 특성을 이용합니다

 

 

사이퍼텍스트 온리 어택

서로 주고받는게 사이퍼택스트 중간에 사이퍼텍스트를 맨인더미들로 받아와서 분석하고 분석결과로부터 plaintext를 복원하는게 공격자 eve의

가정: 도청된 암호문만 주어지는 경우

가능한 모든키 적용: 가장 간단 유효하지않음

목적: 공개된 암호문 및 복호화 알고리즘에 대한 취약점 분석이 주된 공격 해당

 

논kown 텍스트 어택

사이퍼텍스트를 탈취해서 플레인 텍스트를 도출하는 과정은 똑같음 분석과정에서 previous pair  사이퍼텍스트와 플레인텍스트사이의 연관성을 보는것

가정: 몇쌍의 평문과 대응하는 암호문(하이퍼텍스트) 가 존재한다.

목적: 도청된 암호를 해독하거나 적용된 비밀키를 분석

 

chosen -plaintext attack 

엘리스 밥이 있고 c가 전송되는 형태는 위와 동일함 맨인더미들로 캡쳐 분석 plaintext를 유추해내기위한 작업 달라지는것은 eve공격자가 만들어내는데 내가 의도한문장을 만들어내서 엘리스에 넣겟끔 만든다. 두개의 페어가 만들어지는것을 가지고 분석을 하는것이다.

가정: 암호분석가가 구조 파악이 쉽게 예상되는 평문을 선택하겟다.

목적: 비밀키 분석

가정 선호되는 분석방법 

이 공격에서 안전하면 가장 이상적이다.  가장 중요 가장 현실적이기 때문

 

chosen -사이퍼텍스트 attack 

위와 동일하지만 bob에서 받은것을  

가정: 암호분석가가 선택한 암호문에 대해 평문을 얻을수있음, 암호 복호화 장치에 접근가능해야한다.

목적: 다른 관측된 암호문에 해당하는 평문을 도출

 

대칭 암호화 알고리즘

가장 일반적으로 사용되는 대칭 암호화 알고리즘은 데이터 암호화 표준(DES), 3중 DES, 그리고 고급 암호화 표준(AES)과 같은 블록 암호입니다.
  DES
    64비트 평문 블록과 56비트 키를 사용하여 64비트 암호문 블록을 생성합니다.
    알고리즘과 56비트 키 사용에 대한 우려가 있습니다.
  3DES
    기본 DES 알고리즘을 세 번 반복합니다.
    두 개 또는 세 개의 고유 키를 사용합니다.
    훨씬 더 안전하지만 훨씬 느립니다.
  AES -> 공인인증서에서 사용
    128비트 데이터와 128/192/256비트 키를 사용합니다.

 

응용 프로그램: 메시지 인증

활성 공격으로부터 보호합니다.
  활성 공격 예시: 데이터 및 거래의 위조
수신된 메시지가 진품임을 확인합니다.
  오류 감지 코드 등을 포함하여 내용이 변경되지 않았습니다.
  진품 출처로부터
  시기적절하고(correct sequence) 올바른 순서대로
두 당사자 간에 흐르는 다른 메시지와 비교할 때 메시지의 시기적절함과 순서를 검증하기 위해, 전통적 암호화 또는 별도의 인증 메커니즘을 사용할 수 있습니다.
  전통적 암호화의 경우, 발신자와 수신자만 필요한 키를 가지고 있습니다.
  별도의 인증 메커니즘의 경우, 암호화에 의존하지 않고, 평문 메시지에 인증 태그를 추가합니다.
    예) TLS에서 8바이트 인증 태그를 가진 AES-CCM(Counter with CBC-MAC)의 사용

 

무결성을 따지는것이 아니다. 변경이 되었을때 진짜인지 아닌지를 보는것이다. 기밀성을 기반으로 하고있다.

 

MAC (메시지 인증 코드)
  비밀 키를 사용하여 메시지에 추가되는 작은 데이터 블록을 생성하는 인증 기술입니다.
  이 기술은 두 통신 당사자, 예를 들어 A와 B가 공통의 비밀 키 KAB을 공유한다고 가정합니다.
  운영 절차
    A가 B에게 메시지를 보낼 때, 메시지와 키의 함수로 메시지 인증 코드를 계산합니다: MACM = F(KAB, M).  
    메시지와 코드는 의도된 수신자에게 전송됩니다.
    수신자는 동일한 비밀 키를 사용하여 수신된 메시지에 대해 동일한 계산을 수행하여 새로운 메시지 인증 코드를 생성합니다.
    수신된 코드는 계산된 코드와 비교됩니다.
수신된 코드가 계산된 코드와 일치하면,
  수신자는 메시지가 변경되지 않았다는 것을 확신할 수 있습니다.
  수신자는 메시지가 주장된 발신자로부터 왔다는 것을 확신할 수 있습니다.

 

메시지 인증 방법 (2/2)

  • 단방향 해시 함수
    • 해시 함수의 목적은 메시지의 "지문"을 생성하는 것입니다.
    • 메시지 인증 코드와 마찬가지로, 해시 함수는 가변 크기의 메시지 M을 입력으로 받고 고정 크기의 메시지 다이제스트 H(M)를 출력으로 생성합니다.
    • MAC과는 달리, 해시 함수는 비밀 키를 입력으로 받지 않습니다.
    • 메시지를 인증하기 위해, 메시지 다이제스트는 메시지와 함께 그런 방식으로 전송됩니다. 이렇게 하면 메시지 다이제스트가 진품임이 보장됩니다.
  • 해시 함수 요구사항
    • 모든 크기의 데이터에 적용 가능
    • H는 고정 길이의 출력을 생성합니다.
    • 주어진 x에 대해 H(x)를 계산하는 것이 상대적으로 쉬워야 합니다.
    • 일방향 속성
      • H(x) = h인 x를 찾는 것이 계산상 불가능해야 합니다.
    • 약한 충돌 저항성
      • H(y) = H(x)인 y ≠ x를 찾는 것이 계산상 불가능해야 합니다.
    • 강한 충돌 저항성
      • H(x) = H(y)인 어떤 쌍 (x, y)도 찾는 것이 계산상 불가능해야 합니다.

공개 키 암호화

  • 공개 키 암호화는 비트 패턴에 대한 단순한 연산이 아닌, 수학적 함수에 기반을 두고 있습니다.
  • 공개 키 암호화는 비대칭이며, 두 개의 별도의 키 사용을 포함합니다.
  • 키 쌍 중 공개 키는 다른 사람이 사용할 수 있도록 공개되며, 개인 키는 그 소유자만이 알고 있습니다.
  • 두 키의 사용은 기밀성, 키 분배, 인증의 영역에서 깊은 의미를 가집니다.
  • 공개 키 암호화 체계는 다음과 같은 구성 요소를 가집니다:
    • 평문: 알고리즘에 입력으로 제공되는 읽을 수 있는 메시지나 데이터입니다.
    • 암호화 알고리즘: 평문에 여러 변환을 수행합니다.
    • 공개 및 개인 키: 한 키가 암호화에 사용되면 다른 하나는 복호화에 사용되도록 선택된 키 쌍입니다.
    • 암호문: 평문과 키에 따라 생성된 혼란스러운 메시지 출력입니다.
    • 복호화 알고리즘: 암호화 알고리즘을 역으로 실행합니다. 암호문과 키를 취해 원본 평문을 생성합니다.

공개 키 요구 사항

  • 계산상으로 공개 키 PUb, 개인 키 PRb로 구성된 키 쌍을 생성하기 쉬워야 합니다.
  • 공개 키를 아는 발신자가 메시지를 암호화하는 것이 계산상으로 쉬워야 합니다: C=E(PUb,M)
  • 개인 키를 아는 수신자가 암호문을 복호화하는 것이 계산상으로 쉬워야 합니다: M=D(PRb,C)
  • 공개 키 PUb를 아는 상대방이 개인 키 PRb를 결정하는 것이 계산상으로 불가능해야 합니다.
  • 공개 키 PUb와 암호문 C를 아는 상대방이 원본 메시지 M을 복구하는 것이 계산상으로 불가능해야 합니다.
  • 두 관련 키 중 하나를 암호화에 사용할 수 있고, 다른 하나를 복호화에 사용할 수 있으면 유용합니다.

 

'정보보안' 카테고리의 다른 글

정보보안 - Database Security  (0) 2024.03.25
정보보안 - Access Control  (0) 2024.03.25
정보보안 - User Authentication  (1) 2024.03.18
정보보안 - Cryptographic Tools2  (0) 2024.03.13
정보보안 - Computer Security Overview  (1) 2024.03.06