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