암호기술
중요한 정보를 제 3자가 볼 수 없도록 변환하는 기술
암호기술의 안전성은 수학적인 원리에 기반
중요한 정보를 직접적으로 보호하는 원천기술
비밀 알고리즘을 사용하지 말 것(security by obscurity)
약한 알고리즘을 사용하면 보안자료를 취급시 암호화 되었다는 안도로 중요한 자료를
안전하게 다루는 현상이 발생 할 수 있다
암호는 언젠가는 복호화되거나 해독되는데 이것은 암호문이 평문이 될 때 까지의 들어가는
시간과 평문이 가지는 가치와 trade-off 가 중요하다
평문(plaintext)
암호기술을 통해서 보호하고자 하는 원본 데이터
암호문(ciphertext)
평문에 암호기술을 적용하여 생성한 데이터
암호화는 평문을 암호문으로 만드는 과정으로 암호 key가 필요
복호화는 암호문을 평문으로 만드는 과정으로 복호화 key가 필요
암호키와 복호화 키가 비밀이 유지되어야 제 3자가 데이터에 접근을 해도 내용을 알 수 없게된다
암호기술을 이용하면 데이터의 기밀성, 무결성, 인증 및 부인 방지 등의 기능을 제공 할 수 있다
암호 기술로 가용성을 보장할 수는 없음
기밀성 : 허락되지 않은(비인가자) 사람이나 객체가 정보의 내용을 알 수 없도록 하는것
무결성 : 허락되지 않은(비인가자) 사람이나 객체가 정보를 불법적으로 수정 , 생성, 삭제 할수 없는것
인증 : 사용자나 객체의 디지털 정체성을 식별해주는 것
부인방지 : 정보를 보낸 사람이 보낸 정보에 대해서 보내지 않았다고 부인하는 것을 방지하는 것
키 (key) : 암호화와 복호화에 사용되는 값
키 스페이스 (key space) : 암호화 알고리즘에 사용하는 키값의 길이
암호 기술은 대칭키 암호화 비대칭키 암호로 구분
대칭키(블록 암호화와 스트림 암호화)
암호화와 복호화에 동일한 키를 사용하는 키방식의 알고리즘
대칭키 사용자는 키가 노출되지 않도록 비밀로 관리해야 한다
대칭키는 송수신자간의 항상 같은 키를 공유해야하는 특성으로 인해서 정보
교환시 많은 키가 발생되어 관리의 문제가 있다
대칭키 암호는 내부적으로 치환과 전치의 조합으로 되어 있어 연산 속도가 빠른 장점이 있다
비대칭키에 비해 알고리즘이 단순 하며 큰메세지를 암호화 할 때 비대칭키보다 효율적이다.
키관리와 키 분배의 어려움이 있음
디지털 서명이 어려움(누가 키를 만들었는지 근원지가 불분명)
사용되는 키의 수는 n(n-1)/2
* 치환 (Permutation):
평문 데이터를 다른 문자로 일정한 규칙에 따라 변환 하는 암호 Diffusiom(확산) 효과
1대1 대응이 아니어도 관계없음
* 전치 (Substitution - 대체 - ) :
평문 데이터 문자의 자리를 바꾸는 규칙의 암호 confusion(혼돈) 효과
1대1 대응이 특징(평문과 암호문 글자가 1:1 대응)
* 적암호 : 전치 + 치환 을 구사 (ADFGVX, Feistel 등이 있음)
대칭키는 confusion 과 Diffusion의 성질을 보유
confusion : 평문에 작은 변화가 암호문을 예측 할 수 없도록 변화를 일으키는 비선형 함수
- 혼돈의 효과
diffusion : 평문의 각 비트들이 암호문에 분산되는 성질을 가지는 선형 함수
- 확산의 효과
블록 암호화(block cipher)
평문을 고정된 크기의 블록 단위로 암복호화를 진행하는 것이며 각 블록마다 동일한 키가 사용됨
고정된 크기로 평문을 나누기에 평문을 나누었을 때 길이가 부족하면 패딩(padding)기법을 사용
하나의 키로 여러 블록을 안전하게 처리하기 위하여 Mode of operation(운영방식) 절차를 이용
Round를 사용 하고 반복적으로 암호화 과정을 수행
블록의 크기는 8 bit or 16 bit에 비례
Shanon 암호 이론에 의하면 전치와 치환을 반복하여 평문의 통계적 성질 또는 암호 키와의
관계가 드러나지 않아 안전한 암호를 구성할 수 있음
높은 확산과 기밀성 등이 있고 스트림 암호화 보다 느린 암호화로 에러전달을 보유한다
국내 알고리즘 SEED, HIGHT, ARIA, LEA
해외 알고리즘 DES, AES
feistel(페이스털) 과 SPN(substiution - Permutation Network) 블록 구조로 구분
스트림 암호화 (Stream Cipher)
스트림 암호(Stream Cipher)는 평문과 동일한 길이의 Key Stream(키스트림) 수열을 생성하여
평문과 XOR 연산을 하여 암호화와 복호화를 진행한다
군사 및 외교용으로 많이 사용하며 통신 환경에서 안전성을 수학적으로 증명할 수 있어
무선 데이터 보호 등에 많이 사용
키스트림 수열을 평문과 독립적으로 생성하면 동기식 스트림 암호화 방식
평문이 키스트림에 영향을 주게 되면 비동기식( 혹은 자기 동기)스트림 암호 방식
제약사항이 많은 환경에서 구현이 쉬우며 ,
무선통신 등의 환경에 주로 이용하며 블록 암호화 방식보다 속도가 빠름
error 전파가 없음
낮은 확산과 낮은 암호화 강도
RC4,A5/1,A5/2 등이 있음
LFSR( Linear feedback shift register : 선형 귀한 시프트 레지스터)도 스트림 암호화 방식 으로
- 의사난수열 발생(PRBS generator)
- 신호 확인을 위한 서명(signal signature)
- CDMA용 확산코드(signal sets)의 발생 등 에 사용
비대칭키 암호화
암호화 복호화에 서로다른 키를 사용하는 알고리즘
공개키 암호 (PK)
송신자가 수신자의 공개키로 암호화 하면 수신자는 자신의 개인키로 복호화가 가능
수학적 난제를 기반으로 설계되어 암복호화에 복잡한 수학 연산을 사용 하기에
대칭키 암호화에 비해서 효율성이 떨어질 수 있음
여러 송신자가 하나의 공개키를 이용하여 암호화 하여 보낼 수 있으므로 키관리에 유리
알고리즘 RSA, ELGamal,ECC 등이 있음
중간자 공격에 취약(MITM - Man In The Middle Attack)
전자서명
인터넷 상에서 본인임을 증명하기위해서 서명을 하는 수단으로 공개키 암호화 방식을 거꾸로 활요하는 방식
개인키를 보유한 당사자가 개인키로 암호화 하면 공개된 공개키로 평문화 하여 확인 하는 방법
전자서명 알고리즘은 DSA,RSA Signature, ECDSA 등이 있음
비대칭 암호화 알고리즘의 종류
RSA ,Rabin : 소인수분해
Elliptic curve cryptosystem(ECC) : 타원곡선
Schnorr ,Diffie-Hellman, El Gamal , Digital Signature Algorithm(DSA), KCDSA : 이산대수
McElice : 대수적코딩론
해시함수
임의의 길이의 메시지를입력으로 받아 고정된 길이의 해시값을 출력하는 함수
암호키가 사용되지 않기 때문에 항상 같은 입력에 대해서 값은 값을 얻을 수 있음
같은 값을 입력시 항상 동일한 값이 출력되어 무결성 검증에 사용
해시함수 저항성
역상 저항성 :
어떤 해시 값에 대해서도 원본 입력값을 찾는 것이 어려워야 한다(일방향상 - one wayness - )
제 2역상 저항성 :
최초 해시 입력값이 확인된 상태에서 동일한 해시값이 나오는
다른 입력값을 찾는 것은 계산적으로 불가능
충돌 저항성(collision resistance) :
서로다른 입력값 추측에 저항(resistance) 하는 성질로 확인된 정보가 없는
상태에 동일한 해시값을 서로다른 입력값이 나오는 것은 계산적으로 불가능
LFSR( Linear feedback shift register : 선형 귀한 시프트 레지스터)도 스트림 암호화 방식은 아래의 이미지 참고
종단간 암호화 (End to End encryption)
Header가 암호화 되지 않으므로 장비들은 IP주소를 확인하고 목적지 장비에게 packet을 전달
응용프로그램 계층(애플리게이션 계층)에서 암호화가 일어난다
사용자가 메세지 암호화를 결정하므로 보다 유연한 암호화 적용이 가능
링크 암호화 (Link encryption)
Header 가 암호화 된다
중간 노드(홉)에서 암호화 복호화가 이루어진다
(라우터 등이 어디로 데이터를 보내야 하는지 알야하 하므로)
장비는 패킷의 Header 부분을 복호화 하여 Header 내의 라우팅등의 주소를 확인하고
다시 암호화 하여 Packet을 전송한다
데이터 링크 또는 물리적 계층에서 암호화가 일어난다
의사난수 생성기(PRNG pseudo random number generator)는 난수열을 생성하는 알고리즘
의사난수는 키 생성(key generator)라는 매우 중요한 역활을 수행
참고
https://seed.kisa.or.kr/kisa/intro/EgovDefinition.do
https://infosecguide.tistory.com/60
https://m.blog.naver.com/PostView.nhn?blogId=heleven&logNo=10144594118&proxyReferer=https:%2F%2Fwww.google.com%2F
https://m.blog.naver.com/PostView.nhn?blogId=kostry&logNo=220802215604&proxyReferer=https:%2F%2Fwww.google.com%2F
https://javaplant.tistory.com/26
https://www.google.com/search?q=%EC%95%94%ED%98%B8%EC%9D%98+%EA%B0%9C%EB%85%90&rlz=1C1OKWM_koKR911KR911&source=lnms&tbm=isch&sa=X&ved=2ahUKEwi27OCxtuzqAhXEBKYKHX4yATIQ_AUoAnoECA0QBA&biw=929&bih=932#imgrc=dJM5MU757ALuWM&imgdii=9MsQAeaVkWKSPM
https://seed.kisa.or.kr/kisa/intro/EgovDefinition.do
참고
https://fistpark.tistory.com/entry/Black-Cipher-DES-특성
Black-Cipher-DES-특성
Avalanche effect (쇄도효과)
평문 또는 키 값의 작은 변화가 암호문에는 매우 큰 변화를 가져오는 성질
보수(Complement) 성질
DES의 보수 성질로 인하여 key의 길이가 56 bit이면 2^55 만큼의 안전성을 갖는다.
암호 해독 공격 방법 정리 (0) | 2020.07.29 |
---|---|
디지털 저작권 관리 (0) | 2020.07.29 |
OAuth 2.0 요약 설명 (0) | 2020.07.26 |
보안 용어 정의 (0) | 2020.07.26 |
정보 보호 관리 (0) | 2020.07.26 |
댓글 영역