정보 보안
접근 통제
보안 서비스
공격의 유형
소극적 공격 : 가로챔
적극적 공격 : 두절, 변경, 위조
(a) 정보의 정상적인 흐름
(b) 가로챔 (c) 두절
(d) 변경 (e) 위조
그림 7.1 공격의 유형
보안 서비스
∙ 기밀성(confidentiality)
∙ 인증(authentication)
∙ 무결성(integrity)
∙ 부인 방지(nonrepudiation)
∙ 가용성(availability)
∙ 접근 통제(access control)
해킹 방지
악성 프로그램
숙주 프로그램이 필요한 것 : 바이러스, 로직 폭탄, 트로이 목마
독립적으로 수행되는 것 : 박테리아, 벌레
악성 프로그램이나 해커의 침입 방지
∙ 패스워드 보호
∙ 방화벽 설치
∙ 침입 검출 : OS에 있는 계정(account) 소프트웨어 활용
검출 전용 소프트웨어 설치
그림 7.2 방화벽에 의한 해킹 방지
패스워드 관리
패스워드 선택 방법
∙ 사용자가 임의로 패스워드를 선택
∙ 컴퓨터를 이용하여 랜덤한 문자 스트림을 생성하고 이를 패스워드로
사용
∙ 시스템이 주기적으로 패스워드 크래커(cracker)를 실행하여 추측되는
패스워드를 찾아 그 패스워드를 취소하고 사용자에게 통보
∙ 사용자가 패스워드를 선택하게 하고 그 패스워드의 사용 여부를 시스
템이 결정
∙ 패스워드를 최소한 8문자 이상으로 하고 적어도 하나씩의 대문자, 소문 자, 숫자를 포함
I love Young-Ran. → ilyr 첫 글자만 선택
Changsuk → vjsmhdil 키보드에서 바로 오른쪽 문자
19840405 → !(*$)$)% 쉬프트 키를 누른 상태에서의 해당 문자
19850301 → bjifadab 0 1 2 3 ...을 a b c d ...로 대치
white → black 반대말
darling → radnilg 문자의 위치 바꿈
love → lovelove 반복
soft ball → sobaftll 두 단어를 혼합
computer → ocpmture → ixonryew → Ixonry4w 삼중 변환
관용 암호화
암호화 모델
보안 서비스를 제공하기 위한 요구사항
∙ 암호화 알고리즘의 선택
∙ 암호키 생성
∙ 키 분배
암호화 기법의 분류
- 해커의 해독 가능성
무조건 안전(unconditionally secure)
계산상 안전(computationally secure)
- 동작 형태에 따른 분류
대치법(substitution)
치환법(transposition)
- 평문의 처리 방법에 따른 분류
블록 암호화(block cipher)
스트림 암호화(stream cipher)
- 키에 따른 분류
비밀키(secret key) 암호화
공개키(public key) 암호화
관용 암호화 방법
송신측
수신측
공개키 암호화 방법
송신측
수신측
그림 7.4 관용 암호화 모델
그림 7.5 공개키 암호화 모델
대치법
Caesar 암호 : 각 문자를 세 번째 뒤에 있는 문자로 대체
평문 : a b c d e f g h i j k l m n o p q r s t u v w x y z
암호문 : d e f g h i j k l m n o p q r s t u v w x y z a b c
(예) data communication → gdwd frppxqlfdwlrq
단일 알파벳 암호 : 문자를 다른 문자로 일대일 매핑
평문 : a b c d e f g h i j k l m n o p q r s t u v w x y z
암호문 : o f j g z h r e k t a x d v q i s l u p m y n c b w
(예) data communication → gopo jqddmvkjopkqv
문자의 발생 빈도
단일 문자 : e t o a n i r s h d l c f u m p y w g b v k x j q z
이중 문자 : th in er re an he ar en ti te at on ha ou it
삼중 문자 : the ing and ion ent for tio ere her ate ver ter
단어 : the of and to a in that is I it for as with was
다중 알파벳 암호 : Vigenere 표를 이용
일정한 길이의 키를 반복하여 사용
특정 키에 평문 자체를 연결하여 자동키(autokey)로 사용
표 7.2 Vigenere 표
|
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
a |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
b |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
c |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
d |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
e |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
f |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
g |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
h |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
i |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
j |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
k |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
l |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
m |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
n |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
o |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
p |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
q |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
r |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
s |
S |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
t |
T |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
u |
U |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
v |
V |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
w |
W |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
x |
X |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
y |
Y |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
z |
Z |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
(예) Gerard Joling의 “Ticket to the tropics"
computer 키를 이용하여 다중 알파벳 암호로 변환
Gotta(=got to) buy me a ticket to the tropics
Forget our love and leave this place behind me
Gonna(=going to) buy me a ticket to the tropics
And prove myself that I can live without your love
- 키를 반복하여 사용하는 경우 :
키 : c o m p u t e r c o m p u t e r c o
평문 : t i c k e t t o t h e t r o p i c s
암호문 : v w o z y m x f v v q i l h t z e g
- 키에 평문을 연결한 자동키의 경우 :
키 : c o m p u t e r i c a n l i v e w i t h o u t
평문 : i c a n l i v e w i t h o u t y o u r l o v e
암호문 : k q m c f b z v e k t u z c o c k c k s c p x
(예제 7.1) 실제로 1차대전 때 영국군이 처음 사용하였고 2차대전 때에는 미국군도 사용하였다고 하는 playfair 알고리즘을 이용하여 “love is true"를 암호화하라. 단, 사용하는 키는 computer이다.
C |
O |
M |
P |
U |
T |
E |
R |
A |
B |
D |
F |
G |
H |
I/J |
K |
L |
N |
Q |
S |
V |
W |
X |
Y |
Z |
playfair 알고리즘
1. 평문을 두 문자씩 분리하여 한번에 두 문자씩 암호화한다.
2. ss와 같이 동일한 문자가 연속되면 채움 문자(filler letter) x를 삽입하여 sxs 형태로 만든다.
3. op와 같이 동일한 열에 있는 두 문자는 바로 오른쪽에 있는 문자인 mu로 암 호화한다.
4. tk와 같이 동일한 행에 있는 두 문자는 바로 아래에 있는 문자인 dv로 암호 화한다.
5. 이외의 경우에는 각 문자를 그 문자가 있는 열과 다른 문자가 있는 행이 교 차되는 부분의 문자로 암호화된다. 예를 들어, eq를 al로 암호화 한다.
평문 : lo ve is tr ue
암호문 : we wt sz ea ob
치환법
평문에 있는 문자의 위치를 바꾸는 매핑 방법
키 : 2 5 1 7 4 3 6
평문 : s c o r p i o
n s s t i l l
l o v i n g y
o u a n n e v
a d a e r o s
암호문 : osvaasnloailgeopinnrcsoudolyvsrtine
암호 해독 과정 : 3 1 6 5 2 7 4 단어 올바른 배열
o s i p c o r (scorpio) s c o r p i o
s n l i s l t (still s n) n s s t i l l
v l g n o y I (loving y) → l o v i n g y
a o e n u v n (anne o u v) o u a n n e v
a a o r d s e (eros a d a) a d a e r o s
해독된 평문 : scorpions still loving you & anne vada eros
2단계 치환법
1단계 치환 결과 : osvaasnloailgeopinnrcsoudolyvsrtine
키 : 2 5 1 7 4 3 6
치환 결과 : o s v a a s n
l o a i l g e
o p i n n r c
s o u d o l y
v s r t i n e
암호문 : vaiurolosvsgrlnalnoisoposnecyz
(예제 7.2) 다음 문장은 Scorpions의 “Still loving you"라는 노래의 가사 일부분이다. 아래에 주어진 순열표(permutation table)에 의해 문자들을 치환하는 방법으로 암호화하라.
평문 : I would try to change the things that killed our love.
순열표
'Cryptography' 카테고리의 다른 글
암호학 수업1일차 (0) | 2012.07.02 |
---|---|
암호학 (0) | 2012.07.02 |
암호학 (0) | 2012.07.02 |