컴퓨터보안 19

[컴퓨터보안] Access Control part 3. 제한 방법/도구

* CAPTCHA - Completely Automated Public Turing test to tell Computers and Human Apart - 완전히 컴퓨터 주관으로 Turing Test를 하는데 사람은 통과하지만 컴퓨터는 통과하지 못하게 하는 것 - 컴퓨터가 문제를 만들고 책점을 하지만 자신은 통과할 수 없다.(Paradox) ⓐ 사용처 - bots가 무더기로 투표하는 것을 막는데 사용한다. - 무료 이메일 서비스에서 스팸성으로 무한정으로 이메일 등록하는(Bot 생성)을 방지한다. - 검색엔진에 의해 자신의 HTML을 숨기기 위해서 사용한다. ⓑ 원칙/법칙 - 인간은 쉽게 해결해야 한다. - 기계는 통과하기 힘들거나 불가능해야 한다. - 사람도 통과하지 못하는 문제에 대비하기 위해 여러개..

[컴퓨터보안] Access Control part 2. Authorization

* Authorization - 접근 제어 : 접근 범위를 제한(Resource 분배 문제) - 보호 받아야 할 시스템의 데이터와 자원에 대해서 행해지는 동작을 규제 - Access control = Authorization + Authentication 이지만, Authorization만을 Access Control이라고 부르기도 한다. - 목적 : 데이터와 자원에 손상을 입히는 동작을 제어하기 위해서. 주체 : 동작을 수행하는 대상 객체 : 주체가 접근하는 대상 reference monitor : 접근을 허락하거나 거부 Access permission : 접근 제어 정책 * 접근 제어 행렬 (Access Control Matrix) - Lampson's Access control matrix > 주체..

[컴퓨터보안] Access Control part 1. Authentication

* Access Control - 접근 제어 - 인증과 인가가 존재 - 때론, Access Control = Authorization으로 사용되기도 한다. ⓐ 인증(Authentication) - 접근이 허용이 될지를 결정 - 내가 아는 그 상대방인가? ⓑ 인가(Authorization) - 사용자는 무엇을 할 수 있는가? - 행동/동작을 제한 example) LINUX > Linux login // 인증 > 각 계정마다 동작범위가 제한 // 인가 * Authentication - 기계가 사람을 인증하는 법에 중심을 둔다. - 다음을 사용하여 인증을 한다. 1) 사람이 알고 있는 것 / 비밀번호 2) 사람이 가지고 있는 것 / 스마트 카드 3) 사람 자신 자체 인 것 / 지문 ---------------..

[컴퓨터보안] 기타 보안에서 알아야할 사항

* Secret Sharing - 비밀 공유법 : n-1차 다항식은 m개의 점에 의해서 결정된다. - "n out of m" 형식의 비밀 공유법이 존재한다. // 결정식 : n-1차 다항식, 공유하는 사람의 수 : m 1) 2 out of 2 // 1차식 사용. 2명이 점을 공유 - 하나의 점을 이용해서 k값을 찾는 것은 불가능하다. - (n 3명중 2명이 함께 Key값을 발효 하길 원할 경우 Key값이 발효가 된다. * Random number - 난수 : 임의성을 갖는 수들의 집합중 일부 - Random : 목적, 원인, 질서, 예측성이 없는 것을 의미한다. - 난수는 Key값을 생성하는 곳에 많이 사용된다. - 추후에 배울 nonce값 또한 랜덤값이다. - 난수는 임의성과 비예측성을 가져아하며, 임..

[컴퓨터보안] 해쉬 함수

* 해쉬함수 - 데이터를 작은 크기의 데이터로 제가공하는 것 - 암호해쉬함수 : 해쉬함수에 보안적 특성을 추가한 것 - 암호해쉬 함수의 특징/성질 ⓐ 압축(Compression) : 메세지의 길이는 입력 메세지의 길이보다 작다. ⓑ 효율성(Efficiency) : 어떠한 메세지라도 쉽게 해쉬값을 계산해야 한다. ⓒ 단방향(One-way) : 해쉬값이 주어졌을 때, 이를 이용해 본래의 값을 찾는 것은 불가능(일정 시간내에 불가능)해야한다. - 긴 문장을 짧게 고친 만큼 해쉬함수에서는 충돌이 발생하게 된다. 이 충돌은 해쉬함수의 안전성과 연관이 깊다. ~ 공격자가 같은 해쉬값을 출력해주는 2개의 문장을 안다면, 바꿔치기 공격이 가능하다. - 충돌 방지 법에는 2가지 종류로 나눠서 생각한다. ⓐ 약한 충돌방지..

[컴퓨터보안] 공개키 알고리즘

* 공개키 암호(Public key cryptography) - 비대칭 암호라고도 한다. * 공개키 암호에서의 키 - 트랩 도어의 단방향 함수에 기반을 둔다. - 한 방향으로의 계산은 쉬우나 다른방향으로의 계산은 힘들다. - 공개키와 개인키의 한 쌍을 만들어 낸다. > 공개키 : 메세지를 암호화 하는데 사용하는 키 ( 모두에게 공개 되있다. ) > 개인키 : 메세지를 복호화 하는데 사용하는 키 ( 개개인 만이 알고 있다. )- 특정사람의 공개키로 암호화된 암호는 그 사람의 개인키로만 복호화가 가능하다. * Knapsack 암호체계 ⓐ Knapsack problem(= General Knapsack problem) - N개의 가중치의 집합 {W0, W1, ... , Wn-1}과 특정값 S가 주어졌을때, 가..

[컴퓨터보안] 대칭키 알고리즘

* 대칭키 알고리즘 - 스트림 암호와 블럭 암호가 존재 * 스트림 암호 - n bit의 키를 이용하여 긴 키 스트림(Long key stream)을 생성하여 Message와 XOR하여 사용한다. - 송신자와 수신자는 동일한 스트림 알고리즘과 Key Stream생성값(Key)값을 알고 있어야 한다. - 스트림 암호 중에서 A5/1과 RC4를 소개한다. ⓐ A5/1 - HW로 구현되는 스트림 암호를 사용한다. - bit단위로 키 스트림이 생성된다. - 64bit의 길이를 가진 Key를 사용한다. Key는 3개의 Linear feedback shift register로 구성된다. - 알고리즘 ㄱ. m = maj(x[8], y[10], z[10]) // maj : 집단에서 가장 많은 수를 뽑아내는 함수 ㄴ. I..

[컴퓨터보안] Crypto basic

* Crypto(암호체계) - 평문을 암호화 하는데 사용하는 것 - 키와 알고리즘으로 나눠져 있다. - 암호체계(알고리즘)은 공격자 및 일반 사람 모두에게 공개 되있다. - 키는 암호체계에서 암호를 Unique하게 해주는 비밀 값이다. - 키를 통해서 평문을 암호문으로 만들거나 암호문을 평문으로 만들 수 있다. - Kerckhoffs Priniple > 암호 알고리즘은 비밀이 아니다. > 현재까지 경험상, 암호 알고리즘은 언젠가는 밝혀진다. > 암호 알고리즘의 변경은 힘들지만, 키의 변경은 간단하다. > 키가 변경되면 암호체계가 변경되고, 새로운 암호가 된다. * 고전적 암호 알고리즘 ⓐ 단순 치환 - 알고리즘 : 알파벳의 순서를 Key값 만큼 Shift하여 위치를 변경하여 작성한다. - Key값 : 얼..

[컴퓨터보안] 소개 및 기본

* CIA - 보안의 중요하고 가장 기본적인 요구사항 ⓐ C(Confidentiality/기밀성) - 허가되지 않은 사람은 정보를 읽지 못한다. - 권한이 없는 사람은 정보를 읽지 못한다. - Don't read information, if you are not authorized. ※ cf) Privacy : Privacy도 기밀성과 같은 이야기지만, 요즘은 개인정보보호의 개념에 Privacy용어를 사용한다. Secrecy ≒ Confidentiality ⓑ I(Integrity/무결성) - 허가되지 않는 사람은 정보를 변경할 수 없다. - 허가가 되어 정보를 읽을 수 있지만, 내용을 수정할 수는 없다. ⓒ A(Availability/가용성) - 필요할 때 언제든지 사용이 가능해야 한다. - 언제든지 ..