암호학 응용 Applied cryptography

Slides:



Advertisements
Similar presentations
Web Based Data Warehouse Query Tool 이화여자대학교 2002 년 컴퓨터학과 졸업프로젝트 14 조.
Advertisements

팀 명 : 커 피 팀 원 : 정수현 외 4 명 ( 다른 학교분들 ). 목차목차 결과물 시현 및 설명 DB 설계 서비스 흐름도 개발 환경 개발 개요 개발 과정의 기술 개발 동기.
Web Programming 소개 인공지능 연구실. Artificial Intelligence Laboratory 목차  1. HTML5  2. 개발 환경 구축  3. JSP  4. 실습 2.
최현섭, 김기손, 김보라, 염호남 지도교수 : 김일민 교수. 1. 무엇을 만들었습니까 ? 후배선배 동문 기반의 취업 정보 교류 플랫폼.
인하대 정석학술정보관 스마트폰서비스 학술정보시스템팀 홍미란 개관 7 주년 워크샵.
의료자원 규제현황과 개선방향 자원평가실. 의료자원 관리 개요 규제개혁 토론과제.
프로젝트 제안서 날씨대로 기분대로 팀원 박효민 신준범 정민섭 안성원
개 정 이 력 No 버전 변경일 변경내용 작성자 승인자 1 V 최초작성 김태준T 2 V1.1
연 합 남 전 도 회 월 례 회 1부 예배- 찬 송 장 다같이 2011년 1월 2일 1부 예배- 찬 송 장 다같이 기 도
사 업 계 획 2011년 제1호 - 2월 1일 2011 주 안에서 소통하며 화합하고 참여하며 헌신하는 남신도회
프로젝트2 Web Programming 강의노트: vrlab.suwon.ac.kr/mwlee
Web Programming 강의 소개
웹어플리케이션 보안 Web application security
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
효과적인 DB암호화 구축을 위한 애슬론 v1.5 제안
부트스트랩(Bootstrap) 트위터사가 만든 HTML, CSS, JS 개발을 위한 오픈소스 툴킷
2018..
타이포그래피 Typography.
서버의 종류와 기능 환경공학과 권진희.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
안드로이드 기반에서 MapServer를 이용한 지도 서비스
통합 DB & CMS 적용방안
1강 01장. 웹과 자바.
김은지 강남대학교.
HTML5를 이용한 모바일 웹 앱 학과:컴퓨터 시뮬레이션 학과 학번: / 이름:이성진 / 정지영.
독도 바로알기 2. 사료와 지도로 보는 독도.
[INA240] Web Programming Homework #3 [INA240] Web Programming
인프라 업무 Portal 사이트 Archon 2.0 목 차 Ⅰ. Concept Ⅱ. SOA Ⅲ. Web
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Html(front end) & jsp(back end)
낮과 밤 알아보기 슬기로운 생활 2학년 1학기 4. 빛과 그림자>낮과 밤( 4/8 )
목차 INDEX 1. 회원가입 및 로그인 2. 업체정보 3. 제조검사 신청 4. 인보이스 5. 검사진행현황(현장검사 신청)
1강. 웹프로그래밍 웹프로그래밍이란? JAVA웹 웹프로그램의 동작 필요한 학습 Lecturer Kim Myoung-Ho
HTML5 웹 프로그래밍 입문 홈페이지 계정.
웹 다이어리 완료보고서 이상제 정영석.
1강. 스프링이란? 프레임워크 스프링(SPRING) 설치 Lecturer Kim Myoung-Ho Nickname 블스
이 서식 파일은 그룹 환경에서 교육 자료를 프레젠테이션할 때 시작 파일로 사용할 수 있습니다. 구역
Web & Internet [11] JavaScript & BootStrap
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
2장. 홈페이지를 만들기 전에 홈페이지 제작 목적과 제작 과정 홈페이지 제작 관련 기술들 홈페이지 제작에 필요한 준비물
2018년 10월 01일 박성진 Web & Internet [04] CSS3 2018년 10월 01일 박성진
myfood.com 상명대 맛집 홈페이지 구축 제안서
예술치료 실습보고서 미술치료 음악치료 모래상자치료 연극치료 학 교 : 백석대학원 학 과 : 특수심리치료
Digital Marketing School
Ⅳ. 컴퓨터와 생활.
나는 땅에서 키는 작지만 하늘로부터 재는 키는 이 세상 어느 누구보다도 크다
웹과 인터넷 활용 및 실습 (Web & Internet) 과목 개요 문양세 강원대학교 IT대학 컴퓨터과학전공.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
제안 목적 고객성향 분석으로 매출 증대 유사업체 분석으로 신상품 홍보 원가요소 분석 및 피드백으로 원가율 관리
청각기관의 구조와 기능2 옥정달.
Web & Internet [02] HTML5 기본구조와 작성법
암호학 응용 Applied cryptography
자바 암호 프로그래밍 Java Cryptography Programming
제1회 PNU 코딩경진대회 부산대학교 소프트웨어교육센터.
암호학 응용 Applied cryptography
4 웹 페이지 레이아웃.
2015년 2학년 1반.
홈페이지 제작 HTML5 + CSS3 + Javascript.
타이포그래피 Typography.
HTML5 웹 프로그래밍 입문 홈페이지 계정.
CHAPTER 6 도전! 트위터 웹 앱 개발 Jquery Mobile 5/28/2019.
웹 스크래핑.
자료구조 강의소개 정성훈 연락처 : 이메일 : 연구실 : 연219호 연락처 : 이메일 : 홈페이지: 정성훈.
웹 프로그래밍 기술 요약 Yang-Sae Moon Department of Computer Science
컴퓨터 소프트웨어 설계 및 실험 2016년 1학기 실험계획.
2015 교원능력개발평가 “학부모는 제2의 교원입니다” 여러분의 의견을 들려주세요.
수강신청 설명서 1. 시스템 접속방법 학생포털시스템 Intro화면 학생수강신청 로그인 페이지
책을 읽읍시다  탈향 진지하게 설명해드림 1303 김소희 1309박지호 1315이지수.
2016년 제1차 운영위원회 평택시건강가정 ∙다문화가족지원센터
IT R&D Global Leader [첨부 제4호] 센서 노드용 경량 해쉬 암호 모듈 ETRI
Presentation transcript:

암호학 응용 Applied cryptography 2017. 9. 중부대학교 정보보호학과 이병천 교수

차례 1. 강의 개요 2. Javascript Cryptography 3. Node.js crypto 4. CryptoJS 5. Forge 6. Web Crypto API

1. 강의 개요 1.1 강의 목표 1.2 암호기술 개요 1.3 실습 환경 구축 1.4 웹서버 계정 생성 1.5 Bootstrap 소개

1.1 강의 목표 암호기술에 대한 이해 웹 환경에서의 암호기술 활용 능력 배양 자바스크립트 암호 실무능력 배양 웹 환경의 중요성, 활용성 증가 웹 보안을 위한 암호기술 활용 필요성 자바스크립트 암호 실무능력 배양 웹브라우저 환경에서의 암호기술 활용은 자바스크립트를 이용 서버 환경에서의 자바스크립트 활용 증가 기말 프로젝트 수행을 통한 실무능력 향상

깃허브에서의 인기 프로그래밍 언어 순위 http://smartincome.tistory.com/28

수익 잠재력 상위 10개 언어 페이스케일닷컴(PayScale.com)과 인디드닷컴(Indeed.com)의 연봉 정보를 바탕으로 뽑은 수익 잠재력 상위 10개 언어 http://www.itworld.co.kr/news/103581 1. 자바(Java) - 평균 연봉: 10만 2,000달러 2. 자바스크립트(JavaScript) - 평균 연봉: 9만 5,000달러 3. 파이썬(Python) - 평균 연봉: 10만 달러 4. C++ - 평균 연봉: 10만 달러 5. 루비(Ruby) - 평균 연봉: 10만 달러

1.2 사용할 암호기술 난수 생성 해수함수, 메시지인증코드, 패스워드기반 키생성 대칭키 암호화 (AES) 비대칭키 암호화 (RSA) 전자서명 인증서 …..

암호의 여러가지 방식 해쉬함수 임의의 길이의 정보(비트스트링)를 입력으로 하여 고정된 길이의 출력값인 해쉬코드를 생성해내는 함수 해쉬값은 입력정보에 대한 변조할 수 없는 특징값을 나타내며 통 신 중에 정보의 변조가 있었는지 여부를 확인하는 용도에 사용된 다. 이런 용도로 사용될 수 있기 위해서 해쉬함수는 같은 해쉬값을 가지는 두 개의 입력 메시지를 찾는 것이 계산적으로 불가능해야 한다. 해쉬함수에는 키를 사용하지 않는다. 주어진 정보에 대한 해쉬값 은 누구나 계산할 수 있다.

암호의 여러가지 방식 메시지인증코드 (MAC: Message Authentication Code) 데이터가 변조(수정, 삭제, 삽입 등)되었는지를 여부를 검증할 수 있도록 데이터에 덧붙이는 코드 원래의 데이터로만 생성할 수 있는 값을 데이터에 덧붙여서 확인 하도록 하는 것 송신자와 수신자는 비밀키를 공유하고 있으며 MAC 계산에 비밀 키를 사용한다. 그러므로 송신자와 수신자만이 MAC을 계산하고 검증할 수 있다.

암호의 여러가지 방식 패스워드 기반 키생성 사용자가 입력하는 패스워드를 기반으로 난수처럼 보이는 암호 키를 생성하는 방법 이렇게 생성된 키를 대칭키 암호화에 사용 사용자 등록시 서버는 사용자의 패스워드를 암호화된 키로 바꾸 어 DB에 저장

암호의 여러가지 방식 대칭키 암호 (비밀키 암호) 블록 암호 스트림 암호 암호화와 복호화 알고리즘에 동일한 키가 사용되는 방식의 암호 비밀키는 제3자에게 알려지면 안되므로 송신자와 수신자는 사용 되는 키를 비밀리에 공유하고 안전하게 보관해야 한다. 블록 암호 대칭키 암호의 일종으로 암호화와 복호화시 특정 크기의 블록 단 위로 암호화/복호화 연산을 하는 방식의 암호 각 블록의 암호화와 복호화에는 동일한 키가 사용됨 스트림 암호 블럭의 크기를 1로 하여 블록 마다 각각 다른 키를 사용하여 암 호문을 생성하는 방식 암호화와 복호화시 키스트림 생성기를 이용하여 키스트림을 생 성하며 이것을 평문과 연산하여 암호화하고(송신자) 거꾸로 이것 을 암호문과 연산하여 평문을 얻어낸다(수신자).

암호의 여러가지 방식 비대칭키 암호(공개키 암호) 하나의 쌍이 되는 두 개의 키를 생성하여 하나는 암호화에 사용 하고 다른 하나는 복호화에 사용한다. 암호화에 사용하는 키는 공개할 수 있어서 공개키라고 부르고 복 호화에 사용하는 키는 사용자만이 안전하게 보관해야 하는 키로 개인키(비밀키)라고 부른다. 두 개의 키가 서로 다르므로 비대칭키 암호라고 부르며 하나의 키를 공개하므로 공개키 암호라고도 부른다. 공개키를 공개하더라도 이것으로부터 개인키를 계산해내는 것은 수학적으로 매우 어려운 문제이다. 공개키와 쌍이 되는 개인키는 반드시 존재하므로 이것을 찾아내 는 것이 불가능한 것은 아니다. 찾아내기 어려울 뿐이다.

암호의 여러가지 방식 전자서명 전자문서에 대한 전자적인 방식에 의한 서명으로 서명자만이 생 성할 수 있고 누구나 서명의 유효성을 검증할 수 있다. 전자서명은 공개키 암호 방식의 일종이다. 개인키로 서명을 생성하고 공개키로 서명을 검증한다. 개인키는 해당 서명자만이 가지고 있으므로 다른 사람이 서명을 위조할 수 없으며, 전자서명은 서명자의 정당한 서명으로 인정된 다. 유효한 서명에 대해 서명자는 자신이 서명한 사실을 부인할 수 없다(부인방지 기능).

1.3 실습환경 구축 Atom 웹에디터 설치 Atom : http://atom.io 필수 확장프로그램 설치 Emmet – html 태그의 자동완성 기능 Atom live server – 별도의 서버를 설치하지 않고도 페이지 즉시 확 인

실습환경 구축 Node.js 설치 설치 후 테스트 서버측 자바스크립트 실행환경 https://nodejs.org/en/ C:\>node -v v8.2.1 C:\>npm -v 5.3.0

실습환경 구축 Filezilla 설치 Putty 설치 안전한 패스워드 설정 Secure FTP 프로그램 Secure Telnet 프로그램 안전한 패스워드 설정

1.4 웹서버 계정 생성 Isweb.joongbu.ac.kr 서버에 계정 생성 안전한 패스워드로 변경 및 패스워드 관리 철저 포트번호 할당

1.5 Bootstrap 기술 소개 Bootstrap이란? 트위터 사가 만든 편리하고 효율적인 웹 프레임워크 http://bootstrapk.com/ (한글) http://getbootstrap.com/ https://bootswatch.com/

Bootstrap 기술 소개 부트스트랩 다운로드 http://bootstrapk.com/getting-started/ 에서 zip파일 다운로드 현재 프로젝트 폴더에 압축 풀기

Bootstrap 기술 소개 기본 템플릿을 이용하여 페이지 작성 시작 http://bootstrapk.com/getting-started/ Bootstrap CSS 파일 링크 Bootstrap이 정상 작동하려면 jquery가 반드시 필요 Bootstrap.min.js 포함

Bootstrap 기술 소개 Bootstrap은 전문가가 디자인한 클래스(class)들의 모음 https://bootstrapcreative.com/resources/bootstrap-3-css- classes-index/ 기본 컨테이너 클래스 고정폭 콘테이너 .container 최대폭 콘테이너 .container-fluid

Bootstrap 기술 소개 그리드 시스템 부트스트랩은 기기나 뷰포트 크기가 증가함에 따라 12열이 적절 하게 확대되는 반응형, 모바일 우선 유동 그리드 시스템입니다. 그것은 쉬운 레이아웃을 위해 미리 정해진 클래스들 뿐만 아니라 강력한 더 시멘틱한 레이아웃을 생성하기 위한 믹스인을 포함하 고 있습니다.

Bootstrap 기술 소개

Bootstrap 기술 소개

Bootstrap 기술 소개 Typography

Bootstrap 기술 소개 테이블

Bootstrap 기술 소개 폼 클래스

Bootstrap 기술 소개 버튼

Bootstrap 기술 소개 배경

Bootstrap 기술 소개 내비게이션바(navbar)

Bootstrap 기술 소개

Bootstrap 기술 소개 컴포넌트 페이지를 참조하여 필요한 내용 입력 가능 http://bootstrapk.com/components/

Bootstrap 기술 소개 여러 개의 페이지를 갖는 홈페이지 작성하기 예제 메뉴 구성 과목 홈페이지 소스 참조 메뉴 부분까지는 내용이 같고 이후의 세부 내용이 다른 여러 페 이지들을 작성. 메뉴에서 상호 링크 연결 메뉴 선택시의 active 클래스 적용 예제 메뉴 구성 홈 (home) – 홈페이지에 대한 간단한 소개, 그림 등 소개 (intro) – 나에 대한 소개, 취미, 시간표 등 과제물 (homework) – 과제물 업로드, 관련 기술 스크랩 등 링크 (link) – 학교, 학과, 과목 홈페이지, 기타

과제 1 자신의 홈페이지를 작성하여 웹서버에 올리기 홈페이지 콘텐츠, 메뉴 구상 Bootstrap 기술을 적용하여 구현 서버에 업로드하고 서비스 테스트