2023/03

Wireshark에서 HTTP 패킷이 안보여요 Intro. 왜 어떤 곳은 보이고 어떤 곳은 안보이는가? 위처럼 분명히 MAC에서 와이어 샤크를 사용해서 HTTP를 볼 수 있습니다. 하지만 어떤 사이트는 보이지 않는 경우가 있습니다. 사실 요즘은 거의 HTTP를 보기 어렵죠 오늘은 왜 HTTP를 보기 어려웠는지, 왜 보였다가 안보였다가 하는지 알아보겠습니다. 세상이 흉흉하니 암호화를 하자 웹 사이트에 따라 HTTP 요청을 보내는 경우와 그렇지 않은 경우가 있는 이유는 주로 웹 사이트의 보안 설정과 관련이 있습니다. 최근에는 많은 웹 사이트가 데이터의 보안과 프라이버시를 보호하기 위해 HTTP 대신 보안 프로토콜인 HTTPS를 사용하고 있습니다. HTTP와 HTTPS의 차이는 다음과 같습니다: HTTP (H..
페이스텔 암호 구조 with 대칭 블록 암호 대부분의 대칭 블록 암호 알고리즘 구조는 페이스텔 구조에 기초해서 만들어졌다 페이스텔 암호 구조의 기본 원리 2w 비트인 평문 블록과 키 K가 암호 알고리즘의 입력으로 사용 될 것이다 우선 평문 블록을 L0와 R0로 쪼개서 각 N 번의 라운드를 거쳐 암호문 블록을 생성하기 위해 합쳐진다 페이스텔 암호의 장점은 암호/복호 알고리즘 두 가지를 서로 다른 알고리즘으로 구현할 필요가 없다 라운드 함수와 라운드 키 - 페이스텔 구조의 핵심 각 라운드 과정에 사용 되는 입력 값은 이전 라운드 과정의 결과물인 L과 R 값이다 또한, 각 라운드마다 사용 되는 서브 키 K 또한 모두 다르다. 모든 라운드 과정은 왼쪽 반 데이터에 substitution을 수행한다. 그 후 라운..
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..
프로그래밍 언어의 변천사 폰 노이만에 의해 세계 최초로 프로그램 내장 방식 컴퓨터 등장 일반적으로 말하는 프로그래밍 언어는 이 때부터 시작한다 프로그래밍 언어 살펴보기 포틀란 과학 응용 분야를 위한 효율성을 강초한 최초의 고급 언어 설계 목표 : 매우 빠르게 실행 되는 코드 생성 미리 메모리를 시스템에 넣어둬서 메모리 체크 필요 x 하드웨어 처음으로 부동 소수점 연산 가능 주요 기능 : 배열, For 반복문, 분기 if 문 등 코볼 사무용으로 설계된, 영어와 비슷한 구문을 갖는 명령형 언어 변수를 지정할 때 출력 포맷까지 정해져서 나온다 주요 기능 : 레코드 구조, 프로그램의 실행부와 분리된 자료 구조 다양한 출력 기능 등 LISP (List Processor) 리스트 자료 구조와 함수 적용을 기반으로 ..
대칭 암호 원리 대칭 암호는 관용 암호, 비밀-키 암호 또는 단일-키 암호라고 알려져 있다. 대칭 암호의 보안은 키의 비밀성에 의해 지켜진다. 알고리즘을 모르게해서 지켜지는 것이 아니다 즉 공격자가 암호/복호 알고리즘을 알고 암호문을 가지고 있더라도 그 암호문을 해독할 수 없어야 한다(알고리즘은 공개 되어 있다고 생각하자) 대칭 암호의 필수 요건 강한 알고리즘 안전한 비밀키 공유 대칭 암호 구조의 5가지 요소 평문 원문이나 데이터로서 알고리즘의 입력으로 이용된다 암호 알고리즘 입력으로 들어온 원문을 다양한 방법으로 치환하고 변환한다 비밀 키 알고리즘의 한 입력으로 사용 된다 이 키를 이용하는 알고리즘에 의해 정확한 대체와 전환이 이루어진다 암호문 출력으로 나오는 암호화 된 메시지 평문과 비밀 키에 따라서..
보안 서비스란 무엇인가 시스템 자원 보호를 위해 시스템이 제공하는 처리 서비스나 통신 서비스 보안 서비스는 보안 정책을 구현하고, 보안 매커니즘에 의해 생성 된다 보안 매커니즘 - 보안 서비스 - 보안 정책 보안 서비스 인증 서비스 통신 개체가 그 당사자인지 여부를 확인하는 것이다 네트워크나 인터넷 등의 환경에서는 상대방 확인 불가능 대등 개체 인증 연결하고 있는 개체의 신분에 대한 확신을 주기 위해, 논리적 연결에서 사용하는 인증 상대방이 신분을 위장하거나재전송 공격을 하고 있지 않음을 확신한다 데이터 출처 인증 비연결 전송에서 수신 된 데이터의 출처 확인 데이터 단위가 수정되거나 복제 되는 것을 방어해주지는 못한다 접근 통제(접근 제어) 통신 링크를 통한 호스트 시스템과 응용 간의 접근을 제한하고, ..
보안 공격은 무엇인가 보안 공격은 RFC 2828에 따라 분류하면 소극적 공격과 적극적 공격으로 나눌 수 있다 소극적 공격은 시스템으로부터 정보를 획득하거나 사용하려는 시도로, 시스템 자원에는 영향을 끼치지 않는다 적극적 공경은 시스템 자원을 변경하거나 시스템 작동에 영향을 끼치는 공격 형태를 말한다. 소극적 공격 전송 정보에 대한 도청이나 감시를 의미한다 공격자의 목표는 전송 중인 정보를 취득하는 것이다. 공격 유형 메시지 내용 갈취 트래픽 분석 - 암호화를 해도 트래픽 분석 가능 메시지 유형 관찰 통신자의 접속 위치와 신원 파악 교환 메시지 빈도 측정 메시지 크기 확인 소극적 공격에서는 공격자가 실제로 데이터를 변경하지 않는다 공격을 당했는지 탐지하기가 어렵다 송신자나 수신자는 제 3자가 메시지를 읽..
컴퓨터 보안 개념 - CIA Triad (정보 시스템의 3대 보안 목적) 컴퓨터 보안이란 : 정보 시스템 자원의 무결성 가용성 기밀성을 보전하는 것을 목표로 제공 된 자동화 된 정보 시스템 보호 CIA Triad - 컴퓨터 보안의 3요소 (정보 시스템의 3대 보안 목적) 기밀성 정보 접근과 공개에 대해 합법적인 제한 조건을 지키는 것이다 개인 프라이버시와 소유권에 대한 정보를 보호하는 수단이 포함 된다 기밀성이 파괴 되면 정보가 부정하게 공개 된다 데이터 기밀성 개인 정보나 기밀 정보를 부정한 사용자에게 이용/노출 되지 않도록 하는 것 프라이버시 개인이 자신과 관련 된 정보를 통제 할 권리 무결성 부적절한 정보 수정이나 정보 파괴를 막는 것이다 정보 부인 방지와 합법성을 확실히 하는 것도 포함 된다 무결..
명령형 언어란 무엇인가 폰 노이만 구조라 불리는 컴퓨터 구조를 기반으로 동작한다 컴퓨터가 수행해야하는 연속적인 명령문의 집합으로 구성된 언어이다 컴퓨터에게 실행되어야 할 정확한 순서와 방법을 지시한다 변수, 연산자, 제어구조 등을 사용하여 프로그램을 작성한다. 폰 노이만 구조와 명령형 언어가 친한 이유 명령형 언어는 폰 노이만 구조 기반으로 만들어졌기 때문에, 명령어를 순차적으로 실행하며 컴퓨터가 수행해야 할 작업을 처리하는 것이 가능하다 폰 노이만 구조는 내장형 메모리 구조를 가지고 있다 즉 명령어와 데이터가 같은 메모리에 저장되어 있다 이를 통해 명령어와 데이터를 동일한 방식으로 다룰 수 있으며, 명령어를 일관성 있게 처리할 수 있게 된다 사담 폰 노이만 구조는 병목 현상이라는 문제를 가지고 있지만,..
하이브리드 기법이란 컴파일 기법과 해석 기법을 혼합한 형태로 두 가지의 장점을 갖춤 인터 프리터에 비해 빠르고, 소스 코드 노출의 우려가 적다 운영체제에 종속 되지 않는다 고급 언어로 작성된 프로그램을 쉽게 해석 할 수 있도록 중간 코드 형태로 번역 번역 된 중간 코드 형태의 프로그램을 해석하여 실행 예시. Java 바이트 코드라고 하는 중간 코드로 번역 운영체제마다 별도로 존재하는 JVM이 바이트 코드를 실행 레퍼런스 컴파일(Compile) 기법은 무엇인가 하이브리드 언어의 장점
berom
'2023/03 글 목록 (2 Page)