본문 바로가기
  • 시 쓰는 개발자
CS 개념/컴퓨터 보안

컴퓨터 보안 (1) - Introduction

by poetDeveloper 2024. 4. 25.

시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길

 

Security Goal : CIA

 

* Confidentiality 기밀성 : 허용된 사람에게만 보여지도록 데이터를 보호

- 암호화, 복호화 key 이용

- 인증authentication은 신원을 지문 pw 출입카드 등으로 확인하는 것

- 인가autorization는 접근이 허가됐는지 판별하는 것

 

* Integrity 무결성 : 값이 변경되지 않았음을 인증해줌

  무결성 도구들

- 백업

- checksum

- Data/Error 교정 코드

 

* Availability 신뢰성 : 시기 적절하게 데이터 접근/수정을 인가해주는 것


Other Security Concepts : AAA

 

* Assurance 보장 : 정책, 허가, 보호 등으로 신뢰성 보장

* Authenticity 진짜 : 정책, 허가 등이 진짜라는 걸 determine해줌

* Anonymity 익명성 : 개인이 특정 레코드나 트랜잭션을 만지지 못하도록


Threats and Attacks

 

* Eavesdropping : 도청

* Alteration : 중간에 누가 인터셉트해서 변조된 데이터로 바꿔버림

* Denial-of-Service (DOS) : 무작위 데이터 엄청 보내서 서비스 못하도록 만듦

* Masquerading : 원래 사람이 보낸 것 처럼 변장하는 것

* Repudiation : 메시지의 송수신 행위를 부정함 (메세지 못보내고 못받음)


The 10 Security Principles (1975년)  ... 스킵


Access Control Models

누구는 접근하고, 누구의 접근은 막을 것인가 ??

 

* Access Control Matrices (ACM) : 접근 허가 내역 정의한 테이블

  /etc/passwd /usr/bin/ /admin/
kwanghwi read, write read, write, exec read, write
ganggang read read read

 

 

* Access Control List (ACL) : 해당 경로에 누가 어떤 권한 가지고 있는지 나열한 리스트

 

/etc/passwd                        /usr/bin/                         /admin/

        ↓                                      ↓                                   ↓

root : r, w, x                    root : r, w, x                     root : r, w, x

kwanghwi : r, w              kwanghwi : r, w               kwanghwi : r

ganggang : r                  ganggang : r                   ganggang : r

 

- 장점 : 적은 공간, 파일 자체에 내용을 저장할 수 있음.

- 단점 : 유저가 가진 모든 권한을 목록화하기 어렵다.

 

 

* Role-based Access Control : 역할기반 접근 통제, 중앙 관리자가 통제하는 형식

 

Tree 형태처럼 생겼음. root에서 계층형으로 관리함.

CEO

A 부서장, B 부서장

A 보안직원, 은행원 / B 기술자

......


Cryptographic Concepts

 

* Encryption and Decryption (암호화 & 복호화) : 도청해도 안전할 수 있게 암호화

- message M : 평문 (plainText)

- ciphertext C : 암호화된 문장

- C = E(M) : 암호문 = 메세지를 Encryption 했다는 것

- M = D(C) : 평문 = 암호문을 Decryption 했다는 것

 

* 카이사르 암호 : 알파벳 몇개씩(3개) 밀어서 대칭시킴

 

* Symmetric Cryptosystems 대칭 암호 : 암호화, 복호화 key가 같은 암호

- key 개수 : N명의 사람에 대해 키가 N*(N-1) / 2개 필요함

 

* Public-Key Cryptography 공개키 : 암호화, 복호화 키가 서로 다름. 따라서 비대칭형 암호

- 암호화는 오직 공개키로, 복호화는 오직 개인키로 함.

- key 개수 : N명의 사람들이 공개키-개인키 쌍으로 N개 pairs 필요함. (쌍이라는 걸 유의)

 

* Digital Signatures : 공개키가 지원하는 방식, 작성자 신원, 메세지 인증 등을 확인함.

 

* Hash 함수

- One way : pw를 함수에 넣어 해쉬값 생성은 쉽지만, 반대로 해쉬값 보고 pw 알아내긴 어렵다

- Collision-resistant : 같은 해쉬값을 가지는 PW1, PW2가 나올 수도 있긴 한데 매우 매우 어려움.

- SHA-1, SHA-256