Computer Science/Security73 RC4란 무엇인가 RC4 암호 시스템은 바이트 단위로 작동하며, 다양한 크기의 키를 사용하는 스트림 암호란 무엇인가이다 암호화 알고리즘에는 랜덤 치환에 기초해서 만들어졌다 SSL/TLS, WEP, WPA 프로토콜에 상요 된다. RC4 알고리즘 상태 벡터 S 초기화 상태 벡터 S 초기화는 RC4 알고리즘에서 가장 먼저 수행되는 과정입니다. 상태 벡터 S는 0부터 255까지의 정수를 원소로 가지며, 각 원소는 8비트 숫자입니다. 초기화 과정은 다음과 같이 이루어집니다: 상태 벡터 S를 초기화합니다. 처음에는 S[i] = i (0 Computer Science/Security 2023. 4. 2. 스트림 암호란 무엇인가 스트림 암호 스트림 암호는 입력 요소를 연속적으로 처리하여 지속적으로 한 번에 한 요소씩 배출한다. 비록 블록 암호가 훨씬 많이 사용되기는 하지만, 경우에 따라서는 스트림 암호가 더 적합하기도 하다. 스트림 암호 구조 일반적으로 스트림 암호를 설계할 때에는 한 번에 한 비트씩 처리하거나 한 바이트보다 큰 자료를 처리할 수 있도록 만든다. 전형적인 스트림 암호는 한 번에 평문 한 바이트씩 암호화한다. 이 구조에서 랜덤한 8비트 숫자의 스트림을 만들어내는 의사 난수 비트 생성기에 하나의 키를 입력으로 사용한다. 의사 난수 스트림은 입력되는 키를 알지 못하면 예측할 수 없는 스트림이며, 한 번에 한 바이트씩 평문 스트림과 비트별로 XOR 연산된다. 즉, 평문과 키 스트림을 XOR함으로써 암호화와 복호화가 가능.. Computer Science/Security 2023. 3. 31. 난수란 무엇인가 난수 난수는 다양한 네트워크 보안 응용에서 암호화를 할 때 중요한 역할을 한다. 난수 생성에는 여러 방법이 있으며, 하드웨어 기반의 난수 생성기(TRNG)와 소프트웨어 기반의 난수 생성기(PRNG)가 있습니다. TRNG는 물리적인 노이즈를 기반으로 진정한 난수를 생성하는 반면, PRNG는 알고리즘을 사용하여 난수를 생성합니다. 이 때문에 PRNG는 초기 시드 값에 따라 생성되는 난수가 결정되므로, 완벽한 예측 불가능성을 가지지 못할 수도 있습니다. 하지만, 적절한 알고리즘과 시드 관리를 통해 안전한 난수 생성이 가능합니다. 난수의 역할 다수의 네트워크 보안 알고리즘에서는 난수를 사용한다. RSA는 무엇인가? 대칭 스트림 암호 키 생성 임시 세션 키 용도 대칭 키 생성 TLS, WiFi, 전자메일, IPs.. Computer Science/Security 2023. 3. 31. 의사 난수 의사 난수 난수를 암호 응용 분야에서 생성 할 때는 보통 알고리즘 기법에 기초해서 생성한다. 이런 알고리즘은 입력 값을 알면 출력 값을 정확히 알 수 있고, 통계적으로는 무작위성을 갖지 못하는 수열을 생성한다. 하지만 생성된 수열이 여러 가지 무작위성 테스트를 무사히 통과 할 수 있는데 이런 수열을 보통 의사 난수라 표현한다. 진성 난수를 생성하는 방법으로는 보통 TRNG를 사용한다 의사 난수의 경우에는 PRNG를 사용한다 하드웨어적 난수 생성 방법(TRNG) - 진성 난수 생성 TRNG는 입력 값으로 실제 랜덤한 정보를 사용하는데 이 입력 값을 보통 엔트로피 소스라고 한다. 엔트로피 소스는 컴퓨터의 물리적 환경에서 얻을 수 있는 값으로 키 입력 타이밍 패턴, 디스크 전기 작용, 마우스 움직임, 시스템 .. Computer Science/Security 2023. 3. 30. AES AES Intro. 3DES로도 부족한 이유, 3 DES는 암호 해독에 대한 저항성이 크기 때문에 꽤나 안전하다. 하지만 단점이 있었으니 구현 속도가 느리다. DEA 보다 라운드 수가 3배나 많기 때문에 당연히 느릴 수 밖에 없다. 또한 DEA와 3DES는 64비트 블록을 사용하였다. 현 시점에서는 보안을 위해 더 큰 비트 블록을 사용 할 때가 되었다. AES는 무엇인가 3DES의 앞선 단점 때문에 AES가 등장하였다. 더 높은 보안성과 월등히 개선된 보안 알고리즘으로써! 블록 길이(크기) 128 비트 대칭 블록 암호 키의 길이는 128 192 256 비트를 지원 페이스텔 암호 구조 with 대칭 블록 암호가 아니다! 각 라운드에서 대체와 치환을 이용해 데이터 블록 전체를 병령 처리를 한다 AES 암호화.. Computer Science/Security 2023. 3. 29. 3중 DES Overview 3중 DES 3중 DES는 금융 분야에서 사용할 목적으로 1958년 처음으로 표준화 되었다. 3중 DES는 세 개의 키를 사용하고, DES 알고리즘을 3번 수행한다. 3 개의 서로 다른 키를 이용한 3 DES는 168 비트의 유호 키 길이를 갖는다 K1=K3를 사용해서 2 개의 키를 이용하는 것도 허용 한다. 암호화 알고리즘 알고리즘을 간단하게 설명 하면 암호-복호-암호 순서(EDE)를 따른다. 암호-복호-암호 를 거치는데 이 때 복호 과정 자체는 보안 강도에 크게 기여하지 않는다 복호화 과정은 주로 기존 DES 시스템과 호환성을 유지하기 위한 목적으로 사용된다. 그러나 전체적인 3DES 방식에서 보안 강도를 높이는데에 필요하기 때문에 이 과정이 포함 되었다 3DES 굳이 암호-복호-암호 과정을 가져야 .. Computer Science/Security 2023. 3. 29. DES Overview DES Data Encryption Standard는 암호화 알고리즘인 Data Encryption Algorithm (DEA)를 기반으로 한다. 암호화 알고리즘 평문의 길이는 64비트 평문이 길면 64비트로 나눈다 복호화 시에는 서브키의 순서를 뒤집어서 적용한다 키 길이는 56비트 DES의 구조는 [[Notes/페이스텔 암호 구조|페이스텔 암호 구조]]의 변형이다 라운드 회수는 16회 56 비트짜리 원래 키로부터 16개의 서브키를 생성한다 DES의 강도 암호화 알고리즘의 강도에 대한 문제는 두 가지 관점에서 볼 수 있다. 알고리즘 자체의 문제 그리고 56비트 키에 관한 문제이다. 알고리즘 자체 문제란 말은 알고리즘의 특성을 이용한 암호 해독 가능성이다. 하지만, DES는 많은 연구에도 불구하고 치명적인.. Computer Science/Security 2023. 3. 29. 페이스텔 암호 구조 with 대칭 블록 암호 페이스텔 암호 구조 with 대칭 블록 암호 대부분의 대칭 블록 암호 알고리즘 구조는 페이스텔 구조에 기초해서 만들어졌다 페이스텔 암호 구조의 기본 원리 2w 비트인 평문 블록과 키 K가 암호 알고리즘의 입력으로 사용 될 것이다 우선 평문 블록을 L0와 R0로 쪼개서 각 N 번의 라운드를 거쳐 암호문 블록을 생성하기 위해 합쳐진다 페이스텔 암호의 장점은 암호/복호 알고리즘 두 가지를 서로 다른 알고리즘으로 구현할 필요가 없다 라운드 함수와 라운드 키 - 페이스텔 구조의 핵심 각 라운드 과정에 사용 되는 입력 값은 이전 라운드 과정의 결과물인 L과 R 값이다 또한, 각 라운드마다 사용 되는 서브 키 K 또한 모두 다르다. 모든 라운드 과정은 왼쪽 반 데이터에 substitution을 수행한다. 그 후 라운.. Computer Science/Security 2023. 3. 28. 대칭/비대칭 키와 해쉬 함수를 이용한 Digital Signiture 만드는 방법 Intro. 대칭/비대칭 키와 해쉬 함수를 이용한 Digital Signiture 만드는 방법 Asymmetric from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_OAEP import base64 # 키 생성 key = RSA.generate(2048) # 공개키(Pu)와 비공개키(Pr) 추출 Pu = key.publickey() Pr = key # 메시지 암호화 def rsa_encrypt(m, Pu): cipher = PKCS1_OAEP.new(Pu) ciphertext = cipher.encrypt(m) return ciphertext # 암호문 복호화 def rsa_decrypt(ciphertext, Pr): cipher = PK.. Computer Science/Security 2023. 3. 28. 대칭 암호 원리 기초 대칭 암호 원리 대칭 암호는 관용 암호, 비밀-키 암호 또는 단일-키 암호라고 알려져 있다. 대칭 암호의 보안은 키의 비밀성에 의해 지켜진다. 알고리즘을 모르게해서 지켜지는 것이 아니다 즉 공격자가 암호/복호 알고리즘을 알고 암호문을 가지고 있더라도 그 암호문을 해독할 수 없어야 한다(알고리즘은 공개 되어 있다고 생각하자) 대칭 암호의 필수 요건 강한 알고리즘 안전한 비밀키 공유 대칭 암호 구조의 5가지 요소 평문 원문이나 데이터로서 알고리즘의 입력으로 이용된다 암호 알고리즘 입력으로 들어온 원문을 다양한 방법으로 치환하고 변환한다 비밀 키 알고리즘의 한 입력으로 사용 된다 이 키를 이용하는 알고리즘에 의해 정확한 대체와 전환이 이루어진다 암호문 출력으로 나오는 암호화 된 메시지 평문과 비밀 키에 따라서.. Computer Science/Security 2023. 3. 27. 보안 서비스란 무엇인가 보안 서비스란 무엇인가 시스템 자원 보호를 위해 시스템이 제공하는 처리 서비스나 통신 서비스 보안 서비스는 보안 정책을 구현하고, 보안 매커니즘에 의해 생성 된다 보안 매커니즘 - 보안 서비스 - 보안 정책 보안 서비스 인증 서비스 통신 개체가 그 당사자인지 여부를 확인하는 것이다 네트워크나 인터넷 등의 환경에서는 상대방 확인 불가능 대등 개체 인증 연결하고 있는 개체의 신분에 대한 확신을 주기 위해, 논리적 연결에서 사용하는 인증 상대방이 신분을 위장하거나재전송 공격을 하고 있지 않음을 확신한다 데이터 출처 인증 비연결 전송에서 수신 된 데이터의 출처 확인 데이터 단위가 수정되거나 복제 되는 것을 방어해주지는 못한다 접근 통제(접근 제어) 통신 링크를 통한 호스트 시스템과 응용 간의 접근을 제한하고, .. Computer Science/Security 2023. 3. 27. 보안 공격 보안 공격은 무엇인가 보안 공격은 RFC 2828에 따라 분류하면 소극적 공격과 적극적 공격으로 나눌 수 있다 소극적 공격은 시스템으로부터 정보를 획득하거나 사용하려는 시도로, 시스템 자원에는 영향을 끼치지 않는다 적극적 공경은 시스템 자원을 변경하거나 시스템 작동에 영향을 끼치는 공격 형태를 말한다. 소극적 공격 전송 정보에 대한 도청이나 감시를 의미한다 공격자의 목표는 전송 중인 정보를 취득하는 것이다. 공격 유형 메시지 내용 갈취 트래픽 분석 - 암호화를 해도 트래픽 분석 가능 메시지 유형 관찰 통신자의 접속 위치와 신원 파악 교환 메시지 빈도 측정 메시지 크기 확인 소극적 공격에서는 공격자가 실제로 데이터를 변경하지 않는다 공격을 당했는지 탐지하기가 어렵다 송신자나 수신자는 제 3자가 메시지를 읽.. Computer Science/Security 2023. 3. 27. 이전 1 ··· 3 4 5 6 7 다음