Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

TH3 6R3@T H@CK

암호 본문

Study/Cryptography

암호

vvh0am1 2023. 10. 18. 15:39

※ 정보보호론 수업 내용 복습

 

 

암호에서 사용하는 이름

앨리스(Alice)와 밥(Bob): 앨리스는 메시지를 전송, 밥이 수신하는 모델에 사용
    ∙ 공개키 암호 시스템인 RSA를 만든 사람 중 하나인 Ron Rivest가 1978년에 처음 사용함
이브(Eve): ‘도청자(Eavesdropper)’에서 온 것으로 소극적인 공격자를 뜻함
맬로리(Mallory): '악의적인'이라는 뜻의 'malicious'에서 온 것으로 적극적 공격자를 뜻함. Marvin이나 Mallet이라고 하기도 함. 이브와 달리 맬로리는 앨리스와 밥 사이의 통신 내용을 고치거나, 원하는 메시지로 바꿔치기 하거나, 이전 메시지를 재전송하는 등 적극적으로 통신을 방해함

 

 

송신자, 수신자, 도청자

∙ 앨리스가 밥에게 정보(예: 전자메일)를 보내는 상황 가정

    ∙ 앨리스는 송신자(sender), 밥은 수신자(receiver)
∙ 도청자 이브는 꼭 사람만을 의미하지는 않음
    ∙ 이브의 예: 통신 기기/도청용 기계/메일 소프트웨어/메일 서버에 설치된 프로그램 등

Alice(송신자, sender) -- 메시지(Message) → Bob(수신자, receiver)

                                                        ㄴ→ Eve(도청자, eavesdropper)

암호

암호화(encrypt): 평문과 특정 비밀 값을 조합하여 암호문을 얻는 기술; 전송 도중에 도청자가 암호문을 가로채더라도 해당 비밀 값(키)을 모른다면 암호문을 평문으로 해독할 수 없도록 함

    ∙ 기호 표현: 𝐶 = 𝐸𝐾(𝑃)
복호화(decrypt): 암호문과 특정 비밀 값(키)을 조합하여 평문을 얻는 기술

→ 암호화의 역연산

    ∙ 기호 표현: 𝑃 = 𝐷𝐾(𝐶)

암호 시스템: 암호화/복호화를 하는 일련의 과정에 필요한 요소를 모두 합쳐서 암호 시스템이라고 함

    ∙ 암호화 알고리즘 𝐸 : 암호화 과정
    ∙ 복호화 알고리즘 𝐷 : 복호화 과정
    ∙ 평문(plaintext) 𝑃
    ∙ 암호문(ciphertext) 𝐶
    ∙ 키(key) 𝐾
암호 알고리즘: 암호화 알고리즘과 복호화 알고리즘을 합하여 암호 알고리즘이라고 함

 

 

암호의 기밀성과 해독

암호의 기밀성(Confidentiality) : 앨리스가 메일을 암호화해서 보내는 경우, 메일의 기밀성을 유지할 수 있음
암호의 해독 : 수신자 외의 사람(ex. 이브)이 암호문으로부터 평문을 복원하려고 시도하는 행위를 암호 해독(cryptanalysis)라고 하고, 암호를 해독하는 사람을 암호 해독자(cryptanalyst)라고 함

    ∙ 암호 설계와 해독은 종이 한 장 차이 : 암호 설계를 위해서 제안하는 암호의 해독 난이도에 대한 연구가 필요
    ∙ 암호 해독은 암호화 과정 및 복호화 과정의 설계상 취약점을 알아내는 행위이며, 인적 요소를 이용하거나 악성 소프트웨어를 이용하여 비밀정보를 빼내는 행위는 암호 해독이라고 하지 않음

 

 

암호 알고리즘

∙ 대칭키 암호 (a.k.a. 대칭 암호, 비밀키 암호)

→ 암호화 키와 복호화 키가 같을 경우

장점 : 암복호화 매우 빠름, 암호문의 크기가 작음
예시 : 시저 암호, DES/AES와 같은 블록암호, 스트림 암호 등 비밀키를 어떻게 공개된 채널을 통해 전송할 수 있을까? (키 공유의 문제)

 

 

∙ 공개키 암호 (a.k.a. 비대칭키 암호, 비대칭 암호, 1976 ~)

→암호화 키와 복호화 키가 다를 경우

→ 암호화 키로부터 복호화 키를 얻어내는 것이 계산적으로 거의 실행 불가능한 암호

암호화 키 = 공개키, 복호화 키 = 비밀키
예시 : RSA, Diffie-Hellman 키 교환기법 등
장점 : 암호화 키를 공개할 수 있어 비밀키를 미리 공유하지 않아도 됨. 현대 컴퓨터나 인터넷에서 사용하는 보안기술은 공개키 암호에 크게 의존하고 있음

 

 

∙ 하이브리드 암호 시스템 (hybrid cryptosystem)

    ∙ 대칭키 암호와 공개키 암호의 장점을 조합한 암호화 방식
    ∙ 공개키 암호를 사용하여 키 교환을 한 뒤, 해당 키를 비밀키로 사용하여 대칭키 암호화 하는 방식

 

 

암호 기술의 종류

일방향 해시 함수(one-way hash function)
∙ 임의의 길이의 입력을 받아서 정해진 길이의 출력을 산출함

    ∙ 해시 함수의 출력값 : 해시 값(Hash value), 암호학적 검사합(cryptographic checksum), 지문(fingerprint), 메시지 다이제스트(message digest)으로도 불림
∙ 정보나 소프트웨어를 공개적으로 제공할 때 변경되지 않았음을 확인할 수 있도록 프로그램 제공자가 프로그램을 공개함과 동시에 그 프로그램의 해시 값을 공개할 수 있음
∙ 문서의 무결성(integrity) : 수신한 데이터가 원래의 데이터와 동일함을 확인

 

 

메시지 인증 코드(message authentication code) → MAC
∙ 메시지가 생각했던 통신 상대(비밀키를 미리 공유하고 있는 상대)로부터 온 것임을 확인하기 위해 사용하는 기술
∙ 메시지의 무결성 뿐만 아니라 인증(authentication)도 함께 제공

 

 

 디지털 서명(digital signature)

→ 미리 비밀키를 공유하지 않은 상태에서 인증을 할 수 있도록 도와주는 공개키 암호 기술

∙ 사업을 하는 밥이 앨리스로부터 “상품을 1000만원에 구입하겠다"는 전자메일을 받음
    ∙ 밥은 이 전자메일이 진짜 앨리스에게 온 것인지 의심
    ∙ 만약 앨리스가 진짜로 메일을 보냈다고 해도 앨리스가 나중에 ‘나는 이런 메일을 보내지 않았다'고 부인(repudiation)할 수 있음
∙ 디지털 서명은 오프라인 세계에서의 도장이나 종이에 하는 서명 또는 날인의 개념을 온라인 세계에 적용한 것으로, 인증과 부인 방지의 기능을 가짐

→ 누구나 서명에 대해 검증할 수 있도록 공개적인 검증이 가능한 암호 원천 기술 중 하나

 

 

의사 난수 생성기(pseudo random number generator; PRNG)

∙ 난수열을 생성하는 알고리즘 → 랜덤 값을 효율적으로 생성
∙ 난수는 주로 암호의 키 생성을 위해 이용됨
∙ 예를 들어 웹에서 안전한 통신을 위해 TLS 통신을 할 때, 단 한 번의 통신에만 사용할 키(세션 키, Session key)를 생성하는데, 이때 PRNG를 사용하게 됨
∙ PRNG가 취약하면 도청자가 암호에 사용하는 키를 추측할 수 있으므로, 통신의 기밀성이 손상될 수 있음

 

 

차세대 암호 기술 – (1) 동형암호
∙ “동형암호(Homomorphic Encryption)” : 암호화된 상태로 연산( 덧셈, 곰셈과 같은 다항연산)이 가능한 암호(2010~)
∙ E(x+y)=E(x) + E(y)
∙ E(x*y) =E(x)*E(y)
∙ 데이터 암호화 후, 암호화된 머신러닝 연산 가능
∙ 머신러닝 결과만 복호화 : 결과 외의 모든 데이터 암호화 가능
∙ 두 집합이 암호화된 상태에서의 교집합 연산(예: 코동이 앱) 등

 

 

 

 차세대 암호 기술 – (2) 영지식 증명(zero-knowledge proof, ZKP)
∙ 예를 들어, 암호화된 계약서에 내가 서명했다는 사실을 증명하고 싶을 때

    ∙ 계약서의 내용은 비밀, 복호화 키를 전달하고 싶지 않음
∙ 영지식 증명에서 증명자는 검증자에게 자신의 정보를 노출하지 않으면서도 어떤 사실을 증명할 수 있음

 

 

 차세대 암호 기술 – (3) 양자내성암호(PostQuantum Cryptography)
∙ 양자컴퓨터를 이용한 공격에도 안전한 암호 기술

    ∙ 양자내성 공개키 암호, 양자내성 전자서명 등
∙ 미국 국립표준기술 연구소(NIST) PQC 표준화 공모 진행 중(2017.12.~)
∙ 미국 DARPA CHARIOT program : IoT에 적합한 경량 양자내성암호 프로토타입 제안 프로젝트 공모(2020.10., $2.25M for 24 months)

    ∙ “Vehicle-embedded and wearable uses with a zerotrust networking architecture are of particular interest”
∙ 국내 PQC 표준화 공모 진행 중(2022.2~)

 

 

암호학자의 도구상자(cryptographer's toolbox)

∙ 대칭키 암호
∙ 공개키 암호
∙ 일방향 해시함수
∙ 메시지 인증 코드
∙ 디지털 서명
∙ 의사 난수 생성기
∙ 차세대 암호

 

 

스테가노그라피와 디지털 워터마킹

스테가노그라피(steganography): 메시지의 내용을 읽지 못하게 하는 암호와 달리, 메시지의 존재 자체를 숨김

    ∙ 숨기는 방법을 알면 메시지를 복구할 수 있음
디지털 워터마킹: 컴퓨터에서 사용되는 스테가노그라피 기술

    ∙ 파일의 LSB(Least Significant Bit)나 이미지 파일의 픽셀 RGB정보에서 각 픽셀의 LSB를 변화시켜 메시지를 숨기는 방식 등

    ∙ 암호와 조합해서 사용 가능

 

 

암호와 보안상식

∙ 비밀 암호 알고리즘(security by obscurity)을 사용하지 말 것

→ 암호 알고리즘 자체를 비밀로 하는 것

    ∙ 역사적으로 암호 알고리즘의 비밀은 반드시 폭로됨

    ∙ 강한 암호 알고리즘을 만드는 것은 매우 어려움

        ∙ 오늘날 강한 암호 알고리즘을 만들기 위해서 전세계의 전문가들이 협력하고 있음

        ∙ 대칭키 암호인 AES, 일방향 해시 함수 SHA-3 등은 공개적인 경쟁 방식을 통해 표준으로 선정
∙ 약한 암호는 암호화하지 않는 것보다 위험함

    ∙ 사용자가 잘못된 안심을 하기 때문에 기밀성이 높은 정보를 소홀하게 취급할 위험성 존재
∙ 어떤 암호라도 언젠가는 해독됨

    ∙ 모든 가능한 키의 경우의 수를 빠짐없이 시도해봄으로서 언젠가는 해독 가능함

    ∙ 따라서 암호문이 해독되기까지의 cost와 암호를 사용하여 지키고 싶은 평문의 가치와의 밸런스(trade-off)가 중요
∙ 암호는 보안의 기본 틀이지만 동시에 아주 작은 부분

    ∙ 암호 알고리즘을 깨지 않고도 우회하는 공격들이 많음. 예를 들어, 피싱, 트로이목마, 키로거 등 사회공학적 공격은 암호의 강도와 관계가 없음

    ∙ 가장 약한 링크는 암호가 아니라 사람

    ∙ 암호를 잘못된 방식으로 적용하지 않도록 주의해야 함

 

 


Summary

 

∙ 평문을 암호문으로 변환하는 것을 암호화, 암호화의 역연산(inverse)를 복호화라고 함

∙ 암호 알고리즘에는 대칭키 암호와 공개키 암호가 있음

    ∙ 둘의 장점을 결합한 하이브리드 암호 시스템이 널리 사용됨

∙ 암호학자의 도구상자에는 대칭키 암호와 공개키 암호 외에도 일방향 해시 함수, 메시지 인증 코드, 디지털 서명, 의사 난수 생성기 등이 있음

    ∙ 기밀성, 무결성, 인증, 부인 방지를 위해 다양한 암호 기술을 사용

(전체) 보안 시스템의 강도는 보안 시스템을 구성하는 여러 링크 중 가장 약한 링크의 강도와 같음

    ∙ 가장 약한 링크는 암호가 아니라 사람

'Study > Cryptography' 카테고리의 다른 글

아핀 암호 (AFFINE CIPHER)  (1) 2024.04.06
모듈로 연산 (Modular Arithmetic)  (0) 2023.10.22
암호의 역사  (1) 2023.10.21