CS 12

04. Theory of Secure Communication

학습개요 -Model of Secure System -Theory of Secrecy Systems · Condition for perfect secrecy · Shannon Entropy · Equivocation · Perfect Secrecy · Redundancy · Unicity Distance -Complexity Theory Digital Signature Susceptibility MD5:128비트 암호화 해시 함수 susceptibility: 민감성 Hash 동작 : m→ f(m)(=H(m)) m'≠m이면 f(m')≠f(m) 이어야한다. m'≠m인데 f(m')≠f(m)이면 attacker가 m'으로 f(m)에 접근할 수 있기때문에 보안이 취약해진다. 문제해결 ① MD5를 더 많은 bit로..

CS/정보보안 2021.09.24

03. Network and Systems

개요 - Points and Types of Attack - Network Considerations - Implementation Consideration Points of Attack 오늘날 인터넷 상으로 모든 데이터가 디지털화되어 네트워크를 통해 전송되기 때문에 attacker의 입장에서 공격이 더 쉽다. attack의 종류로는 passive(수동적), active(능동적) 공격이 있는데 passive 공격은 공격자가 정보가 전달될때까지 listen하고 있는 상태이고, active 공격은 listen뿐만아니라 add, delete, modify, delay까지 하는 상태이다. - passive(수동적): listen - active(능동적): listen+add,delete,modify,delay ..

CS/정보보안 2021.09.23

02. History of Cryptography

Cryptography in the Real World 오늘날의 디지털 서명은 과거로 치면 단순 서명/도장/봉인에 해당한다. Dital Signature ≒ Signature/Stamps/Seals Public/Private Key ≒ Locks, Keys 이 외에도 k out of n encryption, hash chain, visual cryptography, digital watermarking 등을 사용하여 secrecy를 보장하기 위한 노력이 있어왔다. Network Security Public Key ≒ mail box Private Key ≒ receiver Certificate Authority ≒ mail Secure Channel ≒ deliver 시나리오: Bob이 Alice에게 반..

CS/정보보안 2021.09.23

02. 컴퓨터 구성품의 연결

- Memory Read, Memory Write, I/O Read, I/O Write 시 각각의 구성품들이 어떻게 연결되는가? - 신호 및 데이터가 어떻게 전송되는가? Memory Read 메모리를 읽기 위해서는 메인 메모리 측으로 어디에 있는 데이터를 읽을 것인지, Read할 것인지 혹은 Write할 것인지에 대한 정보를 전달해야한다. 어디에 있는 데이터를 읽을 것인지는 Address Bus를 통해, Read/Write 중 어떤 것을 할 것인지는 Control Bus를 통해 전달한다. Issue ① 어디에 있는 데이터를 읽을 것인가? → Address Bus ② Read/Write 중 어떤 것을 수행할 것인가? → Control Bus 이 때, Address Bus는 CPU가 읽고자 하는 데이터의 A..

CS/컴퓨터구조 2021.09.16

01. 컴퓨터 시스템 구조

Intro 컴퓨터는 크게 CPU, 메인메모리(주기억장치), 보조기억장치, I/O 장치로 구성된다. (+ System Bus) 각 구성의 기능을 간략히 얘기하면 다음과 같다. 1) CPU(중앙처리장치) 역할 : 산술연산, 논리연산, 제어 담당 ALU, Register Set, Control Unit으로 구성됨 -ALU: 산술논리연산 처리 -Register Set: 메인메모리에서 가져온 값을 임시로 저장. 즉, CPU 내의 기억장치 -Control Unit: 메인메모리의 데이터를 읽어오기 위한 제어신호를 보냄 2) 메인메모리(RAM) 역할 : 데이터 저장 3) 보조기억장치 역할 : 데이터저장(but, 메인메모리와 메모리 계층이 다름) ex. SSD, HDD 4) I/O 장치 Input : 키보드, 마우스 O..

CS/컴퓨터구조 2021.09.16

01. Introduction

-네트워크 보안 -네트워크와 시스템에 가해지는 공격 -시큐어 커뮤니케이션 이론 -전통적인 암호화 시스템 (Symmetric Key) -암호화를 위한 기초수학 -공개키 암호화 (Asymmetric Key) -분산 시스템 보안 -보안 프로토콜 -개선된 암호화 기술 -틱톡 어플의 보안 허점이 발견된 바 있음 -중국의 해커가 미국의 더타임즈를 백도어를 통해 공격함 -Stuxnet이라는 웜바이러스의 등장 : 제로데이 공격을 통해 산업시설을 감시 및 파괴함 *제로데이 : 특정 소프트웨어의 아직까지 공표되지 않은, 혹은 공표되었지만 아직까지 패치되지 않은 보안 취약점을 이용한 해킹 -Shamoon 바이러스 등장 : 샤문은 시스템의 MBR 및 파일 변조를 통해 시스템을 파괴하며, 공격자에게 감염 시스템의 악성행위 결과..

CS/정보보안 2021.09.11

02. Transmission Fundamentals

Electromagnetic Signal, 전자기신호 정보가 전송되기 위해서는 전자기 신호로 변환되어야 한다. 데이터는 아날로그나 디지털이 될 수 있다. 여러 전압 값을 가지면서 연속적으로 변화하는 신호를 아날로그 신호라 하고, 미리 정해진 전압의 값만 갖는 신호를 디지털 신호라 한다. 전자기 신호는 전기장과 자기장의 동기화된 진동이다. 전기장과 자기장은 서로 독립적이지 않고 상호 연관되어 전자기 유도현상이 발생한다. 전자기 신호는 Frequency, 즉 주파수로 표현된다. Signal은 각자 다른 frequency들로 구성된다. Time-Domain 기본개념 1) Analog signal : 수로 나타낼 수 없는 연속적인 신호. '길이', '각도' 또는 '전류'처럼 외부적인 원인에 의해 연속적으로 변하..

01. Introduction

Wireless Network의 역사 1896 - 마카로니가 무선 전화를 발명 : 영숫자를 아날로그 시그널로 encoding함, 대서양을 가로질러 전자신호를 보냄 1970 - AT&T와 벨 연구소가 통신위성을 띄움 이후로 무선 기술은 라디오, TV, 휴대전화..를 통해 발전하였으며, 최근에는 무선 네트워킹, 셀룰러 기술, 모바일 앱, IoT기술로 발전하고있음. ex) WLAN, Wi-Fi, ZigBee, RFID... Cellular Telephone cell은 통신의 기본단위로, 이동 통신에서 하나의 기지국이 포괄하는 지역을 가리키는 개념이다. 이동 통신에서는 제한된 주파수 자원을 보다 효율적으로 사용하기 위하여 넓은 지역을 작은 셀로 나누고 셀 중간에 위치한 기지국이 특정 주파수를 사용하여 서비스를 ..

User Mode, Kernel Mode, Interrupt

현대 OS는 사용자 프로그램의 간섭으로부터 운영체제 및 프로세스 제어블록과 같은 주요 운영체제 테이블을 보호하기 위해 User Mode와 Kernel모드를 나누어 관리한다. 따라서 어플리케이션 프로그램들은 직접 I/O 장치에 접근할 수 없다. User Mode -권한을 덜 가진 모드 -사용자 프로그램들이 수행됨 -HW resource에 대해서는 모두 접근 가능 Kernel Mode -더 많은 권한을 가진 모드 -User Mode가 접근할 수 있는 것들 외에 system resource에 대해서도 접근가능 User Mode와 Kernel Mode의 구분 모드 비트(mode bit)로서 구분됨 mode bit가 1 일 경우 user mode, 0일 경우 kernel mode User Mode와 Kernel ..

CS/운영체제 2021.08.27

Process Abstraction / 프로세스 추상화

프로세스 정의 -실행 중인(running) 프로그램 -처리기에 할당되어 수행될 수 있는 개체 프로세스 구성 메모리(Code,Data,Stack) + 레지스터(Program Counter, Stack Pointer) 프로세스 vs 프로그램 1. 프로그램 -disk에 위치 -disk에 위치하는 실행파일(.exe) 2. 프로세스 -memory에 위치 -프로그램이 memory에 올라와 CPU를 할당받고 실행되고 있는 상태 프로세스 생성 -fork()와 같은 system call을 사용해 process를 생성 -프로그램 코드를 메모리로 로드(= 프로세스 자신의 가상주소공간으로 프로그램 코드를 로드) *이 때 disk와의 I/O는 시간이 많이 걸리는 작업이기 때문에, 한꺼번에 전부를 load하지는 않고 가장 먼저 ..

CS/운영체제 2021.08.27