개발 보안 구현 정리
- 주제
- 평문
- 암호문
- 암호화
- 복호화
- 전자서명: 인증서
- 양방향 암호화: 암호화 ↔ 복호화
- 대칭키 암호화
- Stream → XOR 연산
- LFSR: stream 암호의 난수를 생성
- RC4: 로널드 라이베스트
- A5: GSM 휴대폰 체계에 사용
- Block
- DES: 64 bit 블록, 56 bit, 16 Round, Feistel
- 3DES
- AES: 128bit 평문, 128/192/256 bit 암호키, 10/12/14 Round
- SEED: 한국, 128, 256 bit
- ARIA: 한국, AES 알고리즘과 비슷
- IDEA: 스위스, 64bit 블록, 128 암호키, 8Round
- SKIPJACK: 미국, 64 bit 블록, 80 bit 암호키, 32 Round
- Stream → XOR 연산
- 비대칭키 암호화: 암호화 → 복호화
- 인수분해
- RSA
- RR
- 이산대수
- Diffie-Hellman
- ELGamal
- KCDSA
- DSA
- 타원곡선
- ECC
- 인수분해
- 대칭키 암호화
- 단방향 암호화
- 종류
- MD5
- SHA
- HAS-160
- 저항성 종류
- 역상 저항성
- 제 2 역상 저항성
- 충돌 저항성
- 공격 기법
- 무차별 대입 공격
- Rainbow Table
- 방어 기법
- Key Stretch
- Salting
- 전자우편 보안
- PGP
- PEM
- S/MIME
- DKIM
- 종류
- 코드 유형
- 순차코드
- 블록코드
- 10진 코드
- 그룹 분류 코드
- 연상 코드
- 표의 숫자 코드
- 합성 코드
- 코드 오류
- 생략 오류
- 필사 오류
- 전위 오류
- 이중 오류
- 추가 오류
- 임의 오류
인증과 접근통제
- 인증과 인가
- 인증 (Authentication)
- 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차
- 인증 유형
- 지식 기반 인증
- 사용자가 기억하고 있는 정보 (ID, PWD)
- 소유 기반 인증
- 사용자가 소유하고 있는 것을 기반 (신분증, OTP)
- 생체 기반 인증
- 사용자의 신체, 행동을 기반 (지문, 홍채, 음성)
- 행위 기반 인증
- 사용자의 행동 정보를 이용한 인증 (서명, 동작)
- 위치 기반 인증
- 인증을 시도하는 위치를 기반 (GPS, IP)
- 지식 기반 인증
- 인가 (Authorization)
- 로그인 후 인증된 사용자에게 권한을 부여.
- 권한에 따른 사용 기능 제한.
- 인증 방식
- 계정 정보를 요청 헤더에 넣는 방식
- 가장 보안이 낮은 방식 (스니핑에 취약)
- HTTP 요청에 인증할 수단을 넣어서 전송
- Cookie/Session 방식
- 세션 기반인증을 위해 Session과 Cookie가 사용됨.
- Cookie/Seesion 절차
- 사용자 로그인 (유저 → 서버)
- 사용자 확인 (서버 ↔ DB)
- 회원 정보 세션 생성 (서버 → 세션 저장소)
- Session ID 발급 (세션 저장소 → 서버)
- Session ID 응답 (서버→ 유저)
- 데이터 요청 + 쿠키 (유저 → 서버)
- 쿠키 검증 (서버 → 세션 저장소)
- 유저 정보(세션) 획득 (세션 저장소 → 서버)
- 응답 + 요청 데이터 (서버 → 유저)
- 토큰 기반 인증 방색 (JWT, JASON Web Token)
- 인증을 위해 사용되는 암호화된 문자열을 이용.
- SSO (Single Sign-On)
- 하나의 로그인 인증 정보를 사용해 여러 애플리케이션을 접근할 수 있는 인증 서비스.
- 커버로스 (Kerberos)
- 개방된 네트워크 내에서 서비스 요구를 인증하기 위한 안정한 방법
- 네트워크상에서 키를 분배하고 사용자를 인증하는 서비스
- 대칭키 암호화 체계를 사용
- 아이핀(i-PIN)
- 개인정보 유출 시 피해를 최소화하고자 하는 주민번호 대체 인증수단
- 계정 정보를 요청 헤더에 넣는 방식
- 인증 (Authentication)
- 접근 통제, 인가 (Authorization)
- 접근 통제 개념
- 정단한 사용자에게는 권한을 부여하고, 그 외의 다른 사용자는 거부
- 시스템 및 네트워크에 대한 접근 제어의 가장 기본적인 수단은 IP와 서비스 포트로 볼 수 있다.
- 네트워크 장비에서 수행하는 IP에 대한 접근 제어로는 관리 인터페이스의 접근제어와 ACL (Access Control List) 등이 있다.
- 접근 통제 과정
- 식별 (Identification): 사용자 ID를 확인하는 과정
- 인증 (Authentication): 패스워드가 정확한지 확인
- 인가, 권한부여 (Authorization): 읽고, 쓰고, 실행시키는 권한을 부여
- 접근 통제 원칙
- 최소 권한의 원칙
- 최소한의 권한만을 허용하여 권한의 남용을 방지
- 직무분리
- 업무의 발생, 승인, 변경, 확인, 배포 등이 한 사람에 의해 처리되지 않도록 직무 분리
- 최소 권한의 원칙
- ✏접근 통제 정책✏
- 강제적 접근통제 (MAC, Mandatory Access Control) → 군대
- 자원의 보안 레벨과 사용자의 보안 취급인자를 비교해 접근 제어
- 보안 등급, 규칙 등은 관리자만 수정 가능
- 기밀성
- 대표적인 모델
- BLP(벨라파듈라) 모델
- Biba 모델
- 클락-윌슨 모델
- 만리장성 모델
- 임의적 접근통제 (DAC, Discretionary Access Control) → 소유자
- 자원의 소유권을 가진 사람이 다른 사람의 접근을 허용하거나 제한할 수 있다.
- 역할기반 접근통제 (RBAC, Role Based Access Control) → 기업
- 사용자의 역할에 기반을 두고 접근을 통제하는 모델
- 정보에 대한 사용자의 접근을 개별적인 신분이 아니라 조직 역할에 따라 허용 여부를 결정하는 모델
- 강제적 접근통제 (MAC, Mandatory Access Control) → 군대
- 접근 통제 모델
- 벨-라파둘라 모델 (BLP)
- 미 국방부 지원 모델로 기밀성을 강조한 모델
- 정보가 높은 레벨에서 낮은 레벨로 퍼지는 것을 방지
- No Read Up, No Write Down
- 비바 모델
- 무결성을 위한 상업용 모델
- 무결성의 3가지 목표 중 비인가자의 데이터 수정 방지 가능
- No Read Down, No Write Up
- 클락-윌슨 모델
- 무결성 중심의 상업용 모델
- 만리장성 모델
- 충돌을 야기하는 어떠한 정보의 흐름도 차단해야 한다는 모델로 이익 충돌 회피를 위한 모델
- 금융 서비스 제공 회사가 이해 충돌의 발생을 막기 위한 내부 규칙
- 벨-라파둘라 모델 (BLP)
- 접근 통제 개념
'정보처리기사' 카테고리의 다른 글
[정보처리기사] SW 개발 동향 (0) | 2023.07.01 |
---|---|
[정보처리기사] 서비스 공격 유형 (0) | 2023.07.01 |
[정보처리기사] 시스템 보안 구현 (0) | 2023.06.30 |
[정보처리기사] SW개발 보안 구현 (0) | 2023.06.29 |
[정보처리기사] SW 개발 보안 설계 (0) | 2023.06.28 |