특히 웹에서 가장 기본적인 사용자 인증 형식은 암호 인증 프로토콜입니다. 이 인증 방법은 사용자 이름 / 암호 조합을 기억하여 계정 또는 웹 사이트의 특수 섹션에 액세스하도록합니다. 효과적이고 어떤면에서는 근본적으로 온라인 보안의 일부이지만 암호 인증 프로토콜은 심각하게 해결하지 않으면 실패합니다. 이것은 복잡한 암호를 구성하고 비밀을 유지하는 것을 의미합니다. 이는 또한 암호 인증을 구현하는 엔터티가 어떤 방식 으로든 암호를 보호해야 함을 의미합니다.
무차별 대입 공격 및 복잡성
일반적으로 해당 암호의 사용자에 대해 알지 못하는 경우 암호를 추측 할 수 없으며 암호가 해당 사용자에 대해 알 수있는 것을 나타내는 경우에만 암호를 추측 할 수 있습니다. 그러나 컴퓨터 프로그램은 암호 시스템에 대한 무차별 대입 공격을 시작할 수 있습니다. 즉, 프로그램은 제공된 용어 사전을 문자 그대로 읽고 올바른 문자 조합이 암호를 해독 할 때까지 각 단어를 시도합니다. 일반적으로 이러한 공격으로부터 자신을 보호하려면 숫자, 문자 및 특수 기호를 포함하는 복잡한 암호를 만들어야하며 기억하기 어려울 수 있습니다.
저장 및 암호화
암호 인증을 사용하는 경우 사용자를 인증하려면 암호와 사용자 이름을 데이터베이스에 저장해야합니다. 강력한 서버 보안이없는 경우 누군가 데이터베이스에 침입하여 암호를 읽을 수 있습니다. 이를 해결하는 한 가지 방법은 암호를 기반으로 고유 한 값을 생성하고 암호 자체 대신 해시 값을 저장하는 해시 알고리즘을 통해 암호를 실행하는 암호 "해싱"을 사용하는 것입니다. 데이터베이스가 유출되면 공격자는 해시 만 읽을 수 있으며 암호가 무엇인지 알 수 없습니다. 그러나 이러한 의미의 해싱은 일반 텍스트 암호 인증의 본질적인 약점으로 인해 존재합니다.
비밀 및 공공 사용
많은 사람들과 마찬가지로 도서관이나 카페와 같은 공공 장소에서 인터넷을 사용할 것입니다. 필연적으로이 공공 장소에서 암호를 사용하여 다양한 웹 사이트에 로그인 할 수도 있습니다. 이로 인해 암호 인증에 내재 된 여러 보안 문제가 발생합니다. 첫째, 물리적으로 가까운 사람이 어깨 너머로 비밀번호를 읽거나 키보드를보고 키 입력을 확인할 수 있습니다. 둘째, 네트워크에 연결된 누군가가 로컬 Wi-Fi 핫스팟을 모니터링하는 네트워크 프로그램을 사용하여 로그인 할 때 암호 정보를 가로 채려고 할 수 있습니다.
사용자 참여
아마도 가장 중요한 것은 암호를 유지하는 데 사용되는 노력만큼 강력하고 안전하다는 것입니다. 많은 사람들이 사용하는 사이트의 암호로 "password", "1234"또는 "pass"와 같은 일반적인 암호를 사용하는 것을 알 수 있습니다. 또한 많은 사람들이 여러 사이트에 대해 동일한 암호를 사용합니다. 즉, 한 사이트가 손상되면 해당 암호를 사용하는 다른 사이트도 손상됩니다. 또한 많은 사용자가 일시적으로 만 작동하도록 의도 된 소프트웨어 제조업체에서 정의한 암호와 같은 기본 암호를 변경하지 않습니다. 누군가 제품에 대한 제조업체의 기본 암호를 알고있는 경우 해당 암호를 먼저 시도해야합니다.