김보안의 블로깅
  • 🏠 Home
  • 📚 Project
    • Blockchain
      • 🎦 PickMe
      • 🎦 IoTC
      • 🎦 Blackchain
      • 📃 Gemology
      • 🎦 PickMe
      • 🎦 PickMe
    • AI
      • 👋 A.I. Dream Reader
      • 🎦 A.I. Dream Reader
    • Security
      • 🎦 SNAC
    • Education
      • 🎦 Smart Lecture
  • 🤸‍♂ Hobby
    • Music
      • Violin
      • Guitar
      • Piano
      • Drum
    • Flower
      • Flower Certificate
    • Sport
      • Ski
      • Skateboard
      • Golf
      • Boxing

2017년 9월 21일 목요일

[Kisa] 암호의 이해와 키 관리 실무 - 4일차 암호와 금융 보안

 SecureKim     오후 5:21     No comments   


P / NP : 문제를 푸는데 걸리는 시간과 검증하는데 걸리는 시간의 측면에서 바라 봄

P problem : Polynomial time problem - 푸는 시간, 검산하는 시간이 다항식내 끝남
NP problem : Nondeterministic P problem - 푸는 시간 예측 불가, 검산은 다항식 시간 내 끝남 (예 : RSA )

P 문제도 무한하고 NP 문제도 무한하다.
P = NP 인지 P != NP 인지 증명한다면?

만약 P = NP 라면 어려운 문제는 쉽게 풀 수 있는 길이 존재하므로
모든 암호는 다항식 시간 내 풀 수 있는 방법이 존재한다는걸 증명하게 되는 것이다
==> 노벨상


암호 안정성 증명 모델

진짜 암호문을 오라클에 만들어 보냄 ----->
랜덤 스트링을 오라클에 만들어 보냄 ----->

랜덤 오라클 모델로 안전하다고 알려졌지만 깨진 사례가 있음.
최근은 Standard Model 을 사용해서 안전성 증명.

SHA3 는 귀납법을 이용해 안전성을 증명한다.

  1. SHA3 를 깨는 방법이 있다 -> 가정
  2. SHA3 는 문제 A를 푸는 것으로 다항식 내 풀 수 있다.
  3. 하지만 문제 A를 푸는 방법은 알려져 있지 않다.
  4. 따라서 SHA3 를 깨는 방법은 없다.


무결성 검증 모델


  1. 무결성 검증 기능을 제공하는 모드를 사용한다(CCM / GCM)
  2. 평문 암호화 단계에서 평문에 대한 해시값도 함께 암호화 한다.
  3. 평문에 대한 MAC 값을 첨부한다. (암호화 키와 MAC 키는 달라야 한다.)
  4. 평문에 대한 전자서명 값을 첨부한다.

가용성
현재 컴퓨팅 환경에서 쓸 수 있는 수준의 보안을 적용해야 함.
RSA 1024 : 10ms
RSA 2048 : 80ms
RSA 4096 : 640ms


알려진 암호 공격 기법


CPA (Chosen Plaintext Attack) : 선택 평문 공격

  • 상황 : 암호 오라클이 존재하여, 평문을 주면 평문에 대한 암호문을 준다.
  • 공격 : 모든 평문에 대한 암호문을 만들어 둔다.
  • 조건 : 암호문을 적절한 시간내 얻을 수 있을 때 / 키가 고정된 시스템

KPA (Known Plaintext Attack) : 알려진 평문 공격

  • 상황 : 공격자가 평문에 대응하는 암호문 몇개를 알고 있는 경우 
  • 공격 : 치환 암호 환경에서 빈도 분석을 활용.
  • 조건 : 빈도 분석 공격을 할 수 있을 정도로 평문과 암호문 쌍이 많을 때.

CCA ( Chosen Ciphertext Attack) : 선택 암호문 공격

  • 상황 : 복호 오라클이 존재하여, 암호문을 주면 평문을 준다.
  • 공격 : 암호문을 조작하거나 생성하여 평문 - 암호화 쌍을 만들어 둔다.
  • 조건 : 적절한 시간 내 얻을 수 있을 때 / 키가 고정된 시스템
COA ( Ciphertext Only Attack ) : 암호문 단독 공격
  • 상황 : 공격자가 도청을 통해 암호문을 얻는다.
  • 공격 : 분석 과정을 통해 평문을 예측한다.
  • 조건 : 치환 암호 사용 및 암호문이 많을 때
Replay Attack : 암호문 재전송 공격
  • 상황 : 암호문에 대한 평문은 몰라도 암호문을 단순 재전송.
  • 공격 : 메시지를 재전송 하여 원하는 것을 얻는다.
  • 조건 : 메시지만 암호화 하는 구조 일 때
  • 방어 : Timestamp < Nonce < Sequence = One Time Session Key
Reflection Attack : 암호문 반사 공격
  • 상황 : 받은 암호문을 그대로 서버에 다시 보냄.
  • 공격 : 서버가 클라이언트에게 보낸 명령을 다시 서버가 수행하게 됨.
  • 조건 : 세션키가 같을 경우 / 방향에 대한 정보가 없을 경우
  • 방어 : 방향에 대한 세션키를 다르게 하고 방향 정보를 추가함. SSL 은 메시지를 암호화 하는 키, MAC 에 사용하는키, 순방향 / 역방향 총 4개를 공유한다.
Session Hijacking Attack : 세션 훔치기 공격
  • 상황 : 공격자가 피해자의 개인 정보를 몰라도 로그인
  • 공격 : 세션 ID를 훔쳐서 그대로 사용함
  • 조건 : IP 확인이나 다른 Factor를 사용하지 않는 경우
  • 방어 : 특별한 기능 ( 개인정보 수정 등 ) 은 재인증 한다(패스워드/ARS 등)
MITM : 중간자 공격

  • 통신을 가로채서 위변조
  • 방어 : 암호화 통신 / 동일키 확인 / MAC / 상호인증 / 재전송,반사공격 방지


암호 프로토콜 강화 기술

Probabilistic Encryption : 확률적 암호
  • KPA, COA 방어를 위해 평문 - 암호화 쌍이 1:1이 아니도록 함.
  • Encryption(RandomStr + Message) 복호화 이후 RandomStr 삭제
Key Confirmation : 동일 키 확인
  • 원래 세션이 존재하는 상태에서 특별한 정보 공유를 위해 키를 나눠가지는 상황
  • 클라이언트와 서버가 동일한 키를 갖고 있는지 확인 해야 한다.
Convert Channel : 은닉 채널
  • 통신 회선 뿐만 아니라 메모리간 통신에도 적용되는 개념.
  • 터널링 / VPN 개념으로 보면 됨.
Forward Secrecy : 전방향 안정성
  • 비밀키가 노출되더라도 키 분배 과정의 세션키 안정성에는 여향을 미치지 않음
  1. 서버의 개인키(RSA 등)를 Long-term Secret Key로 정의
  2. 키 교환 단계에서 사용되고 폐기되는 키는 Short-term Secret Key로 정의
  3. Long-term Secret Key 와 Short-term Secret Key는 별개의 키.
  4. 세션키를 계산하려면 두개의 키가 모두 있어야 한다.

금융 E2E (End to End) 기술 - Compliance 이다.

일반 E2E : 사용자의 Password 에 대한 기밀성 ( 값을 변경해서 보내겠다 )

확장 E2E : 입력장치로부터 입력된 값만 인식하겠다.

키보드 입력 과정
Key board -> 
커널 -----------------------
8042 MCU -> I8042 driver -> kdbclass driver -> 
윈도우 --------------------
System Message Queue -> Thread Message Queue -> IE/Thread
-> Editor Class


BHO (Browser Helper Object ) 기술
브라우저가 시작될 때마다 함께 로드되어 메모리가 공유되고 있음.
브라우저 창,  HTML Document, Event 에 대한 제어권을 갖는다.

따라서 해결을 위해 실제로 보내는 데이터는 사용자 입력과 다르게
한 바이트씩 암호화해서 히든 필드에 숨겨서 보낸다.

Javascript 기반 가상 키패드 - 문제는 어깨 너머로 볼 수 있다는 것.
멀티 마우스 입력으로 뭘 누르는지 모르게 할 수도 있다. 
아래가 대표적인 예

금융 보안에 대해서는 한국이 선진국이다. ( 이런 키보드 보안 기술은 한국이 최초다 )


OTP (One Time Password)

인증을 위해 사용되는 Password
표준은 많은데 RFC 6338(T-OTP) 를 보통 사용한다.

T-OTP (Time Based OTP)
OTP 서버가 있고, OTP 기기가 있어서 두 값이 같으면 인증됨.
기본적으로 알고리즘은 시간과 Seed를 이용한 HMACwithSHA 이다.

C-OTP (Challenge-Response OTP)
OTP 서버에서 정해준 입력 값(Challenge)을 OTP 단말에 입력해 생성.
단점 :
-비싸다. 단가가 5만원정도.
-단건 이체만 가능하다.
-귀찮고 사용성이 떨어진다.

  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
이메일로 전송BlogThis!Twitter에서 공유Facebook에서 공유
최근 게시물 이전 게시물 홈

0 개의 댓글:

댓글 쓰기

페이지

  • 홈
  • Hobby

Categories

  • AI
  • android
  • AWS
  • Blockchain
  • Hardware
  • Javascript
  • mysql
  • Node.js
  • Plasma
  • review
  • Security
  • Study
  • Video
  • windows

Popular Posts

  • 블랙보드 강의 녹화 영상 다운로드 가능한 방법 (노설치)
    별도의 설치도 필요 없고 아주 쉽습니다. 구글 크롬브라우저 에서 블랙보드 녹화 영상에  다운로드 가능한 메뉴가 나오게 하는 코드입니다.  먼저 블랙보드 강의자료에 입장하고, 재생 버튼을 클릭 하지 않은 상태로 F12 를 입력합니다. 재생을 클릭하지 마세요.
  • 회사 프록시와 인증서에 고통받는 그대를 위한 글 (Bash, Gradle, Python, wget, nodejs(npm), apt-get, cURL, git, yarn, androidStudio)
    대기업에 입사하면 장단점이 있는데, 단점 중에 하나가 회사에서 프록시를 사용하여 트래픽 감시를 하므로 프록시 설정을 해주어야 한다는 점 입니다. 특히, 회사에서는 https 트래픽도 감시를 하므로 인증서도 설정해 주어야 합니다. 그런데 문...
  • [Node.js] Redis 의 hmset
    Redis 의 hmset 사용하기 var redis = require('redis'); var client=redis.createClient(포트,호스트,null); /* * MySQL을 사용하다가 Redis를 사용해보니 신세...

Blog Archive

  • ►  2023 (1)
    • ►  1월 (1)
  • ►  2022 (10)
    • ►  12월 (1)
    • ►  11월 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  6월 (2)
    • ►  3월 (2)
  • ►  2021 (9)
    • ►  12월 (3)
    • ►  11월 (1)
    • ►  6월 (1)
    • ►  5월 (2)
    • ►  4월 (2)
  • ►  2020 (12)
    • ►  10월 (1)
    • ►  9월 (2)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (5)
    • ►  4월 (1)
    • ►  2월 (1)
  • ►  2019 (14)
    • ►  10월 (2)
    • ►  7월 (1)
    • ►  3월 (4)
    • ►  2월 (2)
    • ►  1월 (5)
  • ►  2018 (14)
    • ►  12월 (2)
    • ►  11월 (4)
    • ►  10월 (1)
    • ►  8월 (2)
    • ►  5월 (4)
    • ►  1월 (1)
  • ▼  2017 (12)
    • ►  10월 (2)
    • ▼  9월 (9)
      • [Kisa] 암호의 이해와 키 관리 실무 - IOT 보안
      • [Kisa] 암호의 이해와 키 관리 실무 - FIDO
      • [Kisa] 암호의 이해와 키 관리 실무 - 4일차 암호와 금융 보안
      • [Kisa] 암호의 이해와 키 관리 실무 - 3일차 정보보안 Compliance
      • [Kisa] 암호의 이해와 키 관리 실무 - 3일차 PKI 관련 표준 - PKCS
      • [Kisa] 암호의 이해와 키 관리 실무 - 2일차 PKI와 관련 표준의 이해
      • [Kisa] 암호의 이해와 키 관리 실무 - 1일차 (암호학의 기초)
      • Cloud Sec 2016 관람 후기
      • 블루본 (BlueBorne) - Bluetooth 취약점과 탐지(Detector) 앱 분석
    • ►  5월 (1)
  • ►  2016 (8)
    • ►  10월 (2)
    • ►  8월 (1)
    • ►  6월 (1)
    • ►  1월 (4)
  • ►  2015 (6)
    • ►  12월 (3)
    • ►  10월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
  • ►  2014 (10)
    • ►  11월 (1)
    • ►  9월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (3)
    • ►  4월 (1)
    • ►  3월 (2)
  • ►  2013 (28)
    • ►  12월 (3)
    • ►  11월 (6)
    • ►  10월 (6)
    • ►  9월 (6)
    • ►  8월 (1)
    • ►  7월 (3)
    • ►  6월 (3)

구독

글
Atom
글
댓글
Atom
댓글

로드 중입니다...

각오

직접 해보지 않은 것은 포스팅 하지 않겠습니다.

Copyright © 김보안의 블로깅 | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates