라벨이 암호인 게시물 표시

전자서명 개념

이미지
▣ 전자서명 전자문서의 단점 - 위변조 용이 - 작성사실 입증의 어려움 전사서명의 요구조건 - 서명자 신원의 확인 - 위조 불가, 변경 불가 (데이터 무결성) - 부인 방지 - 재사용 불가 대칭키 알고리즘에 의한 방법 - 중재된 서명기법  : 서명과 검증을 제3자에 의해서 행할 수 밖에 없음 공개키 알고리즘에 의한 방법 - 메시지 복원형 전자서명 방식 - 문서 자체를 이용하는 서명 방식 - 메시지 부가형 전자서명 방식 - 문서에 서명메시지를 포함하는 방식 인증서는 인감 증명서에 해당 공개키의 소유자를 증명하는 용도 인증서의 정의 - 공개키의 소유자 증명 - 인증기관이 자신의 개인키로 전자서명 인증서 표준 : X.509 - 메시지 다이제스트 알고리즘만을 포함  → 무결성만을 중시 (=속도, =가용성) CA : 인증서 발행기관 RA : 인증서 유저 등록 기관 CRL : 인증서 폐지 목록 ▣ 전자서명 방식 ◎ 부가형 전자 서명 방식  ▷ 설명   메시지를 해시함수 처리 → 해시 코드 (message digest) → 해시코드를 송신자의 개인키로 서명  ● 원본 메시지와 서명을 붙여서 송신   원본 메시지에 해시함수 처리 → 해시 코드 1 획득   서명을 송신자의 공개키로 복호화 → 해시 코드 2 획득  ● 해시 코드 1과 해시 코드 2를 비교   → 동일하면 인증, 다르면 인증 실패  ▷ 제약   기밀성이 보장되지 않음 ◎ 전자 봉투 방식  ▷ 조건   상대방의 공개키가 맞는지 확인되어야함  ▷ 설명   ● 송신자     송신자는 난수를 발생시키고, 이것을 비밀키로 지정한다.     수신자의 공개키로 위 비밀키를 암호화...

해시함수 개념

이미지
해시함수 기밀성 x 무결성 o 무결성 - 메시지의 변조가 되지 않음을 증명 해시함수 : 일방향 함수 → 암호화는 가능하지만 복호화가 불가 SHA와 MD5가 대표적, 그중에서도 MD5를 주로 사용 → 유닉스의 암호 데이터는 MD5로 암호화 보안전문가에게 위협이란 구체적인 위협을 탐지하고 있을 경우만 위협 - 메시지 인증 코드에 대한 변형 - 메시지의 모든 비트들에 대한 함수 - 가변 메시지 M에 one-way Function H를 취해 정해진 크기의 Digest h를 만드는 과정 - 디지털서명, 인증 등의 서비스 제공 메시지 길이에 제약은 있겠지만 가히 무한하게 큰 수일 것. 하지만 해시함수를 적용하게 되면 고정길이로 줄어들기 때문에, 같은 digest를 갖는 메시지는 여러개 나올 수 밖에 없음. (해시함수) 해시함수의 요구조건 1. 어떤 크기의 메시지에도 적용 가능 2. H는 고정된 코드의 hash code (message digest) h를 생성 3. h는 어떤 M에 대해서도 계산하기 쉽다. 4. 주어진 h에 대해 H(M) = h인 M를 찾는 것이 계산적으로 불가능 (one way) 5. 어떤 주어진 블록 M에 대해, H(M') = H(M) 인 M과 M''이 서로 다른 것을 찾는 것이 계산적으로 불가능 6. H(M') = H(M) 인 서로 다른 M과 M'을 찾는 것이 계산적으로 불가능 (collision-free) - 기밀성과 무결성을 동시에 만족하는 형태

암호 - 해시함수

이미지
해시함수 기밀성 x 무결성 o 무결성 - 메시지의 변조가 되지 않음을 증명 해시함수 : 일방향 함수 → 암호화는 가능하지만 복호화가 불가 SHA와 MD5가 대표적, 그중에서도 MD5를 주로 사용 → 유닉스의 암호 데이터는 MD5로 암호화 ◎ 특징 - 메시지 인증 코드에 대한 변형 - 메시지의 모든 비트들에 대한 함수 - 가변 메시지 M에 one-way Function H를 취해 정해진 크기의 Digest h를 만드는 과정 - 디지털서명, 인증 등의 서비스 제공 ◎ 제약 메시지 길이에 제약은 있겠지만 가히 무한하게 큰 수일 것. 하지만 해시함수를 적용하게 되면 고정길이로 줄어들기 때문에, 같은 digest를 갖는 메시지는 여러개 나올 수 밖에 없음. (해시함수) ◎ 해시함수의 요구조건 1. 어떤 크기의 메시지에도 적용 가능 2. H는 고정된 코드의 hash code (message digest) h를 생성 3. h는 어떤 M에 대해서도 계산하기 쉽다. 4. 주어진 h에 대해 H(M) = h인 M를 찾는 것이 계산적으로 불가능 (one way) 5. 어떤 주어진 블록 M에 대해, H(M') = H(M) 인 M과 M''이 서로 다른 것을 찾는 것이 계산적으로 불가능 6. H(M') = H(M) 인 서로 다른 M과 M'을 찾는 것이 계산적으로 불가능 (collision-free)                                       -    부가형 전자서명의 형태    - - 기밀성과 무결성을 동시에 만족하는 형태

4. 12 (목) - 암호 (비밀키 / 공개키 암호의 키분배센터 키 교환)

이미지
◎ 비밀키 분배의 어려움  ▷ 물리적인 방법으로의 키전달   - 링크 암호화의 방식    → 장비를 받아야 통신이 가능 (장비는 물리적으로 존재하기에)   - 단대단 암호화에서 적용 어려움  ▷ 이전의 키를 사용해 암호화된 새로운 키를 전송   - 링크 암호화 / 단대단 암호화 모두 적용 가능   - 공격자가 한 키를 알게 되면, 이후 모든 키가 노출  ▷ 신뢰할 수 있는 제 3자(키분배센터)를 통하여 키 분배   - 단대단 암호화에서 채택   - 사용자는 키분배센터와 유일한 키를 공유 ◎ KDC(키분배센터)를 이용한 비밀키 분배  ▷ Kerboros 방식 73-76p (1) - ID(A) : KDC에 등록된 A의 신원정보 (A가 보내는 요청) - 시스템마다 다른 설정  ex) MAC 주소, ID의 해쉬값 등등... - A, B : IP 주소 - SK : 세션 키 (2) -   : A의 마스터키 KA로 암호화 (세션키의 노출을 방지) - T : 타임스탬프 (현재성을 보장) (3) - B에게 A의 인증 (4) - A에게 B의 인증 : 이 시점에 A와 B는 상호인증 성공 → 이후 통신 종료시 세션키 폐기 → 5~10초간 A에서 통신이 없으면 B는 세션키를 폐기 → 그렇게 되면 KDC로부터 다시 세션키를 발급 ▷ 해석  KDC - 인증과 키 분배의 담당  - 1차 도메인 컨트롤러  응답자 B - 2차 도메인 컨트롤러, 실질적 서버  발신자 A - 클라이언트  KDC로 부터 키를 부여받기 위해서는 A, B가 KDC에 등록/가입 되어있어야 함   → A와 B는 사전에 KDC와 마스터키를 공유하고 있다. ◎ 공개키의 유효성  ▷ 공개키의 공개 발표   - 자신의 공개키를 다른 사용자에게 전송 ...

대칭키 암호 / 공개키 암호 생각나는대로 정리

대칭키 - 통신 상호 간 하나의 동일한 키(대칭키)를 이용해 암호화 및 복호화 - Feistel 암호 알고리즘을 근간으로 다양한 알고리즘이 파생 장점 : 단순 환치/치환으로 알고리즘 수행이 빠름 다양한 알고리즘이 파생 단점 : 키의 분배와 관리가 어려움 키의 공유가 힘듦 / 사용자가 n일때 필요한 키의 개수 n(n-1)/2 개 책임 추적성(근원지 증명)이 없어 디지털서명이 불가능 공개키 - 각 사용자는 자신의 공개키와 개인키, 2개의 키를 생성 - 공개키는 네트워크에 공유하고, 개인키는 본인만이 보유 - 소인수분해 / 이산대수 문제를 사용 - 사용 : 암/복호화, 디지털 서명, 키 교환 - 장/단점 장점 : 근원지 증명이 가능 키의 관리와 분배가 용이 키의 관리 측면 → 사용자를 n이라 했을 때, 키의 개수가 불과 2n개만 생성 키의 분배 측면 → 키 교환의 기밀성 보장 - 키 공유가 필요 없음 단점 : 알고리즘 수행이 느림 - 암호화 : 공개키 사용 - 복호화 : 개인키 사용 - 서명 : 개인키를 사용해 암호화 - 인증 : 공개키를 사용해 복호화

4. 5 (목) - 암호 (DES)

DES의 순서 M block(64) → 초기전치 → DES Round ------------------------------------------------------------------------------------------------------------------------- DES Round 순서 L(i-1)(32) / R(i-1)(32) →  R(i-1)(32)를 F함수 연산 → ========================================================= F함수 순서 R(i-1)(32) → 48비트로 확장(확장 순열) → Key(48)와 XOR 연산 → S-box를 통한 치환선택 (48->32) → 순열 ========================================================= → F함수의 결과와 L(i-1)(32) 를 XOR 연산 = R(i) → R(i-1)은 그대로 L(i)가 됨 ------------------------------------------------------------------------------------------------------------------------- → 16라운드가 끝나면 역전치 → 암호문 C(64) 생성 ◎ DES의 Key  - 64비트를 56비트로 축약하여 서브키 생성  - 8번째 비트마다 패리티 비트 포함시켜 64비트를 키로 사용  - 사용시엔 패리티 비트 제거하여 56비트로 이용  - 암호화 과정에 맞춰 16 Round 실행  - 각 Round 별 서버키 생성  - 64비트 키는 PC-1을 지나며 패리티 비트(8비트) 제거  - 남은 56 비트 키는 C0(28개비트)비트로 양분할 됨.  - Round별 정해진 Left-Shift를 적용하고, PC-2(순열/수축) 한 뒤 나온 C1(28개비트) ...

4. 3 (화) - 보안(대칭키 / feistel 암호 알고리즘 / DES)

◎ 대칭키 암호 (비밀키 암호)   - 장점 : 다양한 알고리즘, 알고리즘 수행 속도의 빠름   - 단점 : ① 키 관리/분배의 어려움, ② 디지털 서명의 어려움             ② → 책임 추적성이 전혀 없다. (누구의 키가 유출된건지 모르기 때문에) ◎ Feistel 암호 알고리즘   - 구조적인 결함이 없다는 것이 증명된 암호 알고리즘   - 똑같이 그릴 줄 알아야함.   - 블록 암호화 (64bits / 128bits)   - L (Left) / R (Right)   - F = K(i) 와 R(i-1)의 F연산   - L(i) = R(i-1)   - R(i) = F (+) L(i-1) ◎ 대칭키 암호의 종류   - DES, AES, IDEA, RC4, etc... ○ 가이드라인 / 스탠다드   - 스탠다드 : 정부에서 공인하는 알고리즘의 암호를 일컫는 보안용어   - 가이드라인 : 스탠다드의 암호는 아니지만 스탠다드와 동일한 보안성을 입증할 수 있는                    암호 알고리즘을 일컫는 보안용어. ◎ DES   - IBM에서 Lucifer System을 개선하여 만든 암호 알고리즘   - 1977년 NBS에서 표준 알고리즘으로 채택   - 암호화 키 = 복호화 키   - 대칭키 암호 / 단일키 암호 / 관용 암호   - Confusion(혼합), Diffusion(확산)을 이용해 원문과 암호문 간 통계적 연관을 숨김   - 64비트 블록 암호 알고리즘   - 56비트 키 (8비트 Parity check)   - 48비트 키 사용 (8비트를 더 제거) ...

4. 2 (월) - 암호학 (전치기법)

◎ 전치기법   ▷ Rail Fence 기법     - 가장 자주 사용하는 전치기법     - 직사각형 형태를 유지해야 함.     - 40글자 이상으로 만드는 것이 좋음     - 고대 중국에서 주로 사용 (죽편 (대나무))     - 우선, Depth를 결정   ▷ Rail Fence의 예시     - Depth : 2     - 평문 : I was waiting      - l  a  w  i  i  g        w  s  a  t  n  x   ▷ 사각형 행렬을 사용     - 키를 선정     - 가로로 평문 나열     - 암호문은 세로로 나열 내 평문 I did not find my purse had been stolen till I returned home 내 암호문 3  4  2  6  5  1 i  d  i  d  n  o t  f  i  n  d  m y  p  u  r  s  e h  a  d  b  e  e n  s  t  o  l  e n  t  i  l  l  i r  e  t  u  r  n e  d...

3. 29 (목) - 보안 ( 다중 단일 문자 치환 - Vigenere )

▣ 암호학 ◎ 다중 단일 문자치환   - Vigenere 방법  예제  키워드 : infinitive  평문 : i see him drive  평문   : I S E E H I M D R I V E  키워드 : I N F I N I T I V E I N  암호문 : Q F J M U Q F L M M D R  키워드 : flower  평문 : imfinethankyou  평문   : I M F I N E T H A N K Y O U  키워드 : F L O W E R F L O W E R F L  암호문 : N X T E R V Y S O J O P T F  암호문 : P L A W C E O X D J D A O U C J W  키워드 : H A M B U R G E R H A M B U R G E  평문   : I L O V I N I T M C D O N A L D S

3. 28 (수) - 암호 1

암호학   암호의 개념   ◎ 통신 당사자들끼리만 아는 비밀스런 신호나 부호 ◎ 암호화 / 복호화를 위한 원리 수단 방법 등을 취급하는 기술 혹은 과학   2. 암호 용어   ◎ 모든 암호 알고리즘은 투명하게 공개되어 있음 . → 수학적으로 계산해 오류가 있는지 검출해야하기 때문 → ex) 2.0, 2.1 ver 의 아래 한글 ( 암호 알고리즘은 프로그래머가 아닌 수학자가 만든다 ) ◎ 하지만 계산적으로 도출이 힘들어야 함 . ◎ 알고리즘의 안정성은 키를 잘 관리하는 것이 중요 . ◎ 암호화와 복호화에 같은 키를 사용하는 대칭키 알고리즘 ◎ 암호화와 복호화에 다른 키를 사용하는 공개키 알고리즘   3. 암호 원리   ◎ 평문을 암호화하기 위한 연산자의 유형   ⦁  치환 (Subtitution) : 평문의 각 원소를 다른 원소로 사상   ⦁  전치 (Transpostion) : 평문의 각 원소를 재배열   ⦁  혼합 (Confusion) : 평문의 원소를 치환 선택 (bit)   ⦁  확산 (Diffusion) : 평문의 원소를 확대 (bit) ◎ 사용된 키의 수   ⦁  대칭키 : 송수신자가 같은 키를 사용   ⦁  공개키 : 송수신자가 다른 키를 사용 ◎ 평문 처리 방법   ⦁  블록 암호화 (Block cipher) : 연산을 블록 단위로 처리   ⦁  스트림 암호화 (Stream cipher) : 입력을 연속적으로 처리    → 사실 둘의 차이는 보기에 잘 모른다 .   ◎ 단대단 암호 • OSI 참조모델에서 가장 높은 계층 ...