ch1_소개

박정빈·2024년 10월 14일

정보보호

목록 보기
3/14

정보보호의 목표!

C.I.A

  • Confidentiality 기밀성
    기밀성은 정보가 무단으로 공개되지 않도록 하는 것이다. 기밀성은 데이터를 보호하는 것이고, 허락받은 사람에게는 볼 수 있는 권한을 주고, 다른 사람들은 그 내용에 대해 알지 못하게 하는 것이다.
  • Integrity 무결성
    값이 변형되지 않았음을 보장하는 것이다. -진짜냐? 이 신문만 다른거 아녀?
  • Availability 가용성
    보안이 중요한 이유는 사람들이 원하는 시점에 서비스를 이용할 수 있게 해야한다. 가용성이 없으면 보안이 의미가 없다!
    예를 들어서 웹서버 보안이 중요한 이유는 사람들이 원하는 시점에 서비스를 사용할 수 있게끔 보장을 해야하는데, 보장을 하지 못한다면 서비스 보안이 의미가 없다는 것이다.

목표를 지키기 위한 방법들

Confidentiality 기밀성

기밀성을 지키기 위한 다양한 방법들에 대해 알아보자

  • Encryption 암호화
    문서를 전달할때, 문서에 암호를 걸어서 그 암호를 알 수 있는 사람들만 내용을 열람할 수 있도록 할 수 있다. 따라서, 중간에 데이터가 탈취되더라도 보호받을 수 있다.
    암호화 키를 사용해서 내용을 변환(암호화:encrypt), 복원(복호화:decrypt) 할 수 있다.

  • Access control 접근제어
    기밀 정보에 대한 접근을 "알 필요가 있는" 사람이나 시스템으로 제한하는 규칙과 정책. 이 "알 필요"는 개인의 이름이나 컴퓨터의 일련번호와 같은 신원에 의해 결정될 수 있으며, 또는 관리자나 컴퓨터 보안 전문가와 같은 역할에 따라 결정될 수 있다.
    컴퓨터에서 root 계정을 가진 사람만 열람할 수 있는 파일 같은 것도 접근제어의 방법을 사용한 예시이다.

  • Authentication 인증
    누군가가 가지는 신원 또는 역할을 확인하는 과정. 이 확인은 여러 가지 방법으로 수행될 수 있지만, 일반적으로 다음의 조합에 기반한다:
    개인이 소지한 것 (스마트 카드나 비밀 키를 저장한 무선 키팝 등)
    개인이 알고 있는 것 (비밀번호 등)
    개인 그 자체 (지문을 가진 사람 등).

Integrity 무결성

  • 백업(Backups): 데이터의 주기적인 보관이다.

  • 체크섬(Checksums): 파일의 내용을 숫자 값으로 매핑하는 함수를 계산하는 것이다. 체크섬 함수는 파일의 전체 내용에 의존하며, 입력 파일에 작은 변화(예: 단일 비트 변경)가 있더라도 결과 값이 크게 달라질 가능성이 높도록 설계되어 있다.

  • 복구 코드(Data correcting codes): 작은 변화를 쉽게 감지하고 자동으로 수정할 수 있도록 데이터를 저장하는 방법이다.

Availability 가용성

  • Computational redundancies 컴퓨팅 중복성
    장애가 발생할 경우를 대비해 백업 역할을 하는 컴퓨터와 저장 장치.
    여분의 컴퓨터

  • Physical protections
    물리적으로 안전한 곳에 놔둬야한다.

다른 정보보호 컨셉들
Authenticity 확실성 - 진위여부를 가린다.
Assurance 보증
Anonymity 익명성

이때까지 작성한 것들은 보안이라면 이런것들을 보장하고 지켜야해 라는 것들이다.
그렇다면 이 보안을 위협하고 해치는 것들은 뭐가 있을까?

보안을 위협하는 것들

착한친구들의 이름은
Alice,Bob,carole,Dave 라고 칭하고 각자에서 data를 전달하고 싶어한다.
나쁜 친구들의 이름은
Eve,Mallory 라고 칭하고, 보통 Eve는 도청등 수동적으로 공격, Mallory는 변조등 액티브한 공격을 진행한다.

Eavesdropping 도청

중간에서 정보를 가져오는 것

Alteration 변조

mallory가 중간에서 변조 후 전달하는 것이다.
mallory처럼 중간에서 공격할 경우에 man-in-the-middle-attack이라고 부른다

Denial-of-service Dos

서비스를 못하게 하는 것으로 한 명이 공격할 서버에 많은 요청을 하는 등의 부하를 줘서 가용성을 망가뜨리는 것이다.
여러 컴퓨터가 공격한다하면 DDos 공격이라고도 한다.

Masquerading

딴 사람인 척하는 것

Repudiation 부인

그런적 없다고 발뺌하는 것
integrity와 관련이 있다.
해시함수, 전자서명 등의 방법으로 해결할 수 있다. Non-Repudiation(부인 봉쇄)를 할 수 있다.

Security Principles

  • Economy of mechanism
  • Fail-safe defaults
    방화벽을 켜야한다. 오류가 있을때 네트워크까지 차단해야하나? 아닌가? 의 문제
  • Open design
    소스코드를 공개해야하나? 도움을 받을 수 있지만 취약점이 들킬 수 있다. 지금은 오픈하는 쪽으로 가는 중
  • Separation of privilege
    개발자와 운영자의 권한 분리, 전권을 가지면 악용할 수 있다. 채용 비용이 더 들고 서로 책임전가를 할 수 있다는 문제가 있다.
  • Least privilege
    적은 권한을 줘라
  • Least common mechanism
  • Psychological acceptability
  • Work factor
  • Compromise recording
  • Complete mediation

Role-based Access Control
역할 중심 엑세스 컨트롤 사람이 중요하냐?역할이 중요하지
엑세스 컨트롤,접근 제어를 할 때 역할 중심으로 해야한다.

암호에 대한 기본 개념

  • 암호화 복호화
    정보를 암호화 함으로써 Eavesdropping 같은 공격에 면역이 생긴다.
    평문 M 은 암호화알고리즘에 의해 암호문 C로 변환된다.
  • Caesar Cipher
    줄리어스 시저 장군이 만든 암호화 방법
    알파벳을 쉬프트 시키는 방법이다.
    너무 풀기 쉬워서 안좋은 알고리즘이다.

  • Symmetric Key Distribution 대칭키분산
    서로에 대한 키가 필요하기 때문에 키가 n(n1)2\frac{n(n-1)}{2}만큼 늘어난다.

  • Public-Key Cryptography 공개키암호 알고리즘(asymmetric 비대칭알고리즘)
    서로 한 쌍씩의 키만 가지고 있으면 된다!

  • Cryptographic Hash Functions 해시함수
    크기제한 없는 메시지M을 함수에 넣으면 같은 크기(고정된 크기 예.32bit)의 아웃풋으로 바뀐다.
    인풋이 한 비트만 달라져도 아웃풋이 아예 달라짐 크기는 같음
    SHA-1, SHA-256 같은 것들이 해시 함수이다.

수학적으로 증명된건 공개키밖에 없다 대칭키와 해시함수는 그냥 문제 없어서 쓰는 거임

  • Digital Certificates 인증서
    certificate authority (CA) 공개키를 활용했다.
  • Password Complexity 비밀번호

  • Social Engineering
    사람을 노려서 해킹하는것 사람의 sns등을 토대로 원하는 정보와 맞닿아있는 사람을 타겟으로 피싱메일등을 보내서 공격할 수 있다.

0개의 댓글