반응형

1. 암호화(Encryption)

암호화는 평문의 데이터를 암호화키를 사용해서 암호문으로 만들거나 암호문을 복호화키로 복호화해서 평문으로 만드는 일련의 과정을 말한다.


2. 스트림(Stream) 암호화

스트림 암호화는 비트 또는 바이트 단위로 암호화를 수행하며, 고속으로 암호화할 수 있고 경량적이어서 무선 환경이나 고속으로 동작하는 시스템에서 사용된다.

키 스트림이 암호화키가 되므로 암호화키가 유출되면 암호문은 복호화되어 문제 발생하기 때문에 송/수신자의 키 스트림 공유를 위해 동기식 스트림 암호와 비동기식 스트림 암호로 분류된다.

RC4 스트림 암호화

1) 동기식 스트림 암호

- 키 스트림을 생성할 때 랜덤하게 생성하는 One Time Pad

- 랜덤 번호를 생성해서 송신자와 수신자가 랜덤 키를 교환

- 랜덤 키를 암호화/복호화 키로 사용

2) 비동기식 스트림 암호

- 키 스트림을 생성할 때 이전의 평문 및 암호문에 종속적으로 생성


3. 블록 암호화

1) 블록 암호화 알고리즘 구조

- 사전에 공유한 암호키를 사용해서 고정된 길이의 입력 블록을 고정된 길이의 출력 블록으로 변환하는 알고리즘

- Feistel 구조: 암호화 방식을 역으로 수행하면 복호화 가능

- SPN 구조: 암호화 방식을 역으로 수행해도 복호화가 불가능

 

2) 블록 암호화 기법(Block Cipher)

(1) ECB(Electronic Code Book) Mode

- 가장 단순한 모드로, 평문을 일정한 블록단위로 나누어 순차적으로 암호화하는 구조

- 블록의 단위는 알고리즘에 따라 다름 (DES: 64Bit, AES: 128Bit)

- 각각의 블록은 독립적이므로 특정 블록의 에러가 다른 블록에 영향을 주지 않음

- 평문을 각각의 단위로 나눌 때, 배수에 미치지 못하여 남는 Bit는 패딩(Padding, 빈 데이터)을 추가하여 크기를 맞춤

- 한 개의 블록만 해독되면 나머지 블록 또한 해독되는 단점이 있음

ECB Mode (출처: IT Wiki)

 

(2) CBC(Cipher Block Chainging) Mode

- ECB 모드와 동일한 방법으로 평문을 일정한 블록단위로 나눔

- 최초 키의 생성 버퍼로 IV(Initialization Vector)가 사용되어 첫 번째 블록과 XOR 연산을 통해 암호화

- IV는 나누어진 일정한 블록 중 하나가 되거나 단위 블록과 길이가 같은 임의의 값이 될 수 있음

- 두 번째 블록부터는 첫 번째 블록의 암호화된 블록과 XOR 연산을 하여 암호화 진행

- 블록 암호화 모드 중 보안이 가장 강력한 암호화 모드로 평가되며 가장 많이 사용됨

- 암호문 한 개의 블록에서 에러 발생 시 현재 복호화되는 평문 블록과 다음 블록에 영향을 줌

CBC Mode (출처: IT Wiki)

(3) CFB(Cipher FeedBack) Mode

- 앞의 두가지 모드와 달리 평문과 암호문의 길이가 같음

- 패딩을 추가하지 않고 블록단위 암호화를 스트림 암호화 방식으로 구성하여 Bit 단위로 암호화 수행

- CBC와 마찬가지로 IV가 사용되고, 암호화는 순차적으로 처리하며 복호화는 병렬 처리가 가능

- 암호문 한 개의 블록에서 에러 발생 시 현재 복호화되는 평문 블록과 다음 블록에 영향을 줌

 

CFB Mode (출처: IT Wiki)

(4) OFB(Output FeedBack) Mode

- CFB Mode와 동일하게 패딩을 추가하지 않고 블록단위 암호화를 스트림 암호화 방식으로 구성

- 최초 키의 생성 버퍼로 IV 사용

- 암호문 한 개의 블록에서 에러 발생 시 현재 복호화되는 평문 블록에만 영향을 주므로 영상 데이터, 음성 데이터와 같은 Digitized analog(디지털화된 아날로그) 신호에 주로 사용

OFB Mode (출처: IT Wiki)

(5) CTR(CounTeR) Mode

- 평문 블록과 키스트림을 XOR 연산하여 암호문 생성

- 키스트림 암호화 시, 1씩 증가하는 카운터를 암호화하며, 암호화/복호화 방법이 동일하므로 구현이 간단

- OFB와 마찬가지로 암호문 블록의 에러 발생 시, 한 개의 평문블록에만 영향

- IV는 사용하지 않고 Counter 값 사용

CTR Mode (출처: IT Wiki)


4. Diffie-Hellman 키 교환 알고리즘

1) Diffie-Hellman 키 교환 알고리즘 

- 공개키는 1개의 정수와 1개의 소수로 통신 직전에 상대방과 공유하며, 비밀키 전용 숫자는 양쪽에서 각각 보유

- 공개키의 수치를 사용해서 공통 암호키용 수치를 산출하는 방식

- IPSEC에서 IKE의 Default 키 교환 알고리즘으로 채택

 

2) Diffie-Hellman 키 교환 과정

출처: IT Wiki

3) 취약점

- Diffie-Hellman 키 교환은 단순히 키 교환에 의한 안전성에 의존하므로 단독으로 사용하기엔 부족

- 많은 프로토콜에서 사용되고 있지만 모두 인증, 무결성, 부인방지 등 추가적인 안정성을 더해서 사용


5. RSA(Rivest, Shamir, Adelman)

1) RSA

- 대표적인 공개키 암호화 방식으로, 소인수분해의 어려움을 기반으로 안정성 제공

- 암호화 및 디지털 서명 용도로 사용이 가능

 

2) RSA 암호화, 복호화

- 송신자는 수신자의 공개키로 암호화

- 수신자는 본인의 개인키로 복호화

3) RSA 전자서명

- 송신자는 본인의 개인키로 서명

- 수신자는 송신자의 공개키로 복호화


6. 해시 함수

1) 해시(Hash) 알고리즘

- 키가 없고 복호화가 불가능한 특징을 가지는 암호화 방식으로, 일방향 암호 기술

- 다양한 길이의 입력을 고정된 짧은 길이의 출력으로 변환하는 함수

- y=h(x)에서 x는 가변 길이의 메시지, y는 해시 함수를 통해서 생성, h는 해시값(Hash Code)

 

2) 해시 함수의 조건

조건 설명
압축 - 임의 길이의 평문을 고정된 길이의 출력 값으로 변환함
일방향
(One Way Function, 선이미지 회피성)
- 메시지에서 해시값(Hash Code)을 구하는 것은 쉬움
- 해시값에서 원래의 메시지를 구하는 것은 매우 어려움(역방향 계산 불가능)
효율성 - 메시지로부터 h(메시지)를 구하는데 많은 자원고 노력이 소요되지 않아야 함
충돌 회피
(Collision free, 강한 충돌회피성)
- 다른 문장을 사용하였는데도 동일한 암호문이 나오는 현상
- h(M1) = h(M2)인 서로 다른 M1과 M2를 구하기는 계산상 불가능해야 함
2차 선이미지 회피성(약한 충돌 회피성) - 어떤 블록 x에 대해서 H(y)=H(x)인 y!=x인 것을 찾는 것이 계산적으로 불가능해야 함

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

 

반응형
반응형

1. 전자서명 인증 구조 및 주요 특징

1) 전자서명(Digital Signature)

- 작성자의 신원과 전자문서 변경 여부를 확인할 수 있도록 전자문서를 비대칭 암호화 방식을 이용하여 전자서명 생성키로 생성한 정보

- 개인의 고유성을 주장하고 인증받기 위해 전자적 문서에 서명하는 방법으로 무결성, 추적성 확보를 목적으로 함

- 전자서명 과정에서 총 5개의 암호화키가 사용된다. (송신자의 개인키, 공개키, 수신자의 개인키, 공개키, 비밀키(=대칭키))

- 전자서명의 특징

특징 상세 내용
서명자 인증 전자서명을 생성한 서명인을 검증 가능(서명자의 공개키)
부인방지 서명인은 자신이 서명한 사실을 부인 불가
위조 불가 서명인의 개인키가 없으면 서명을 위조하는 것은 불가
변경 불가 이미 한 서명을 변경하는 것은 불가
재사용 불가 한 문서의 서명을 다른 문서의 서명으로 재사용 불가

- 전자서명 기법의 종류: RSA, ElGamel. Schnorr, DSS, KCDSA, ECC

- 전자서명 과정

전자서명 생성 과정(송신자)

① 송신자는 메시지를 해시함수에 넣고 Message Digest 생성 (Digest: hash 함수를 통과된 이후의 Data)

② 송신자만 가지고 있는 송신자의 사설키(=개인키)로 전자서명 진행

③ 대칭키 기법인 비밀키(=대칭키)를 사용해서 전자서명을 암호화

비밀키로 암호화하여 암호문 생성

⑤ 송신자의 비밀키를 수신자의 공개키로 암호화 (수신자는 송신자의 비밀키가 없어서 복호화 불가능하니까)

⑥ 전송

 

전자서명 확인 과정(수신자)

⑦ 수신자는 수신자의 사설키(=개인키)로 암호문을 복호화하고 송신자의 비밀키를 획득

⑧ 수신자는 송신자의 비밀키로 평문의 메시지를 획득

⑩ 암호화된 전자서명을 복호화하고 전자서명을 통해 송신자의 공개키 확인

⑨⑪⑫ 사용자 인증, 메시지 인증 과정

※ 개인키=사설키, 비대칭키 / 비밀키=대칭키

구분 키(Key) 설명
송신자 개인키 전자서명
공개키 전자서명 확인
수신자 개인키 복호화
공개키 암호화

2. PKI 구조

1) PKI(Public Key Infrastructure) 개요

- 은행, 증권, 카드, 보험에서 사용하는 공인인증의 구조로, 공인인증서를 통해 인증받는 구조

- 인증기관(CA)에 사용자 정보를 입력하고 공인인증서를 발급받음

 

Cf) 인증기관(CA), 등록기관(RA)

- 인증기관: 사용자 신원을 확인하고 인증서를 발급

- 등록기관: 많은 사용자의 신원확인을 대행 해주는 기관

- 등록기관이 신원확인을 하고, 인증기관이 공인인증서를 발급

 

2) PKI 구성

- PKI 세부 구성 내용

출처: 해시넷 위키

구성 요소 주요 기능
인증기관(CA)
Certification Authority
- 인증 정책 수립, 인증서 및 인증서 폐기 목록 관리(생성, 공개, 취소, 재발급)
- 공개키 인증서를 자신의 개인키로 서명
- 공개키와 개인키 쌍의 소유자 신분 증명
- 다른 CA와 상호 인증
- CRL 등록 및 인증 절차 작성
등록기관(RA)
Registration Authority
- 사용자 신원 확인, 인증서 요구 승인, CA에 인증서 발급 요청
- 디지털 인증서 신청자의 식별과 인증을 책임
- PKI를 이용하는 Application과 CA 간 인터페이스 제공
- 대표적 RA : 은행, 증권사
CRL
(Certificate Revocation List)
- 인증서 폐기 목록으로, 인증서의 지속적인 유효함을 점검하는 도구
- 폐지 사유 : 디지털 서명의 개인키 노출, 인증서가 필요 없을 경우, 개인키 분실, 효력 정지 등
Directory - 인증서, 암호키에 대한 저장, 관리, 검색 등의 기능, PKI 관련 정보 공개
- 디렉터리 표준 형식으로는 X.500과 이것을 간략화시킨 LDAP가 있음
CPS
(Certification Practice Statement)
- PKI를 구현하기 위한 절차를 상세히 설명해놓은 문서로, CA의 운영을 통제하는 상세한 일련의 규정
- 인증 정책, 인증 절차, 비밀키 관리 절차 등 포함
- 모든 사용자에게 반드시 공개해야 함(홈페이지에 게시)
X.509 - X.500 디렉터리 서비스에서 서로 간의 인증을 위해 개발된 것
- CA에서 발행하는 인증서를 기반으로 하며, 공개키 인증서 표준 포맷
- 사용자의 신원과 키 정보를 서로 결합한다는 것을 의미

 

3) PKI 세부 내용

- 인증기관은 인증에 대한 정책 승인 기관, 정책 인증기관, 인증기관으로 나누어짐

- 사용자들이 사용하는 X.509 인증서(공인인증서)를 발급함

- 인증기관을 대행해서 등록기관(RA)이 인증기관 하위에서 사용자 신원 확인의 역할을 수행

 

Cf) OCSP(Online Certificate Status Protocol)

- 은행에서 발급받은 인증서를 인증받기 위해 인증기관 간의 상호인증을 수행하는 실시간 프로토콜

OCSP

Cf) Directory Service

- API(Application Program Interface)를 활용하여 데이터를 입력, 수정, 삭제, 조회할 수 있는 서비스

- X.500과 LDAP이 있음

- DAP(Directory Access Protocol)라는 프로토콜을 활용하여 작업을 수행

 

Cf) 공개키 인증서(X.509 인증서)

- 인증서 버전, 인증서 고유번호, 발급자의 성명, 발급자 정보, 유효기간, 주체 정보, 공개키, 주체키 등을 포함

tistory.com 인증서

 

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다

반응형
반응형

1. 접근 통제 기술

접근 통제는 정당한 사용자에게는 권한을 부여하고 그 외의 다른 사용자는 거부하는 것이다.

 

1) 2-Factor 인증

- 지식, 소유, 존재, 행동기반의 인증 중 2개를 같이 사용하는 인증 방법

- 같은 생체인증인 홍채와 지문을 같이 사용하는 것은 2-Factor 인증이 아님

 

2) MAC(Mandatory Access Control)

- 비밀 취급 인가 레이블 및 객체의 민감도 레이블에 따라 지정되는 방식으로, 강제적 접근 통제 방식

- 관리자에 의해 권한이 할당, 해제됨

- 데이터에 대한 접근을 시스템이 결정(정해진 Rule에 의해)

- 데이터 소유자가 아닌 오직 관리자만이 자원의 카테고리를 변경시킬 수 있음

- MAC의 종류

종류 설명
Rule-based MAC - 주체와 객체의 특성에 관계된 특정 규칙에 따른 접근 통제 방화벽
Administratively-directed MAC - 객체에 접근할 수 있는 시스템 관리자에 의한 통제
CBP
(Compartment-Based Policy)
- 일련의 객체 집합을 다른 객체들과 분리
- 동일 수준의 접근 허가를 갖는 부서라도 다른 보안 등급을 가질 수 있음
MLP
(Multi-Level Policy)
- Top Secret, Secret, Confidentiality와 같이 객체별 지정된 허용 등급을 할당하여 운영
- 미국 국방성 컴퓨터 보안 평가지표에 사용, BLP 수학적 모델로 표현 가능

 

3) DAC(Discretionary Access Control)

- 자율적 접근 통제 방식으로, 객체의 소유자가 권한을 부여함

- User-based, Identity: 사용자의 신분에 따라 임의로 접근을 제어하는 방식

- 접근 통제 목록(ACL, Access Control List) 사용 : Read, Write, Execute

- DAC의 종류

종류 설명
Identity-based DAC - 주체와 객체의 ID에 따른 접근 통제, 주로 유닉스에서 사용
User-directed - 객체 소유자가 접근 권한을 설정 및 변경할 수 있는 방식

 

4) Non-DAC

- 비임의적 접근 통제 방식으로, 주체의 역할에 따라 접근할 수 있는 객체를 지정하는 방식

- 기업 내 개인의 작은 이동 및 조직 특성에 밀접하게 적용하기 위한 통제 방식

- Role-based 또는 Task-based라고도 하며, 중ㅇㅇ 관리자에 의해 접근 규칙을 지정함

- Non-DAC의 종류

종류 설명
Role-based Access Control (RBAC) - 사용자의 역할에 의해 권한이 부여 (ex. PM, 개발자, 디자이너)
Lattice-based Non-DAC - 역할에 할당된 민감도 레벨에 의해 결정
- 관련된 정보로만 접근 가능
Task-based Non-Doc - 조직 내 개인의 임무에 의한 접근 통제
ex. 핵 무기와 관련된 임무를 수행하고 있는 경우, 다른 관련 업무는 볼 수 없음

 

5) RBAC(Role Based Access Control)

- 권한들의 묶음으로 Role을 만들어서 사용자에게 Role 단위로 권한을 할당하고 관리

 

Cf) RBAC의 장점

- 관리 수월: 관리자에게 편리한 관리 능력을 제공

- 보안관리 단순화: 권한 지정을 논리적, 독립적으로 할당하거나 회수 가능

- 최소 권한: 최소한의 권리만 허용하여 권한 남용을 방지

- 직무분리: 시스템상에서 오용을 일으킬 정도의 충분한 특권이 사용된 사용자를 없게 함


2. 접근 통제 기법과 각 모델의 특징

접근 통제는 크게 Access Control List와 Capability List 방법이 존재한다.

 

1) Access Control List

- 주체와 객체간의 접근 권한을 테이블로 구성한 것

- 행: 주체, 열: 객체를 두고 행과 열의 교차점에는 주체가 객체에 대한 접근 권한을 기술

 

2) Capability List 

- 주체별로 객체를 LinkedList로 연결하고 권한을 할당한 구조

- 사람(주체)별로 모든 파일 리스트가 존재하므로 권한을 알기 위한 탐색시간이 오래 걸리는 문제 존재

 

3) 접근 통제 모델

(1) Bell-Lapadula

기밀성 모델로서 높은 등급의 정보가 낮은 레벨로 유출되는 것을 통제하는 모델로, 시스템의 비밀성을 보호하기 위한 보안 정책이며 최초의 수학적 모델로서 보안 등급과 범주를 이용한 강제적 정책에 의한 접근 통제 모델이다. 

- No Read-Up (NRU or ss-property) : 단순 보안 규칙

주체는 자신보다 높은 등급의 객체를 읽을 수 없음 (같거나 높아야됨)

- No Write-Down(NWD or *-property) : Confinement Property

주체는 자신보다 낮은 등급의 객체에 정보를 쓸 수 없음(낮거나 같아야 함)

- Strong*-property

더욱 강화한 모델로, 주체는 자신과 등급이 다른 객체에 대해 읽거나 쓸 수 없음

Level ss-property
읽기 권한(Read Access)
*-property
쓰기 권한(Write Access)
Strong*-property
읽기/쓰기(R/W Access)
높은 등급 통제 (No Read Up) 가능 (OK Write Up) 통제
같은 등급 가능 가능 가능
낮은 등급 가능 (OK Read Down) 통제 (No Write Down) 통제

 

(2) Bida

Bell-Lapadula 모델의 단점인 무결성을 보장할 수 있는 모델로서, 주체에 의한 객체 접근의 항목으로 무결성을 다룬다.

- No Read Down (NRD or Simple Integrity Axiom)

- No Write Up (NWU or *Integrity Axiom)

Level 단순 무결성 규칙
(Simple Integrity property)
읽기 권한(Read Access)
*-무결성 규칙
(Integrity *-property)
쓰기 권한(Write Access)
높은 등급 가능 (OK Read Up) 통제
같은 등급 가능 가능
낮은 등급 통제 가능 (OK Write Down)

 

(3) Clark and Wilson (클락 윌슨 모델)

무결성 중심의 상업용으로 설계한 것으로 Application의 보안 요구사항을 다루며, 정보의 특성에 따라 비밀 노출 방지보다 자료의 변조 방지가 더 중요한 경우가 있음을 기초로 한다.


3. 보안 운영체제(Secure OS)

기존의 OS에서 발생 가능한 보안 취약성으로부터 시스템 자체를 보호하기 위해 기존 OS의 커널 등급에 부가적인 보안 기능을 강화시킨 OS다.


4. 키 분배 프로토콜

1) 대칭키 암호화(Symmetric Key)

암호화키와 복호화키가 동일한 암호화 기법으로, 암호문을 송/수신 하는 사용자는 사전에 암호화키를 교환해야 함

- 가장 큰 장점은 작은 비트의 암호화키를 사용하여 빠르게 암호화/복호화를 할 수 있다는 것

- Session Key, Shared Key, Secret Key, 대칭키, 관용키 라고도 함

- 기밀성을 제공하지만 무결성, 인증, 부인방지는 보장할 수 없으며, 암호화/복호화 속도가 빠름

- 같은 키를 사용하므로 안전한 키 전달 및 공유 방법이 필요하며, 대용량 Data 암호화에 적합

대칭키 암호화 기법의 암호화, 복호화 과정

- 종류

구분 스트림 암호(Stream Cipher) 블록 암호(Block Cipher)
개념 하나의 Bit 또는 Byte 단위로 암호화 여러개의 Bit를 묶어 블록 단위로 암호화
방법 평문을 XOR로 1Bit 단위로 암호화 블록 단위로 치환/대칭을 반복하여 암호화
장점 실시간 암호, 복호화, 블록 암호화보다 빠름 대용량의 평문 암호화
종류 RC4, SEAL, OTP DES, 3DES, AES, IDEA, Blowish, SEED

Cf) Session Key

- 송신자와 수신자가 연결하고 있는 동안만 사용하는 암호화 키

- 송신자와 수신자가 같은 암호화키를 가지고 있음

- 임시키라고도 하며, 연결이 종료되면 세션키는 사라짐

 

2) 공개키(비대칭키) 기반 키 분배 방식의 원리

- 공개키 암호화 기법은 공개키와 개인키 두 개의 암호화키를 사용해서 암호화/복호화를 함

- 송신자는 공개키를 수신 받은 후 공개키로 암호화하여 메시지를 전송

- 수신자는 자신만 가지고 있는 개인키로 복호화하여 메시지를 수신

- 대칭키 암호화 기법의 키 공유 문제를 해결한 방법이지만 암호화키의 길이가 길어 암호화/복호화의 성능이 떨어짐

대칭키 암호화 기법의 암호화, 복호화 과정

- 공개키 암호화의 필요성

필요성 주요 내용
키 관리 문제 비밀키의 배분, 공유 문제, 수많은 키의 저장 및 관리 문제
인증 메시지의 주인을 인증할 필요
부인방지 메시지의 주인이 아니라고 부인하는 것을 방지

- 공개키 암호화의 종류: Diffie Hellman, RSA, DSA, ECC 등

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

반응형
반응형

1. 정보보호 개요

1) 정보보호 목표

- 기밀성(Confidentiality) : 허가되지 않은 사용자에게 노출되지 않는 것을 보장

- 무결성(Integrity) : 권한이 없는 사용자에 의해 변경되지 않는 것을 보장

- 가용성(Availability) : 인가된 사용자가 필요로 할 때 원하는 객체 또는 자원에 접근하고 사용할 수 있는 것을 보장

 

2) 정보보호 공격유형과 보호대책

- 변조(Modification) : 원래의 데이터를 조작하는 행위로, 소스 프로그램을 변경하여 악성코드 실행 또는 특정 URL로 접속하게 함

- 가로채기(Interception) : 네트워크상에서 전송되는 데이터에 대하여 복사, 열람 등을 하는 공격유형으로 중요 정보가 유출될 수 있음 (ex. Sniffing)

- 차단(Interruption) : 정상적인 서비스를 방해하는 행위로, DOS 및 프로세스 고갈 공격이 대표적임

- 위조(Fabrication) : 송신되는 메시지를 변조하여 상대방을 속이는 것으로, 송신자의 IP를 변경하여 상대를 속일 수 있음


2. 사용자 인증 방식 및 원리

1) 지식기반 인증

- 사용자의 기억으로만 인증하는 방식으로, 패스워드, Pin 번호 등이 있음

 

Cf) 패스워드의 문제점

- 패스워드 전송 시 암호화하지 않으면 Sniffing Tool에 의해 도청이 가능

- 패스워드 전송구간에 도청을 막기위해 암호화를 해야하며, 복호화될 필요가 없으므로 일방향 암호화 실행

 

2) 소유기반 인증

- 소유기반 인증의 가장 대표적인 예는 열쇠이며, 이러한 소유기반 인증은 복제와 분실의 문제점을 가짐

 

3) 존재(생체)기반 인증

- 평생 불변의 특성을 지닌 생체적, 행동적 특징을 자동화된 수단으로 등록하여 인증하는 방식

- 생체인증 분류

분류 내용
존재 특징 - 생체 특성, 지문, 장문, 얼굴, 손 모양, 홍채, 망막, 정맥
행동 특징 - 서명, 음성, 키보드 입력

- 생체인증 특징

평가항목 내용
보편성(University) - 모든 사람들이 보편적으로 지니고 있어야 함
유일성(Uniqueness) - 개인별로 특징이 명확히 구분되어야 함
지속성(Permanence) - 개인의 생체 정보는 지속적이어야 함
성능(Performance) - 개인 확인 및 인식의 우수성, 시스템 성능
수용성(Acceptance) - 거부감이 없어야 함
저항성(Resistance) - 위조 가능성이 없어야 함

3. 커버로스(Kerberos) 인증

대칭키 암호화 기법에 바탕을 둔 티켓기반 인증 프로토콜로 Client <> Server 사이의 인증을 제공하며, Windows OS의 기본 인증 방식으로 사용된다.

3A(Authentication, Authorization, Accounting)를 지원한다. (인증, 인가, 과금)

 

1) Kerberos의 구성요소

구성요소 설명
KDC - 키 분배센터(Key Distriction Center), TGS + AS로 구성
- 사용자와 서비스 암호화 키(비밀키)를 유지하고 인증 서비스를 제공하며 세션 키를 만들고 분배
AS - 인증 서비스(Authentication Service), 실질적 인증 수행
Principals - 인증을 위해 Kerberos Protocol을 사용하는 모든 실제를 이르는 말
TGS - 티켓 부여 서비스(Ticket Granting Service)
- 티켓을 만들고 세션 키를 포함한 Principals에 티켓을 분배하는 KDC의 한 부분
Ticket - 인증 토큰
TimeStamp - 시간 제한을 두어, 다른 사람이 티켓을 복사 후 위장하여 티켓을 사용하는 것을 막음
- Replay 공격 예방

 

2) Kerberos 인증의 동작

① 사용자는 AS에 인증 요청

② 인증 서비스는 사용자에게 시작 티켓을 전송 (사용자 이름, 발급시간, 유효시간)

③ 사용자는 서비스 접근 요청

④ TGS는 세션 키가 포함된 새로운 티켓을 생성

⑤ 사용자는 하나의 세션 키를 추출하고 티켓을 파일 서버로 전송

⑥ 티켓을 받은 서버는 사용자에 대한 서비스 제공 여부 결정

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

 

반응형
반응형

1. OWASP(Open Web Application Security Project)

신뢰성 있는 웹 어플리케이션 개발 및 운영을 위한 웹 취약점의 우선순위와 위험도 기준의 정보보안 가이드라인을 제시하는 프로젝트로, 웹 사이트에서 가장 취약한 부분을 분석하여 2013년부터 발표하고 있다.

출처: owasp.blogspot.com

 

1) A1 - Injection

- SQL, OS, XXE, LDAP 인젝션 취약점으로 신뢰할 수 없는 데이터가 명령이나 쿼리문의 일부분으로 Interpreter되어 전송될 때 발생하는 취약점

- 공격자가 입력값을 악의적으로 변조하여 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근할 수 있는 보안 취약점이 발생

2) A2 - Broken Authentication

- 인증 및 세션 관리와 관련된 애플리케이션 기능이 잘못 구현되어 공격자에게 취약한 암호, 암호키, 세션 토큰 제공

- 일시적 혹은 영구적으로 다른 사용자의 권한 획득을 위해 구현한 결함을 악용하여 Exploit

3) A3 - Sensitive Data Exposure

- 중요한 정보를 제대로 보호하지 않는 경우가 있는데, 공격자는 이러한 보호가 취약한 데이터를 훔치거나 수정

- 중요한 데이터를 저장, 전송할 때 암호화 같은 보호조치가 없으면 탈취당할 수 있음

4) A4 - XML External Entities

- 설정이 잘못된 XML 프로세서들은 XML 문서 내에서 외부 개체를 참조

- 외부 개체는 파일 URI 처리기, 내부 파일 공유, 내부 포트스캔, 원격코드 실행과 서비스 거부 공격을 사용하여 내부파일을 공개하는데 사용될 수 있음

5) A5 - Broken Access Control

- 인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되지 않은 경우 발생

- 공격자는 결함을 악용하여 다른 사용자의 계정에 접근하거나 중요한 파일을 열람, 수정, 접근권한 변경 등 가능

6) A6 - Security Misconfiguration

- 취약한 기본설정, 임시설정 등 잘못 구성된 HTTP 헤더 및 민감한 정보가 포함된 정확한 에러 메시지 제공

- 모든 운영체제, 프레임워크, 라이브러리와 애플리케이션을 안전하게 설정하고 패치를 진행해야 함

7) A7 - Cross-Site Scripting

- 애플리케이션에 적절한 유효성 검사를 하지 않거나 Escape 처리 없이 신뢰할 수 없는 데이터를 포함

- 공격자는 피해자의 웹브라우저에서 세션을 도용하거나 웹 사이트를 변조하여 악성 사이트로 리다이렉션 할 수 있음

8) A8 - Insecure Deserialization

- 안전하지 않은 역직렬화는 원격 코드를 실행할 수 있음

- 원격 코드를 실행하지 못하더라도 권한 상승 공격, Injection 공격 등 다양한 공격 수행이 가능

9) A9 - Using Components with Known Vulnerabilites

- Library, Framework, Software module 같은 컴포넌트는 애플리케이션과 같은 권한으로 실행

- 취약한 컴포넌트가 악용된 경우, 심각한 데이터 손실 발생이나 서버 장악이 가능

- 알려진 취약점이 있는 컴포넌트를 사용한 애플리케이션, API는 보안을 악화시키거나 공격에 영향을 줌

10) A10 - Insufficient Logging & Monitering

- 불충분한 로깅, 모니터링은 공격자가 시스템을 더 공격하고 지속하며 더 많은 시스템을 중심으로 공격할 수 있도록 함

출처: https://www.law.go.kr/행정규칙/주요정보통신기반시설취약점분석·평가기준


2. 소프트웨어 개발 보안

안전한 소프트웨어 개발을 위해 소스코드 등에 존재할 수 있는 잠재적인 보안 약점을 제거하고 보안을 고려한 기능 설계, 구현 등 SDLC 전반에서 수행하는 일련의 보안 활동을 말한다.

(기존 구현 중심의 활동에서 분석/설계 단계부터 보안을 강화하는 것으로 변경됨)

 

1) SDLC 단계별 소프트웨어 개발 보안 활동 (SDLC: Software Development Life Cycle)

① 요구사항 분석 ② 설계 단계 ③ 구현 단계
보안 항목 요구사항 식별
- 암호화해야 할 중요 정보
- 중요 기능에 대한 분류

보안 구 항목 20개 목록화
- 내부 54개로 세분화
위협원 도출
- 위협 모델링: 보안 전문가, 개발 전문가 필요
- MS 등에서 전문 방법론 제공
- 분석/설계 20개, 구현 54개의 위협원이 반영될 수 있게 설계
표준 코딩, SW 개발 보안 가이드 준수
-구현 단계에서 준수할 수 있도록 설계단계에서 가이드

개발 가이드 제공
- 개발 보안 가이드를 래퍼런스로 하여 개발 환경에 적합하도록 구축

소스코드 보안 약점 진단 (도구 활용)

2) Secure SDLC

방법론 내용
CLASP - OWASP의 보안 약점을 고려한 개발 보안 방법론
- 개념, 역할 활동을 정의한 모델
MS-SDL - PreSDL 단계에서 위협 분석을 수행하고 SDLC 단계에서 보안을 고려한 모델링 수행
- Microsoft의 자동화 진단 도구 활용
7-Touch Point - 위협 분석, 코드 리뷰, 자동화 진단 등의 활동 정의

 

Cf) 포맷 스트링 (Format String)

- 데이터에 대한 포맷 스트링을 정확하게 정의하지 않아서 발생되는 취약점

- 포맷 스트링 문자를 사용한 메모리 열람, 변조, Shell Code 삽입 등 보안 취약점 발생

ex) C 언어에서 문자열에 '%X'를 입력하면 문자열의 메모리 주소를 알 수 있음


3. SSO(Single Sign On)

다수의 서비스를 한번의 login으로 기업의 업무 시스템이나 인터넷 서비스에 접속할 수 있게 해주는 보안 시스템이다.

중앙집중형 접근 관리, 보안 기능 PKI(Public Key Infrastructure), 암호화 기능 등이 있다.

 

- 장점: ID/PW 개별 관리의 위험성 해소, 사용자 편의성 증가

- 단점: 구축 비용이 비싸고 시스템 복잡도 증가

 

Cf) SSO 종류

종류 상세 내용
Delegation 방식 - 대상 애플리케이션의 인증 방식을 변경하기 어려울 때 많이 사용
- 대상 애플리케이션의 인증 방식을 변경하지 않고, 사용자의 인증 정보를 SSO 에이전트가 관리하며 로그인 대신 수행
Propagation 방식 - SSO에서 인증을 받아 대상 애플리케이션으로 전달할 토큰을 발급
- 애플리케이션에 사용자가 접근할 때 토큰을 자동으로 전달해 사용자를 확인할 수 있도록 하는 방식
Delegation & Propagation 방식 - 애플리케이션의 특성들이 다양한 경우, 각 애플리케이션에 두가지 방식을 혼용해서 전체 시스템의 SSO를 구성
Web 기반 One Cookie Domain SSO - SSO 서비스와 애플리케이션들이 하나의 Cookie Domain 안에 존재할 경우 사용
- 통합 인증을 받은 사용자는 토큰을 발급받고, 이 토큰은 Cookie Domain에 Cookie로 설정되어 Cookie Domain 내 다른 서비스로 접근할 때 자동으로 토큰 제공
- 서비스에서 동작하는 SSO 에이전트는 토큰으로부터 사용자 신원확인

출처: IT위키


4. DRM(Digital Rights Management)

디지털 컨텐츠를 안전하게 보호할 목적으로 암호화 기술을 이용하여 허가되지 않은 사용자로부터 컨텐츠 저작권 관련 당사자의 권리 및 이익을 지속적으로 보호, 관리하는 시스템이다.

저작자 및 유통업자의 의도에 따라 디지털 컨텐츠가 안전하고 편리하게 유통될 수 있도록 제공되는 모든 기술과 서비스 절차 등을 포함하는 개념이다.

 

Cf) DRM 요소 기술

- 암호화: 대칭키, 비대칭키 암호화 기술

- 인증: 정당한 사용자 식별을 위한 인증

- Watermarking: 원저작권 정보 삽입 및 식별 수행

- 사용자 Repository: 정당한 사용자 및 라이선스 정보 저장

- 사용자 권한 관리: 열람 및 배포에 대한 권리, 편집, 복사, 다운로드 등의 권한 관리

- Temper Proofing: 불법 수정 여부 검증, Cracking 방지


5. Watermarking

디지털 정보에 사람이 인지할 수 없는 마크를 삽입하여 디지털 컨텐츠에 대한 소유권을 추적할 수 있는 기술이다. (저작권자에 대한 정보를 은닉함으로써 저작권자를 확인시켜주고 불법 복제, 유통여부를 확인하는 기술)

'정보은닉기술'로 오디오, 비디오 이미지 등의 디지털 데이터에 삽입되는 또 다른 디지털 데이터로 Steganography 기법 중 하나이다.

* Steganography 기법: 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술 

 

Cf) Watermarking 공격 기법

- Filtering Attack: 워터마크를 노이즈로 보고 노이즈 제거 방법을 활용

- Copy Attack: 임의의 신호를 추가하여 워터마크를 사용하지 못하게 함

- Mosaic Attack: 워터마크가 검출되지 않도록 작은 조각으로 분해하여 다시 합침

- Template Attack: 워터마크의 패턴을 파괴하여 검출되지 않도록 함

 

Cf) Fingerprint

- 워터마킹 기법 중 하나로, 디지털 컨텐츠에 원저작자 정보와 함께 디지털 컨텐츠 구매자 정보도 삽입

- 디지털 컨텐츠가 불법으로 유통될 때 유통시킨 구매자를 확인할 수 있는 디지털 컨텐츠 추적 기술

- 원저작자 정보와 구매자 정보를 같이 삽입하기 때문에 Dual Watermarking 라고도 함


6. Digital Forensic

디지털 기기를 대상으로 발생하는 특정 행위의 사실관계를 법정에서 증명하기 위한 방법 및 절차로, 과학수사 및 수사과학 분야에서 디지털기기를 대상으로 하는 기술이다.

 

- 디지털 증거 휘발성

용어 내용
디지털 증거 - 디지털 저장매체에 저장되거나 네트워크를 통해 전송중인 자료
- 조사 및 수사 업무에 필요한 증거자료를 말함
디지털 증거분석 - 디지털 저장매체에 남아있는 자료에 대한 원본 보존과 사건 관련 증거를 과학적인 절차를 통해 추출, 검증, 판단하는 조사 및 수사과정
휘발성 증거 - 컴퓨터 실행 시 일시적으로 메모리 또는 임시파일에 저장되는 증거
- 네트워크 접속 상태, 프로세스 구동 상태, 사용중인 파일 내역 등 컴퓨터 종료와 함께 삭제되는 증거
비휘발성 증거 - 컴퓨터 종료 시에도 삭제되지 않고 남아있는 디지털 증거

- 디지털 포렌식 원칙

기본 원칙 내용
정당성 원칙 - 증거가 적법절차에 의해 수집되었는가?
- 위법수집 증거 배제법칙: 위법절차를 통해 수집된 증거는 증거 능력이 없음
- 독수 독과 이론: 위법하게 수집된 증거에서 얻어진 2차 증거도 증거 능력이 없음
재현 원칙 - 같은 조건과 상황 하에서 항상 같은 결과가 나오는지?
- 불법 해킹 용의자의 해킹 Tool이 증거능력을 가지기 위해서는 같은 상황의 피해 시스템에 툴을 적용할 경우 피해결과와 일치하는 결과가 나와야 함
신속성 원칙 - 디지털 포렌식의 전 과정이 신속하게 진행되었는가?
- 휘발성 데이터의 특성 상 수사 진행의 신속성에 따라 증거수집 가능 여부가 달라짐
절차 연속성 원칙 - 증거물 수집, 이동, 보관, 분석, 법정제출의 각 단계에서 담당자 및 책임자가 명확해야 함
- 수집된 저장매체가 이동단계에서 물리적 손상이 발생하였다면, 이동 담당자는 이를 확인하고 해당 내용을 정확히 인수인계하여 이후의 단계에서 적절한 조치가 취해지도록 해야함
무결성 원칙 - 수집된 증거가 위변조되지 않았는가?
- 일반적으로 해시 값을 이용하여 수집 당시 저장매체의 해시 값과 법정 제출 시 저장매체의 해시 값을 비교하여 무결성을 입증해야 함

 

Cf) 휘발성 데이터 수집 우선순위

- Register 및 Cache 정보

- Routing Table, ARP Cache, Process Table, Kernal Statistics

- Memory

- Temporary File Systems

- Disk

- Remote Logging, Monitoring Data

- Physical Configuration, Network Topology

- Archival media

 

Cf) 비휘발성 데이터 수집 우선순위

- Registry, 시간정보, Cache, Cookie, History, E-Mail

- 암호화된 파일, 윈도우 로그 등

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

반응형

+ Recent posts