본문 바로가기
반응형

분류 전체보기672

커호프의 원칙(Kerckhoff's principle) Kerckhoff의 원리에 따라 암호 알고리즘은 비공개로 할 필요가 없다. 시험 문제의 보기에서 자주 나오는 문장이다. 언뜻 보면 당연히 틀린말 같지만 맞는 보기이다. 암호를 푸는데는 복호화 key와 복호화 알고리즘이 필요하다. 물론 둘다 보안이 철저히 유지 된다면 좋겠지만 커호프는 알고리즘은 중요하지 않다고 말한다. 매우 보안 정신이 부족한 생각 같지만 보안을 책임지는 사람이라면 그렇게 생각해야 한다고 말한다. 그만큼 복호화 key에 대한 보안이 철저해야 한다는 의미이다. 알고리즘은 언제든지 뚫릴 수 있다. 유출이 되지 않더라도 역공학을 이용해서 풀릴 수도 있다. 그런 만큼 알고리즘의 보안성만 믿고 '복호화 key? 유출되면 다른 걸로 바꾸면 되지 뭐. 우린 절대 뚫릴 수 없는 완벽한 알고리즘이 있으니.. 2016. 10. 12.
시도-응답 인증(Challenge-Response Authentication) 기존의 ID + PASSWORD 방식은 재전송 공격에 취약하다. 시도-응답 인증은 이런 취약점을 보완하기 위해 대칭키 기반의 소지기반 보안을 추가한 일회성 인증 방법이다. 시도-응답 인증에서 중요한 개념은 일회성 인증이다. 은행의 시크리트 카드보다 OTP가 보안성이 훨씬 좋은 것과 같은 맥락이다. 사용지가 인증을 원할 경우 서버에선 사용자에게 일회성 Challenge를 보낸다. 사용자는 이를 비밀키로 암호화하여 서버에 Response 한다. Challenge 는 일회성으로 난수로 예측할 수 없고 매번 다른 값으로 바뀌어야 한다. 이런 방식이라면 해커가 중간에 Response를 스니핑 하더라도 이를 재사용 할 수 없다. 이미 한번 쓰였던 일회용 값이기 때문이다. 이러한 인증 방법을 사용하려면 서버와 클라이.. 2016. 10. 12.
사용자 인증 방법 3가지 Type1. 지식기반 인증 주체가 알고 있는 것을 보여줌으로써 인증한다. ex) 패스워드, 비밀번호찾기 질문/답 Type2. 소유기반 인증 주체가 가지고 있는 것을 보여줌으로써 인증한다. ex) 시크리트 카드, OTP, 출입증 Type3. 존재(생체)기반 인증 주체가 그를 나타내는 것을 보여줌으로써 인증 한다. ex) 지문인식, 홍채 인증, 정맥 인증 휴대폰 인증, 공인인증서는 Type1 + Type2이다. 2016. 10. 12.
IEEE 754 부동 소수점 표현의 이해 -118.625 를 2진수로 나타내려면 어떻게 해야 할까? 단순히 아래와 같은 표현을 생각해 볼 수 있겠다. -1110110.101 이렇게 표현하면 어떤 실수도 제한 없이 표현 가능하다. 하지만 부호는 어떻게 표현할 것이며 소수점의 위치는 어떻게 나타낼 것인가? 그리고 컴퓨터에서 변수들 생성할 때는 메모리 할당을 위해 고정된 크기로 생성해야 한다. 그렇다면 어디까지를 정수에 할당하고 어디까지를 소수에 할당할 것인가? 이런 고민들에 표준을 제시한 것이 IEEE 754 이다. IEEE 754 에선 지수부와 가수부 라는 표현을 사용한다. -118.625 를 -1.18625 × 10의 2승 이라고 표현하는 것이다. 2진수로 나타내면 -1.110110101 × 2의 6승이다. 정수는 가장 앞의 한 자리만 남도록 .. 2016. 10. 12.
카르노맵 문제 풀기 가장 많이 나오는 문제는 카르노맵을 주고 식을 도출해내는 문제이다. 역으로 식을 주고 카르노맵을 그리는 문제도 나오지만 둘중 하나만 이해해도 카르노맵과 관련된 문제는 다 풀 수 있다. 우선은 카르노맵을 식으로 풀어내는 것만 보자. 아래 3가지는 꼭 기억하고 넘어가야 한다. 1) 카르노맵의 가로축은 00 01 11 10 순서이다. * 그레이코드를 이용한 것인데 혹시 그려야 될 경우도 있기 때문에 언급해 둔다. 2) 카르노맵의 맨 좌측과 우측은 지구본 처럼 이어진다. 반지처럼, 밴드처럼 이어져 있다. 3) 2의 승수로 같은 값이 연속될 경우에만 묶을 수 있다. 말이 어려워 보여도 굳이 이해하려고 애쓰지 말자. 위 공식을 보면서 아래 예제만 몇개 풀어보면 된다. 이렇게 묶어주면 된다. 2개 또는 4개 단위로 .. 2016. 10. 12.
전자계산기 구조 계산 문제 명령 사이클 시간 1클록 = 1머신 스테이트 머신 사이클 = n머신 스테이트 명령 사이클 = n머신 사이클 Q. 하나의 명령 사이클을 실행하는데 2개의 머신 사이클이 필요하고 각각 머신 사이클은 5개의 머신 스테이트로 구성되어 있고 CPU 클록 주파수는 10MHz일때 하나의 명령 사이클을 실행하는데 걸리는 시간은? 2×5x(1/10,000,000) = 1/1,000,000 = 1µs 인스트럭션의 성능 수행시간 / (페치시간 + 준비시간) Q. 인스트럭션 수행 시간이 10ns 이고, 인스트럭션 페치 시간이 5ns, 인스트럭션 준비 시간이 3ns라면 인스트럭션의 성능은? 10 / (5+3) = 1.25 버스의 대역폭 버스 클록(Hz) × 버스의 폭(bit) Q. 버스 클록이 2.5GHz이고, 데이터 버스의 .. 2016. 10. 11.
동기식 전송과 비동기식 전송 비동기식 전송 - 문자 단위로 전송하며, 한 문자 코드 앞뒤로 Start bit, Stop bit를 붙여서 전송한다. 필요한 경우 패리티 비트등을 추가할 수도 있다. - 전송이 없는 시간 동안 회선은 휴지 상태가 되는데 얼마나 지속될지 알 수가 없다. - 문자 앞뒤로 추가적인 bit가 붙으므로 효율이 떨어진다. - 주로 단거리 저속 전송에 사용된다. 동기식 전송 - 정해진 만큼 한 블록(프레임) 단위로 전송한다. - 추가적인 bit 나 휴지 시간이 없으므로 전송 효율이 좋다. - 한꺼번에 큰 단위로 전송하므로 속도가 빠르나 수신 측에선 반드시 버퍼가 필요하다. - 문자위주 동기방식과 비트위주 동기 방식이 있다. - 문자위주 동기 : SYN등의 제어 문자 이용 - 비트위주 동기 : 011110 등의 제어 .. 2016. 10. 11.
FDS(Fraud Detection System, 이상거래 탐지 시스템) 2001년 페이팔 해킹 사고 이후 페이팔에서 자체적으로 추진, 개발하였다. 한국에서는 몇몇 카드사에서 자체 도입하였고 2014년 금융감독원에서 '금융권 FDS 고도화 로드맵 1.0' 을 발표한 이후 현재 주요 금융권(제 1금융권 중심)에선 대부분 도입이 완료되었다. 주요기능 1. 수집 2. 분석, 평가 3. 대응 3. 모니터링 및 감사 프로세스 거래정보를 수집하여 분석, 평가하고 이상거래라는 의심이 들 경우 추가 인증 요구, 이상거래로 판단될 경우 거래를 차단한다. 이상거래 방금 서울에서 결제된 카드가 잠시 후 싱가포르에서 결제되었다. 가정 주부 소유의 카드가 카지노에서 결제되었다. 2016. 10. 11.
개인정보 유출사실의 통지•신고제도 개인정보보호법 제34조(개인정보 유출 통지 등) ① 개인정보 처리자는 개인정보가 유출되었음을 알게 되었을 때에는 지체 없이 해당 정보주체에게 다음 각 호의 사실을 알려야 한다. 1. 유출된 개인정보의 항목 2. 유출된 시점과 그 경위 3. 유출로 인해 발생할 수 있는 피해를 최소화하기 위해 정보 주체가 할 수 있는 방법등에 관한 정보 4. 개인정보 처리자의 대응조치 및 피해 구제절차 5. 정보 주체에게 피해가 발생한 경우 신고 등을 접수할 수 있는 담당부서 및 연락처 2016. 10. 11.
PKI 기반 전자서명과 공인인증서 전자서명법에 의해 전자서명 또한 종이 문서에 서명한 것과 동일한 효력을 갖는다. 그래서 은행 영업점에 가서 전표에 서명을 하지 않고서도 송금 등의 금융업무가 가능한 것이다. 이러한 전자서명 구도에서 가장 중요한 것은 이 전자 서명이 유효한 사용자의 유효한 서명인가 여부이다. 실제로 대면해서 실명증표 확인후 서명 받는 것이 아니기 때문에 비대면 채널에선 항상 신분위장 공격의 위험이 따른다. SSL이 이용자 입장에서 업체의 무결성을 보장받는 보안이었다면 공인인증서는 반대로 업체 입장에서 이용자의 무결성을 보장받기 위한 보안이다. ​공인인증서의 정의 어떤 공개키가 누구의 소유인지 증명하는, 공인된 기관에서 발행한 인증서 ​공인인증기관 : 금융결제원, 한국정보인증, 한국증권전산, 한국전산원, 한국전자인증, 한국.. 2016. 10. 11.
XML 기반 보안 기술 ebXML : 전자상거래 데이터 교환의 전세계적 표준 구축을 위한 OASIS(사설 컨소시엄)와 CEFACT(UN산하기관)의 프로젝트 XML Signature : 영구 무결성 및 부인 방지 XML Encryption : 영구 기밀성 XKMS(XML Key Management Specification) : PKI서비스 프록시 SAML(Security Assertion Markup Language) : 인종, 승인, 속성 Assertion XACML(eXtention Access Control Markup Language) : XML 기반 접근 제어 2016. 10. 11.
IPSec IPSec은 이름에서 알 수 있듯이 보안성이 부족한 기존 IP프로토콜을 보완하기 위한 보안 기술이다. 기존 IP프로토콜에 추가적인 절차를 더해 호환성있게 적용되며 IPv4에선 보안이 필요한 경우에만 선택적으로 사용되었지만 IPv6부턴 기본 스펙에 포함된 필수 사항이다. IPSec에는 2+1가지 프로토콜이 지원된다. 프로토콜이라고 하지만 실제론 헤더의 구성 차이, 기능 차이라고 보면 된다. AH(Authentication Header) : Sequence number를 이용하여 재전송 공격을 방지한다. 무결성을 보장한다. ESP(Encapsulating Security Payload) : AH의 기능을 포함하고 추가적으로 패킷을 암호화하여 기밀성을 제공한다. 이 둘은 선택 옵션이다. 초기 연결 시에 어떤 .. 2016. 10. 11.
SSL/TLS 프로토콜 웹 브라우저와 웹 서버 간에 안전한 정보 전송을 위해 사용되는 암호화 프로토콜이다.우선 SSL과 TLS라는 이름에 대해 짚고 넘어가자. SSL(Secure Socket Layer)은 넷스케이프사에서 개발한 보안 프로토콜로, IETF에서 이를 국제 표준화 하는 과정에서 SSL이 모 기업의 상용 제품과 이름이 같다는 이유로 TLS(Transport Layer Security)로 이름을 바꾸어 버린다. SSL3.0이 나온 직후 개명되었으므로 그냥 TLS1.0을 SSL3.0이나 SSL3.01정도로 보면 된다. 말 그대로 개명이지 구조적인 변화나 기술적인 진보가 이루어 진 것은 아니므로 그냥 같은 개념으로 보면 된다. 이 글에서는 그냥 SSL로 통칭한다. SSL은 앞서 설명한 Diffie-Helman Key Ex.. 2016. 10. 11.
RSA 키 분배 알고리즘(Rivest-Shamir-Adleman method) 앞서 설명한 Diffie-Hellman과 같은 대칭키 방식을 토대로 더 강력한 알고리즘을 만들어 보겠다고 MIT의 Rivest, Shamir, Adleman 3명이 의기투합하여 만들었다. 3명의 이름을 따서 RSA법이라고 부른다. 디피-헬만법과 구분되는 점은 RSA에선 아예 암호화 키와 복호화 키가 다르다는 점이다. 큰 숫자를 소인수 분해하는 것이 어렵다는 것에 기반을 두고 디피-헬만법보다 훨씬 복잡한 공식을 사용한다. (디피-헬만법은 이산대수기반) 140자리 이상의 큰 소수의 곱과 추가적인 복잡한 연산을 통해 공개키와 개인키를 구성한다. 암호화/복호화 하는 데 있어서 대칭키보다 상대적으로 오랜 시간이 소요된다. 참고 - 가장 처음 나온 공개키기반 알고리즘 : 디피-헬만 - 디피 헬만과 같은 이산대수기반.. 2016. 10. 11.
디피-헬만 키 교환 알고리즘(Diffie-Hellman key exchange) 디피라는 사람과 헬만 이라는 사람이 공동 개발했다고 해서 디피-헬만법이다. 경우에 따라 디피-헬만 프로토콜이라고도 한다. - 비대칭키(공개키) 알고리즘에서 사용되는 키 교환 방식이다. - 상대방의 공개키와 나의 비밀키를 이용하여 비밀키를 생성한다. - A의 공개키와 B의 개인키를 DH연산하면 B의 비밀키가 되고 - B의 공개키와 A의 개인키를 DH연산하면 A의 비밀키가 된다. - 이산대수법에 의거한 수학적 공식에 의해 A의 비밀키와 B의 비밀키는 같아진다. - 송신자와 수신자는 이 비밀키를 사용하여 데이터를 암호화한 후 전달한다. 최초의 공개키 교환 알고리즘으로 IPSec, S-HTTP, SSL등 많은 프로토콜에서 기본적으로 사용하는 중요한 알고리즘이다. RSA또한 이 디피-헬만법에서 아이디어를 얻었다... 2016. 10. 11.
보안의 요건과 보안유지 기법 보안의 요건 기밀성(Confidentiality) : 시스템내의 정보와 자원은 인가된 사용자에게만 접근이 허용되며, 정보가 노출되더라도 읽을 수 없도록 함 무결성(Integrity) : 시스템 내의 정보는 오로지 인가된 사용자만 수정 할 수 있음 가용성(Availability) : 인가 받은 사용자에 데해서는 사용이 용이해야 함 인증(Authentication) : 시스템 내의 정보와 자원을 사용하려는 사용자가 인가된 사용자인지 확인하는 행위 부인 방지(Non Repudiation) : 시스템에 접근하고 데이터를 송•수신한 자가 그 사실을 숨기거나 부인할 수 없도록 증기를 기록•관리 보안유지 기법 외부 보안 시설 보안 : 천채지변이나 외부 침입로부터의 보안 운영 보안 : 전산소 관리 및 경영자들의 정책과.. 2016. 10. 10.
반가산기(Half-adder)와 전가산기(Full-adder) 반가산기란 두 개의 비트를 더하여 합(sum)과 올림자(carry)를 구하는 것이다. 머리 속으로 구현해 보자. 0+0=0 0+1=1 1+0=1 이까지만 보면 마치 OR연산자로 처리될 것 같지만 문제는 이거다. 1+1=0 두 비트가 모두 1일 때 결과는 10이 되어야 한다. 올림자(Carry)가 1이 되고 합(sum)은 0이 돼야 하는 것이다. 기초를 제대로 공부 했다면 아래와 같은 연산 결과를 가지는 연산자를 바로 알아챌 수 있을 것이다. 0 0 → 0 0 1 → 1 1 0 → 1 1 1 → 0 바로 XOR 이다. XOR이 있기 때문에 합(sum)은 의외로 간단하게 구현된다. 올림자(carry)는 더 쉽다. 위에서 보았듯이 둘다 1일 때만 1을 반환하면 된다. 그냥 AND연산자 하나면 쉽게 해결되는 것.. 2016. 10. 9.
인터럽트(Interrupt)의 개념과 종류 인터럽트는 컴퓨터 구조에서 CPU의 활동에 많은 영향을 끼치는 중요한 개념이다. 어느 전산 시험, 어느 회차에서도 관련 문제가 꼭 등장하므로 인터럽트에 대해서만 확실히 이해하고 가도 몇 문제는 더 풀 수 있을 정도이다. 인터럽트란 사전적 의미로는 '끼어들다', '중단시키다' 정도의 의미를 가진 말로 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 후 다시 실행중인 작업으로 복귀하는 것을 말한다. 인터럽트의 종류인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등기계 착오 인터럽트(Machine check .. 2016. 10. 9.
반응형