일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 운영체제
- OWASP
- Waterfall
- link layer
- 유니티
- SJF
- STCF
- AINCAA
- protection
- DP
- frequency-domain spectrum analysis
- 배경 그림
- 게임 개발
- 컴퓨터 네트워크
- 유스케이스
- 게임개발
- information hiding
- unity
- polymorphism
- 메카님
- stride
- Trap
- MLFQ
- DSP
- Unity #Indie Game
- OSI 7계층
- Security
- FIFO
- SDLC
- MAC
- Today
- Total
다양한 기록
암호 기법 정리 본문
암호 기법이란 무엇인가
- 의미론적 내용을 숨기기 위해서, 임의 사용을 방지하기 위해서,
감지되지 않은 임의 수정을 방지하기 위해 데이터를 변환하는 원칙, 순단, 방법을 구현하는 학문 분야
- 기밀성, 부인방지, 인정을 포함하여 정보 보안을 제공하기 위한 원칙, 수단을 구현하는 학문 분야
Cipher (암호, 암-복호화 시스템/알고리즘)
- 암호 키를 사용해서 평문을 암호문으로 변환
Encryption
- 데이터(평문)를 알려지거나 사용되지 않도록 변환하는, 데이터의 원래 의미를 숨기는 방식으로 변환하는 것
Decryption
- 암호화 알고리즘과 키를 사용해서 암호문을 평문으로 복원하는 과정
대칭 키 암호화
동일한 키를 써서 암호화, 복호화
송신자는 키로 암호화해서 암호문을 보내고, 수신자는 받고 키를 써서 평문으로 받음
암호화 알고리즘의 입력: 평문, 대칭키
복호화 알고리즘의 입력: 암호문, 대칭키
AES, DES, SEED 등
장점: 대용량의 내용을 암호화할 때 속도가 빠름
단점:
1. 대칭키를 송신자, 수신자에게 어떻게 안전하게 분배할 것인가
2. 상호 비밀 통신할 대상이 많을 수록 키의 개수가 많아질 수 있음
비대칭(=공개)키 암호화 기법
암호화 키, 복호화 키 다름
RSA, ECC, ELGamal
용도가 다양하고 강력함
비밀통신 용도
- 송신자는 수신자의 개인키로 암호화
- 수신자는 자신의 개인키로 복호화
전자서명 용도
- 송신자는 자신의 개인키로 암호화, 평문이랑 복문을 같이 보냄
- 수신자는 받고 메시지와 암호문을 분리, 송신자의 공개키로 암호문만 복호화, 같이 온 메시지와 비교 -> 일치 시 본인
암호문이 일종의 서명, 개인키를 써서 만드는 거라 송신자만 만들 수 있음
개인키: 전자서명 생성키
공개키: 전자서명 검증키
장점: 비밀 통신도 가능하고 전자서명도 가능함
단점: 대용량의 내용을 암, 복호화 시 속도가 느림
Ciphers | Secrecy | Numbers of keys | Operatoins | Applications |
대칭키 암호화 (DES, AES) |
Sharing secrecy | n(n-1)/2 (n개의 비밀통신 각각 연결) |
캐릭터나 비트의 Substitution(교체), permutation(순서 바꾸기) | 메시지 암호화 |
비대칭키 암호화 (RSA, ELGamal) |
Personal secrecy | n개의 개인키를 들고 각각에 해당하는 공개키 존재 | 복잡한 숫자 연산 | 짧은 메시지, 전자 서명 |
암호 기법들의 응용 분야
- 시큐어 커뮤니케이션(비밀 통신, SSL, TLS, IPSEC, SSH)
온라인 뱅킹
중요한 이메일의 암호화
채팅 서비스
블록 체인 (크립토 커런시)
전자서명
문서를 보호할 때도 암호 기법 사용
MS 워드에서도 문서 보호 가능
데이터 보호, 중요 파일 보호, 데이터베이스의 특정한 열 암호화..
패스워드 저장 시 암호 기법 사용
많은 경우 암호학적 해싱 함수 사용 (단방향)
프로그램 코드도 지적 재산, 코드 자체를 암호화
- 악성 코드는 악성코드가 탐지되지 않도록 코드 패킹
- 또는 특정한 바이너리나 스트링 암호화
랜섬웨어(문서들이 암호화)
바이러스, 멀웨어는 자신의 정체를 숨기기 위해 암호화해서 배포
데이터에 물리적인 접근이 가능한 경우, 신뢰할 수 없는 사람으로부터 민감한 데이터를 보호하기 위해 암호 기법 적용 가능
디스크에 작성 시 암호화해서 저장하고, 로드할 때 복호화해서 사용
물론 이러면 메모리에서는 암호화가 안됨
안전하게 하려면 메모리에서도 암호화가 필요
당장 쓸 것만 복호화해서 보고, 나머지는 보호
Full data encription
스마트폰에는 중요 데이터가 많아서 모든 파일을 암호화함
파일 단위로 암/복호화 시 파일 단위 프로텍션
데이터베이스 암/복호화
비대칭키 암호화 방식 사용
공개키를 가지고 암호화해서 DB에 저장, 필요하면 개인키로 복호화
Mysql Enterprise Encryption
db 전체도 암호화 가능하고, 특정 컬럼만 암호화도 가능
Polymorphic Virus
보통 백신은 실행 코드의 특정 패턴을 매칭해서 악성코드를 잡는데 그 패턴들을 암호화해서 숨김
감염이 이루어질 때마다 모양이 달라짐(다른 키를 써서 암호화)
실제 실행이 될 때는 복호화 필요
Encryption Trends
비밀 통신, 클라우드 등 보안을 강화하기 위해서도 쓰이지만 악용되기도 함
랜섬웨어, 폴리모픽 바이러스 등 암호화는 꼭 좋은쪽으로 쓰이는 건 아님
'보안개론' 카테고리의 다른 글
PT, BBP (0) | 2024.06.08 |
---|---|
Security Testing (0) | 2024.06.08 |
OWASP top 10 (2021) (0) | 2024.06.07 |
취약한 언어 / SDLC / 범위를 벗어난 쓰기 / 완화 방법 등 (0) | 2024.06.07 |
Byte Ordering, Simple Buffer Overflow (0) | 2024.06.04 |