• 검색 결과가 없습니다.

– PGP 와 같은 application 에 대해서는 고려하지 않는다 .

N/A
N/A
Protected

Academic year: 2021

Share "– PGP 와 같은 application 에 대해서는 고려하지 않는다 . "

Copied!
34
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

20021582 이 종한

20041729 한 민희

(2)

• IPSEC (Internet Protocol Security )

– IPSec 은 Internet Protocol Security 의 약어 .

– Network 통신 중 Network layer 에서의 보안을 위한 표준 . – 네트워크상의 IP layer 에서의 보안에 중점 .

– PGP 와 같은 application 에 대해서는 고려하지 않는다 .

IPSEC

(

Internet Protocol Security

)

(3)

SSL(Secure Socket Layer)

• SSL(Secure Socket Layer) – 인증서를 이용한 보안 방법 – 웹 표준암호화 통신 .

– 웹 서버와 웹 브라우저 사이에 정보를 암호화 해주는 방식 . – SSL 통신은 http 가 아닌 https 라는 통신채널을 사용 . – 모든 웹 서버와 웹 브라우저가 SSL 을 지원 .

(4)

IPSEC / SSL 계층표

SSL(Secure Socket Layer)

IPSEC (Internet Protocol Security )

(5)

IPSEC / SSL 공통점

IPSEC 과 SSL 은 계층만 다를 뿐 같은 방식의 암호화 알고리즘을 사용 .

대표적으로 비대칭 알고리즘인 RSA 를 사용 .

비대칭 알고리즘의 구성도 .

암호화 복호화

원본 메시지

원본 메시지 암호화된

메시지

송신자 수신자

공개키

(public key) 비밀키

(private key)

(6)

SSL 로 정보를 보안했을 경우 .

Server Client

데이터가 누군가에게 노출 되었을 경우 데이터 값이 공개된다 .

기존 Server 와 Client 의 전송 .

SSL 로 보호받는 Server 와 Client 의 전송 .

SSL

Server

누군가에게 데이터가 노출 되어있어도 비밀키 (private key) 가 없으면 어떤 값인지 알 수 없다 .

SSL

Client

(7)

SSL 사용사이트

전국고속버스운송사업조합

http://www.kobus.co.

kr

SSL 보안사이트 제공 회사 .

http://seal.versign.co m

사용자 컴퓨터로 저장된

보안된 인증서 (key)

(8)

공인인증서 발급 과정 .

< 공인인증서 발급 과정 >

< 공인인증서 종류 ( 일반 , 범용 )

>

(9)

공인인증서 발급 과정 .

< 보안카드 번호 및 개인정보 , 정보입력 >

(10)

RSA 알고리즘 – (1)

1977 년 리베스트 (R. Rivest), 샤미르 (A. Shamir), 아델먼 (L. Adelman) 이 개발 .

가장 많이 사용되는 비대칭 암호화 알고리즘 .

매우 큰 두 소수는 소인수분해가 매우 어렵다는 것에 기반 .

데이터를 암호화 하고 복호화 하는데 한 쌍의 키를 이용 .

(11)

• 소수인

p

q

를 정함 . (1 과 자신으로만 나눌 수 있는 수 )

• n 은 p

q

의 곱 .

( 즉 : n = PQ)

• Ф( 파이 )

p

q

에 각각 1 을 뺀수를 곱한 것 . ( 즉

: Ф = (p-1)(q-1) )

• 이 조건에 만족하는

ε 를 찾는다

. 1 < ε < Ф ::: gcd(ε, Ф) = 1

• 다음조건에 맞는 d 를 찾는다 .

1 < d < Ф ::: εd ≡ 1(mod Ф)

• 이 계산식으로 구해진 수들

n , ε , d

RSA 알고리즘 – (2)

(12)

• Public key (n , ε ) 생성됨 .

• Private key (n, d ) 생성됨 .

• Public key 는 공개 , private key 는 비공개 .

• 앞서 나온 p

q

Ф

도 비공개 .

RSA 알고리즘 – (3)

(13)

RSA 알고리즘 사용예 -(1)

• p = 11 , q = 3 이라고 가정 .

• n = 33 :: (n=pq)

• Φ=(11 - 1)(3 - 1 ) = 20

• 위의 구해진 수로

ε 를 구한다 .

• gcd(ε, Φ) = 1 1 < ε < Φ 두 조건을 만족해야 함 .

• gcd(ε, (p-1)(q-1) ) = 1

• gcd(ε, (p-1))=1 과 gcd(ε, (q-1))=1 이면 ε 가 됨 .

(14)

• Φ=(p-1)(q-1) 이므로

gcd(ε, Φ) gcd(ε, (p-1)(q-1)) 과 같다 .

• 즉

gcd(ε, (p-1))=1 gcd(ε, (q-1))=1 일때 gcd(ε, Φ) 는 1 일수 밖에 없다 .

RSA 알고리즘 사용예 -(2)

(15)

ε 를 구하는 예제

1 < ε < 20 중 가장 작은 소수 순으로 대입

gcd(2, 10)=2

gcd(2, 2)=2 <- 1 이 아니므로 X.

gcd(3, 10)=1

gcd(3, 2)=1 <- ε 값이 1 을 만족함으로 O.

d 를 구하는 예제

εd ≡ 1 (mod Φ)

->εd 를 Φ 로 나누면 나머지가 1 식으로 표현

(εd-1) mod Φ ≡ 0 (3d-1) mod 20 ≡ 0

RSA 알고리즘 사용예 -(3)

(16)

• 위의 식으로 1 < d < 20 인 d 값을 구한다 .

• ceil(20/3) = d = 7.

위 식으로 구해진 값들 .

• p 는 11 , q 는 3 , n 은 33

• Φ 는 20 , ε 는 3 , d 는 7

• public key 는 (33, 3)

• private key 는 (33, 7)

RSA 알고리즘 사용예 -(4)

(17)

• Public key 과 Private key 를 이용 .

• 암호화 / 복호화 를 구현 .

• 암호화할 m 을 5 라고 가정 .

• public key 키 (33, 3) 을 이용해서 암호화 .

• 암호화된 숫자는 26 :: (124%33=26)

RSA 알고리즘 사용예 -(5)

C = m^ε mod n

C = 5^3 mod 33 = 125 mod 33 = 26

(18)

• 이제 private key (33, 7) 를 이용해서 복호화 .

• m 이 5 로 복호화 됨 .

• 문자등도 가능 하도록 아스키 코드 등등을 이용

• 죄다 숫자로 변형해서 암 / 복호화 하면된다 .

• 중간에 C 값과 public key 값을 알게되더라도

d 값을 모르면 복호화가 불가능 함 .

m = C^d mod n

m = 26^7 mod 33 = 8031810176 % 33 = 5

RSA 알고리즘 사용예 -(6)

(19)

• 자바에서는 keytool 명령어를 이용하여 간단히 구현가능 .

keytool 은 키와 인증서를 관리하는 유틸리티 .

JAVA 를 이용한 SSL 구현

Keytool

사용법 Keytool

-help

(20)

• 명령어 실행방법

keytool –genkey –keystore 파일명 – keyalg RSA

- genkey 키페어를 생성하는 옵션 . - keystore 파일을 지정하는 옵션 .

- keyalg 암호 알고리즘을 지정하는 옵션 .

JAVA 를 이용한 SSL 구현

(21)

JAVA 를 이용한 SSL 구현

Keytool 유틸리티를 이용한 인증서 생성방법 .

(22)

JAVA 를 이용한 SSL 구현

생성된 Key 를 이용하여 인증서 생성 .

완성된 인증서 .

(23)

JAVA 를 이용한 SSL 구현

EchoServer.java :

일반 적인 echo 서버로서 암호화는 되어있지 않다 . echo 클라이언트 에게 넘겨받은 데이터를 되돌려 준다 .

(24)

JAVA 를 이용한 SSL 구현

EchoClient.java :

echo 서버와 통신하는데 echo 서버에 데이터를 날려주고 그 데이터를

서버로부터 다시 받는다 .

(25)

JAVA 를 이용한 SSL 구현

ECHOSERVER 실행 .

EHCOCLIENT 실행 . 데이터전송 .

(26)

JAVA 를 이용한 SSL 구현

SSL 를 적용한 ECHOSERVER 와 ECHOCLIENT 를 만들어

보자 . 기존 EchoServer

SSLEchoServer

(27)

JAVA 를 이용한 SSL 구현

SSL 를 적용한 ECHOSERVER 와 ECHOCLIENT 를 만들어 보자 .

기존 echoclient

SSLechoclient

(28)

JAVA 를 이용한 SSL 구현

SSLECHOSERVER 실행 .

SSLEHCOCLIENT 실행 . 데이터전송 .

(29)

Ethereal 을 이용한 데이터 캐치

EchoServer 와 EchoClient 의 데이터 전송중 캐치 했을 때 정보 공개

숫자를 전송 시 .

(30)

EchoServer 와 EchoClient 의 데이터 전송중 캐치 했을 때 정보 공개

문자를 전송 시 .

Ethereal 을 이용한 데이터 캐치

(31)

SSLEchoServer 와 SSLEchoClient 의 데이터 전송중 캐치 했을 때 정보 공개

숫자를 전송 시 .

암호화 되어있다

Ethereal 을 이용한 데이터 캐치

(32)

SSLEchoServer 와 SSLEchoClient 의 데이터 전송중 캐치 했을 때 정보 공개

문자를 전송 시 .

암호화 되어있다

Ethereal 을 이용한 데이터 캐치

(33)
(34)

참조

관련 문서

• Client Application 이 Client Interface Library 를 통해 Server 와 통신. • Client Interface Library 는 Server 가 명령을 이해하고 Parsing 할 수 명령어를

- DES보다 안전하며, PGP(Pretty Good Privacy)의 암호 알고리즘으로 사용되고 있다.. •인수분해 문제(Prime

(BROADCASTING CHANNEL)을 통해 수용자 (AUDIENCE)에게 공식적인 정보나 의견(MESSAGE) 를 전달함으로써 사회적 효과(SOCIAL EFFECT)를 초..

Java 기술을 직접 개발한 썬 마이크로시스템즈에서 Java Programming 언어에 관련된 지식을 표준화된 방식으로 검 증해 주는 시험이며, 또한 Java 기반의 모든 툴 개발에 필요

교대로 편도함수는 차분몫을 이용하여 근사적으로 구할 수 있기 때문에 벡터 와 에 의해 결정된 평행사변형을 이용하여 를 근사할

더버 더버서 더웁다 더와 더와서 더우니 더우다 더워.

냄새 성분인 isobutylaldehyde, isovalderaldehyde, isovaleraldehyde, n- butylaldehyde 와 같은 aldehyde 는 head space 를 이용하여, myristic acid,

이러한 방법을 사용하면 문제의 크기가 점차 커짐에 따라 많은 초기 상태에서의 반복수행이 필요하게 되어 계산시간이 많이 소요되며, 국소 최소점에 빠질 수가 있는