1 / 30

안드로이드 기반 데이터 암호화 플랫폼 개발

안드로이드 기반 데이터 암호화 플랫폼 개발. -DES 암호화 알고리즘 모듈 개발. Kyungwon University Computer Network LAB 2011.8.19 심 재성. DES 암호화 알고리즘 모듈 개발. 1. 과제 개요 ( 전체 ). 2. 과제 개요 ( 개인 ). 3. 진행 일정 및 상황. 4. 향후 일정. 1. 과제 개요 ( 전체 ). 과제 수행의 필요성

gail-lane
Télécharger la présentation

안드로이드 기반 데이터 암호화 플랫폼 개발

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 안드로이드 기반 데이터암호화 플랫폼 개발 -DES암호화 알고리즘 모듈 개발 Kyungwon University Computer Network LAB 2011.8.19 심 재성

  2. DES암호화 알고리즘 모듈 개발 1. 과제 개요(전체) 2. 과제 개요(개인) 3. 진행 일정 및 상황 4. 향후 일정

  3. 1. 과제 개요(전체) • 과제 수행의 필요성 • 모바일 기기가 발전 모바일용 운영체제, 미들웨어, 응용프로그램 을 묶은 S/W플랫폼 안드로이드 기반 어플리케이션이 많이 개발되고 사용됨 • 사용자 정보를 유출시켜 피해를 주는 악성 어플리케이션 • 보안에 대한 인식 부족과 개발시 데이터 보안 고려 부족 • OpenSSL등 어플리케이션 암호화를 하는 API는 개발 되었으나 안드로이드 기반의 데이터 암호화 플랫폼 부재 • 어플리케이션 개발에 보안을 고려하게 되면 기본적으로 개발비용 외에 별도의 비용 발생 및 전문가 확보 어려움

  4. 1. 과제 개요(전체) • 과제 수행의 필요성 • 모바일 기기가 발전 모바일용 운영체제, 미들웨어, 응용프로그램 을 묶은 S/W플랫폼 안드로이드 기반 어플리케이션이 많이 개발되고 사용됨 • 사용자 정보를 유출시켜 피해를 주는 악성 어플리케이션 • 보안에 대한 인식 부족과 개발시 데이터 보안 고려 부족 • OpenSSL등 어플리케이션 암호화를 하는 API는 개발 되었으나 안드로이드 기반의 데이터 암호화 플랫폼 부재 • 어플리케이션 개발에 보안을 고려하게 되면 기본적으로 개발비용 외에 별도의 비용 발생 및 전문가 확보 어려움

  5. 1. 과제 개요(전체) [표-1] 내용 및 범위(전체)

  6. 1. 과제 개요(전체) [표-2] 과제 일정(전체)

  7. 1. 과제 개요(전체) • 과제 해결 내용 • 요구 분석 • 모바일 보안 실태 분석 • 모바일 환경의 데이터 사용 유형 분석 • 안드로이드 보안 개발 유형 조사 및 분석 • 암호화 알고리즘 분석 • 요구 분석된 내용을 주 3회 정기적으로 커뮤니티 공유하고, 수정 및 보안을 계속적으로 조사.분석 • 설계 • 안드로이드 환경에서 데이터 암호화 시나리오 설계 • 경량화된 암호화 알고리즘 설계 • 안드로이드 기반 암호화 플랫폼 설계

  8. 1. 과제 개요(전체) • 과제 해결 내용 • 구현 • 안드로이드 환경에서 데이터 암호화 시나리오 구현 • 단말 저장형 암.복호화 속도에 중점 • 단방향전송형 암호 강도에 중점 • 실시간전송형 빠른 키 전송 및 데이터 암.복호화 속도에 중점 • 안드로이드 기반 암호화 플랫폼 구현 • 설계를 기반으로 각 시나리오에 맞게 구별되는 것을 중점으로 구현 • 테스트 및 평가 • 구현된 데이터 암호화 플랫폼 모듈별 단위 테스트 • 구현된 데이터 암호화 통합 테스트 • 구현된 데이터 암호화 플랫폼 평가 및 보완 • 입력값, 출력값, 오류발생원인, 오류발생상황 등을 상세히 기록 커뮤니티 공유

  9. 1. 과제 개요(전체) • 과제 해결 내용 • 공개 S/W 커뮤니티 프로젝트 구성 및 운영 • 초기 구성원은 관련 연구원과 전문가 그룹을 중심 • 추가적으로는 본교 개발동아리와 연계로 구성 활동인원 증원 • 초기 구성원으로부터 관련 정보를 획득, 커뮤니티를 통해 정보를 공유하고, 지속적인 커뮤니티 회원들과의 의사소통 유도 • 커뮤니티를 통한 요구사항 및 기능 Feedback • 커뮤니티를 통한 세미나 및 소모임 • 국내외 안드로이드 개발자 모임을 통한 커뮤니티 연계

  10. 1. 과제 개요(전체) • 과제 수행시 기대효과 • 안드로이드 기반의 어플리케이션의 보안성 증대 • 본 과제의 안드로이드 기반 데이터 암호화 플랫폼을 통해 개인 및 기업 개발자들이 활용 가능 • 개발 어플리케이션의 보안성이 크게 증대 • 사용자들의 개인정보 유출 예방 효과 • 공개 S/W 커뮤니티 활성화 및 파급효과 • 안드로이드 기반 데이터 암호화 플랫폼은 모든 소스 및 개발 과정이 공개 S/W 커뮤니티에 공개 • 개인 및 기업 개발자 들의 적극적인 참여를 유도 공개 S/W 커뮤니티 활성화를 도모, 보안의 인식제고 등 효과 기대

  11. 1. 과제 개요(전체) • 과제 수행시 기대효과 • 개발 비용의 절감 • 현재 개인 및 기업 개발자에 의해 개발되고 있는 보안 플랫폼을 추가 하려면 보안관련 전문가의 필요와 보안 모듈개발로 인해 개발비용과 시간이 증가 • 본 과제를 통해 개발되는 플랫폼은 공개 S/W정책을 적용 추가 개발비용과 시간적 측면에서 모두 감소 • 보안의 인식 확대 • 최근 발생되는 수많은 모바일 단말에서의 해킹사고 및 개인정보 노출문제 발생 • 근본적인 개발자들의 해결의지 부족과 기본인프라 부족 • 본 과제는 공개 S/W 커뮤니티를 통해 보안 문제 이슈 발생 및 보안 홍보 효과 증가

  12. 2. 과제 개요(개인) • 내용 및 범위(개인)

  13. 2. 과제 개요(개인) • DES 암호화 알고리즘 (Data Encryption Standard : DEA) • IBM에서 개발한 대칭키 알고리즘 • IBM의암호학자 Feistel이 만든 블록암호의 구조가 그대로 사용됨 • 치환과 전치의 혼합방법을 사용 • 1977년부터 20년간 미국 표준, 국제 표준으로 사용되었던 알고리즘 • 현재 상용화 되어 있는 3DES, RC5, IDEA, BlowFish등 대칭키 암호화 방식의 가장 기본 [그림-1] Horst Feistel

  14. 2. 과제 개요(개인) • DES의 특징 • 대칭적 알고리즘을 사용하는 개인 정보 보안 네트워크 • 작은 경우 적은 수의 비밀키 교환만 하면 되어 쉽고 간편함 • 큰 경우 많은 수의 비밀키 교환으로 인해 안전 교환이 어려워져 비용이 비싸지고 부담스러워짐 • 비밀키 공유로 인한 신뢰성 • 상대방이 비밀키를 보호하고 누출 하지 않을 것에 대한 신뢰 • 개인적이든 업무용이든 이전에 알고 있는 관계에서만 사용 • 인증과 부인 방지 • 비밀키가 공유되어 상대방의 행위를 증명 하지 못함 • 데이터를 몰래 수정할 수 있으나 도용자 식별 불가

  15. 2. 과제 개요(개인) • DES 암·복호화 • DES 암호화 • 64Bit 길이의 평문 과 키값 을 입력받아암호문을 출력 • 키 값에 입력된 값을 좌측 쉬프트하여16라운드 실행 • DES 복호화 • 64Bit 길이의 암호문 과 키값 을 입력받아평문을 출력 • 키 값에 입력된 값을 우측 쉬프트하여16라운드 실행 키(56+8 bit) 키(56+8 bit) 평 문 64bit 암호문 64bit 평 문 64bit DES 암호화 DES 복호화 [그림-2] DES 암·복호화 과정

  16. 2. 과제 개요(개인) • DES 암·복호화 • 평문을순치환 후 마지막에 역치환 하여 암호문 출력 • 암호문을 역치환 후 마지막에 순치환 하여 평문 출력 평 문 암호문 64bit 64bit 비밀키 비밀키 64bit 64bit 순 치환 역 치환 키에 의한 변환 (치환, 전치, XOR) 키에 의한 변환 (치환, 전치, XOR) 16번 반복 암호키 복호키 48bit 48bit 순 치환 역 치환 평 문 암호문 64bit 64bit [그림-3] DES 암·복호화 알고리즘

  17. 2. 과제 개요(개인) • Use Case 암호화 입력 메시지 암호문 출력 송신자 단말기 복호화 [그림-4] USE CASE

  18. 2. 과제 개요(개인) • 단말 저장형 데이터 보관 • 단말기 내에 저장되는 전화번호부, 스케줄 위험 노출 • 단말기 분실 시 저장 데이터 유출 • 외부 해킹으로 인한 저장 데이터 훼손 단말저장 데이터 보관 [그림-5] 비보호 상태의 데이터 보관

  19. 2. 과제 개요(개인) • 단말 저장형 데이터 보관 • DES 암호화를 사용하여 저장데이터 보호 • 외부로 부터의 비정상적 접근 제어 • 비밀키 미인증접속자 대상 정보 보호 단말저장 데이터 보관 DES 비밀키 [그림-6] DES로 보호된 저장 데이터

  20. 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

  21. 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

  22. 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) ⓐ

  23. 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 ⓑ

  24. 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) ⓐ

  25. 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 ⓑ

  26. 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

  27. 3. 진행 일정 및 향후 일정 • 과제 일정(개인) 8.24

  28. 3. 진행 일정 및 상황 • 현재 진행 상황 • DES 암호화 알고리즘 설계(완료) • DES 암호화 알고리즘 구현(완료) • DES 암·복호화(완료) • 라운드키 와 XOR 연산 • F함수 처리 • DES 암·복호키 생성(완료) • 초기치환 • 라운드별 키 생성 • 입력 값 변환 모듈 • 입력 값 분할 모듈 • 문서화 작업(진행) • 진행 부분까지 정리하여 업로드(진행)

  29. 4. 향후 일정 • 향후 일정 • DES 암호화 알고리즘 문서화 작업 • DES 암호화 알고리즘 구현 모듈 테스트 • 단말저장형 암호화 플랫폼 산출물 조사, 분석 • SNS를 활용한 재난상황 대처(학술대회) • 기존 재난전달 체계의 보완점을 조사 및 분석 • SNS를 활용한 재난 정보 수집 및 이용 방안 제안

More Related