Network Security Overview
네트워크 보안 개요
Topics for Security
- Cryptography (암호화)
- Authentication & Authorization (인증 및 인가)
- Protocols (프로토콜)
- S/W Security (S/W 보안)
- Mobile Security (모바일 보안)
- AI-Based Security (인공지능 기반 보안)
- Blockchain Tech (블록체인)
Security Engineering (보안 엔지니어링)
- 악의적 행위, 오류, 고장 등으로 부터 신뢰할 수 있는 시스템의 구축을 목표로 하는 공학 분야이다.
- 완전한 시스템을 설계, 구현, 테스트하는 데 필요한 도구, 프로세스, 방법을 수립하고,
진화하는 환경에 적응해나가는 시스템을 만드는 것을 지향한다.
Security Design Hierarchy (보안 설계 계층)
Layer | Description |
Policy | - 보안 정책 - 추후 수정가능 |
Protocols | - 보안 프로토콜 - 추후 수정가능 |
Hardware and Crypto | - 하드웨어와 보안 메커니즘 - 추후 수정이 힘듦 |
Steps for Security Policy Design (보안 정책 설계 절차)
Steps | Description |
1. Security Requirement Analysis (보안 요구사항 분석) |
- Asset(보호 대상)과 그 가치를 명확히 한다. - Vulnerabilities(취약점), Threats(위협), Risk Priorities(위험 우선순위)를 명확히 한다. - Legal Requirement(법적 요구사항), Contractual Requirement(계약상의 요구사항)를 명확히 한다. |
2. Work out a High-Level Security Policy (High-Level 보안 정책 수립) |
- 보안 요구 사항이 첫번째로 추상화되는 단계이다. - 보안의 의미와 보호 대상, 보강 대상을 분석한다. |
3. Security Policy Documentation (보안 정책 문서화) |
- 보안 정책 구현에 참여하는 사람들이 참고할 Reference를 제작한다. |
4. Detailed Design and Implementation (Low-Level 보안 정책 설계 및 구현) |
- 설계한 보안 정책을 시스템으로 구현한다. |
4 Things to build Dependable Systems (신뢰성 높은 시스템 구축을 위한 4가지 사항)
Policy (정책) |
- 달성해야 할 목표 |
Mechanism (메커니즘) |
- 정책을 구현하기 위한 수단 - Ciphers(암호), Access Controls(접근 제어), H/W Tamper-Resistance(하드웨어적 크랙 방지) 등 |
Assurance (확실성) |
- 메커니즘이 정확히 동작할 것에 대한 신뢰 |
Incentive (인센티브) |
- 관계자들이 적법하게 근무하여, 공격에 노출되지 않게할 인센티브(동기부여책) |
- 이들 4가지 요소들은 서로 유기적으로 연결되어 있으므로, 하나라도 결여되면 보안에 취약점이 발생하게 된다.
Terminology (정의)
Term | Description |
Dependability (신뢰성) |
- Safety(안전성)와 Security(보안성) 을 아우르는 개념이다. |
Safety (안전성) |
- Accident가 발생하지 않음을 의미하는 성질이다. ex) Bob will be able to read this file. |
Security (보안성) |
- 공격으로 부터 피해를 입지 않음을 의미하는 성질이다. ex) Trudy won't be able to read this file |
System (시스템) |
- 상황에 따라, 시스템의 정의 범위는 아래와 같이 넓어지거나 좁아질 수 있다. - Product나 Component를 의미한다. (Protocol, Smartphone, Smartcard, Laptop, Server 등) - Product에 OS, 통신 기능, 다른 기반시설이 추가된 형태를 의미한다. - 위 정의에서 Application들이 추가된 형태를 의미한다. - 위 정의에서 IT Staff(관리자)들이 추가된 형태를 의미한다. - 위 정의에서 내부 사용자들과 경영진들이 추가된 형태를 의미한다. - 위 정의에서 고객과 외부 사용자들이 추가된 형태를 의미한다. |
Subject (실체) |
- 물리적인 사람을 의미한다. |
Person (개체) |
- 특히 합법적 개체를 의미하며, 법인, 정부가 이에 해당될 수 있다. |
Principal (주체) |
- 보안 시스템에 참여하는 Entity를 의미하며, 아래 중 하나에 해당된다. - Person (개체) - Equipment (장비; Laptop, Phone, Smartcard, Card Reader 등) - Communication Channel (통신 채널; Port Number, Crypto Key 등) - Compound (추상화된 복합적 개체들; 의뢰인과 대리인 등) |
Identity (ID) |
- 사람이나 장비를 지칭하는 두 주체의 이름간의 Correspondence를 의미한다. |
Group (그룹) |
- 여러 Principal로 구성된 그룹을 의미한다. |
Role (역할) |
- 서로 다른 Person들이 수행하는 기능들을 의미한다. |
Trust (신뢰) |
- Trusted System이나 Trusted Component는 보안 정책을 무너뜨릴 수 있다. |
Secrecy (비밀성) |
- 정보에 접근할 수 있는 Principal의 수를 제한하는 메커니즘을 의미한다. |
Privacy (개인 정보 보호) |
- 개인 정보를 보호하고, 개인적인 공간에 대한 침입으로 부터 방어할 권리를 의미한다. |
Confidentiality (기밀성, 기밀 유지) |
- 타인의 정보를 알고있는 경우, 그것을 보호해야 할 의무를 의미한다. |
Authenticity (진실성) |
- 메시지가 이전에는 쓰이지 않았음을 의미하는, 무결성과 유사한 의미를 가진다. |
Integrity (무결성) |
- 메시지를 전송한 이후로 변경, 위조, 조작되지 않았음을 보장하는 것을 의미한다. |
Hack (해킹) |
- 시스템의 Rule에 허용되는 동작이지만, 설계자의 예상과 의도에 벗어난 행동을 의미한다. |
Anonymity (익명성) |
- Metadata에 접근하는 것을 제한하는 것을 의미한다. - 주체를 식별할 수 없게 하고, 행동들을 주체와 연결지을 수 없게 하는 것을 의미한다. |
Security Policy (보안 정책) |
- 보호 전략에 대한 간략한 서술이다. |
Security Target (보안 목표) |
- 보안 대상에 보안 정책을 구현하기 위한 수단들을 의미한다. |
Protection Profile (보호 명세서) |
- 다른 제품간의 비교 평가가 가능하게 끔 작성한 보안 명세서를 의미한다. |
Vulnerability (취약점) |
- 내부/외부적 위협에 의해 보안 실패로 이어질 수 있게 하는 시스템 고유의 특징을 의미한다. |
Plaintext Cleartext (평문) |
- Encrypt되지 않은, 원상태 그대로의 데이터(메시지)를 의미한다. |
Ciphertext (암호문) |
- Encrypt된 상태의 평문을 의미한다. - Ciphertext를 Decrypt(복호화)하면 Plaintext가 된다. |
Cipher Cryptosystem (암호) |
- Plaintext를 Encrypt(암호화)할 때 쓰이는 것을 의미한다. |
Cryptography (암호술) |
- Cipher(암호)를 만들기 위한 과학기술을 의미한다. - Making Secret Code |
Cryptanalysis (암호해독술) |
- Cipher(암호)를 해독하기 위한 과학기술을 의미한다. - Breaking Secret Code |
Cryptology (암호학) |
- Cryptography와 Cryptanalysis를 다루는 학문을 의미한다. |
Crypto | - 문맥에 따라 다를 수 있지만, 일반적으로, Cryptography, Cryptanalysis, Cryptology 모두를 아우르는 용어이다. |
C.I.A (Confidentiality, Integrity, Availability; 보안의 3대 요소)
- C.I.A는 보안 부문에서의 Base Layer Component(3대 기본 요소)이다.
Components of Security | Description |
Confidentiality (비밀성, 기밀성, 기밀 유지) |
- Unauthorized Reading(인가되지 않은 정보 열람)을 방지한다. |
Integrity (무결성) |
- Unauthorized Writing(인가되지 않은 정보 입력)을 감지한다. |
Availability (가용성) |
- 필요한 데이터를 제때 접근하는 것을 보장한다. ex) DDoS와 같은 공격은 Availability를 해치는 공격이다. |
- C.I.A 이외에 보안 분야에서 추가적으로 고려해야 할 사항들은 아래와 같다.
Additional Components of Security | Description |
Cryptography (암호화) |
- 인가된 사용자임을 알리는 정보들(비밀번호, 생체 인증 정보 등)을 안전하고 효율적으로 전달하는 메커니즘을 통칭하는 용어이다. |
Protocol (프로토콜) |
- Standalone System이 아닌, 사용자가 Network System을 이용할 때 지켜야 할 일련의 작업들(Access 절차 등)을 의미한다. - Network System에서는 암호만으론 보안 목표를 달성할 수 없는 경우가 많아, 프로토콜까지 적용되어야 한다. |
Access Control (접근 제어) |
- Authetication(인증)과 Authorization(권한)을 통칭하는 용어이다. |
Software (소프트웨어) |
- Cryptography, Protocol, Access Control 모두 S/W적으로 구현되므로, S/W의 중요성은 별다른 설명이 필요하지 않다. - Memory Overwriting과 같은 S/W Issue가 곧 Security Issue가 될 가능성이 있으므로, 이들을 해결해야 보안 문제로 번지는 것을 막을 수 있다. |
Think like Hacker (해커처럼 생각하기) |
- 해킹 분야에 대해 쉬쉬하고, 관련 정보가 공개되어 있지 않았던 과거와 달리, 오늘날엔 무수히 많은 관련 정보를 누구나 열람할 수 있게 된 만큼, 해커의 입장에서 생각하며 Security Issue에 대응해야 한다. |
Reference: Information Security: Principles and Practice 2nd Edition
(Mark Stamp 저, Pearson, 2011)
Reference: 2022학년도 1학기 홍익대학교 네트워크 보안 강의, 이윤규 교수님