일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- gas
- local prediction
- MAC
- animation
- os
- 게임개발
- stride
- rpc
- gameplay tag
- 언리얼엔진
- Multiplay
- Replication
- attribute
- UI
- network object pooling
- ability task
- 언리얼 엔진
- 유니티
- gameplay ability system
- 보안
- CTF
- gameplay effect
- unity
- Unreal Engine
- photon fusion2
- 게임 개발
- map design
- Aegis
- listen server
- nanite
- Today
- Total
Replicated
암호 - 난수, 비밀키, 공개키, 블록, 스트림 본문
고대 암호
- 노예 머리에 문신, 스키테일 암호, 시저 암호
- 시저 암호는 가장 많이 나타나는 문자를 모음에 대조시키면 깨지고, 치환 암호라고도 함
현대 암호
Kerckhoffs 원리
- 암호의 안전성은 알고리즘이 아니라 키의 안정성에만 의존
- 키를 제외한 시스템의 모든 내용이 노출되어도 암호 체계는 안전해야 함
현대 암호 시스템 주요 기능
기밀성(Confidentiality)
- 비밀키, 공개키 암호
무결성(Confidentiality)
- 암호학적 해시 함수
- MAC (Message Authentication Code)
- 전자 서명
인증(Authentication)
- 개체 인증
- 메시지 인증
부인 방지(Non-Repudiation)
- 전자 서명
- 공인인증 시스템
기타
- 난수
난수(Random number)
- 예측 불가능성: 생성된 난수로 다음 난수 예측 불가
- 무작위성: 생성된 난수는 통계적으로 균일한 분포, 패턴을 가지지 않음
- 재현 불가능성: 동일 난수를 생성할 수 없어야 함
사용분야
- 암호화 키, 인증 토큰 생성
- 보안 파라미터 생성
종류
Pesudo Random Number Generator (PTNG)
- Seed 입력 값으로 알고리즘 생성
- 해시함수 기반(Hash DRBG/HMAC_DRBG), 블록암호 기반(CTR_DRBG)
True Random Number Generator (TRNG)
- 물리적 현상 기반, 전자회로 기반
- QRNG(Quantom Random Number Generator)
비밀키(대칭키) 암호 vs 공개키(비대칭키) 암호
- 대칭키 암호는 암복호화 사용키 동일 -> 참여자 간 안전하게 비밀키를 공유 및 관리
- 공개키 암호는 암호화와 복호화 키 상이 -> 개인키, 공개키를 생성하여 공개키를 참여자에게 공유
비밀키(대칭키) 암호
- 참여자 n명, 개인이 관리해야 할 키 개수 n-1
- 전체 키 개수 n(n-1) / 2 개
공개키(비대칭키) 암호
- 참여자가 n명일 때 개인이 관리해야 할 키는 자신의 개인키 1개
- 상대방의 공개키는 공개되어 있어서 관리할 필요가 없음
스트림(Stream) 암호화 블록(Block) 암호
스트림 암호
- Bit 또는 Byte 단위로 데이터를 순차적으로 처리
- 키와 평문에 대한 XOR 연산
- 1비트 오류 -> 해당 비트에만 영향
- 빠른 성능이 필요한 데이터에 대한 실시간 보호
- 블록 암호에 비해 사용 빈도가 떨어짐
- 표준화 부재
- 보안 취약점: 키 스트림 관리, 인증 매커니즘 부족
- 유연성 부재: 블록 암호는 다양한 모드 제공(스트림 암호와 유사하게 가능)
- 근데 요즘 ChaCha20 많이 쓰는듯? TLS 표준에도 들어갔음
블록 암호
- 정해진 크기의 블록 단위로 데이터를 처리
- 키와 평문을 이용한 치환과 순열 변환을 반복 수행
- 상대적으로 느린 연산 속도
- 1비트 오류는 해당 블록에 영향 (모드따라 다름)
- 대부분의 데이터 암호화에 사용
'소프트웨어 보안개발방법론' 카테고리의 다른 글
비밀키(대칭키) 암호 - Symmetric Key Cryptography (0) | 2025.04.19 |
---|---|
블록 암호와 패딩, 운영 모드 (0) | 2025.04.19 |
CIA, 망분리 (0) | 2025.04.18 |
정보 보안 대응 전략 (0) | 2025.04.18 |
정보 보안 개념 (0) | 2025.04.18 |