컴퓨터 공학/보안
-
네트워크 보안 - 8 | 인가컴퓨터 공학/보안 2023. 2. 10. 21:00
인가 이전 포스트에서는 접근제어의 두 가지 부분 중 하나인 인증에 대해 알아보았다. 그리고 이번 포스트에서는 나머지 반쪽인 인가에 대해 알아보고자 한다. 인가는 접근제어의 한 부분으로서 인증된 사용자의 활동을 제약하는 문제를 다룬다. 좀 더 자세히 말하자면, 인증이 시스템 자원에 접근하려는 사용자에 대한 판별의 문제라면, 인가는 이미 인증된 사용자가 하려는 행동을 제약하는 상황을 다룬다는 것이다. 인증과 인가를 같은 접근제어를 의미하는 용어로 사용하는 경우도 많이 있지만, 이번 포스트에서는 인증과 인가를 나누어 생각해 보기로 한다. 접근제어행렬 접근제어행렬은 주체와 객체를 행렬의 행과 열로 표현하는 방법을 말한다. 여기서 주체는 시스템 사용자로 정의되며, 객체는 시스템의 자원으로 정의된다. 이때 주체의 ..
-
네트워크 보안 - 7 | 인증컴퓨터 공학/보안 2023. 2. 6. 17:31
접근제어 접근제어는 시스템 자원에 대한 접근을 제어하는 것을 말하는데, 보통 인증과 인가라는 두 부분으로 나누어진다. 인증은 사용자 또는 개체가 특정 시스템이나 자원에 접근하는 것을 허용할지 말지를 결정하는 문제이다. 인증의 정의에 따라 인증된 사용자는 시스템 자원에 대한 접근이 허용되는데, 인증된 사용자라 할지라도 시스템의 모든 자원에 대한 접근이 허용되는 것은 아니다. 예를 들어 시스템의 관리자와 같은 특별한 권한을 가지는 사용자에게만 부여되는 권한이 있을 수 있는데, 이렇듯 인증된 사용자에 대해 서로 다르게 접근을 제어하는 것을 인가라고 한다. 인증이 시스템 자원에 대한 접근 허용 또는 접근 거부 중 하나를 선택하는 문제라면, 인가는 다양한 시스템 자원의 접근에 있어서 보다 세분화된 제어와 제약을 ..
-
네트워크 보안 - 6 | 기타 암호 주제컴퓨터 공학/보안 2023. 2. 3. 22:36
비밀 공유 비밀 S가 있고 앨리스와 밥이 이 비밀을 서로 공유하고자 한다. 이때 비밀을 공유한다는 것은 다음의 뜻이다. 앨리스와 밥 단독으로는 비밀 S를 알아낼 수 없다. 앨리스와 밥이 함께 힘을 합치는 경우에만 비밀 S를 알아낼 수 있다. 이는 언뜻 보기에는 어려운 문제처럼 보일 수 있지만 생각보다 간단한 방법으로 해결할 수 있다. 비밀 S를 가지고 (0, S)를 통과하는 직선을 하나 그린다. 그리고 해당 선 위에 존재하는 두 개의 점을 정해서 하나는 앨리스에게 주고, 하나는 밥에게 주면 된다. 직선은 최소 두 개의 선이 존재해야 그릴 수 있으므로, 둘 중 한 명의 정보만 가지고는 S의 값을 알 수 없다. 하지만 앨리스와 밥이 서로의 값을 공개하여 직선을 그린다면 S의 값을 알아낼 수 있을 것이다. 이..
-
네트워크 보안 - 5 | 해시 함수컴퓨터 공학/보안 2022. 10. 10. 22:17
해시함수 해시함수 또는 해시 알고리즘이라고 불리는 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 변환해 주는 함수이다. 보통 자료구조에서 해시 테이블이라는 용도로 사용되며, 이를 이용해 빠른 데이터 검색을 구현할 수 있다. 이러한 해시함수를 암호로도 사용할 수 있는데, 암호로 사용할 수 있는 해시함수를 암호학적 해시 함수라고 한다. 이때 암호학적 해시함수는 특정 조건을 만족해야 하는데, 이 조건은 다음과 같다. 압축: 입력의 크기와 상관없이 출력의 길이는 항상 작아야 한다. 이때 출력의 크기는 고정되어 있다. 효율성: 입력에 상관없이 해시 함수를 계산하기 쉬워야 한다. 입력의 크기가 커질수록 계산 시간이 증가하는 것은 당연하지만, 너무 빨리 증가해서는 안된다. 단방향: 이미 계산된 해시 값을 가지..
-
네트워크 보안 - 4 | 공개키 암호컴퓨터 공학/보안 2022. 10. 10. 18:29
공개키 암호 현대의 암호체계를 크게 대칭키 암호체계, 공개키 암호체계, 해시함수로 나눌 수 있다고 했는데, 이번에는 공개키 암호방식에 대해 알아보고자 한다. 이전에 알아본 대칭키 암호체계의 경우 암호화와 복호화에 필요한 키가 서로 같은 암호방식이었다. 암호화와 복호화의 속도가 빠르고, 비교적 간단한 방식으로 설계가 가능하기 때문에 과거에서부터 현대에 이르기까지 널리 쓰이는 암호방식이지만, 송신자와 수신자가 같은 키를 공유해야 한다는 것 자체가 가장 큰 어려움이라고 볼 수 있었다. 이를 해결할 수 있는 방법이 바로 공개키 암호체계이다. 공개키 암호체계에서는 암호화에 사용되는 키와 복호화에 사용되는 키가 서로 다른데, 이 중 암호화에 사용되는 키는 모두에게 공개를 할 수 있다. 왜 공개를 해야 하고, 키를 ..
-
네트워크 보안 - 3 | 대칭키 암호컴퓨터 공학/보안 2022. 10. 3. 14:59
현대 암호의 분류 2차 세계대전과 함께 놀랍도록 발전한 암호학은 고전 암호에서 현대 암호로 성장하게 되었다. 고전 암호에 비해 훨씬 수학적이고 학문적인 깊이가 깊어진 현대 암호는 시간이 지나면서 계속해서 발전해오고 있다. 여러 암호체계가 새로 생겨나고 또 도태되어 사라지면서, 현대 암호체계를 다양하게 분류할 수 있는데, 그중에서도 크게 세 가지 주제로 이를 분류할 수 있다. 바로 대칭키 암호체계, 공개키 암호체계, 해시함수이다. 이 중에서도 이번 포스트에서 알아볼 내용은 바로 대칭키 암호체계이다. 대칭키 암호체계는 대칭인 키를 이용하는 암호체계를 말하는데, 여기서 말하는 대칭키란 암호화와 복호화에 필요한 키가 서로 같다는 뜻이다. 즉, 데이터를 전송함에 있어 송신자와 수신자가 서로 같은 키를 공유해야 한..
-
네트워크 보안 - 2 | 고전 암호컴퓨터 공학/보안 2022. 9. 24. 17:53
암호학(Cryptology) 이전 포스트에서 정보보안의 3가지 요소인 CIA를 소개했었다. 이때 기밀성(Confidentiality)과 무결성(Integrity)의 경우, 암호화를 통해 그 목적을 달성할 수 있었다. 따라서 보안을 위해서라면 암호학을 공부하게 되는 것은 사실상 필수적인 과정이라 할 수 있을 것이다. 다만, 실제 현대 암호학의 경우 복잡한 수학적인 이론이 동반되는 경우가 많기 때문에, 단순 네트워크 보안을 위해 암호학을 공부하려는 사람들에게는 너무 깊이 들어가는 것이 너무 어렵고, 비효율적일 수 있다. 이러한 이유로 먼저 깊은 수학적인 지식이 없어도 직관적으로 이해 가능한 고전 암호에 대해 먼저 살펴본 다음, 현대에서 실제 사용하고 있는 암호화 방법에 대해 알아보도록 한다. 암호의 개본 개..
-
네트워크 보안 - 1 | 보안의 기본개념과 CIA컴퓨터 공학/보안 2022. 9. 10. 15:42
정보보안이란? 역사적으로 정보라는 것은, 그 존재만으로도 중요한 가치를 가진 경우가 많았다. 따라서 서로 자격이 있는 사람들끼리만 정보를 공유하고, 다른 사람의 귀에는 들어가지 않도록 보안을 신경 쓰는 행위는, 너무나도 당연하게 동반되는 행동이었다. 이를 위해 옛사람들은 특정 정보가 담긴 문서들을 한데 모아 찾을 수 없는 공간에 숨겨두거나, 열쇠와 자물쇠와 같은 물리적인 도구들을 이용해 접근 자체를 막는 방법을 사용하였다. 또는 정보를 담은 글 자체를 제삼자가 이해하지 못할 암호문으로 작성하여, 해당 암호의 구조를 이해하고 있는 사람만 정보를 확인할 수 있도록 하는 방식을 사용하기도 하였다. 이러한 정보에 대한 보안은, 무선통신의 발전에 의해 여러 중요한 정보들이 굉장히 먼 거리까지 빠르게 전달되는 시대..