목 표 내 용

Download Report

Transcript 목 표 내 용

안드로이드 기반 데이터
암호화 플랫폼 개발
-DES암호화 알고리즘 모듈 개발
Kyungwon University
Computer Network LAB
2011.9.7 심 재성
1
DES암호화 알고리즘 모듈 개발
1. 과제 개요
2. DES 개요
3. DES 설계 및 구현
4. 진행 일정 및 상황
5. 향후 일정
2
1. 과제 개요
▣ 과제 수행의 필요성
◎ 모바일
기기가 발전 모바일용 운영체제, 미들웨어, 응용
프로그램 을 묶은 S/W플랫폼 안드로이드 기반 어플리케
이션이 많이 개발되고 사용됨
◎ 사용자
정보를 유출시켜 피해를 주는 악성 어플리케이션
◎ 보안에
대한 인식 부족과 개발시 데이터 보안 고려 부족
등 어플리케이션 암호화를 하는 API는 개발 되
었으나 안드로이드 기반의 데이터 암호화 플랫폼 부재
◎ OpenSSL
◎ 어플리케이션
개발에 보안을 고려하게 되면 기본적으로
개발비용 외에 별도의 비용 발생 및 전문가 확보 어려움
3
1. 과제 개요
▣ 과제 수행의 필요성
◎ 모바일
기기가 발전 모바일용 운영체제, 미들웨어, 응용
프로그램 을 묶은 S/W플랫폼 안드로이드 기반 어플리케
이션이 많이 개발되고 사용됨
◎ 사용자
정보를 유출시켜 피해를 주는 악성 어플리케이션
◎ 보안에
대한 인식 부족과 개발시 데이터 보안 고려 부족
등 어플리케이션 암호화를 하는 API는 개발 되
었으나 안드로이드 기반의 데이터 암호화 플랫폼 부재
◎ OpenSSL
◎ 어플리케이션
개발에 보안을 고려하게 되면 기본적으로
개발비용 외에 별도의 비용 발생 및 전문가 확보 어려움
4
1. 과제 개요
[표-1] 내용 및 범위(전체)
목
표
내
안드로이드 기반의 데이터
암호화 플랫폼 요구 분석
- 모바일 보안 실태 분석
- 안드로이드 보안 개발 유형 조사 및 분석
- 암호화 알고리즘 분석
- 모바일 환경의 데이터 사용 유형 분석
안드로이드 기반의 데이터
암호화 플랫폼 설계
- 안드로이드 환경의 데이터 암호화 시나리오 설계
· 단말저장형 데이터 시나리오 설계
· 단방향전송형 데이터 시나리오 설계
· 실시간 전송형 데이터 시나리오 설계
- 안드로이드 환경에 적합한 경량화된 암호화 알고리즘 설계
· RSA, ECC, SEED(3-DES) 등
- 안드로이드 기반 암호화 플랫폼 설계
· 시나리오 구별 모듈 설계
· 데이터 전처리 모듈 설계
· 경량화 암호 알고리즘 모듈 설계
안드로이드 기반의 데이터
암호화 플랫폼 구현
- 안드로이드 환경의 시나리오별 데이터 암호화 구현
· 단말저장형 데이터 암호화 구현
· 단방향전송형 데이터 암호화 구현
· 실시간전송형 데이터 암호화 구현
- 안드로이드 기반 데이터 암호화 플랫폼 구현
· 시나리오 구별 모듈 구현
· 데이터 전처리 모듈 구현
· 경량화 암호 알고리즘 모듈 구현
안드로이드 기반의 데이터
암호화 플랫폼 테스트 및 평가
용
- 구현된 데이터 암호화 플랫폼 모듈별 단위 테스트
- 구현된 데이터 암호화 통합 테스트
- 구현된 데이터 암호화 플랫폼 평가 및 보완
공개 SW 커뮤니티 프로젝트 구성
- 초기 커뮤니티 멤버구성
- Sourceforge 커뮤니티 구성
- nForge 커뮤니티 구성
- 전문가 그룹 및 관련 소모임을 통한 멤버 구성
공개 SW 커뮤니티 프로젝트 운영
- 커뮤니티 맴버구성
- 공개 SW 커뮤니티 홍보
- 커뮤니티를 통한 요구사항 및 기능 Feedback
- 커뮤니티를 통한 세미나 및 소모임
- 공개 SW 커뮤니티 활성화를 위해 국내·외 안드로이드 개발자 모임을 통한 커뮤니티 연계
5
1. 과제 개요
[표-2] 과제 일정(전체)
추진일정
단계
과제내용
5
2
9
1
6
6
2
3
3
0
6
1
3
7
2
0
2
7
4
1
1
8
1
8
2
5
1
8
1
5
9
2
2
2
9
5
1
2
10
1
9
2
6
3
1
0
1
7
11
2
4
3
1
7
1
4
모바일 보안 실태 분석
안드로이드 보안 개발 유형 분석
분석
모바일 환경의 데이터 사용 유형 분석
데이터 암호화 시나리오 설계
설계
경량화된 암호화 알고리즘 설계
암호
알고리즘
구현
시나리오별 데이터 암호화 구현
테스트
모듈별 단위 테스트
설계
암호화 플랫폼 설계
구현
데이터 암호화 플랫폼 구현
플랫폼
테스트
테스트
모듈별 단위 테스트
통합테스트
플랫폼 평가 및 보완
6
2
1
1. 과제 개요
▣ 과제 해결 내용
◎ 요구
분석
 모바일 보안 실태 분석
 모바일 환경의 데이터 사용 유형 분석
 안드로이드 보안 개발 유형 조사 및 분석
 암호화 알고리즘 분석
 요구 분석된 내용을 주 3회 정기적으로 커뮤니티 공유하고, 수정 및 보안
을 계속적으로 조사.분석
◎ 설계
 안드로이드 환경에서 데이터 암호화 시나리오 설계
 경량화된 암호화 알고리즘 설계
 안드로이드 기반 암호화 플랫폼 설계
7
1. 과제 개요
▣ 과제 해결 내용
◎ 구현
 안드로이드 환경에서 데이터 암호화 시나리오 구현
 단말 저장형 암.복호화 속도에 중점
 단방향전송형 암호 강도에 중점
 실시간전송형 빠른 키 전송 및 데이터 암.복호화 속도에 중점
 안드로이드 기반 암호화 플랫폼 구현
 설계를 기반으로 각 시나리오에 맞게 구별되는 것을 중점으로 구현
◎
테스트 및 평가
 구현된 데이터 암호화 플랫폼 모듈별 단위 테스트
 구현된 데이터 암호화 통합 테스트
 구현된 데이터 암호화 플랫폼 평가 및 보완
 입력값, 출력값, 오류발생원인, 오류발생상황 등을 상세히 기록 커뮤니티 공유
8
1. 과제 개요
▣ 과제 해결 내용
◎ 공개
S/W 커뮤니티 프로젝트 구성 및 운영
 초기 구성원은 관련 연구원과 전문가 그룹을 중심
 추가적으로는 본교 개발동아리와 연계로 구성 활동인원 증원
 초기 구성원으로부터 관련 정보를 획득, 커뮤니티를 통해 정보를 공유하
고, 지속적인 커뮤니티 회원들과의 의사소통 유도
 커뮤니티를 통한 요구사항 및 기능 Feedback
 커뮤니티를 통한 세미나 및 소모임
 국내외 안드로이드 개발자 모임을 통한 커뮤니티 연계
9
1. 과제 개요
▣ 과제 수행시 기대효과
◎ 안드로이드
기반의 어플리케이션의 보안성 증대
 본 과제의 안드로이드 기반 데이터 암호화 플랫폼을 통해 개인 및 기업
개발자들이 활용 가능
 개발 어플리케이션의 보안성이 크게 증대
 사용자들의 개인정보 유출 예방 효과
◎ 공개
S/W 커뮤니티 활성화 및 파급효과
 안드로이드 기반 데이터 암호화 플랫폼은 모든 소스 및 개발 과정이 공개
S/W 커뮤니티에 공개
 개인 및 기업 개발자 들의 적극적인 참여를 유도 공개 S/W 커뮤니티 활성
화를 도모, 보안의 인식제고 등 효과 기대
10
1. 과제 개요
▣ 과제 수행시 기대효과
◎ 개발
비용의 절감
 현재 개인 및 기업 개발자에 의해 개발되고 있는 보안 플랫폼을 추가 하
려면 보안관련 전문가의 필요와 보안 모듈개발로 인해 개발비용과 시간
이 증가
 본 과제를 통해 개발되는 플랫폼은 공개 S/W정책을 적용 추가 개발비용
과 시간적 측면에서 모두 감소
◎ 보안의
인식 확대
 최근 발생되는 수많은 모바일 단말에서의 해킹사고 및 개인정보 노출문
제 발생
 근본적인 개발자들의 해결의지 부족과 기본인프라 부족
 본 과제는 공개 S/W 커뮤니티를 통해 보안 문제 이슈 발생 및 보안 홍보
효과 증가
11
2. DES 개요
▣ 내용 및 범위(개인)
목 표
DES 암호화
알고리즘 분석
내
암호화 알고리즘 분석
DES 암호화 알고리즘 분석
DES 암호화
알고리즘
모듈 설계
DES 암호화 알고리즘 설계
DES 암호화 알고리즘 모듈 설계
· 시나리오 구별 모듈 설계
· 데이터 전처리 모듈 설계
· 경량화 암호 알고리즘 모듈 설계
DES 암호화
알고리즘
모듈 구현
DES 암호화 알고리즘 모듈 구현
· 시나리오 구별 모듈 구현
· 데이터 전처리 모듈 구현
· 경량화 암호 알고리즘 모듈 구현
DES 암호화 알고리즘
모듈 테스트 및 평가
용
구현된 DES 암호화 모듈별 단위 테스트
구현된 DES 암호화 통합 테스트
구현된 DES 암호화 평가 및 보완
12
2. DES 개요
▣ DES 암호화 알고리즘
(Data Encryption Standard : DEA)
◎
IBM에서 개발한 대칭키 알고리즘
 IBM의 암호학자 Feistel이 만든
블록암호의 구조가 그대로 사용됨
 치환과 전치의 혼합방법을 사용
◎
◎
1977년부터 20년간 미국 표준,
국제 표준으로 사용되었던 알고리즘
현재 상용화 되어 있는 3DES, RC5,
IDEA, BlowFish 등 대칭키 암호화
방식의 가장 기본
[그림-1] Horst Feistel
13
2. DES 개요
▣ DES의 특징
◎ 대칭적
알고리즘을 사용하는 개인 정보 보안 네트워크
 작은 경우 적은 수의 비밀키 교환만 하면 되어 쉽고 간편함
 큰 경우 많은 수의 비밀키 교환으로 인해 안전 교환이 어려워져 비용이
비싸지고 부담스러워짐
◎ 비밀키
공유로 인한 신뢰성
 상대방이 비밀키를 보호하고 누출 하지 않을 것에 대한 신뢰
 개인적이든 업무용이든 이전에 알고 있는 관계에서만 사용
◎ 인증과
부인 방지
 비밀키가 공유되어 상대방의 행위를 증명 하지 못함
 데이터를 몰래 수정할 수 있으나 도용자 식별 불가
14
2. DES 개요
▣ DES 암·복호화
◎ DES
암호화
 64Bit 길이의 평문 과 키값 을 입력받아 암호문을 출력
 키 값에 입력된 값을 좌측 쉬프트하여 16라운드 실행
◎ DES
복호화
 64Bit 길이의 암호문 과 키값 을 입력받아 평문을 출력
 키 값에 입력된 값을 우측 쉬프트하여 16라운드 실행
키(56+8 bit)
평문
64bit
DES
암호화
키(56+8 bit)
암호문
64bit
DES
복호화
평문
64bit
[그림-2] DES 암·복호화 과정
15
2. DES 개요
▣ DES 암·복호화
◎ 평문을
순치환 후 마지막에 역치환 하여 암호문 출력
◎ 암호문을 역치환 후 마지막에 순치환 하여 평문 출력
64bit
16번
반복
평문
64bit
암호문
순 치환
64bit
비밀키
역 치환
64bit
비밀키
키에 의한 변환
(치환, 전치, XOR)
48bit
암호키
키에 의한 변환
(치환, 전치, XOR)
48bit
복호키
역 치환
64bit
순 치환
암호문
64bit
평문
[그림-3] DES 암·복호화 알고리즘
16
2. DES 개요
▣ Use Case
암호화
입력
데이터
암호문
출력
송신자
단말기
복호화
[그림-4] USE CASE
17
2. DES 개요
▣ 단말 저장형 데이터 보관
◎
단말기 내에 저장되는 전화번호부, 스케줄 위험 노출
• 단말기 분실 시 저장 데이터 유출
• 외부 해킹으로 인한 저장 데이터 훼손
단말 저장
데이터 보관
[그림-5] 비보호 상태의 데이터 보관
18
2. DES 개요
▣ 단말 저장형 데이터 보관
◎
DES 암호화를 사용하여 저장데이터 보호
• 외부로 부터의 비정상적 접근 제어
• 비밀키 미인증 접속자 대상 정보 보호
단말 저장
데이터 보관
DES
비밀키
[그림-6] DES로 보호된 저장 데이터
19
2. DES 개요
▣ DFD
블럭화
암호화
라운드 암호키
평문
암호키DB
PCA,PCB,LSH
암호키
사용자
암호키 생성
평문
PCA,PCB
LSH, RSH
비밀키
비밀키
64bit 비밀키
블럭화
64bit 비밀키
-1
IP,IP
E, S, P
암호문
복호키 생성
단말기
복호키
복호키DB
라운드 복호키
복호화
[그림-7] Data Flow Diagram
PCA,PCB,RSH
암호문
블럭화
20
3. DES 설계 및 구현
▣ 입력 값 분할
START
A=int(Len(input)/8)
B=0
C=Len(input)
inputM(A)
Read
Input, Space
반복
D=A*8,C,1
input=input+space
B=B+1
inputM(B)=Sub(input(B,B*8))
B=A
Yes
No
STOP
21
3. DES 설계 및 구현
▣ 키 생성 (1/2)
START
REK
RoundEncoderKey
TK
TempKey
L
Left
R
Right
BK
BitKey
ES
EncoderShift
DS
DecoderShift
REK(48)(16)
TK(56)
L(28)(17)
R(28)(17)
All(56)(16)
Read
BK,ES,DS,
PCA,PCB
반복
a=1,56,1
TK(a)=BK(PCA(a))
반복
b=1,28,1
L(b)(0)=TK(b)
R(b)(0)=TK(28+b)
ⓐ
22
3. DES 설계 및 구현
▣ 키 생성 (2/2)
ⓐ
반복
a=2,17,1
c=0
반복
• DES 암호화
배열 ES를 이용하여 진행
• DES 복호화
배열 DS를 이용하여 진행
b=1,28,1
b+ES(a-1):28
=<
c=b+ES(a-1)
L(b)(a)=L(c)(a-1)
R(b)(a)=R(c)(a-1)
>
C=0+ES(a-1)
L(b)(a)=R(c)(a-1)
R(b)(a)=R(c)(a-1)
All(b)(a-1)=L(b)(a)
All(28+b)(a-1)=R(b)(a)
반복
d=1,48,1
c=PCB(d)
REK(d)(a-1)=All(c)(a-1)
STOP
ⓑ
23
3. DES 설계 및 구현
▣ DES 알고리즘
START
EDT
EncoderDecText
EBT
EncoderBitText
ERK
EncoderRightKey
AT
AllText
LT
LeftText
RT
RightText
FS
FrontS
RS
RearS
TS
TempS
• DES 암호화 => 초기 순치환
• DES 복호화 => 초기 역치환
EDT(16)
EBT,AT(64)
FS,RS,TS(8)(17)
ER,ERK(48)(17)
TSERK,SERK,PSERK(32)(17)
LT,RT(32)(17)
TT(64)(17)
SMOK,SNMG
Read
-1
IP,IP
,E,S,P,BT,REK
반복
a=1,64,1
TT(a)=BT(IP(a)
반복
a=1,32,1
LT(a)(1)=TT(a)(1)
RT(a)(1)=TT(28+a)(1)
ⓐ
24
3. DES 설계 및 구현
▣ DES 알고리즘
ⓐ
반복
a=2,17,1
반복
b=1,32,1
LT(b)(a)=RT(b)(a-1)
반복
c=1,48,1
ER(c)(a)=RT(E(c))(a-1)
ERK(c)(a)=ER(c)(a-1) +REK(c)(a-1)
d=0
반복
e=1,8,1
FS(e)(a)=2*RT(1+d)(a-1)+RT(6+d)(a-1)
RS(e)(a)=8*RT(2+d)(a-1)+4*RT(3+d)(a-1)
2*RT(4+d)(a-1)+RT(5+d)(a-1)
TS(e)=S(e)(FS(e)(a),RS(e)(a))
d=d+6
ⓑ
25
3. DES 설계 및 구현
▣ DES 알고리즘
ⓑ
반복
f=4,32,4
반복
g=1,4,1
SMOK=TS((f)/4-1)(a)/2
SNMG=TS((f)/4)(a)-(SMOK*2)
TS((f)/4)(a)=SMOK
SERK(f-g)(a)=SNMG
반복
h=1,32,1
PSERK(h)(a)=SERK(P(h))(a)
RT(h)(a)=PSERK(h)(a) +LT(h)(a-1)
반복
i=1,32,1
AT(i)=RT(i)(17)
AT(28+i)=LT(i)(17)
EBT(i)=AT(IP -1(i))
EBT(28+i)=AT(IP -1(i))
STOP
ⓒ
26
3. DES 설계 및 구현
▣ DES 암호화 구현
String 타입의 input 변수에 평문 값 입력
◎ 입력된 평문 값에 대한 암호문 생성
◎
 입력된 값의 약 2배정도 길이의 String타입 암호문 출력
TEST
Divid8
DES_Set
(MAIN)
(8자리 분할)
(이진 변환)
DES_Encode
DES_Encode
rKey
r
(암호키 생성)
(암호화)
•변수 Secretkey
TEST
(MAIN)
27
3. DES 설계 및 구현
▣ DES 복호화 구현
String 타입의 cipher 변수에 암호문 값 입력
◎ 입력된 암호문 값에 대한 평문 복호
◎
 암호화에서 입력되었던 String타입의 평문을 복호화하여 출력
TEST
Divid16
DES_END
(MAIN)
(16자리 분할)
(이진 변환)
•변수 Secretkey
DES_Set
(이진 변환)
DES_Decode
DES_Decode
rKey
r
(암호키 생성)
(암호화)
TEST
(MAIN)
28
4. 진행 일정 및 상황
▣ 과제 일정(개인)
추진일정
구분
내용
6
29
계획
13
20
27
03
10
17
24
31
07
DES 암호화 문서화
분석
알고리즘 모듈
06
9
8
과제 파악 및 일정 계획
문서 작성
DES암호화
7
암호화 알고리즘
DES 암호화 알고리즘
설계
데이터 암호화 설계
구현
데이터 암호화 구현
테스트 모듈별 단위 & 종합 테스트
29
4. 향후 일정
▣ 향후 일정
◎
현재까지 진행된 작업자료 업로드
◎
SNS를 활용한 재난상황 대처(학술대회)
 기존 재난전달 체계의 보완점을 조사 및 분석
 SNS를 활용한 재난 정보 수집 및 이용 방안 제안
◎
PMIPv6 에 대한 학회지, 논문지 조사 분석
◎
Fast Handover기법에 대한 학회지, 논문지 조사
30
31