반응형

공개키에 의한 세션키 분배 : SESAME

대면 = 상면한다.
자신의 개인키, 공개키기관의 공개키

a가 b에게 접속하고 싶다는 시그널을 받은 공개키 기관은

공개키 기관이 자신의 개인키로 B의 공개키를 암호화해서 보낸다.

암호화된 b의 공개키를 기관의 공개키로 푼다.

a는 자신의 공개키로 b의 공개키를 암호화해서 b에게 보낸다.

b는 공개키 기관에 a의 공개키를 물어보고 공개키 기관은 자신의 개인키로 암호화해서
a의 공개키를 암호화해서 보낸다.

    N1은 b가 a를 확인하기 위한 난수이다
    N2는 a가 b를 확인하기 위한 난수이다.

N2를 a가 b에게 보내오면 신원이 확인된것을 알수 있다.

세션키를 a의 공개키로 한번 풀고 b의 공개키로 풀어준다.


해쉬함수

한쪽은 무한대이고 한쪽은 길이가 정해져 있다.
해쉬값이 무한대이지만 충돌날 확률이 높다


전자서명 PKI

책임추정성을 어떻게 확보할 것이냐 해서 나오게 되었다.(무결성과 관련됨)

전자서명 = 사용자 인증 + 메세지 인증 (두가지를 같이 입증해야한다.)

전자 서명의 원칙
1. 서명자 신원확인
2. 위조 불가
3. 변경 불가
4. 부인 불가
5. 재사용 불가

현재 공개키 암호 알고리즘을 사용한다.
- 메시지 복원형 전자서명 방식
- 문서 자체를 이용하는 서명방식
- 메시지 부가형 전자서명 방식
- 문서에 서명메세지를 포함하는 방식

공개키를 이용한 전자서명
전자서명과 공개키 암호의 관계
전자서명의 인영 역할 -> ‘공개키’
서명자A가 갖고 있는 인감 -> ‘개인키’
전자서명
- 서명자A의 개인키로 데이터의 전자서명을 생성
- 서명자A의 공개키로 전자서명을 검증

메세지 - 해쉬 - 다이제스트(길이가 한정되어있음)
- 송신자의 개인키로 암호화 -> 서명
메세지에 서명을 붙여서 보냄
받는자는 메세지와 서명을 분리시킴
메세지는 해쉬로 다이제스트를 만들고
암호화된 서명을 송신자의 공개키로 복호하여 다이제스트를
만든다
메세지 다이제스트와 복호한 다이제스트를 비교하여 확인한다


전자 봉투 (속도빠름, 기밀성이 높음)
메세지를 난수비밀키로 암호화하고
난수비밀키는 수신자의 공개키로 암호화하여(디지털봉투)
수신자에게 보낸다.
수신자는 디지털봉투를 수신자의 개인키로 복호화한다.
메세지를 비밀키로 복호화하여 메세지를 확인한다.

단점 : 상대방 인증이 안되고, 메세지가 바뀐지 알수없다.

PKI구성 요소

CRL : 인증서 폐지 목록
상태검증 : 인증서를 쓸 수 있는건지 확인

반응형

'암호학' 카테고리의 다른 글

4. 키관리  (0) 2022.12.27
1. 암호의 개념과 고전  (0) 2022.12.08
2. 비밀키  (0) 2022.12.08
반응형

mod 59
암호알고리즘 : mod59 에서 곱셈
개인키 : 4,15
공개키 : 4*15 mod 59 = 1
KR,KU = (4, 15) = d, o
원문 : biro (2,9,18,15)
      2*4, 9*4, 18*4, 15*4 = (8, 36, 13, 1)
서명문 : hJma
       8*15, 36*15, 13*15, 1*15
원문 : 2, 9, 18, 15 = biro


mod n
1 2 3 4 5 6 7 8 9 ... n-1
a b c d e f g h i ...

공개키 : 문자로 뭔지
서명문 : asbbsdfgWdasWZZ

mod53
개인키 : 6,9
공개키 : 6*9 mod 53 = 1
KR,KU = (6,9) = f, i
원문 : (49 5 3 1 14 14 15 20 1 12 23 1 25 19 2 21 9 12  4 20 8 5 6 21 20 21 18 5 6 15 18
15 21 18 25 15 21 20 8 2 21 20 23 5 3 1 14  2 21 9 12 4 15 21 18 25 15 21 20 8 6 15 18
20 8 5 6 21 20 21 18 5) * 6(개인키)
-> 294 30 18 6 84 84 90 120 6 72 138 6 150 114 12 126 54 72 24 120 48 30 36 126 120 126 108 30 36 90 108
90 126 108 150 90 126 120 48 12 126 120 138 30 18 6 84 12 126 54 72 24 90 126 108 150 90 126 120 48 36 90 108
120 48 30 36 126 120 126 108 30
-> 29 30 18 6 31 31 37 14 6 19 32 6 44 8 12 20 1 19 24 14 48 30 36 20 14 20 2 30 36 37 2
37 20 2 44 37 20 14 48 12 20 14 32 30 18 6 52 12 20 1 19 24 37 20 2 44 37 20 14 48 36 37 2
14 48 30 36 20 14 20 2 30
서명문 : CDrfEEKnfsFfRhltasxnVDJtntbDJKbKtbRKtnVltnFDrfZltasxKtbRKtnVJK2nVDJtntbD

We cannot always build the future for our youth
but we can build our youth for the future

4. 키 관리

KDC를 이용한 비밀키 분배
세션키는 사용한뒤 바로 파기한다.
KDC에 의존하는 시스템

A(클라이언트)가 KDC에게 B(서버)에게 접속 할 수있는
세션키를 A와 B에게


1. 클라이언트A가 키분배 센터에게 자신의 식별정보(ID(A))를 등록하고 자신의 마스터키를 받는다. 
2. 키분배 센터는 클라이언트A에게서버B를 식별할수 있는 세션키와 ID(B)와 T를 준다. 서버B에게 클라이언트A와 같은 세션키와 클라이언트A의 ID(A), T를 준다.
3. 클라이언트A는 서버B에게 세션키와 자신의ID와 같이 배정받은 T를 알려준다.
4. 서버B는 클라이언트A에게서 온 정보를 확인하고 맞으면 클라이언트A에게 세션키와 자신의ID와 T에 약속한
계산을 붙여서 보내 준다.

클라이언트 A와 서버 B는 KDC에서 분배한 마스터 키를 1개씩 소유하고 있다.
클라이언트 A는 KDC에게 자신의 식별정보 ID(A)와 함께 B와 통신 할 수 있게 세션키를 요청한다.
KDC는 A에게 세션키와B의 식별정보와 난수를 A의 마스터키로 암호화하여 전달하고
B에게도 똑같이 세션키와 A의 식별정보와 난수를 B의 마스터키로 암호화하여 전달한다.
A는 받은 정보를 마스터키로 복호화하고 자신의 식별정보와 난수를 세션키로 암호화하여 B에게 전송한다.
B는 세션키로 A의 난수와 A의 식별정보를 통해 A의 신원을 확인한다.
B는 자신의 식별정보와 난수(T+1)를 연산하여 세션키로 암호화하여 A에게 전송한다.
A는 난수(T+1)에 연산된것을 확인하여 B의 신원을 확인한다.

통신이 종료되면 발급된 세션키는 폐기되고
다시 통신하려면 세션키를 KDC에게 요청한다.
각 사용자 A, B는 KDC에서 분배한 마스터 키 1개씩 소유하고 있다.
 구조에 대한 설명은 아래와 같다.
Request || ID(A), A, B는 발신자 A는 응답자 B와 통신하기위해 KDC에 Request 보낸다. 요청에는 자신의 신원정보 ID(A)와 B와 통신할 세션키를 요청한다. (*세션키=비밀키)
 
2.Eka[SK, ID(B), T]
- KDC는 발신자 A에게 B와 통신할 세션키, B의 신원정보 ID(B), 난수(T)를 응답한다. 
- 응답시 KDC는 A의 마스터키로 암호화해 A에게 보낸다. (KDC는 A, B의 마스터키를 가지고 있다.)
 
2. Ekb[SK, ID(A), T]
- KDC는 발신자 B에게 세션키와 A의 신원정보 ID(A), 난수(T)를 B의 마스터 키로 암호화해서 보낸다.
 
3. Esk[ID(A), T]
- A가 자신의 신원정보 ID(A)와 난수 (T)를 세션키로 암호화해서 B에게 전송한다.
- B는 A의 난수(T)와 A의 신원정보 ID(A)를 통해 A의 신원을 확인한다.
 
4. Esk[ID(B), T+1]
- B는 자신의 신원정보 ID(B)와 난수(T+1)를 연산하여 세션키로 암호화해 A에게 전송한다.
- A는 난수(T+1)에 연산된 것을 확인해 B의 신원을 확인한다.
 
통신 종료
- 통신이 종료되면 발급받은 세션키는 폐기된다.
- 다시 통신하려면 세션키를 KDC에 요청한다.

반응형

'암호학' 카테고리의 다른 글

세션키 분배  (0) 2022.12.27
1. 암호의 개념과 고전  (0) 2022.12.08
2. 비밀키  (0) 2022.12.08
반응형
더보기
용어 정리

Plaintext : 평문

암호알고리즘 -> 암호화 키
복호알고리즘 -> 복호화 키

암호해독 : 복호화 키 없이 평문을 찾아내는 기술

 

송신자와 수신자가 같은 키를 사용하면 대칭 키 
-> 만들긴 쉬우나 나눠 갖기는 어렵다.

송신자와 수신자가 다른 키를 사용하면 공개 키

 

암호의 개념

통신 당사자들끼리만 아는 비밀스런 신호나 부호이며 
암호화와 복호화하기 위한 원리, 수단, 방법 등을 취급하는 기술이나 과학이다.

 

평문 전송 시 공격을 방어하기 위해 암호화키, 복호화키를 만든다.

검증을 쉽게 하기 위해 암호알고리즘의 프로그램과 복호알고리즘의 프로그램이 같은것을 사용한다.
암호알고리즘은 검증이 쉬워야 하기 때문에 단순 하다.

 

암호 원리
치환 : 값을 바꿈
전치 : 값을 섞음

암호의 종류
블록 암호화 : 연산을 블록단위로 처리 (64bit, 128bit로 자름)
스트림 암호화 : 입력을 연속적으로 처리

단대단 암호
프로그램을 돌려서 암호화 한다.

링크 암호
기계가 암호화 한다.

관용 암호
암호/복호에 동일한 키와 동일한 알고리즘 사용 수신자와 송신자는 키를 교환해야 함 공유한 키(비밀키)는 비밀로 유지 키 분배의 어려움 디지털 서명 불가능 속도가 빠름

공개키 암호
암호/복호에 각각 서로 다른 키와 동일한 알고리즘 사용 수신자와 송신자는 연관된 키쌍 중 하나를 알아야 함 키 쌍중 하나(개인키)를 비밀로 유지 공개키를 공개 디지털 서명 가능 속도가 느림


고전적 암호 기술

전송 내용을 숨기는 방법
- Steganograhpy 방법 : 메세지의 존재 자체를 은폐
- 암호 방법 : 다양한 원문의 변환에 의해 외부인이 그 의미를 알지 못하도록 메세지를 변형
            치환, 전치를 이용 원문을 숨김

특징
- 원문내의 단어나 문자를 적당히 배열 함으로서 실제 메시지를 나타냄

예제
- 문자 마킹 : 원문의 문자에 연필로 덧써서 표시를 해 빛을 적당한 각도로 비추어야만 보임

- 보이지 않는 잉크 : 종이에 열이나 화학 처리를 해야만 보이는 잉크를 사용

- 핀 구멍 : 빛을 비춰야만 보이는 작은 구멍을 원문에 넣는 방법

 

장점 : 생성이 쉽다.
단점 : 상대적으로 적은 정보 비트를 은닉하는데 많은 오버헤드 요구
      방법 노출시 재사용 불가
      비밀 통신에 대한 사실이 발견되면 타인에 의해 이용될 수 있다.

최근 경향
- 동영상, 이미지 파일을 이용 원문을 숨기는 방법이 인터넷 등의 네트워크에서 이용됨
- 테러, 범죄에 이용되는 경우가 나타남

 

 

 

치환기법 - 시저 암호


쥴리어스 시저에 의해 개발
예제 (Key : 3)
평문   : meet me after the toga party
암호문 : phhw ph diwhu wkh wrjd sduwd

암호화 방식 (문자 p를 암호화)
C = E(p) = (p+3) mod (26)
일반화 : C = E(p) = (p+k) mod (26)
문자 p는 C로 암호화

복호화
p = D(C) = (C-3) mod (26)
일반화 : p=D(C) = (C-k) mod (26)
문자 C는 p로 복호화

단점
- 암호화 및 해독 알고리즘을 알고 있다.
- 가능한 키가 25개 뿐이다.
- Brute-force attack이 가능
- 평문의 언어를 알고 있으며 쉽게 인식할 수 있다.

 

 

 

 

다중치환 (난수표)


2자기씩 암호화
playfair 알고리즘은 5*5 행렬에 기초
키워드가 monarchy인 행렬

암호화 방법
me et me af te rt he to ga pa rt yd
cl kl cl oi kl dz cf pr in so dz bc

베제네리표 알파벳을 한칸씩 뒤로 밈
키(단어하나)워드 : infinitive
평문(보내고자 하는 문장) : i see him drive

i s e e h i m d r i v e
i n f i n i t i v e i n
q f j m u q f l m m d r

 

특징
평문자에 대한 암호문자가 유일한 키워드에 각 문자에 대하여 여
러 개 존재
문자 빈도수에 대한 정보가 불분명해진다

 

단점
평문 구조에 대한 정보가 모두 은폐되지는 않는다.
단일 문자나 다중문자로 암호화 되었는지 아는 것은 쉽다.
빈도수에 따라
키워드의 길이를 유추가능

 

 

 

전치기법

사각형 행렬 사용
키 : 정한 숫자를 내 맘대로 섞은 것
평문 : 키 숫자 수 대로 차례대로 나열
암호문 : 키의 숫자 순서대로 나열

1 3 5 6 7 2 4
c o m m o n s
e n s e i s t
h e b e s t s
e n s e i k n
o w o f a t t

ceheonstktonenwstsntmsbsomeeefoisia

전치 암호기법은 두 단계 이상의 전치를 행함으로써 더 안전성을 높일 수
있다.

 

반응형

'암호학' 카테고리의 다른 글

세션키 분배  (0) 2022.12.27
4. 키관리  (0) 2022.12.27
2. 비밀키  (0) 2022.12.08
반응형

 

비밀키 암호란?

대칭 키로써 하나의 키를 사용하는 시스템이다.

 

장점 : 다양한 알고리즘 개발과 알고리즘 수행속도가 빠르다.

 

단점 : 키가 하나이기 때문에 책임추정성이 없다.
          키 관리와 키 분배가 어렵다.
          디지털 서명이 어렵다.

 

Feistel 암호

 

별도의 복호화 과정이 불필요
블록 암호의 대표적인 구조
Li=Ri-1, Ri=Li-1 XOR 
F(Ri-1)
라운드 함수와 무관하게 복호


화가 됨
구조적인 취약점이 발견되지
않음
취약한 라운드 함수를 반복적
으로 사용함으로 강한 암호를
설계
암호화와 복호화가 동일

 

대칭키 암호의 종류로는 DES, AES, IDEA, SEED, RC4 등이 있다.

 

DES ( Data Encryption Standard)

IBM에서 Lucifer System을 개선하여 만들었다.

1977년 미 상무성의 국립 표준국(NBS)에서 표준 암호 알고
리즘으로 채택
암호화 키(Encryption key) = 복호화 키(Decryption key)
대칭키 암호 시스템, 단일키 암호 시스템, 관용 암호 방식
혼합(confusion), 확산(Diffusion)을 이용 원문과 암호문 간에 통계적 연관을 감춘다.

 

64비트 블록 암호 알고리즘으로 입력 메시지를 64비트씩 나누어 처리한다.

56비트 키를 사용하고 64비트 중 8비트는 Parity check로 사용한다.

 

기본 구조

round 수 : 16 round

복호화는 암호화의 역순

 

 

 

DES의 작동모드 - 3중 DES

 

DES의 brute-force공격에 대한 취약성을 보완

- 새로운 알고리즘 개발 : IDEA (128 bit 키 사용)

- DES의 응용 : 3중 DES, 2중 DES

 

3중 DES

- 2개의 키를 사용

- 암호화 : 암호화, 복호화, 암호화

- brute-force 공격에 DES보다 강함

 

암호화 복호화 과정

 

 

추가된 암호 알고리즘

 

AES (Advanced Encryption Standard)

- DES를 대체하기 위한 표준암호 알고리즘
- 리인델(Rijndael), 투피쉬(Twofish), 서펀트(Serpent), 
- MARS 등이 2차 선정 (2000)
- 2000년 10월2일 리인델이 AES로 선정

 

Rijndael

- 128,192,256 bit의 다양한 길이의 키를 사용

- 알려진 모든 공격에 대응 가능

- 스마트 카드상의 컴팩트한 보조 프로세서(PDA) 등에 이용 가능

 

IDEA (International Data Encryption Algorithm)

- 국제 데이터 암호 알고리즘

- 64bit 평문 블록에서 128bit 키를 이용 작동

- 8라운드로 작동

- PGP (Pretty Good Privacy)의 메일 시스템에 이용

 

RC5

- 32,64,128비트 블록 사이즈를 이용

- 0에서 255까지 다양한 라운드 사용

- 0에서 2048비트까지의 키를 이용

 

SEED

- 한국 정보보호 센터에서 1999년 2월 개발

- 128비트 평문 블록에서 128비트 키를 이용 작동

- 16라운드로 작동

- G 함수가 사용된다.

 

반응형

'암호학' 카테고리의 다른 글

세션키 분배  (0) 2022.12.27
4. 키관리  (0) 2022.12.27
1. 암호의 개념과 고전  (0) 2022.12.08

+ Recent posts