Identity Based Cryptosystem

Slides:



Advertisements
Similar presentations
Chapter | 4 암호화 기술 Ⅱ암호화. ❖ 암호  통신문의 내용을 제 3자가 판 독할 수 없는 글자 · 숫 자 · 부호 등으로 변경 시킨 것 2/16 암호? 철수 영희 Plaintext attack attack ? ? Cryptography 개방통신로 모레 3.
Advertisements

최성락 최인석 나주한. 특징 : 공개키 n, g 를 사용하여 키 분배가 가능. (g 는 Zn 의 primitive element) Discrete logarithm 에 기반. 두 명 이상의 경우에도 적용가능. 키 교환 없이도.
최소의 안전성 손실을 갖는 MNT 타원곡선 생성 최소의 안전성 손실을 갖는 MNT 타원곡선 생성 대한수학회 봄 연구발표회 Copyright ⓒ 2009 Samsung SDS Co., Ltd. All rights reserved | Confidential.
불특정 공격에 무너진 H 사 업무 시스템 서서히 저하 내부에서 원인 불명으로 네트워크의 속도가 서서히 저하 되는 현상이 발생 공격의 발생 핵심 장 비 서비스가 되다 되지 않는 현상이 심해지고 결국 핵심 장 비는 장애가 발생하게 됨 장비 장애 발생 핵심 장비 장애 전체.
HTTPS Packet Capture Tutorial
Handbook of Applied Cryptography - CH1, from 1.7~1.13-
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
암호 이야기 - 보이지 않는 전쟁 -.
컴퓨터 프로그래밍 기초 [Final] 기말고사
A SMALL TRUTH TO MAKE LIFE 100%
교과목 소개 정보보호.
암호학 응용 Applied cryptography
Chapter 02 순환 (Recursion).
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Error Detection and Correction
A SMALL TRUTH TO MAKE LIFE 100%
Chap 4. 공개키 암호.
제9장 공개키 암호 (I) Public-key Cryptography
암호화 및 인증.
제4장 제어 시스템의 성능.
전자상거래 보안 (암호학과 네트워크보안) ) Chul Ho Rhee
JA A V W. 03.
어서와 C언어는 처음이지 제14장.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
문제 2명의 사형수가 있다. 둘에게는 검정색 모자와 흰색 모자를 임의로 씌우는데, 자기가 쓴 모자의 색은 절대로 알 수가 없다. 서로 상대의 모자색만을 볼 수 있고, 이들이 살기 위해선 자신의 쓴 색의 모자를 맞춰야 한다. 단, 둘 중 한명만이라도 자신이 쓴 모자의 색을.
웹어플리케이션보안 암호프로그래밍, crypto-js
전자서명의 형태 수기서명 디지털서명. 전자서명의 형태 수기서명 디지털서명 전자서명의 필요성.
‘Chess’를 읽고 컴퓨터공학부 배상수.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
행렬의 개요 행렬은 수를 원소로 지니는 다차원 배열이다. mn (“m by n”) 행렬은 m개의 행과 n개의 열을 갖는다.
2. CONCEPTS 컴퓨터 네트워크 실험실 석사 1학기 강 동 호.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
밀도 (1) 부피가 같아도 질량은 달라요 ! 밀도의 측정 밀도의 특징.
합집합과 교집합이란 무엇인가? 01 합집합 두 집합 A, B에 대하여 A에 속하거나 B에 속하는 모든 원소로 이루어진 집합을 A와 B의 합집합이라고 하며, 기호 A∪B로 나타낸다. A∪B ={x | x∈A 또는 x∈B}
제 5장 공개키 암호.
메모리 타입 분석을 통한 안전하고 효율적인 메모리 재사용
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
비대칭 암호화 알고리즘 공개키 암호화 알고리즘 소속 : 한세사이버보안고등학교 조장 : 안도현
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
01 로그의 정의 ⑴ 일 때, 양수 에 대하여 을 만족시키는 실수 는 오직 하나 존재한다. 이때 를
알고리즘 알고리즘이란 무엇인가?.
약식 진리표를 이용한 타당성 증명 진리표 그리기 방법의 한계
물리 현상의 원리 TIME MACHINE.
제 15 강 문자와 코드 shcho.pe.kr.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Support Vector Machine
5장. 선택 알고리즘.
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
9 브라우저 객체 모델.
상관계수.
제 3장. Regular Languages 와 Regular Grammars
(c) Byoungcheon Lee, Joongbu Univ.
암호 시스템 (Crypto system) 신효철
1. 강의 소개 컴퓨팅적 사고와 문제해결.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
A SMALL TRUTH TO MAKE LIFE 100%
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
13. 포인터와 배열! 함께 이해하기.
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
문제의 답안 잘 생각해 보시기 바랍니다..
진리표를 이용한 타당성 증명 진리표(truth table) : 단순 문장들이 진리값을 상이하게 가질 수 있는 가능한 모든 경우를 남김없이 열거한 표 (ex) 오늘은 날씨가 맑거나 비가 올 것이다. 오늘은 날씨가 맑다 비가 온다 오늘은 날씨가 맑거나 비가 올 것이다. T.
7 생성자 함수.
6 객체.
Presentation transcript:

Identity Based Cryptosystem 김진

암호 시스템 E D Key Key Kenc Kdec Cryptanalyst Adversary M K Insecure Channel Plaintext M Ciphertext C Plaintext M Key Kenc Key Kdec C = EK(M) DK(C) = M

비밀키 암호 vs 공개키 암호 비밀키 암호 공개키 암호 그런데 왜? 공개키 암호를 생각하게 되었나? Kenc = Kdec 연산 속도가 빠르다. 공개키 암호 Kenc ≠ Kdec (Kenc: 공개키, Kdec: 비밀키) 연산 속도가 느리다. 그런데 왜? 공개키 암호를 생각하게 되었나?

비밀키 암호의 문제점 키 분배 문제 공개키 암호는? n명 사용자 간에 필요한 비밀키의 개수: nC2 = n(n-1)/2 사용자가 늘어남에 따라 비밀키의 개수가 매우 많아진다. 이들은 안전하게 공유하는 것은 매우 어려운 일임 공개키 암호는? n명 사용자 간에 필요한 키의 개수: 2n 개 각 사용자가 간직해야하는 키는 오직 자신의 비밀키 뿐임

공개키 암호는 괜찮은가 그렇다면, 공개키 암호는 모든 문제를 해결해주는가? A의 공개키가 KA 라는 것을 누가 보장하나? CA (Certificate Authority) 인증서는? 사용자가 공개키를 바꾸고 싶으면? 키를 바꾸면? 어휴…

해법의 등장 1984년 Shamir가 ID기반 암호를 제안 사용자의 신원정보 (사용자를 확인할 수 있는 정보)를 공개키로 사용하자! 비밀키는 비밀키 관리 기관에서 만들어주자! 그런데, 구현이… 2001년 Boneh와 Franklin이 타원곡선 상의 겹선형함수를 이용하여, ID 기반 암호알고리즘을 제안함 17년 묵는 문제의 해결!

그림 설명 Key Server (KGC) master secret public params key request + authenticate bob@b.com alice@a.com bob@b.com public params

Fully off-line - no connection to server required 그림 설명 Key Server Fully off-line - no connection to server required bob@b.com charlie@c.com bob@b.com public params

그림 설명 Master Secret s = Key Server 1872361923616378 1872361923616378 Key Server Request for Private Key for Identity bob@b.com

궁금증! 타원곡선? 겹선형 함수? 덧셈을 연산으로 갖는 집합 덧셈은 기하학적으로 정의됨 타원곡선 상에서 암호를 설계하면, 그 연산의 어려움 때문에, 원소의 크기가 작아도 됨 (메모리효율성) 깊이 알기는 어려워… 겹선형 함수? e:AⅹB→C 인 함수로, e(aP,bQ) = e(P,Q)ab 를 만족하는 함수 실례 : Weil pairing, Tate pairing 등

Boneh-Franklin IBE Use the elliptic curve group we already defined Choose arbitrary P∈E/Fp of order q Pick random s∈Zq* and set Ppub = sP Choose hash functions H: Fp2 →{0,1}n G: {0,1}*→Fp Message space M = {0,1}n, ciphertext space is C = E/Fp×{0,1}n System parameters are <p, n, P, Ppub, G, H>. Master-key is s.

Boneh-Franklin IBE Extract (get private key from ID) Use MapToPoint to map ID to a point QID Private key corresponding to ID is dID = sQID Encrypt (encrypt M with ID) Choose random r ∈ Zq C = <rP, M⊕H(gIDr)> where gID = ê(QID,Ppub) ∈ Fp2

Boneh-Franklin IBE Decrypt (decrypt C = <U,V>) If U is not a point of order q, reject the ciphertext Otherwise, M = V ⊕ H(ê(dID, U)) Why M can be recovered? ê(dID, U) = ê(sQID, rP) = ê(QID, P)sr = ê(QID, Ppub)r = gIDr V ⊕ H(ê(dID, U)) = M⊕H(gIDr)⊕ H(gIDr) = M

ID 기반 암호는 만능? KGC는 모든 것을 알고 있다! 키복구 문제로의 귀결! 해법은 없는가? 빅브라더의 탄생! 키복구 문제로의 귀결! 해법은 없는가? Certificateless Public Key Cryptosystem KGC의 역할은?

Provable Security 김진

왜? 암호의 라이프 싸이클을 생각해보자. 라이프 싸이클을 생각했을 때, 무엇이 문제인가?

현대 암호의 설계 Substitution과 Permutation을 적절히 섞어서 설계하거나, 계산적으로 어려운 문제를 기반으로 설계 오늘의 이야기는 여기!

증명 방식 증명의 대상 명제 하지만, 이 방식의 증명은 쉽지 않다. 따라서 대우 명제를 통해서 증명한다. 기반 문제가 어렵다면, 알고리즘은 공격하기가 어렵다. 하지만, 이 방식의 증명은 쉽지 않다. 따라서 대우 명제를 통해서 증명한다.

우리의 암호시스템이 공격 가능하다면, 기반 문제를 푸는 알고리즘이 존재한다. 결국, 우리의 증명은 … 우리의 암호시스템이 공격 가능하다면, 기반 문제를 푸는 알고리즘이 존재한다.

어려운 문제? 어려운 문제 Computationally hard problem Hard to solve the problem in polynomial time Hard to find a polynomial time algorithm which solves the problem 다항식 시간 알고리즘 (PPT, Polynomial Time Algorithm) 알고리즘이 답을 출력하는데 소요되는 계산 복잡도가 다항식 상한에 들어있는 알고리즘

계산 복잡도는 … 주어진 입력에 대해 알고리즘이 출력을 내는 데에 소요되는 시간 또는 계산 단계를 점근적으로(asymptotically) 표시한 값으로 생각해도 무방

암호에서의 복잡도 암호에서의 입력값은? Knerkhoff 정리를 보았다시피, 키의 길이를 기반으로 생각하면 되겠다. 암호에서의 입력을 보통 안전성 파라메터 (security parameter)라고 부른다. 많은 논문에서 안전성 파라메터를 1k라고 한다. 뭘까? k비트

안전하다? 도대체 안전하다는 기준은 뭘까? 키가 노출되지 않으면, 안전한가? 아니다! 그렇다면 대체 …

안전성 모델 그래서 안전성 모델이 나왔다. 안전성 모델은 다음의 두 가지를 엮어서 말한다. 공격 목표 (security goal) 공격자의 능력 (adversarial model)

공격 목표의 종류 암호 알고리즘의 대표적 공격 목표는 다음의 두가지 구별불가능성 indistinguishability (IND) 비유연성 non-malleability (NM)

공격자 능력의 종류 선택 평문 공격 선택 암호문 공격 능동적 선택 암호문 공격 Chosen Plaintext Attack (CPA) 선택 암호문 공격 Chosen Ciphertext Attack (CCA1) 능동적 선택 암호문 공격 Adaptively Chosen Ciphertext Attack (CCA2, ACCA)

표현과 살짝 결론 안전성 모델은 앞의 두 개의 결합으로 표시한다. 가장 강한 안전성 모델은 무엇인가? 선택 암호문 공격에 대하여 구별불가능성을 제공한다면? IND-CCA 가장 강한 안전성 모델은 무엇인가? IND-CCA2와 NM-CCA2 이다. 이 둘의 정도가 같음이 증명되었다. (1996년, Bellare 등)

IND와 NM IND NM 두 개의 메시지 중 어떤 메시지에 대한 암호문인지 판단하는 것 특정 메시지에 대한 암호문을 안다고 하여, 어떤 다른 메시지의 암호문에 대한 정보를 얻을 수 없음

물론 공격 목표가 되는 암호문에 대한 평문을 질의할 수는 없다! CPA, CCA1, CCA2 CPA 공격자는 자신이 선택한 평문에 대한 암호문을 언제라도 받을 수 있는 능력을 가짐 CCA1 CPA 능력 뿐 아니라, 공격자는 선택함 암호문에 대한 평문의 정보까지 받을 수 있음 CCA2 CCA1의 능력을 포함하고, 공격자는 언제라도 자신이 선택한 평문의 정보를 받을 수 있음 물론 공격 목표가 되는 암호문에 대한 평문을 질의할 수는 없다!

오라클 주어진 질문에 대해서 항상 옳은 답만을 말해주는 가상 기계 암호화 오라클 encryption oracle 복호화 오라클 decryption oracle 서명 오라클 sign oracle 랜덤 오라클 random oracle

랜덤 오라클 이상적인 해쉬 함수 주어진 입력에 대해서 일정한 길이의 메시지를 랜덤하게 출력함 실재하지는 않음 주어진 입력에 대해서 일정한 길이의 메시지를 랜덤하게 출력함 동일한 입력에 대해서는 동일한 출력을 내보냄

공격 성공 IND에서 공격 성공이란 것은 정확히 무엇을 의미하나? 어떤 메시지의 암호문인지 맞추면 됨 메시지가 두 개 이므로 누구라도 0.5의 확률로 답을 출력할 수 있음 공격자가 정답을 출력할 어드밴티지가 무시할 수 없을 정도의 양일 때, 공격 성공이라고 말함

무시하다? 무시할 수 있는 negligible 무시할 수 없는 overwhelming 결과값이 어떤 다항식의 역수보다 작은 정도이면 무시할 수 없는 overwhelming 결과값이 특정 다항식의 역수보다는 큰 경우이면

성공 확률 주어진 입력에 대해서 올바른 출력을 낼 확률 표현은 보통 이렇게 …

어드밴티지 결국 성공확률과 비슷한데, 어드밴티지의 경우는 그 값이 0일 때, 전혀 어드밴티지가 없다고 볼 수 있으며, 그 값은 항상 0보다 큰 값임 IND에서의 어드밴티지는 …