봉구 IT세상 2015. 6. 7. 14:04

#1 인증

-MD5 : 128bit # Message DIGEST

- SHA1 : 160 BIT # Secure Hash Algorithm-1

- hash 는 단방향 알고리즘

- 해시로 나온 비트 문자열(문서 다이제스트)을 이용하여 원래의 메시지를 만들어 낼수 없다

- 송신자는 자신의 개인키를 이용하여 해시를 암호화 한다

- PKI : 공개키 기반 구조(Public Key Infrastucture)

 

# 디지털 서명 생성과정

- 송신자는 해시 알고리즘을 이용하여 메시지의 해쉬를 계산 # 해시값은 해시 함수를 이용하여 원래 메시지보다 훨씬 작은 비트 문자열 값을 만듬 이 비트 문자열을 메시지 다이제스트라고 함 # 해시는 메시지 자체의 함수값으로 원래의 메시지가 변경되면 해시 되면 해시의 값도 바뀜 # 해시 알고리즘으로 SHA-1 을 사용해서 해시 결과 값으로 20BITE의 문서 다이제스트 만듬

- 송신자는 자시의 개인 키를 이용하여 해시를 암호화

- 송신자는 암호화되지 않은 평문 형태의 데이터와 암호화된 해시를 전송 이과정은 전체 메시지를 암호화 하는 것보다 훨씬 빠르며 암호화된 해시를 디지털 서명이라함

- 디지털 서명은 개인키를 이용하여 인증과 데이터 무결성 효과적으로 제공

 

# 디지털 서명확인과정

- 수신자는 수신된 데이터 평문형태의 원본 메시지를 동일한 해시 알고리즘 이용하여 해시값을 계산

- 수신자는 송신자 의 공개키를 이용하여 암호화 된 해시를 해독

- 두 해시값이 일치하는 지 확인 두해시의 값이 일치하면 현재 수신자가 가지고 있는  공개키가 송신자의 공개 키인지 확인 할수 있다(특정 주체의 개인키로 암호화 된것은 그 주페의 공개키로만 해독할수 있기 때문)

- 디지털 서명은 송신자의 신원을 인증하고 데이터 무결성 을 확보 하지만 수신자에게 전달된 송신자의 공개 키가 실제 송신자의 것임을 확인할수 있어야 한다.

 

#2 SSL(Secure Socket Layer)

- SSL을 이용하면 웹브라우저와 웹서버간에 전송되는 데이터를 암호화 할수 있다 # 웹서버용 인증서를 발급 받아 웹서버에 설치 하고 사이트나 디렉터리에 SSL을 구성하면 사용자 연결시 암호화 된 보안 통신을 사용하게 된다

 

- 웹 브라우저와 웹서버간은 실제 데이터 암호화 를 위해 공개키와 개인키를 사용하지 않는다

- 실제 데이터 암호화 는 비밀키로 알고리즘을 이용한다

- 공개 키와 개인키는 인증 정보와 데이터 암호화 에 필요한 세션키를 공유하기 위해 사용된다

 

# SSL보안통신 과정

- 웹 서버는 인증 기관에 인증서를 요청 한다

- 웹 서버로 부터 인증 서 요청을 받은 인증 기관은 자체 검증 프로세스를 이용하여 검증을 한후 인증서를 발급 한다 # 웹서버에서는 발급 받은 인증서를 이용하여 SSL보안 통신을 설정 한다

- 사용자가 https://www.stu.com/secure와 같이 웹서버에 요청을 보낸다 (Secure 가상 디렉터리에 SSL이 설정되어 있다 웹서버에 SSL을 구성하면 HTTP대신 HTTPS 프로토콜을 사용하게 되며 TCP 포트 80번이 아닌 433번 을 사용하게 된다)

- 웹 서버는 Scure 가상 디렉터리에 매핑되어 있는 인증서를 브라우저에게 전송한다

- 웹 인증서를 받은 브라우저는 CA의 공개키를 이용해 인증서의 디지털 서명을 확인하고 사용자에게 보안 통신 여보를 물어보는 대호상자를 띄운다 # 사용자가 보안통신을 수락할 경우 웹서버 의 인증서로부터 웹 서버의 공개를 꺼내고 데이터 암호화에 필요한 세션키를 어떻게 만들 것인지를 협상한다

- 세션키 생성 협상 이 완료되면 웹 서버 의 공개키를 이용하여 생성된 세션키를 암호화 하여 웹서버에게 전송한다 # 웹서버는 개인키를 이용하여 암호화된 세션키를 해독한다

- 이후 웹브라우저 와 웹 서버간에 전송되는 데이터 는 세션키를 이용하여 암호화 된다

 

#인증서 설치

 

# 인증서 설치

 

- 자체서명된 인증서를 이용해서 보안웹사이트 구축(win2000/2003 에서는 보안웹 구성이 없어도 인증서 발급이 가능)
IIS -> NYC-DC1 호스트 -> 서버인증서 클릭 -> 자체 서명된 인증서 만들기 클릭 ->인증서 이름 : sslweb -> 기본웹사이트 우클릭 -> 바인딩 편집 추가클릭 -> 종류 : https 설정 -> SSL 인증서 : sslweb 인증서 선택 ->확인 ->닫기 -> SSL 설정 클릭 -> SSL 무시 체크 ->적용

 

2. NYC-SVR1 보안웹사이트 구성
인증기관에 접속
https://192.168.1.10/certsrv 접속
1. 인증서 요청 클릭 -> 고급 인증서 요청 -> 이 ca에 요청을 만들어 제출합니다. 클릭 -> 인증서 정보 : 1 국가 : kr 인증서 종류 : 서버 인증 인증서 -> 키를 내보낼 수 있게 표시 체크 : 이름 : 보안웹서버인증서 -> 제출

2. NYC-DC1 인증기관
보류 중인 요청 클릭 -> 보류중인 인증서 우클릭 -> 모든 작업->발급

3. 발급한 인증서 등록
https://192.168.1.10/certsrv -> 보류 중인 인증서 요청 상태 확인 클릭 -> 서버 인증 인증서 클릭 -> 이 인증서 설치 다운로드 : 에러발생 : 이 ca인증서를  설치 하십시요 클릭 -> 열기 -> 인증서 설치 클릭 -> 다음 -> 모든 인증서를 다음 저장소에 저장 선택 :찾아보기 클릭 : 실제 저장소 표시 체크 -> 신뢰할 수 있는 루트 인증기관 확장 : 로컬컴퓨터 체크 -> 확인 ->다음 -> 마침
확인 !!! 도구-> 인터넷 옵션 ->내용 ->인증서 클릭 -> 신뢰할 수 있는 루트 인증기관에 등록 확인-> 인증서 발급 완료

4. 실행 -> MMC -> 파일 스냅인 추가/제거 -> 인증서
내 사용자 계정/ 컴퓨터 계정 추가
현재사용자 -> 개인용 ->인증서 목록 : 1 인증서 우클릭 -> 모든 작업 -> 인증서 내보내기 -> 예 : 개인키를 내보냅니다. 선택 -> 다음 -> 암호 : 알아서 입력 ->파일이름 : 찾아보기 : 웹인증서 저장 ->다음 -> 마침

인증서(로컬컴퓨터)-> 개인용 -> 인증서 -> 우클릭 -> 모든 작업 :가져오기 ->파일 이름 : 웹인증서 선택 ->암호 입력 -> 다음 -> 마침

5. 보안웹사이트 구성
웹사이트 우클릭 -> 바인딩 편집 ->추가 -> 종류 :HTTPS -> SSL 인증서 : 보안웹서버 인증서 선택 ->확인 ->ssl 설정 클릭 -> ssl필요 체크 -> 적용

 

 

# Base64 인코딩 방식으로 인증서 발급

base64 인코딩 방식으로 웹서버용 인증서 발급 해서 웹서버적용
1.nyc-sv1 iis -> 서버인증서 ->작업 : 인증서 요청 만들기->고유이름 속성 정보입력 ->인증서 요청->인증서 요청 파일 이름 지정 : ... 클릭하면 :1.txt(인증서요청파일)열기->마침
2. 1.txt 열어서 복사

https://192.168.1.10/certsrv
인증서요청 ->고급인증서=> Base64 인코딩 ..... 클릭 -> base64로 인코딩된 인증서 요청 ->붙여넣기 -> 제출

3. nyc-dc 인증기관 -> 보류중인 인증 요청 클릭 - >발급
https://192.168.1.10/certsrv
보류중인 인증서 요청 상태 확인 -> 저장된 요청 인증서 다운로드 클릭 -> 인증서 다운로드
4. nyc-svr1
nyc-sv1 iis -> 서버인증서 ->작업 : 인증서 요청 완료 -> 인증기관의 응답이 포함되 파일 이름 ...찾아보기-> 다운로드된 인증서 불러오기 이름 :sslweb

 

# 도메인 인증서 만들기

 

#3 FTP

 

# FTP 인증서

 

# FTP메세지

 

 

NYC-DC1
DNS 서버
cloud.vm
호스트
www.cloud.vm
www2.cloud.vm

NYC-SVR1
웹서버 겸 DNS 서버
icbank.vm
네임서버 : ns.icbank.vm
www.icbank.vm
사이트 다중호스트헤더 www.cloud.vm, www.icbank.vm 같은 사이트 서비스
c:\www\start.html  -> www site

리눅스 -> 웹서버
www2.cloud.vm 사이트 구성
/www2/index.html -> www2 site

NYC-SVR1 독립실행형 인증기관
인증기관

리눅스 dns 서버
도메인 영역 rara.vm
네임서버 @
secure.rara.vm 호스트 생성

NYC-DC1
DNS 서버 -> secure.nana.vm 호스트
보안웹서버 구축 하면서 다중호스트 헤더
https://secure.nana.vm 사이트
https://secure.rara.vm
c:\secure\secure.html

FTP 서버
강사계정 : trainer
학생계정 : student

c:\ftpdata -> 강사 읽기/쓰기, 학생 읽기 권한부여
사용자1, 사용자2, 사용자3 ....
도메인명\사용자
nana\administrator

[마지막 종합문제]
1. nyc-dc1
DNS서버 ssl1.nana.vm 보안웹사이트 구성
인증서를 자신의 속한 enterprize 인증기관에서 받아서 처리
-windows 인증을 이용해서 도메인의  administrator만 접근이 가능하도록 설정

-기본웹에서 FTP 서버 추가 설치

FTP 서버 생성
사용자 계정
ftp1, ftp2, ftp3 사용자 생성
c:\ftpdata 폴더
ftp1 사용자는 읽기/쓰기권한
ftp2 사용자 읽기 권한
-win2003 서버에서 FTP 서버에 접속금지
-알 FTP를 이용해서 각 사용자 확인
-배너광고, 로그온 메세지, FTP 종료 메세지 구성 
 
2. nyc-svr1-> iis 기본설치
it.nana.vm 사이트 구현
c:\it\it.html
http 리디렉션 기능을 이용해서 https://ss1l.nana.vm 사이트로 리디렉션 되도록 설정하시오..

마지막으로 it.nana.vm 치면 -> https://ss1l.nana.vm 사이트로 이동하면 성공...!!!