Major`/정보보호개론(11)
-
[정보보호개론] 9. 단순 인증 프로토콜
네트워크 측면에서 프로토콜은 연결된 다양한 통신시스템이 준수해야 할 규칙이다. 여기서는 "인증"을 목적으로 네트워크를 통해 전송되는 메시지에 대한 보안 문제를 다룰 것이다. 네트워크를 통해 전송되는 메시지에 대한 공격은 크게 {Replay Attack & MITM Attack}로 분류할 수 있다 단순 보안 프로토콜 1) 미 국가보안국 (NSA)의 출입증 & PIN NSA에 들어가려면 직원은 항상 출입증을 가지고 있어야 한다 그리고 어떤 gate에 출입증을 제시함과 동시에 자신이 알고있는 PIN을 입력해야 한다 1. 출입증을 판독기에 넣기 2. PIN 번호 입력 >> PIN번호가 유효하면 건물에 들어가고, 유효하지 않으면 총에 맞아 죽는다 2) ATM에서 현금 인출 1. 현금카드를 판독기에 넣기 2. PI..
2022.06.04 -
[정보보호개론] 8. 인가 (Authorization)
Access Control Matrix 인가는 "인증된 user"에게 어디까지 권한을 줄지에 관한 것이다 대표적으로 "인증된 user에 대한 시스템 자원의 권한"을 Matrix 형태로 나타낸다 row는 인증된 user로써 사람이 될 수도 있고, 시스템 상의 자원이 될 수도 있다 column은 시스템 상의 자원을 나타낸다 Bob을 보면 OS에 대한 "rx"권한이 존재하고 Accounting Program에 대해서도 "rx"권한이 존재하고 Accounting Data에 대해서는 "r"권한이 존재한다 r : read w : write x : execute 하지만 이러한 Matrix방식은 "user - Resource"가 많아질수록 크기가 굉장히 커진다 이러한 Matrix를 2가지 측면에서 나눈 "Access ..
2022.06.03 -
[정보보호개론] 7. 인증 (Authentication)
접근제어란, 시스템 자원에 대한 접근과 관련된 주제를 지칭한다 이 접근 제어는 {인증 & 인가}로 나눌 수 있다 인증이란 "신원을 모르는 user"에 대해서 시스템에 접근을 허용할지 여부를 결정하는 것이다 인가란 "인증된 user"에 대해서 시스템 자원의 어디까지 허용할지 여부를 결정하는 것이다 인증된 user라고 해도 시스템상의 모든 자원에 접근하게 내버려두는 것은 안된다 인증 (Authentication) 기본적으로 인증에는 3가지 방법이 존재한다 1. 알고 있는 것 (지식) 2. 가지고 있는 것 (보유) 3. 본인 자체의 것 (생체) 1. 알고 있는 것 (지식) 가장 대표적으로 user가 알고 있는 것은 "user의 Password"이다 Password는 가장 대중적인 "인증 방식"이고 가장 편리하..
2022.06.02 -
[정보보호개론] Week_6 : Information Hiding
Secret Sharing 우리가 어떤 정보 S를 보유한다고 가정하자 1) Alice & Bob 어느 누구도 혼자서 S를 가질 수 없다 2) Alice & Bob은 서로 같이 S를 가져야 한다 한마디로 각자 S를 가지려고 하면 가질 수 없고 서로 협력을 해야 S를 가질 수 있다 Shamir's Secret Sharing (X0, Y0)은 Alice이고, (X1, Y1)은 Bob이다 우리가 (0, S)의 S를 얻기 위해서는 (X0, Y0) ~ (X1, Y1)의 직선을 알아야 한다 따라서 S를 얻기 위해서 Alice & Bob이 "협력"해야 한다 여기서 "m out of n"이란 n명 중 최소 m명이 있어야 비밀 정보를 알아낼 수 있다는 의미이다 이 경우 3명중 최소 2명이 있어야 직선을 생성해낼 수 있기 ..
2022.04.22 -
[정보보호개론] Week_5 : Hashing
Alice가 Bob에게 Message를 보낸다고 가정하자 이때 Alice는 본인이 메시지 보냈다는 것을 증명하기 위해서 "전자서명"을 사용한다고 하자 : Alice의 Private key를 이용해서 전자서명 생성 Bob은 Message와 함께 전달받은 전자서명이 진짜 Alice가 보낸게 맞는지 Alice의 Public key를 이용해서 확인한다 하지만 이 때 메시지의 크기가 매우 크다면??? >> 결국 전자서명을 생성하는 것은 연산이 필요로 하고 Public Key Crypto System은 속도가 느린 암호체계인데 전자서명의 연산까지 더해진다면 속도가 더욱 느려질 것이다 따라서 Hash Function을 사용해보자 Hash Function을 통해서 메시지에 대한 증명을 생성해낸다면 Hash Functi..
2022.04.22 -
[정보보호개론] Week_4 : 공개키 암호
공개키 암호시스템 대칭키 암호시스템의 경우 Encrytpion & Decryption에서 사용되는 key가 동일한 암호시스템이다 하지만 공개키 암호시스템의 경우 Encryption & Decyption에서 사용되는 key가 서로 다른 암호 시스템이다 Encryption Key : Public Key Decryption Key : Private Key 공개키 암호시스템은 "Trap Door - One Way Function"를 기본으로 하고 있다 단방향 함수의 목적은 "한쪽 방향은 쉽게 계산되지만 역으로 계산하려면 굉장히 힘들다" 1850 X 3957 = 7320450 : 단순 계산이므로 쉽다 but 7320450 = A * B ?? 역으로 계산하게 되면 굉장히 힘든 계산이 된다 >> 따라서 역으로 계산 ..
2022.04.05 -
[HW] Java 기반의 AES 복호화 프로그램
아래의 key, IV, Ciphertext를 통해서 plaintext 구하기 "각 값들은 Base64 인코딩되어 제공된다" ## key ## 8iE3bf1se6N76HGPP8S0Xw== ## IV ## cHml3oX848/0uBwDJtChOA== ## Ciphertext ## QDr9NZNG9Bgc3TTnfRuqjjzf/kVSYwbP7F9mR4GQZ/IneIh7HTc/xnwzEeVBc H3pPlIbLFySKZruedJc9X87CGNDJ1f2Dat8BR3Ypbei5Q42xc306/AkSuGsjfqb X9/ELxmdKn7MyvY/Jbc0v0AJHV6odgNzygKRRrFJcUIF/50= ## 암호화 모드 ## AES/CBC/PKCS5PADDING Base64 인코딩? Base64 Encoding이란 Bina..
2022.03.26 -
[정보보호개론] Week_3 : 대칭키 암호
대칭키 암호 - 암호화 & 복호화할 때 사용하는 key가 동일한 암호 시스템 >> Stream Cipher & Block Cipher Stream Cipher 안전성을 덜 보장하면서 사용하기 쉽도록 상대적으로 작은 키를 사용한다는 점을 제외하고는 One Time Pad와 거의 유사한 방식으로 동작한다 One-Time Pad와 다르게, key의 size가 상대적으로 작고 작은 key를 stream형태로 생성해서 사용한다 - "Confusion"의 원칙만 적용이 되는 암호 기법 Stream Cipher는 일단 초기에 "길이가 n인 키 K"를 보유하고 있다 K는 input이 들어올 때마다 각 input size에 맞는 key stream으로 늘어나게 된다 생성된 key stream과 input은 XOR 연산을..
2022.03.23 -
[정보보호개론] Week_2 : 여러가지 암호 알고리즘
이전에 Caesar's Cipher에 대해서 포스팅을 했었다 [정보보호개론] Week_1 : Caesar's Cipher Caesar's Cipher - 최초의 암호 알고리즘 - 간단한 치환암호의 일종이다 알파벳별로 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 방식 Key - Shift by n Key Space - 암호 알고리즘에서 key의 경우의 수 cs-ssupport.tistory.com 더 많은 암호 알고리즘에 대한 포스팅 1) Substitution Cipher : 치환 암호 - Caesar's Cipher는 Shift를 통해서 암호화를 하기 때문에 "Exhaustive Key Search"를 통해서 파악이 가능하다 - Substitution Cipher는 어떤 알파벳을 임의의 알파벳으로 ..
2022.03.17 -
[정보보호개론] Week_1 : Caesar's Cipher
Caesar's Cipher - 최초의 암호 알고리즘 - 단순치환암호의 일종이다 알파벳별로 일정한 거리만큼 밀어서 다른 알파벳으로 치환하는 방식 Key - Shift by n Key Space - 암호 알고리즘에서 key의 경우의 수 >> Caesar's Cipher의 경우 Key Space는 0 ~ 25인 26이다 Exhaustive Key Search - key의 가능한 모든 경우의 수를 통해서 암호를 해석하는 방법 ~~ Brute-Froce / 완전 탐색 Caesar's Cipher Encryption static void encryption_removeSpace(){ System.out.print("\nPlain Text : "); String text = sc.nextLine(); System...
2022.03.03 -
[정보보호개론] Week_1 : 기본 용어
보안의 기본 3원칙 : C I A Confidentially (기밀성) "To prevent unauthorized reading of information" - 인가되지 않은 user(Attacker)가 정보를 읽는 것을 막는다 - Attacker에 의해서 정보가 읽혀서 노출되는 것을 막는 보안원칙 ◆ 공격예시 - 스니핑 - 스푸핑 ◆ 대처방안 1. 접근 통제(Access Control)을 실시 2. 정보에 대한 암호화 Integrity (무결성) "To prevent unauthorized writing of information(Modifying)" - 인가되지 않은 user(Attacker)가 정보에 접근해서 정보를 변경하는 것을 막음으로써 정보의 원본을 보호 - Attacker에 의해서 정보의 ..
2022.03.03