컴퓨터 공학

정보보호개론

혼새미로 2015. 11. 27. 02:14
반응형

정보보호개론

유비쿼터스: 사용자가 네트워크나 컴퓨터를 의식하지 않고 마음대로 네트워크에 접속할 수 있는 정보통신환경

-5A:어디서나,언제나,어떤장치나,어떤네트워크나,어떤서비스나 사용 가능

정보화의 역기능:개인 프라이버시 침해,공격의 용이성, 전파속도의 증가와 파급효과

프로그램 보안 : 공격자가 활용할 수 없도록 소프트웨어적으로 보안을 하는 기술

시스템 보안:컴퓨터 시스템에 공격자가 침입했을 때 이에 대응하는 기술

네트워크 보안:네트워크 패킷을 분석하여 공격에 대비하는 기술

응용보안:응용 프로그램의 보안 요구사항을 충족시키기 사용되는 기술

 

4대 정보보호 서비스

) -->1.     비밀성:인가된 사용자들만 정보를 볼 수 있도록 해주는 서비스

) -->2.     무결성:비인가된 사람의 데이터 변경을(삽입,삭제,변경) 발견할 수 있도록 해주는 서비스

) -->3.     인증: 주장된 것을 검증할 수 있도록 해주는 서비스

) -->4.     가용성 : 사용자가 요구하는 서비스를 항상 제공할 수 있도록 해주는 서비스

) -->e  이중 비밀성,무결성,인증은 암호기술을 이용하여 제공함

 

 

) -->1장             암호알고리즘의 개요

교육 목표

) -->1.     보안 목적

) -->2.     암호알고리즘에 대한 이해(종류 특성,용도)

-대칭 알고리즘

-비대칭 알고리즘

--공개키 기반 구조

-해쉬함수

-전자서명 알고리즘

3. 암호해독과 암호알고리즘의 안전성 이해

 

) -->1.1   보안 목적

비밀성 : 인가된 사용자들만 정보를 볼 수 있도록 해주는 서비스(기밀성)

-데이터의 중요도, 비밀을 유지해야 하는 기간에 따라 처리하는 방법이 달라짐

무결성 : 비인가된 사용자가 데이터를 변경했을 경우 발견할 수 있도록 해주는 서비스

인증 : 식별 + 검증

) -->-       주장된 것을 검증하는 것

) -->-       유형

) -->-       - 메시지 인증:무결성과 같음

) -->-       - 메시지 원천지 인증

) -->-       - 개체 인증 : 주장된 신원을 인증

개체인증에 사용되는 요소

) -->-       사용자만 알고있는 지식(패스워드)

) -->-       사용자만 갖고있는 특징(생체정보)

) -->-       사용자만 갖고있는 것(ID카드)

) -->e  이중 두가지를 조합한 방법을 2-factor 인증이라 함

 

부인방지 : 개체가 지난 행위나 약속을 부인하지 못하도록 해주는 서비스

) -->-       송신 부인방지(NRO)

) -->-       전달 부인방지(NRD)

) -->-       제출 부인방지(NRS)

) -->-       수신 부인방지(NRR)

 

 

프라이버시의 종류

) -->-       내용 프라이버시:eg)사용자가 만화 서비스를 이용하고 있는데 어떤 만화를 이용하는지 숨기고 싶은 것

) -->-       행동 프라이버시:eg)사용자는 만화 서비스를 이용하는 것 자체를 숨기고 싶어함

) -->-       위치 프라이버시:eg)사용자가 어디서 만화 서비스를 이용하고 있는지 숨기고 싶어함

 

프라이버시 보장을 위한 요구사항

) -->-       불관찰성 : 특정 메시지의 송신자와 수신자를 알 수 없어야 함

) -->-       불연결성 : 두 개의 메시지가 주어졌을 때, 두 개의 메시지가 동일 송신자로부터 보내졌는지, 혹은 동일 수신자에게 전달되는지를 연결할 수 없는 것

) -->e  불연결성은 특정 메시지의 불관찰성이 깨졌을 때 그 피해를 최소화 하기 위해 제공되는 것

 

완전 프라이버시를 제공하면 사용자들에 의해 악용될 수 있기 때문에 조건부 프라이버시를 제공

) -->-       조건부 프라이버시는 신뢰할 수 있는 기관은 필요할 경우 특정 메시지의 익명을 철회할 수 있음

) -->-       하지만 이 경우 특정 기관 하나가 단독으로 권력을 행사하게 되면 권력남용의 우려가 있음

) -->-       이와 같은 권력남용 방지를 위해 권력을 분산시켜야 함

) -->-       이 경우 암호기술에서 임계 기반 비밀 공유기법을 사용함

) -->-       - n명에게 특정 권한을 부여하고 이중 t명이 동의하면 해당 권한을 수행할 수 있게 하는 것

 

통신 메시지의 비밀성/무결성을 보장하기 위한 암호기술 적용과 통신 계층간의 관계




 

 

TLS(Transport Layer Scurity) : TLSSSL이 표준화되면서 바뀐 이름이다. 이 규약은 인터넷과 같이 TCP/IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해준다.

IPSec : 안전에 취약한 인터넷에서 안전한 통신을 실현하는 통신 규약.

 

 

애드혹 네트워크: 통신 기반 구조를 전혀 사용하지 않고 무선 통신 기술을 사용하는 이동 노드들에 의해 자율적으로 구성된 네트워크

 

기본 용어

평문

암호문

암호화:평문을 암호문으로 바꾸는 과정

복호화 : 암호문을 평문으로 바꾸는 과정

암호기술 : 메시지를 안전하게 유지하는 기술과 학문

암호해독기술 : 암호문으로부터 평문을 추정하는 학문과 기술

암호학 : 암호기술 + 암호해독기술

 

암호알고리즘 : 암호화와 복호화에 사용되는 수학 함수(좁은의미). 암호기술에 사용되는 모든 알고리즘(넓은 의미)

) -->-       현대 암호화 함수와 복호화 함수는 키를 사용

) -->-       표기법



 

암호키 : 암호화/복호화에 사용되는 키

완전성 요구사항  

현대 암호알고리즘의 안전성은 키에 의존함

키 대신에 알고리즘의 비밀성에 의존하는 경우에는 제한적 알고리즘이라 함

 

암호화/복호화 함수는 전단사함수이여야 함

 

키 용어

암호키 : 암호알고리즘에 사용되는 모든 종류의 키

암호화키:암호화 과정에 사용되는 모든 키

복호화키:복호화 과정에 사용되는 모든 키

비밀키: 대칭알고리즘에 사용되는 암호키

개인키 : 비대칭알고리즘에서 각 개인이 비밀로하는 암호키

공개키 : 비대칭알고리즘에서 각 개인이 공개하는 암호키

세션키 : 특정 통신 세션에서만 사용되는 일회성 비밀키

 

암호알고리즘의 분류

결정적 암호알고리즘 : 암호키와 메시지가 같으면 항상 같은 암호문으로 암호화되는 알고리즘

확률적 암호알고리즘 : 암호키와 메시지가 같아도 항상 다른 암호문으로 암호화되는 알고리즘

전자서명에도 사용됨

안전성 측면에서는 확률적 암호알고리즘이 바람직함

 

대칭 알고리즘 : 암호화할 때 사용되는 암호키와 복호화할 때 사용되는 암호키가 같음

비대칭 알고리즘 : 암호화할 때 사용되는 암호키와 복호화 할 때 사용되는 암호키가 다름


 

 

 

대칭 암호알고리즘: 암호화키 = 복호화키. 비밀키 암호알고리즘

) -->-       원격에 있는 두 사람이 대칭 암호알고리즘을 이용하기 위해서는 사전에 안전하게 대칭키를 공유해야 함

종류

) -->-       스트림 암호방식 : 평문의 각 비트를 하나씩 암호화하는 방식

) -->-       블록 암호방식 : 평문을 일정한 크기의 블록으로 나누어 각 블록을 암호화하는 방식

) -->-       대표 알고리즘 : ASE

 

블록 암호방식을 사용하는 대칭 알고리즘은 항상 같은 크기의 블록을 받아야 함

ECB모드 : 나누어진 개별 평문블록들을 독립적으로 암호화 하는 것-> 결정적 알고리즘에서는 동일 평문 블록이 항상 같은 암호 블록으로 암호화되는 문제가 있음

 

대칭 암호알고리즘의 사용 용도

) -->-       송신자와 수신자가 공유하는 있는 비밀키로 메시지를 암호화하여 교환함으로써 제3자가 도청할 수 없도록 만듬

) -->-       개체인증 :


 

비대칭 알고리즘

두개의 키를 공개키와 개인키라 함

각 사용자는 자신의 공개키를 공개하고 개인키는 비밀스럽게 유지함

대표 알고리즘 : RSA, ElGamel

공개키 암호알고리즘은 대칭 암호알고리즘과 같은 용도로 사용가능하지만 상대적인 성능문제로 인해 잘 사용되지 않음

개인키를 사용하여 메시지를 암호화할 수 있는 경우에는 전자서명 알고리즘으로 사용가능


 

공개키 인증 : 공개키 암호알고리즘을 사용하기전에 선행되어야 하는 것은 공개키의 인증임

공개키 인증을 제공하는 가장 대표적인 메커니즘이 인증서임

인증서는 공개키와 그것의 소유자를 바인딩시켜 주는 전자문서

보통 신뢰할 수 있는 인증기관(CA)가 전자서명하여 생성함

 

인증서의 검증

) -->1.     인증서의 서명 확인(발급 인증기관의 공개키 사용)

) -->2.     인증서의 유효기간 확인

) -->3.     인증서의 사용용도 확인(서명,암호화)

) -->4.     인증서의 폐지여부  확인

) -->e  위 네가지 단계를 통해 한번 확인된 인증서는 보통 캐시에 보관되며, 이 인증서를 다시 사용할 경우에는 위 네가지단계를 반복하지 않고 유효기간과 폐지여부만 확인.

 

PKI의 신뢰모델

인증서를 검증할 때 해당 인증서를 발급한 기관의 공개키를 이용함. 발급기관의 인증서를 검증하기 위해서는 상위 기관의 인증서가 필요함. 이와 같이 인증서를 발급하는 기관을 트리형태로 표현할 수 있음. 이 때 트리의 루트에 있는 인증기관을 최상위 인증기관이라 함

전세계의 모든 계층을 단일구조화할 수 없기 때문에 상호보증하는 형식을 취함. 이것을 상호인증이라 함.

인증서를 사용하기 위해 필요한 소프트웨어,하드웨어,인력,정책,절차를 일컬어 PKI(공개키 기반구조)라함

 

PKG

공개키는 누구나 만들 수 있으므로, 그에 상응하는 개인키는 아무나 생성할 수 없어야 공개키 암호시스템으로 사용할 수 있음.

이를 위해 신원 기반 시스템에서는 사용자의 개인키를 발급해 주는 PKG라는 신뢰기관 을 도입

따라서 PKG 모든 사용자의 개인키를 만들 수 있으므로 모든 암호문을 복호화할 수 있고, 모든 사용자의 서명을 위조할 수 있음.

) -->-       부인방지에 취약함

) -->-       여러기관의 권한을 분배하여 n명 중 t명이 동의해야 권한을 행사할 수 있도록 함

 

 

법 강화를 위한 키 위탁

정부는 비밀 통신을 할 수 있는 능력을 유지하고 싶음

) -->1.     암호화 사용금지

) -->2.     암호알고리즘을 해독할 수 있는 능력 보유

) -->3.     키 위탁 : 사용자들이 사용하는 모든 키를 강제로 보관.

) -->e  키 위탁은 키를 분실했을 경우에도 키를 복구를 위해서도 유용함

 

해쉬함수

해쉬함수 : 임의의 길이의 이진 문자열을 고정된 길이의 이진 문자열로 매핑해 주는 함수

요구사항

) -->-       압축

) -->-       계산의 용이성 : x가 주어지면 H(x)는 쉬워야함

) -->-       일방향성 : 입력을 모르는 해쉬값 y가 주어졌을 때,  H(x’)=y 를 만족하는 x’을 찾는 것은 계산적으로 어려워야 함

) -->-       약한 충돌회피성 : x가 주어졌을 때 , H(x’)=H(x)x’을 찾는 것은 계산적으로 어려워야함

) -->-       강한 충돌회피성 : H(x’)=H(x)인 서로 다른 입력 xx’을 찾는 것은 계산적으로 어려워야 함

 

충돌 : 서로 다른 xx’에 대해 H(x)=H(x’)이면 충돌이 발생했다고 함.

해쉬함수의 용도

) -->-       전자서명 : 서명 크기와 비용을 줄이기 위해 전체 메시지 대신에 메시지의 해쉬값에 서명함.

) -->-       무결성

) -->-       패스워드 해싱

 

단순히 메시지의 변경여부만 확인하기 위해 사용하는 경우에는 조작탐지코드(MDC)라 함

반대로 비밀키를 사용하게 되면 데이터 원천지 인증과 무결성을 동시에 제공할 수 있으며 이때에는 메시지 인증 코드 (MAC)라 함

 

수신자에게 MH(M)을 전송하면 공격자가 M을 조작하여 M’을 보낸다 하더라도 H(M’)H(M)이 다르다는 것을 확인하면 공격자를 알아챌 수 있음

하지만 공격자가 M’H(M’)을 보내면 알아챌 수 없기 떄문에 해결책이 필요함

) -->1.     M, MAC.K(M)을 전송 -> 송신자와 수신자가 K를 공유하고 있어야 함

) -->2.     (전자서명) M, Sig.-KA(M)

비용 측면에서는 1이 우수함. 하지만 2는 대응되는 공개키를 가지고있는 사용자는 무결성을 검증할 수 있음.

 

사전공격: 흔하게 사용되는 패스워드에 대한 해쉬값을 모두 구해 저장된 해쉬값과 비교

Salt 사용 : 해쉬값을 구할 때 임의의 랜덤값인 salt를 포함하여 계산

Weakest Link Principle : 시스템의 전체 안전성은 가장 취약한 부분의 안전성과 같다.    

 

전자서명의 요구사항

) -->-       인증 : 누가 서명했는지 확인 가능해야 함.

) -->-       위조 불가 : 위조 불가해야 함

) -->-       재사용불가 : 서명을 다시 사용할 수 없어야 함

) -->-       변경불가 : 서명된 문서의 내용을 변경할 수 없어야 함

) -->-       부인방지 : 나중에 부인할 수 없어야 함

 

전자서명 방식의 종류

직접 서명 방식: 서명자가 홀로 서명알고리즘을 수행하여 서명하는 방식

) -->e  문제 : 서명키를 분실하면 공격자의 부정을 증명할 수 없음

중재 서명 방식 : 중재자와 프로토콜을 수행하여 서명하는 방식

) -->e  중재자는 서명의 증인 역할을 하게 됨

) -->e  서명자가 시간에 대한 부정을 할 수 없음.

 

 

전자 서명 알고리즘의 분류

) -->-       서명으로부터 메시지를 복구할 수 있는 서명 알고리즘(DSS With recovery)-> 작은 메시지만 가능함

) -->-       검증에 원 메시지가 필요한 서명 알고리즘(DSS With Appendix) : 메시지와 서명블록이 별도로 존재하며  메시지와 서명 블록이 함께 제시되어야 검증 가능, 보통 해쉬함수사용

 

알호알고리즘에 대한 암호해독 : 키를 모르는 상태에서 암호문으로부터 평문을 얻어내는 행위

암호해독 외에 다른 방법으로 키가 알려진 것을 노출되었다고 함

 

암호프로토콜에 대한 공격

수동 공격:프로토콜의 진행을 방해하지 않고 공격하는 것 -> 트래픽 분석, 도청

능동 공격 : 프로토콜의 진행에 개입함(메시지 차단,삭제, 삽입, 변경, 재전송)

 

전사공격 : 가능한 모든 키를 검사하는 방법 ->암호해독 공격은 아님

 

암호해독 공격의 분류

) -->-       암호문 단독 공격

) -->-       기지 평문 공격

) -->-       선택 평문 공격

) -->-       적응적 선택 평문 공격

) -->-       선택 암호문 공격

 

암호문 단독 공격

기지 평문 공격 : 공격자가 선택할 수 없고 우연히 알게된 암호문/평문쌍으로 공격

선택 평문 공격 : 공격할 쌍들을 얻기 전에 해독에 사용할 모든 평문을 선택하는 경우

적응적 선택 평문 공격 : 얻은 암호문을 바탕으로 공격하는 동안 새로운 평문에 대한 암호문을 얻음

 

부채널 공격 : 알고리즘의 입력과 출력외에 다른 정보를 이용하는 것

) -->-       시간정보 : 입력이 주어졌을 때 계산되는데 걸리는 시간

) -->-       전력소비 : 입력이 주어졌을 때 출력이 계산하기 위해 소모된 전력

 

알고리즘에 대한 공격 결과

) -->-       완전 성공 : 암호키를 발견

) -->-       광역 성공 : 암호키를 발견하지 못했지만 복호화할 수 있는 알고리즘 발견

) -->-       인스턴스 성공 : 어떤 한 암호문으로부터 평문을 얻어냄

) -->-       - 선택적 위조 : 특정 종류의 메시지에 대한 서명을 위조할 수 있음

) -->-       - 존재위조 : 어떤 메시지에 대한 서명을 위조할 수 있지만 공격자는 위조할 수 있는 메시지에 대한 어떤 선택권이 없는 경우

) -->-       정보추출 : 암호문으로부터 평문의 일부나 암호키와 관련된 정보를 얻어냄

 

공격의 복잡성 척도

데이터 복잡성 : 공격이 성공하기 위해 필요한 양

처리 복잡성 : 공격이 성공하기 위해 필요한 시간

저장 공간 요구사항 : 공격하기 위해 필요한 메모리 공간

 

암호알고리즘의 안전성

계산적 안전성 : 암호알고리즘을 해독하기위해 알려진 가장 우수한 공격방법을 사용하더라도 불합리하게 많은 시간이 소요될 경우

증명가능 안전성 : 어렵다고 알려진 문제와 등가일 경우

무조건적 안전성 : 무한한 컴퓨터 자원을 가져와도 암호알고리즘을 해독할 수 없는 경우

 

의미론적 안전성 : 암호문이 주어졌을 때 효율적으로 계산할수 있는 모든 것을 암호문이 없어도 계산할 수 있어야 함

구별 불가 안전성 : 두 개의 메시지 중 하나를 암호화한 암호문이 주어졌을 때 공격자가 어떤 평문을 암호화한 것인지 맞출 수 있는 확률이 50%를 넘지 않아야 함

NM특성 : 암호문에 대응되는 평문을 알지 못하는 경우 이 암호문을 의미 있는 다른 암호문을변경하는 것이 가능하지 않으면 암호알고리즘은 NM특성을 제공한다고 함

 

 

 

반응형