Server/Security 2

Argon2id 파라미터 조정을 통한 해싱 지연

해싱 지연을 통해 해커가 브루트포스 공격을 하는 데에 더 많은 비용(시간, 메모리, 하드웨어 등)이 들도록 할 수 있다.해킹을 통해 얻는 이득보다 이 비용이 더 크다고 판단되면 해커는 해킹을 중단할 가능성이 높으므로 해싱 지연은 보안을 높이는 데에 중요하다.예를 들어, MD5의 경우 RTX4090 기준 초당 1500억 회의 연산이 가능하므로 브루트포스 공격에 용이하며 보안에 취약하다. 목표사용자는 2~5초 정도의 응답 시간은 기다릴 수 있다고 인식하므로, 응답 시간은 약 3~4초를 목표로 하며 해싱하는 데에 드는 시간은 0.5~1초로 조정하는 것이 목표이다. 초기 파라미터 테스트 코드@Test@RepeatedTest(10)@DisplayName("Argon2 해시 테스트")public void test..

Server/Security 2025.05.26

Salt Hash를 활용한 패스워드 암호화

유저 패스워드 저장 방식@PostMapping("/join")public String join(User user) { userService.join(user); return "redirect:/";} 패스워드 암호화를 하지 않고 데이터베이스에 그대로 저장했다. 패스워드를 암호화하지 않고 저장하는 것의 문제점1. 해커가 DB서버에 접근해 데이터를 탈취했을 때 사용자 이메일과 패스워드 모두를 알게 된다.➤ 보통의 사용자는 여러 서비스에 동일한 이메일과 패스워드를 사용한다.➤ 즉, DB 서버를 운영하는 서비스뿐만 아니라, 다양한 서비스에 탈취한 계정으로 접속해 악의적인 행위를 할 수 있다. 2. 관리자에 의한 유출DB 서버 접근 권한을 가진 관리자가 계정을 유출시킬 수 있다. 이러한 이유로 ..

Server/Security 2025.05.07