DDBMS-데이터베이스 보안 및 암호화
이 장에서는 데이터베이스 시스템이 직면 한 위협과 제어 수단을 살펴 보겠습니다. 또한 보안 도구로 암호화를 연구 할 것입니다.
데이터베이스 보안 및 위협
데이터 보안은 모든 데이터베이스 시스템의 필수 요소입니다. 많은 수의 사용자, 단편화되고 복제 된 데이터, 여러 사이트 및 분산 제어로 인해 분산 시스템에서 특히 중요합니다.
데이터베이스의 위협
Availability loss − 가용성 손실은 합법적 인 사용자가 데이터베이스 개체를 사용할 수 없음을 의미합니다.
Integrity loss− 무결성 손실은 실수로 또는 악의적으로 데이터베이스에서 허용되지 않는 작업이 수행 될 때 발생합니다. 이것은 데이터를 생성, 삽입, 업데이트 또는 삭제하는 동안 발생할 수 있습니다. 데이터가 손상되어 잘못된 결정을 내릴 수 있습니다.
Confidentiality loss− 기밀 정보의 무단 또는 의도하지 않은 공개로 인해 기밀 손실이 발생합니다. 불법 행위, 보안 위협 및 공신력 상실을 초래할 수 있습니다.
통제 조치
통제 수단은 크게 다음 범주로 나눌 수 있습니다.
Access Control− 액세스 제어에는 무단 액세스로부터 보호하기위한 데이터베이스 관리 시스템의 보안 메커니즘이 포함됩니다. 사용자는 유효한 사용자 계정을 통해서만 로그인 프로세스를 지운 후 데이터베이스에 액세스 할 수 있습니다. 각 사용자 계정은 암호로 보호됩니다.
Flow Control− 분산 시스템은 한 사이트에서 다른 사이트로 그리고 사이트 내에서 많은 데이터 흐름을 포함합니다. 흐름 제어는 권한이없는 에이전트가 액세스 할 수있는 방식으로 데이터가 전송되는 것을 방지합니다. 흐름 정책은 정보가 흐를 수있는 채널을 나열합니다. 또한 데이터 및 트랜잭션에 대한 보안 클래스를 정의합니다.
Data Encryption− 데이터 암호화는 민감한 데이터가 공개 채널을 통해 전달 될 때 데이터를 코딩하는 것을 말합니다. 권한이없는 에이전트가 데이터에 액세스하더라도 이해할 수없는 형식이므로 이해할 수 없습니다.
암호화 란 무엇입니까?
Cryptography 신뢰할 수없는 통신 경로를 통해 전송하기 전에 정보를 인코딩하여 승인 된 수신자 만이를 디코딩하고 사용할 수 있도록하는 과학입니다.
코딩 된 메시지가 호출됩니다. cipher text 원래 메시지는 plain text. 보낸 사람이 일반 텍스트를 암호 텍스트로 변환하는 프로세스를 인코딩 또는encryption. 수신자가 암호 텍스트를 일반 텍스트로 변환하는 프로세스를 디코딩 또는decryption.
암호화를 사용하여 통신하는 전체 절차는 다음 다이어그램을 통해 설명 할 수 있습니다.
기존 암호화 방법
기존 암호화에서는 동일한 비밀 키를 사용하여 암호화 및 암호 해독이 수행됩니다. 여기서 발신자는 비밀 키 사본을 사용하여 암호화 알고리즘으로 메시지를 암호화합니다. 암호화 된 메시지는 공개 통신 채널을 통해 전송됩니다. 암호화 된 메시지를 수신하면 수신자는 동일한 비밀 키를 사용하여 해당 복호화 알고리즘으로 복호화합니다.
기존 암호화의 보안은 두 가지 요소에 따라 달라집니다.
모두에게 알려진 사운드 알고리즘.
송신자와 수신자 만 알고있는 무작위로 생성 된 긴 비밀 키.
가장 유명한 기존 암호화 알고리즘은 다음과 같습니다. Data Encryption Standard 또는 DES.
이 방법의 장점은 쉽게 적용 할 수 있다는 것입니다. 그러나 기존 암호화의 가장 큰 문제는 통신 당사자간에 비밀 키를 공유하는 것입니다. 키를 보내는 방법은 번거롭고 도청에 매우 취약합니다.
공개 키 암호화
기존 암호화와 달리 공개 키 암호화는 공개 키와 개인 키라고하는 두 개의 다른 키를 사용합니다. 각 사용자는 공개 키와 개인 키 쌍을 생성합니다. 그런 다음 사용자는 액세스 가능한 장소에 공개 키를 넣습니다. 보낸 사람이 메시지를 보내려고 할 때받는 사람의 공개 키를 사용하여 메시지를 암호화합니다. 암호화 된 메시지를 수신하면 수신자는 개인 키를 사용하여 암호를 해독합니다. 개인 키는 수신자 외에는 누구에게도 알려지지 않으므로 메시지를받는 다른 사람은 암호를 해독 할 수 없습니다.
가장 널리 사용되는 공개 키 암호화 알고리즘은 다음과 같습니다. RSA 알고리즘 및 Diffie– Hellman연산. 이 방법은 개인 메시지를 보내는 데 매우 안전합니다. 그러나 문제는 많은 계산이 필요하기 때문에 긴 메시지에는 비효율적이라는 것입니다.
해결책은 기존 및 공개 키 암호화의 조합을 사용하는 것입니다. 비밀 키는 통신 당사자간에 공유하기 전에 공개 키 암호화를 사용하여 암호화됩니다. 그런 다음 공유 비밀 키를 사용하여 기존 암호화를 사용하여 메시지를 보냅니다.
디지털 서명
DS (디지털 서명)는 전자 상거래 응용 프로그램에서 사용되는 공개 키 암호화를 기반으로하는 인증 기술입니다. 메시지 본문에있는 개인에게 고유 한 표시를 연결합니다. 이는 다른 사람들이 유효한 메시지 발신자를 인증하는 데 도움이됩니다.
일반적으로 사용자의 디지털 서명은 위조에 대한 보안을 제공하기 위해 메시지마다 다릅니다. 방법은 다음과 같습니다-
발신자는 메시지를 받아 메시지의 메시지 다이제스트를 계산하고 개인 키로 다이제스트에 서명합니다.
그런 다음 보낸 사람은 일반 텍스트 메시지와 함께 서명 된 다이제스트를 추가합니다.
메시지는 통신 채널을 통해 전송됩니다.
수신자는 추가 된 서명 된 다이제스트를 제거하고 해당 공개 키를 사용하여 다이제스트를 확인합니다.
그런 다음 수신자는 일반 텍스트 메시지를 가져와 동일한 메시지 다이제스트 알고리즘을 통해 실행합니다.
4 단계와 5 단계의 결과가 일치하면 수신자는 메시지에 무결성과 인증이 있음을 알고 있습니다.