[인터넷보안]기말고사 시험 정리
류명운
·2014. 12. 7. 23:19
1 사용자 인증 기술
사용자 인증 절차
사용자식별(Identification)→사용자인증(Authentication)→사용자권한부여(Authorization)
매체에 의한 사용자 인증 기법
알고 있는 정보(what you know) :비밀번호 인증 - 1Factor
지니고 있는 것(what you have) :스마트 카드, usb 토큰, otp 토큰 등 - 2Factor
생체정보(what you are) :지문인식, 홍체인식, 얼굴인식 -3Factor
* 최근의 추세는 2 Factor이상의 인증 요구
Q. 모바일 어플리케이션을 이용한 OTP는 몇 Factor인가? -> 1Factor (별도의 OTP장치가 없기 때문에)
Q. 일회용 비밀번호 인증에서 HOTP는 몇 Factor인가? -> 2Factor
사용자 인증 기술의 종류 (영문표기법 알아 둘 것)
정적 비밀번호 인증(Fixel Password Authentication)
일회용 비밀번호 인증(One-time password Authentication)
공개키 기반의 인증(PKI-based Authentication)
하드웨어 토큰 인증(H/W Token Authentication)
생체인증(Biometrics Authentication)
인증 기술의 혼합(Mixed Authentication)
정적 비밀번호 인증(Fixel Password) | |
비밀번호를 암호화되지 않은 평문 상태로 네트워크 통신 경로에 전송하고 반복적으로 사용 | |
취약점 |
비밀번호 가로채기 공격: 도청, 어깨너머 공격 비밀번호 예측 공격: 사전공격 비밀번호 재전송 공격 비밀번호 판매: 내부 사용자에 의한 유출 |
해결법 |
가로채기 공격 -> SSL등과 같은 공개키 기반의 암호화 채널 기법 적용 가로채기, 재전송 공격 -> 일회용 비밀번호 기법(OTP) 적용 |
일회용 비밀번호 인증(One-time Password) |
가로채기, 재전송 공격에 대응하기 위한 기술로 별도의 소프트웨어나 하드웨어 장치가 요구됨 |
일회용 비밀번호 생성과정 1[c]: 접속->[s] 2[s]: 인증요청->[c] 3[c]: 일회용 비밀번호 생성 4[c]: 일회용 비밀번호 제시->[s] |
일회용 비밀번호의 네 가지 유형 |
1 비밀번호 목록에 의한 방식(보안카드) ->2Factor |
2 S/Key방식(해쉬 체인을 이용하며 부가적 소프트웨어 요구) ->1Factor |
3 질의-응답 방식(별도의 비밀번호 생성장치 요구) ->2Factor -클라이언트와 서버의 비밀 정보 공유를 전제로 함 -pop(proof of possesiion) 일반적으로 비밀번호 생성을 위한 별도의 h/w 장치 사용 |
4 동기화 방식(별도의 비밀번호 생성장치 요구) |
이벤트 동기화 ->동기화된 counter정보와 공유 비밀번호를 사용하여 일회용생성 |
시간동기화 ->동기화된 시간 정보와 공유 비밀번호를 사용하여 일회용 생성 * 시간기법은 비밀번호가 변호는 그 단계에서 재전송 공격이 가능함 |
|
장점 |
단점 |
비밀번호 목록 |
구축비용이적고 구현이 쉬움 |
비밀번호 유출위험이 큼 |
S/Key |
서버에 사용자 비밀정보가 저장되지 않음 서버가 붕괴되도 안전함 |
연산량이 가장 많음 최대 인증 횟수를 넘어서면 초기화 과정이 필요 |
질의-응답 |
OTP생성에 별도의 제한이 없음 |
인증단계가 3단계라 사용자가 굉장이 불편 |
동기화 |
질의가 필요없어 인증단계가 1단계임 |
동기화가 맞지 않을 경우 보정작업이 필요 |
일회용 비밀번호 표준-OCRA -> Q(질의값) -필수 / C,P,S,T -옵션
2 OCRA
Man In The Browser Attacks에 대한 공격대응 방안
->사전의 사용자 요청에 따라 문자메시지로 결과 전달(그러나 거래가 이루어진 이후이기 때문에 방어하기 쉽지 않음) ->그래서 나온게 “거래연동 인증(transaction signing)” 과정이 추가됨
거래연동 인증->안전카드, 시간동기화, 이벤트 동기화, 질의응답형(최대핵심)
OCRA를 이용하여 거래연동인증을 사용
인증방식-기본형 R= OCRA(K, {[C] | Q | [P | S | T] }) |
Q. OCRA 인증방식-기본형이 왜 취약한지?서버는 클라이언트를 인증하지만 클라이언트는 서버에 인증하지 않음 ->Server spoofing :클라이언트가 서버에 인증하지 않고 R값을 만듬 ->중간자공격 :질의값에 대한 응답값을 가로채서 공격자가 서버에 직접 인증함 |
인증방식-상호인증(양방향인증) OCRA(K, [C] | QS | QC | [S|T]) != RS - > STOP OCRA(K, [C] | QS | QC | [P|S|T]) != RC - > STOP |
OCRA-거래인증 어떻게 응용할 것인가? ->QS값 대신에 거래 관련 값을 전송함 단점 : 재전송공격이 가능함 (ex:[천만원을 서버에 보냈으면] 공격자가 나중에 sign값을 알아내면 sign값을 서버에 재전송함) |
Q. OCRA 서버와 유저가 인증되는 부분은 어디이며 원리는 무엇인가? |
|
3 LTE보안
4G Networks -ITU-R라는 표준 요구사항을 정의
두 개의 중요 요구사항
->High Speed [정지1Gbps / 이동100Mbps]
->Smooth Handover between heterogeneous networks[네트워크 사이의 자연스러운 이동]
두 개의 대표적인 4G네트워크 |
Long Term Evolution Advanced(LTE-A) ->4세대 (Long Term Evolution (3.9G) ->4세대X) WIMAX Advanced(우리나라에선 Wibro) |
LTE보안은 AKA 프로토콜을 사용
USIM->가입자의 비밀키 K(이걸갖고인증함), 식별값 IMSI, 정보, 암복호화 알고리즘을 갖고 있음
UE->사용자 단말기로 USIM을 장착
UE Security Capability: UE가 지원 가능한 암호화 알고리즘 목록
LTE 네트워크 구성도
-eNB :LTE 기지국
-MME :UE를 인증하는 역할을 함 (MME가 사용자의 위치를 갱신해줌)
-HSS :가입자(UE)별로 비밀키 K와 정보를 관리하는 서버
어느시점에서 MME가 인증되는가 / UE가 어느시점에서 인증되는가 |
-UE는 MME로부터 받은 (RAND, AUTNHSS, KSIASME)을 이용해 MAC값을 만들고 MME로부터 받은 AUTNHSS에 있는 XMAC과 비교하여 MME를 인증함 -MME는 UE로부터 RES값을 받고 자신이 만든 XRES와 비교하여 UE를 인증함 |
벡터값관련...뭐있는데(물어보기)
4 SSL
SSL이란? 전자상거래를 하기 위해 만들어짐
웹서버와 웹브라우저에 SSL이 끼면 둘 사이의 채널은 보안채널이 됨
SSL서비스의 종류 |
통신객체 인증 / 데이터 기밀성 / 데이터 인증 및 무결성 압축 / 세션키 생성 및 분배 / 보안속성 협의 |
SSL은 두 계층의 프로토콜로 구성됨(TCP계층과 응용계층 사이에서 동작함)
레코드 프로토콜 |
상위계층 프로토콜 | ||||
상위계층 프로토콜에게 기본적인 보안서비스를 제공 |
SSL HandshakeProtocol |
SSL Change Cipher Spec Protocol |
SSL Alert Protocol |
HTTP |
Other Application Protocols |
보안속성협의 |
암호화알고리즘 |
에러발생할 경우 주고받는 메시지 |
|
응용프로그램 ex)카카오톡 |
SSL 구조
SSL 연결과 세션
연결 :두 객체가 연결하여 통신하는 최소 단위(한 개의 세션과 연관됨)
세션 :한 클라이언트와 한 서버 사이의 연관을 의미, 핸드셰이크 프로토콜에 의해 시작(보안 매개변수들을 합의)
Q. SSL에서 보안 매개변수들을 합의하는 지점은? ->세션(Session)
SSL 세션 정보(방식에 관한 정보) |
세션 식별자(Session ID) 대등 인증서(Peer Certificate) :상대방의 인증서를 가져옴 압축방법(Compression Method) 암호명세(Cipher Spec) 마스터 비밀(Master Secret) :마스터키를 교환하기 위해 공개키 연산을 하는데 오래걸림↓ 재시작 여부 : 한번 만든 마스터키를 다시 사용할지 물어봄 |
SSL 연결 정보(실질적인 키 정보) | |
*서버와 클라이언트 난수 | |
난수와 마스터키를 이용하여 암호화 통신에 쓰일 4가지 키 생성→ |
*Server Write MAC Secret *MAC은 무결성을 위해 |
*Client Write MAC Secret | |
*서버 암호키(Server Write Key) | |
*클라이언트 암호키(Client Write Key) | |
*초기화벡터 | |
*순서번호 |
SSL레코드 프로토콜은 기밀성과 메시지 무결성을 제공함
-> (응용데이터→단편화→압축→MAC첨부→암호화→SSL레코드 헤더 붙이기)
Q. 핸드셰이크 프로토콜 과정 중 협상 부분은? SSL 세션에서 이루어짐
Q. 핸드셰이크 프로토콜 과정 중 중간자 공격에 대응하기 위한 방법은?전자인증
|
Q1. 어느시점에서 Master Secret이 만들어 지는가? ->C가 S에게 clinet_key_exchange을 보내면 S는 그걸 복호화하여 프리마스터시크릿을 알아내고 C난수값과 S난수값을 버무려서 Master Secret값을 생성
Q2. 클라이언트 입장에서 서버의 인증이 이루어지는 과정은 어디인가? ->맨 마지막 Finished {이제까지 교환된 핸드셰이크 메이지에 대한 해쉬값을 포함하며 master secret으로 보호됨} 인증과 키교환이 적절히 이루어 졌는지 검증
Q3. 클라이언트가 서버에게 인증하는 부분은 어디인가? ->Certificate_Verify = {이제까지 교환된 핸드셰이크 메시지에 대한 전자서명} // 클라이언트의 인증은 필수가 아닌 옵션 임. 서버에 의해 클라이언트 인증이 요구될 경우만
Q4. 클라이언트에서 공개키 연산이 이루어지는 부분은? ->Client_Key_Exchange = 서버의 공개키로 암호화된 Premaster secret
Q5. 공개키 연산은 각각 몇회씩 이루어 질까?(@@확인해볼것@@) 서버 : 프리마스터시크릿 복호화2회 =2회 클라이언트 : 서버인증1회, 프리마스터시크릿 서버공개키로암호화1회/자신의개인키로 암호화1회 =3회 |
공개키 연산을 많이 하면 서버가 무거워짐
서버쪽에서 한번의 공개키 연산을 함(@@확인해볼것@@)
ex)서버에서 동시에 50만명이 동시접속할 경우 서버과부하 ->공개키연산을 최적화 하는게 이슈
해결방법 ->SSL가속기 사용: 하드웨어 속에서 이뤄짐
5 악성소프트웨어
악성프로그램 (Malicious Program or Malware)
호스트 프로그램 필요 (기생형) |
독립적 |
트랩도어 |
웜 (자기복제 가능) |
논리폭탄 |
좀비 (자기복제 가능) |
트로이목마 |
|
바이러스 (자기복제 가능) |
|
트랩도어(백도어) : 프로그램의 숨겨진 은밀한 진입점 (ex- 게임 개발자가 자신만 아는 치트키)
개발자들이 디버그를 용이하기 위해 (ex – 공인인증서 개발 시 매번 인증할 수 없으니)
논리폭탄: 합법적 프로그램에 삽인된 코드 (if 특정조건 만족 = do damage)
트로이목마 : 숨겨진 코드를 포함하는 유용하거나 매력적인 프로그램 (게임,유틸리티 등)
주로 바이러스/웜의 전파나 백도어 설치를 위해 사용됨
바이러스 : 어떤 호스트에 자신을 복제시키는 코드를 의미
자동동작 불가, 호스트 프로그램에서 바이러스를 실행해야 동작
악성코드의 생명주기
a. 잠복단계 – 감염 후 숨어있는 단계
b. 전파단계 - 감염단계
c. 트리거단계 – 특정 이벤트의 발생으로 바이러스 활성화
d. 실행단계 – 악의적 동작 수행
바이러스 구조 1
바이러스 구조 2 (압축 바이러스)
바이러스 구분 법
① 1234567 찾으면 됨
② file size 변동이 있나
③ 기계어를 어셈블리어로 바꾸면 알 수 있다
① compress file
② prepend CV to file
③ uncompress rest-of-file
④ run uncompressed file
1.발견된 각각의 감염되지 않은 파일 P2에서 바이러스는 처음에 그 파일을 압축하고 바이러스의 크기에 맞추어 원래의 프로그램보다 더 짧은 P2'를 만들어낸다.
2.바이러스의 복사본이 압축된 프로그램으로 사전 삽입
3.압축된 원래의 감염 프로그램 P1' 은 압축이 풀린다
4.압축이 풀린 원래의 프로그램이 실행된다.
바이러스 유형 – target에 따라
파일바이러스 (Parastic virus) |
실행화일에 붙어서 감염된 프로그램이 실행될 때 활동 |
메모리 상주 바이러스 (Memory-resident virus) |
주 메모리 상주하면서 실행되는 모든 파일 감염시킴 |
부트섹터 바이러스 (Boot sector virus) |
디스크의 부트섹터에 감염되어 부팅시 활성화됨 |
매크로 바이러스 (Macro virus) |
오피스 제품의 매크로 기능을 악용 (주로 이메일에 의해 전파) |
바이러스 유형 – 숨기는 방법에 따라
암호화 바이러스 |
|
폴리몰픽 바이러스 |
|
메타몰픽 바이러스 |
|
스텔스 바이러스(Stealth virus) |
백신에 탐지되지 않도록 정교하게 설계됨 (압축, DisK 1/10) |
웜의 정의
자동으로 동작하는 프로그램, 자신을 실행시키기 위해 시스템 자원 소모, 자신을 다른 머신으로 전파 가능
독립적으로 자기복제, 빠른전파력을 가진 프로그램 또는 실행코드
웜의 특징 (바이러스와 비교)
웜 |
바이러스 |
로컬시스템으로 전파되지 않음, 시스템에서 시스템으로 전파 |
로컬 컴퓨터 내부를 감염시킴
|
파일을 감염시키지 않음 |
감염대상이 파일임 |
일반적으로 메모리 상에서만 존재함 |
|
웜의 활장 절차
① 잠복단계 ② 확산단계 (다른 시스템 검색 -> 원격시스템과 연결 -> 원격시스템에 자신 복사 후 복사본 구동) ③ 트리거 단계 ④ 실행단계 |
'삶의 늪에 들어 가기 전 > 정리중(미정리)' 카테고리의 다른 글
[네트워크 구성 및 관리]기말고사 시험 정리 (2) | 2014.12.11 |
---|---|
[세계문명과 성경2] 기말고사 시험 정리 (0) | 2014.12.10 |
[컴퓨터 정보학의 이해]기말고사 시험 정리 (0) | 2014.12.06 |
[PC활용 3 멀티미디어]작업결과물 및 내용(14.12.4) (0) | 2014.12.04 |
[PC활용 3 멀티미디어]작업결과물 및 내용(14.12.4) (0) | 2014.12.04 |