728x90
SMALL
- 이번에는 암호화 및 전자서명을 비롯한 정보보안에 기반된 기술들에 대한 내용입니다.
암호
- 평문을 암호문으로 변형하는 과정이 암호화
- 암호문을 평문으로 다시 바꾸는 과정이 복호화
- 이 두 변환 과정에서 사용되는 수학적 기능이 암호 알고리즘 !
- 암호 알고리즘은 암호화 & 복호화를 하기 위해 키(Key)를 사용
암호 기술
- 암호화 기술
- 대칭 키 암호 방식: 암호화 키 = 복호화 키
- 공개키 암호 방식: 암호화 키 ≠ 복호화 키
- 암호 프로토콜
- 기본 암호 프로토콜: 개인 식별 및 인증, 전자서명 등
- 암호 프로토콜: 전화 결제, 전자화폐 등
암호 알고리즘
- 송신자는 평문 P를 암호화 키 KE + 암호화 알고리즘 E를 이용하여 암호문 C 생성 후 수신자에게 전달
- 계산적 불가는 일반적으로 암호문 C가 복호화 키를 모르는 상태에서는 그 내용을 알 수 없어서 발생
암호 시스템
- 암호화 및 복호화에 필요한 모든 요소 → 암호 시스템
- 암호 시스템이 갖춰야 할 요건
- 암호화 키에 의해 암호화 및 복호화가 효과적으로 이루어짐
- 암호 시스템 사용의 용이
- 암호화 알고리즘보다는 암호 키에 의한 보안이 이루어짐
비밀키 암호 알고리즘
장단점
- 암호화 키 = 복호화 키
- 키의 길이가 짧아도 가능 / 연산 속도 빠름
- 송수신자 사이의 거리가 먼 경우 키를 공유하기 어려움
- 통신 상대가 많은 경우 서로 다른 키를 생성하고 유지하는 데 부담
블록 암호 알고리즘
- 고정 크기 입력 블록 → 고정 크기 출력 블록으로 변형
- Feistel Network, DES, AES 등
- 공격 기법으로는 다음 5가지 방법 존재
- 차분 공격: 두 평문 블록의 비트 차이에 대해 대응되는 암호문 블록의 비트 차이를 이용
- 선형 공격: 알고리즘 내부의 비선형 구조를 적절히 선형화
- 전수 공격: 암호화에 사용한 키의 모든 경우에 대해 평문과 암호문을 대비하는 방법
- 통계적 분석: 암호문에 대한 평문의 각 단어 빈도에 관한 통계 자료 이용
- 수학적 분석: 통계적 방법을 포함하며 수학적 이론을 이용
스트림 암호 알고리즘
- 평문 비트열과 키 비트열의 XOR 연산으로 암호문을 생성하는 방식
공개키 암호 알고리즘
- 각 사용자는 자신에게 송신하기 위해 사용될 키(공개키)를 공개
- 자신의 공개키로 암호화된 정보를 복호화할 수 있는 키(개인키)를 비밀로 보유
- 누구나 암호화할 수 있지만 공개키에 대응되는 개인키를 가진 당사자만 복호화 가능
- 네트워크 전체적으로 2n개의 키 필요
- 다양한 인증 기능 및 안전한 키 교환에 활용
RSA
- 공개키 암호 시스템으로 암호화와 인증에 사용
- 같은 메시지에 대한 암호문은 항상 같음
엘가말
- 암호화하면 메시지 길이가 두 배로 늘어남
- 암호화 시 난수 사용으로 암호화할 때마다 서로 다른 암호문 획득
ECC
- 안정성이 높고 속도가 빠름
- RSA 1024비트의 키와 타원곡선 암호의 160비트 키는 같은 수준의 안전도를 가짐
- 이동 통신 기기의 암호화에 적합
비밀키 암호 vs 공개키 암호
구분 | 비밀키 암호 | 공개키 암호 |
키의 관계 | 암호화 키 = 복호화 키 | 암호화 키 ≠ 복호화 키 |
암호화 키 | 비공개 | 공개 |
복호화 키 | 비공개 | 비공개 |
알고리즘 | 공개 | 공개 |
키의 수 | n(n-1)/2 | 2n |
1인당 관리해야 할 키 | n-1 | 1 |
암호화 속도 | 고속 | 저속 |
인증(전자서명) | 복잡 | 간단 |
장점 | 빠른 암호화/복호화 시간 키의 길이가 짧음 |
키 분배 용이 관리해야 할 키의 수 적음 인증 등 다양한 분야에 활용 |
단점 | 사용자 증가에 따른 관리 키 수 증가 키 변화 빈도 높음 |
느린 암호화/복호화 시간 키 길이가 김 키 변화 빈도 낮음 |
해쉬 함수
- 임의의 길이를 가지는 입력 비트열을 고정된 짧은 길이로 함축하는 기능
- 키를 사용하지 않기에 같은 입력에 대해 항상 같은 출력
해쉬 함수의 특징
성질 | 특징 |
역상 저항성 | $y$가 주어졌을 때 $h(x)=y$가 되는 $x$를 찾기가 어려움 |
제2 역상 저항성 | $h(x)=y$인 $x, y$가 있을 때 $h(x’)=y$ (단 $x≠x’$)가 되는 $x’$를 찾는 것이 어려움 |
충돌 저항성 | $h(x)=h(x’)$인 $x$와 $x’$ (단 $x≠x’$)를 찾는 것이 어려움 |
- 해쉬 값을 통해 원문을 복원하는 것은 계산적으로 불가능
해쉬 함수의 종류
- MD5
- 패스워드 저장에 주로 사용
- 시스템의 저장된 패스워드의 해쉬 결과값만으로는 기존 패스워드를 알 수 없음
- SHA
- 서로 연관된 해쉬 함수들의 집합
어떻게 보완할까?
- 해쉬 값을 생성할 때 추가되는 임의의 비트열인 Salt로 인식 가능성 문제 개선
어디에 활용할까?
- 무결성 검증 방식
- 데이터전송 오류
- 체크섬: 추가 데이터를 더하여 체크섬 값을 얻은 뒤 일정한 비트 값으로 변환 후 이를 근거해 무결성 검사
- 순환중복검사(CRC): 송신 쪽에서 체크섬을 추가하여 보내면 수신 쪽에서 보내진 체크섬과 계산한 체크섬을 비교
- 임의 변경
- 해쉬 함수
- 데이터전송 오류
- 파일의 무결성
- 커널 수준에서 실시간 탐지가 가능한 무결성 기법 도입
- 무결성 검사를 최초 1회만 수행 후, 해당 파일이 실행되거나 메모리에 적재될 때마다 검사
- 전송 과정에서의 무결성
- 송신자는 메시지에 대한 해쉬 값을 생성 후 이를 메시지와 함께 전송
- 수신자는 수신 즉시 메시지의 무결성 검사 진행
- 전자 서명
- 서명자가 데이터의 무결성과 서명자의 인증성을 함께 제공하는 방식
- 메시지에 대한 해쉬 값 계산 후 이에 대해 서명함으로써 효율적으로 전자 서명 생성
인증 기술
인증
- 송수신자 간에 교류되는 정보가 변조 혹은 삭제되지 않았는지, 주체가 되는 송수신자가 정당한지를 확인
- 사용자 인증
- 자신이 진정한 사용자라는 것을 상대방에게 증명할 수 있도록 하는 기능
- 사용자의 신분을 확인하고 서비스를 이용할 수 있는 권한을 부여하기 위해 사용
- 메시지 인증
- 메시지가 변조 혹은 삭제되지 않았는지를 확인하는 기능
- 전자서명을 통해 달성 가능
인증 방식의 유형
지식 기반 인증
- PIN, 패스워드, 계좌 번호 등의 수단 사용
- 패스워드 인증
- 인증 시 입력 패스워드와 설정된 패스워드를 비교하는 가장 널리 사용되는 방식
- But, 가장 안전하지 않은 인증 기술
- 공격 기법에는 무차별 공격, 사전 공격, 트로이목마, 파일 직접 접근 등 존재
- 이에 주기적인 패스워드 변경, 침입 탐지 시스템 사용, OTP 사용 등으로 대응
소유 기반 인증
- OTP, 스마트카드, 카드 키 등의 수단 사용
- OTP 인증
- 매 세션마다 일회용 패스워드를 생성하는 인증 기술
존재 기반 인증
- 홍채, 지문, 음성, 얼굴 인식 등의 수단 사용
- 생체 인증
- 자동 센서로 사람의 신체적 또는 행동적 특성을 추출하여 인증 수단으로 활용
- 보편성, 유일성, 획득성, 영속성, 정확성, 수용성의 특성을 가짐으로써 보다 안전한 인증 가능
- 사전에 사용자 생체 정보를 DB에 저장 후, 인증 시 DB와 사용자로부터 추출된 생체 인증 정보 비교
멀티팩터 인증
- 단일 인증 방식의 취약점을 보완하기 위해 복수 개의 인증 기술 조합
전자서명
- 공개키 암호 방식의 특성상 개인키를 가지고 하는 연산은 해당 사용자만이 가능하기에 사용자의 서명 인정 가능
- 송신자는 메시지 + 메시지 다이제스트(해쉬 값) + 전자서명을 함께 전달
- 수신자는 전자서명을 송신자의 공개키로 복호화 → 수신한 메시지로 계산한 메시지 다이제스트 값 비교
- 송신자의 인증, 부인 방지 및 메시지 무결성 확인
- 위조 방지, 사용자 인증, 부인 방지, 변조 방지, 재사용 방지가 주된 요건
순서 | 설명 |
1단계 | 송신자가 메시지에 해쉬 함수 적용 후 메시지 다이제스트 생성 |
2단계 | 송신자가 이를 자신의 개인키로 암호화해 전자서명 생성 |
3단계 | 송신자가 메시지와 전자서명을 수신자에게 전송 |
4단계 | 수신자는 수신한 전자서명을 송신자의 공개키로 복호화함으로써 메시지 다이제스트 추출 |
5단계 | 수신자는 메시지에 송신자와 동일한 해쉬 함수로 새로운 메시지 다이제스트 생성 |
6단계 | 수신자는 송신자에게 받은 메시지 다이제스트와 생성된 것을 비교 후, 동일하면 정당한 전자서명으로 판단 |
PKI
- 암호화 및 복호화 키, 인증서를 안전하게 분배하기 위한 기반 구조
- 여러 응용 분야에서 인증서의 사용 및 암호화 통신을 용이하게 하는 객체들의 네트워크 구조
PKI 구성 요소
구성 | 세부내용 |
정책 승인 기관(PAA) | PKI 전반에 사용되는 정책, 절차 생성 후 수립 (행정안전부) |
정책 인증 기관(PCA) | PAA에서 승인된 정책에 대한 세부 정책 수립 (한국인터넷진흥원) |
인증기관(CA) | 사용자 공개키 인증서 발행, 인증서 폐기 목록 관리 |
등록기관(RA) | CA의 업무 대행, 공인인증서 등록 신청서 접수 (은행, 증권사) |
인증서 소유자 | 인증서 발급, 전자문서에 서명하고 암호화 하는 공개키 인증서의 소유자 |
사용자 | CA의 공개키를 이용해 인증 경로 및 전자서명을 검증하는 사용자 |
공개키 인증서 & CRL 저장소 | 전자서명 검증 키와 소유자 관계를 증명해주는 전자적 파일 폐기된 인증서들의 목록을 관리하기 위한 CRL 저장소 |
PKI 운영
- 사용자가 RA에서 가입 신청 및 신원 확인 후 RA에 인증서 발급 요청
- RA는 CA에 발급 등록 요청 정보를 송신
- CA는 CA의 개인키로 서명한 인증서를 발행하여 디렉토리 서버에 게시
- 해당 인증서를 RA를 통해 사용자에게 전달
- 사용자는 이를 금융 거래 및 전자 상거래 등에서 사용
- 이때 금융기관에서는 공인인증기관을 통해 인증서 검증 수행
PKI에서의 전자서명 및 암호화
- 세션키
- 메시지에 대해 비밀키 방식을 적용하기 위해 송신자가 생성한 일회용 비밀키
- 이 키를 안전하게 전송하기 위해 수신자의 공개키로 암호화시켜 전달
- 이 암호화시킨 세션키를 전자봉투라 칭함
공개키 인증서
- 공인인증서
- NPKI 인증서: 일반 국민들이 금융거래 및 전자상거래에서 사용
- GPKI 인증서: 행정기관에서 행정업무용으로 사용
- RSA 알고리즘의 전자서명키의 길이가 1,024 비트 → 2,048 비트로 증가
- 해쉬 함수는 SHA-1 → SHA-256으로 변경
인증서 유효성 검증 방법
- CRL: 인증서 폐기 목록
- CA로부터 폐기된 인증서 목록
- 영구적인 폐기 / 임시적인 폐기 존재
- 배포 시점으로부터 주기적으로 다운로드, 해당 주기가 길면 폐기된 인증서 사용 불가하고 너무 짧으면 인증서 사용 시마다 오버헤드 발생
- OCSP: 온라인 인증서 상태 프로토콜
- 사용자가 서버에 접근 시도 시 인증서 상태 정보를 실시간으로 요청하여 인증서 유효성 여부를 즉시 응답
접근통제 기술
접근통제
- 누가 시스템에 접근하여 무슨 작업을 할 수 있는지를 통제하는 것
- 식별
- 시스템에 주체의 신원을 밝히는 과정
- 인증
- 시스템이 본인임을 주장하는 사용자를 인정하는 과정 (비밀번호, 인증서, OTP, 생체인식 등)
- 인가
- 인증된 사용자로부터 어떤 일을 할 수 있고, 어떤 객체에 접근할 수 있는가를 제어하는 과정
접근통제 정책
- 시스템 자원들을 보호하기 위해 조직이 희망하는 기본적인 원칙들의 표현
- 최소권한정책
- 시스템 주체는 필요한 최소 분량의 정보를 사용
- 최대권한정책
- 데이터 공유의 장점을 증대시키기 위해 적용하는 최대 가용성 원리에 기반
접근통제 정책의 종류
- 강제적 접근통제(MAC)
- 주체에게 보안 등급(Security Level)을 부여
- 객체에게 보안 레이블(Security Label)을 부여
- 사전에 정한 규칙에 따라 주체가 객체에 대해 접근 가능 여부를 판단하는 정책
- 강력한 보안 체계 유지 But, 관리 효율성 저하
- 임의적 접근통제(DAC)
- 주체의 계정 또는 계정이 속한 그룹의 신원에 근거하여 객체에 대한 접근 제어
- 객체의 소유자가 직접 접근 여부를 결정
- 주로 유닉스, 리눅스의 시스템 접근통제로 사용
- 역할기반 접근통제(RBAC)
- 사전에 역할을 정의 후, 각 역할에 따라 접근이 가능한 객체를 매핑하여 주체에게 역할을 부여한 다음 접근 제어
- 관리 효율성 향상 But, 보안성 저하
접근통제 매커니즘
접근통제 행렬
- 주체와 객체를 행과 열로 표현
- 행렬의 각 엔트리에는 접근 권한 표시
- ACL(Access Control List): 접근통제 행렬의 열, 객체를 기준으로 주체에 대한 접근 권한 관리
- CL(Capability List): 접근통제 행렬의 행, 주체를 기준으로 객체에 대한 접근 권한을 링크드리스트 형식으로 관리
- SL(Security Label): 객체에 부여된 보안 속성 정보의 집합
접근통제 모델
- Bell-Lapadula 모델
- MAC 정책 기반으로 설계된 모델로 기밀성 강조
- 정보의 불법적인 파괴나 변조보다 기밀 유출 방지에 중점
- Biba 모델
- 무결성 보장 But, 기밀성 보장하지 않음
- Clark and Wilson 모델
- 비밀 노출 방지보다 변조 방지가 더 중요할 수 있다는 것에 기초
- Chinese Wall 모델
- 충돌을 야기하는 어떠한 정보의 흐름도 차단해야 한다는 모델
- 충돌을 야기하는 어떠한 정보의 흐름도 차단해야 한다는 모델
728x90
LIST
'자격증 > TOPCIT' 카테고리의 다른 글
보안관리체계와 표준 (14) | 2024.10.04 |
---|---|
정보보안 최신 기술 (8) | 2024.09.26 |
정보보안 개념 (8) | 2024.09.19 |
데이터와 데이터베이스의 이해 (8) | 2024.09.18 |
소프트웨어 공학 개요 (1) | 2024.04.12 |