정보보안기사/산업기사 필기에 들어가기 전, 기초 강의를 먼저 듣기로 함.
강의를 들으며 교안을 복붙하지 않고 일부러 타자를 치면서 정리했다.
조금이라도 암기에 도움이 되겠지...
지안에듀의 조현준 강사님 네트워크 기초 강의1~3
정보보호의 목표
- 기밀성 : 오직 인가된 사람/프로세스/시스템만이 접근 가능 (방화벽, 패스워드 등)
- 무결성 : 불법적으로 생성/변경되지 않도록 보호
- 가용성 : 정당한 사용자가 데이터/자원을 필요로 할때 접근 가능
- 인증성 : 임의 정보에 접근할 수 있는 객체의 자격/내용을 검증할 때 사용되는 성질
- 책임추적성 : 보안 목적에는 개체의 행동을 유일하게 추적해서 찾아낼 수 있어야 한다
- 부인방지 : 행위나 이벤트의 발생을 증명하여 부인할 수 없도록 함
CIA
- C기밀성, I무결성, A가용성
기밀성을 위해 암호화 사용
무결성을 위해 해시함수를 사용
가용성을 위해 백업, 복구 이용
기밀성은 소극적 공격과
무결성, 가용성은 적극적 공격과 관련이 있다.
주요 암호기술
1) 대칭키 암호와 비대칭키(공개키) 암호
- 대칭키 암호는 암호화키와 복호화키가 동일하다
- 대칭키 암호는 비교적 빠른 처리 속도를 제공하고 길이가 작아 일반적인 정보의 기밀성을 보장하도록 사용된다
- 비대칭키 암호는 암호화키와 복호화키가 서로 다르다
- 비대칭키 암호는 송신자와 수신자가 각각 한 쌍의 키를 갖고 있어야 한다. (총 두 쌍의 키)
2) 하이브리드 암호시스템
- 대칭키 암호와 공개키 암호를 조합한 암호 방식
- 빠른 처리 속도, 키배송 문제 해결
3) 일방향 해시함수
- 해시값/해시코드를 생성하여 입력값 정확성 검증에 사용
* Diffie–Hellman 알고리즘 : 공개키 알고리즘
* ECC 타원 곡선 암호 알고리즘 : 비대칭키 알고리즘
* 전자서명 : 비대칭키 암호 알고리즘
암호화시스템
1) 양방향(암호화, 복호화)
1.대칭키 (암호화키=복호화키)
- Stream스트림 키 : XoR 연산 (0:0=0, 0:1=1, 1:0=1, 1:1=0)
- Block 방식 : 블록단위
2.비대칭키
2) 일방향(암호화) : 해시함수
모듈러 연산
1) 정의
- Q는 몫, 나머지는 R이라고 할 때 A mod B = R
ex 1 mod 7 = 1 이고 8 mod 7 = 1 이다.
2) 모듈러 연산의 성질
- (A + B) mod C = (A mod C + B mod C) mod C
ex (8+9) mod 7 = (8mod7 + 9mod7) mod 7
= (1 + 2) mod 7
= 3 mod 7 = 3
- (A - B) mod C = (A mod C - B mod C) mod C
ex (2+3) mod 4 = (2mod4 + 3mod4) mod 4
= (2 + 3) mod 4
= 5 mod 4 = 1
- (A * B) mod C = (A mod C * B mod C) mod C
* Diffie–Hellman의 이용
7의 6제곱 mod 23 = (7²* 7²* 7² )mod 23
= (7² mod 23)*(7² mod 23)*(7² mod 23) mod 23
= ((3) * (3)* (3)) mod 23 = 4
7의 15제곱 mod 11 = (7³ * 7³ * 7³ * 7³ * 7³) mod 11
= (7³ mod 11)*(7³ mod 11)*(7³ mod 11)*(7³ mod 11)*(7³ mod 11) mod 11
= ((2)*(2)*(2)*(2)*(2)) mod 11 = 32 mod 11
= 10
3) 적용사례 : RSA 알고리즘의 키 생성
- p와 q라고 하는 두 개의 서로 다른 소수가 있을 때 두 수의 곱 N=pq를 찾는다.
- ∮(N) = (p-1)(q-1)를 구한다
- ∮(N) 보다는 작고 ∮(N)과 서로소인 정수 e를 구한다 (서로소 : 1외의 공통 약수가 없음) 보통 정수 e는 공개키이므로 주어진다.
- d * e를 ∮(N)로 나누었을때 나머지가 1인 정수 d를 구한다
=> de ≡ 1 (mod∮(N))
(≡는 동치를 뜻한다. 두 개의 명제가 동일한 결과를 가져오는 일.)
이 때 n과 e를 공개키라고 하고, n과 d를 개인키라고 한다.
실습문제
p=3, q=11일때 공개키(n)과 암호화 공개키(e=7)에 대응되는 복호용 개인키(d)로 적절한 것은?
1. n=33, d=3
2. n=21, d=5
3. n=21, d=3
4. n=33, d=5
-> 정답 1번.
해설 : p* q = N 이니, 3 * 11 = n = 33
∮(N) = (p-1)(q-1) = 2 * 10 = 20
d* e를 20으로 나눈 나머지가 1
d * 7을 20으로 나눈 나머지가 1이니, d가 3일때 충족한다.
접근통제
1) 접근통제 3단계
- 식별 : 각 개인의 신원. 인증 서비스에 스스로를 확인시키기 위해 정보를 공급하는 주체의 활동. 책임추적성 분석시 중요.
- 인증 : 주체의 신원을 검증하기 위한 사용증명 활동. (사용자인증/메시지인증). 시스템의 인정.
- 인가 : 인증된 주체에게 접근를 허용하고 권리를 부여하는 과정(차등). 알 필요성(Need to know) = 최소권한
인증
Type 1 : 지식know 기반. 비용 적음. 패스워드, pin 등. 공격방식은 추측.
Type 2 : 소유have 기반. 비용 중간. 토큰, 스마트카드 등. 공격방식은 강탈, 도난.
Type 3 : 존재are 기반. 비용 높음. 얼굴, 지문, 홍채 등. 공격방식은 상해 및 강탈
행위 : 주체가 하는do 것. 서명, 움직임.
Two Factor : 두 가지 타입 인증 결합
Multi Factor : 세 가지이상 타입 인증 결합
실습문제
주민등록증의 인증방법은?
-> 소유 기반 인증.
접근통제 모델
1) MAC 강제적 접근 통제 ex 방화벽
- 주체와 객체의 등급을 비교해 권한부여, 중앙집중관리.
- SYSTEM
- 중앙집중, 안정적
- 경직된 정책
- 구현 및 운영의 어려움, 비용 높음
2) DAC 임의적 접근 통제 ex ACL:Access control list
- 주체의 신분에 따라 권한부여
- Data Owner
- 유연하고 구현 용이
- 유연한 정책
- 트로이 목마에 취약, ID 도용시 통제불가
3) RBAC 역할 기반 통제 ex HIPAA(의료)
- 주체와 객체 사이에 역할을 부여하여 MAC와 DAC의 약점을 보완
- 인사이동이 잦은 조직. 관리용이
- Central Authority
- 유연한 정책
임의접근제어 DAC
- 소유권을 가진 주체가 객체에 대한 권한의 일부 또는 전부를 자신의 의지에 따라 다른 주체에게 부여함
- 전통적 UNIX 파일 접근제어에 적용되었다 (소유자, 그룹, 기타 3비트씩 끊어져서 사용)
악성 소프트웨어의 분류
1) 독립형
- 자체적으로 구동될 수 있는 프로그램. ex 웜, 좀비
2) 기생형(종속형)
- 프로그램 단편. 응용프로그램이나 유틸리티 등이 있어야 존재. ex 바이러스, 논리폭탄(로직밤), 백도어(트랩도어)
3) 바이러스성 (자기복제)
- ex 웜, 바이러스
4) 비-바이러스성 (자기복제x)
- ex 트로이목마, 백도어
트로이목마의 특징
- 원격조정, 시스템 파일 파괴, 데이터 유출
HTTP
1) 비영속적 연결과 영속적 연결
- 비영속적 : http 1.0 (연결할 때마다 연결-요청-응답 반복)
- 영속적 : http 1.1 이상 (한 번 연결하면 다시 연결하지 않고 요청-응답만 이어짐)
2)HTTP 트랜잭션
* Request message
- Request Line / Headers / A blank line / Body
* Response message
- Status Line / Headers / A blank line / Body
3) 요청 메시지 형식
1. Request Line
- Method, URL, Version. Method에는 GET(자료읽기, 인자O) POST(자료 보내기, 인자X)가 있음.
- ex xxx.com?type=abcd <- 인자가 이렇게 보임. GET은 보안에 취약하다.
2. Header Lines
- Header Lines에는 여러 개의 헤더가 들어있는데,
한줄이 끝나면 cr lf을 반복한다 (cr: Carrlage Return, lf:Line Feed)
3. Black Line
- Black Line은 Header Lines와 Body를 구분하기 위해 한 줄을 비우는 것이다.
4. Body
DDos 공격에서의 느림보 3형제 (공통점 : 세션을 길게 붙잡아 지연시킴)
1) Slowloris (Slow Http Header Dos)
- 헤더값을 일부분만 보내서 계속 연결되어 있게 한다 (cr lf가 두 번 연달아 나와야 끝인데 헤더의 끝을 읽지 못한채로 유지됨)
2) RUDY(Slow Http Post Dos)
- post data를 작게 쪼개 천천히 분할전송
3) Slow Http Read Dos
- windows 크기를 아주 작게 설정하여, 아주 천천히 읽음
4) 응답 메시지 형식
1. Status Line
- Version, Status Code, Phrase
2. Header Lines
3. Black Line
4. Body
5) 요청 메시지와 응답메시지 예제
Request
GET /usr/bin/image1 HTTP/1.1
생략
Response
HTTP/1.1 200 OK
생략
Content-legnth:2048 <- length값에 비해 큰 데이터를 보내 분할전송받게 만들어서, Slow Http Post Dos 공격을 할 수 있다
HTTP 1.1
- 응용계층이며, TCP(80번 포트)를 전송 프로토콜로 사용한다
- 클라이언트에 대한 정보를 유지하지 않는 stateless 프로토콜. 대신 쿠키나 세션을 이용함.
'네트워크' 카테고리의 다른 글
네트워크1 3차시 (0) | 2024.06.08 |
---|---|
네트워크1 2차시 (0) | 2024.06.02 |
네트워크1 1차시 (0) | 2024.06.01 |
네트워크 기초 7~8 (0) | 2024.03.06 |
네트워크 기초 4~6 (0) | 2024.03.05 |