본문 바로가기

개발/보안14

[보안 용어] 이니셜 백터(IV) IV 초기화 벡터(Initialization Vector, IV)는 블록 암호화에서 사용되는 중요한 개념 중 하나입니다. 초기화 벡터는 각 블록의 암호화에 사용되는 고유한 값으로, 암호화 알고리즘이 동일한 평문 블록에 대해 항상 동일한 암호문 블록을 생성하는 것을 방지합니다. CBC 모드에서 초기화 벡터는 첫 번째 블록에 대한 암호화에 사용되며, 이후에는 이전 블록의 암호문이 현재 블록의 평문과 XOR 연산되어 사용됩니다. 초기화 벡터의 역할은 패턴을 방지하고 블록 간 상관관계를 증가시켜 전반적인 보안을 강화하는 것입니다. 중요한 점은 초기화 벡터는 매번 고유한 값을 가져야 하며, 랜덤하고 예측 불가능해야 합니다. 만약 동일한 초기화 벡터가 계속해서 사용된다면, 같은 평문 블록에 대해 항상 동일한 암호문.. 2024. 2. 4.
[보안 용어] CBC ECB CBC(Cipher Block Chaining)와 ECB(Electronic Codebook)은 블록 암호화 모드 중 두 가지 다른 방식입니다. ECB (Electronic Codebook): 설명: ECB 모드에서는 평문을 고정된 블록 크기로 나눈 후, 각 블록을 독립적으로 암호화합니다. 동일한 평문 블록은 항상 동일한 암호문 블록으로 매핑됩니다. 장점: 간단하고 병렬 처리에 용이합니다. 단점: 동일한 평문 블록이 동일한 암호문 블록으로 매핑되기 때문에 패턴이 발생할 수 있습니다. 이로 인해 보안에 취약할 수 있습니다. 블록 간 상관관계가 적기 때문에 암호문에서 패턴을 찾기가 상대적으로 쉽습니다. CBC (Cipher Block Chaining): 설명: CBC 모드에서는 이전 블록의 암호문과 현재 블.. 2024. 2. 4.
[보안 용어] HASH 해시 함수(Hash Function) 해시 함수는 임의의 크기의 데이터를 고정된 크기의 고유한 값, 즉 해시값으로 매핑하는 함수입니다. 주어진 입력에 대해 동일한 해시값이면서 서로 다른 입력에 대해서는 가능한 한 다른 해시값을 생성해야 합니다. 일반적으로 해시 함수는 무결성 검증, 데이터 저장 및 비밀번호 보안 등 다양한 분야에서 사용됩니다. 대표적인 해시 알고리즘 및 특징: MD5 (Message Digest Algorithm 5): 장점:빠른 연산 속도 단점: 충돌 가능성이 높음 보안 취약점이 발견되어 현재는 권장되지 않음 SHA-1 (Secure Hash Algorithm 1): 장점: 빠른 연산 속도, SHA-256 또는 그 이상과 비교하여 상대적으로 간결 단점: 충돌 가능성이 존재하며, 안전한 .. 2024. 2. 4.
[보안 용어] 단 방향 암호화 단방향 암호화(One-way Hash Function) 단방향 암호화는 단방향 함수(해시 함수)를 사용하여 데이터를 암호화하는 기술입니다. 이는 주로 암호화된 데이터를 원래의 데이터로 복원할 수 없는 방식으로 동작합니다. 단방향 함수는 한 방향으로만 작동하며, 같은 입력에 대해서 항상 동일한 출력을 생성합니다. 여기서는 주로 해시 함수를 기반으로 한 단방향 암호화를 설명합니다. 단방향 암호화의 특징 불가능한 역전: 단방향 함수를 통한 암호화는 원래 데이터를 복원할 수 없는 특성을 갖습니다. 즉, 암호화된 값을 이용해서는 원래 값을 유추할 수 없습니다. 고정된 출력 길이: 해시 함수는 항상 일정한 길이의 출력을 생성합니다. 입력이 어떤 크기이든 출력은 일정하게 유지됩니다. 충돌 가능성: 서로 다른 입력이 .. 2024. 2. 4.
[보안 용어] 대칭, 비대칭 암호화 대칭 암호화(Symmetric Encryption) 대칭 암호화는 데이터를 암호화하고 복호화하는 데 동일한 키를 사용하는 암호화 방식입니다. 즉, 암호화와 복호화에 사용되는 키가 같습니다. 대표적인 대칭 암호 알고리즘으로는 DES(데이터 암호 표준), AES(고급 암호화 표준), 3DES(3중 DES) 등이 있습니다. 장점: 성능: 대칭 알고리즘은 일반적으로 빠르며 효율적입니다. 구현이 간단: 알고리즘이 간단하고 직관적이어서 구현이 쉽습니다. 단점: 키 관리: 안전한 키 교환 및 관리가 어려울 수 있습니다. 키를 전송하거나 저장하는 과정에서 보안상의 문제가 발생할 수 있습니다. 단일 키 사용: 동일한 키를 사용하므로, 키가 유출되면 암호화가 무력화될 수 있습니다. 대칭 알고리즘 예시: AES (Advan.. 2024. 2. 4.
[보안 용어] RSA RSA RSA는 Rivest, Shamir, Adleman의 세 명의 암호학자에 의해 개발된 대표적인 공개 키 암호화 알고리즘입니다. 이 알고리즘은 1977년에 처음으로 발표되었으며, 현재까지 널리 사용되고 있습니다. RSA는 공개 키와 비밀 키를 사용하여 데이터를 암호화하고 복호화하는 데에 활용됩니다. RSA 암호화 알고리즘의 주요 특징 공개 키 및 비밀 키: RSA는 공개 키와 비밀 키를 사용하는 공개 키 암호화 시스템입니다. 공개 키는 데이터를 암호화하는 데 사용되며, 비밀 키는 암호화된 데이터를 복호화하는 데 사용됩니다. 수학적 기반: RSA의 보안은 대수학적 문제에 기반합니다. 주로 소인수 분해 문제가 사용되는데, 큰 소수를 곱하는 것은 쉽지만, 그 역인 소수 분해는 어렵기 때문에 RSA가 안전.. 2024. 2. 4.
[보안 용어] SEED SEED 한국에서 개발된 대칭 키 블록 암호화 알고리즘으로, 특허청과 KISA(한국인터넷진흥원)에 의해 개발되었습니다. SEED는 기존의 DES 및 IDEA와 같은 국제적으로 사용되는 대칭 알고리즘에 비해 높은 수준의 보안을 제공하고 있습니다. SEED는 전자정부 프레임워크에서 사용되기 시작하여 국내에서 광범위하게 채택되었습니다. SEED 암호화 알고리즘의 특징: 블록 크기와 키 길이: 블록 크기: 128비트 (16바이트) 키 길이: 128비트 (16바이트) 구조: Feistel 구조를 기반으로 하는 DES와는 달리, SEED는 복잡한 대치-치환 네트워크(Substitution-Permutation Network, SPN) 구조를 사용합니다. 라운드 수: 16라운드 키 스케줄링: 라운드 키 생성에 대한 .. 2024. 2. 4.
[보안 용어] ARIA AES ARIA 아리아(Aria)는 대칭 키 알고리즘 중 하나로, 대한민국의 정보통신기술진흥센터(KISA)에서 개발한 블록 암호화 알고리즘입니다. 아리아는 128, 192, 256비트의 키 길이를 지원하며, 128비트 블록 크기를 사용합니다. ARIA의 특징 블록 크기와 키 길이: 블록 크기: 128비트 키 길이: 128, 192, 256비트 라운드 및 구조: ARIA는 12개의 라운드를 사용합니다. 각 라운드는 다양한 선형 대수학적 연산과 비트 조작을 포함하고 있습니다. Feistel 구조를 기반으로 하며, 키 스케줄링과 라운드 함수가 중요한 역할을 합니다. 라운드 함수: 각 라운드는 대칭 키 블록 암호에 사용되는 전형적인 구조를 따릅니다. 8비트 S-Box, 행 변환, 열 변환 등의 비트 조작과 선형 대수학.. 2024. 2. 4.
[보안 용어] SSL TLS SSL (Secure Sockets Layer)와 TLS (Transport Layer Security) 둘다 웹에서 데이터를 안전하게 전송하기 위한 보안 프로토콜입니다. SSL (Secure Sockets Layer): SSL은 넷스케이프(Netscape)에서 개발한 보안 프로토콜로, 웹 브라우저와 웹 서버 간의 데이터 전송을 암호화하고 보안을 제공하는 데 사용됩니다. 역사: 초기에는 주로 SSL 버전 2.0과 3.0이 사용되었으나, 이후 버전의 취약점이 발견되어 TLS로 전환되었습니다. 약점: SSL 3.0에는 Poodle 취약점과 같은 보안 이슈가 있어 더 이상 권장되지 않습니다. TLS (Transport Layer Security): TLS는 SSL의 후속 버전으로, 데이터 통신의 보안 및 개인.. 2024. 2. 4.
[보안 용어] 코드 서명 코드 서명(Code Signing)은 소프트웨어나 애플리케이션의 출처와 무결성을 확인하는 데 사용되는 디지털 서명 기술입니다. 코드 서명은 주로 사용자에게 소프트웨어가 신뢰할 수 있는 것으로 간주됨을 보여주는데 활용됩니다. 아래는 코드 서명의 주요 개념과 작동 방식에 대한 간단한 설명입니다: 디지털 인증서 발급: 코드 서명은 일반적으로 디지털 인증서를 사용합니다. 개발자는 신뢰할 수 있는 인증 기관(Certificate Authority, CA)에서 디지털 인증서를 발급받아야 합니다. 코드 서명 프로세스: 코드 서명은 개발자가 개발한 소프트웨어나 애플리케이션의 실행 파일에 디지털 서명을 적용하는 과정을 포함합니다. 개발자는 개인 키를 사용하여 소프트웨어에 서명하고, 이 서명은 공개 키로 검증될 수 있도록.. 2024. 2. 2.
[보안 용어] 디지털 서명 디지털 서명은 전자 문서나 데이터의 무결성과 신원을 보장하기 위해 사용되는 암호학적인 기술입니다. 디지털 서명을 통해 문서가 변경되지 않았음을 검증하고, 특정 개인이나 기관에서 생성되었음을 확인할 수 있습니다. 디지털 서명의 주요 원리는 공개키 암호학의 개념을 기반으로 합니다. 디지털 서명은 다음과 같은 과정을 포함합니다: 키 생성: 디지털 서명에는 두 개의 키, 즉 개인 키(Private Key)와 공개 키(Public Key)가 사용됩니다. 개인 키는 서명 생성 시 사용되며 안전하게 보호되어야 합니다. 공개 키는 서명을 검증하는 데 사용되며 누구나 이를 알 수 있습니다. 서명 생성: 문서나 데이터의 해시값을 생성합니다. 해시 함수를 사용하여 고정된 크기의 해시 값이 얻어지며, 이 값을 개인 키로 암호.. 2024. 2. 2.
[보안 용어] DOS vs DDOS DOS(Denial of Service)와 DDOS(Distributed Denial of Service)는 네트워크 보안 공격의 두 가지 주요 형태를 나타냅니다. 이들은 서비스 제공자나 웹 사이트에 대한 서비스 거부 공격을 의미합니다. DOS (Denial of Service): 정의: DOS는 단일 소스에서 공격자가 대상 시스템에 과도한 트래픽이나 리소스를 전송하여 서비스의 가용성을 저해하는 공격입니다. 특징: DOS는 주로 하나의 공격자 혹은 소스에서 발생하며, 한 곳에서 과도한 트래픽을 생성하여 네트워크나 시스템 리소스를 고갈시키는 것을 목표로 합니다. 예시: SYN Flooding, ICMP Flooding, HTTP Flooding 등이 DOS의 예시입니다. DDOS (Distributed D.. 2024. 2. 2.
반응형