Dlise
시원한 냉장고
Dlise
전체 방문자
오늘
어제
  • 시원한 냉장고 (132)
    • Java (31)
      • Java (26)
      • Spring (5)
    • Algorithm & PS (25)
      • Algorithm (14)
      • Problem Solving (11)
    • Network (12)
    • Database (2)
    • Data Structure (4)
    • OOP & CleanCode (5)
    • Web (0)
    • Git (2)
    • AI (2)
    • Project (1)
      • Discord Bot (1)
    • Error (19)
    • Tools (5)
    • 수학 (5)
      • 확률과 통계(기초) (5)
    • 컴퓨터 구조 (3)
    • 활동 (16)
      • 행사 & 여행 (6)
      • 자격증 (4)
      • 회고 (6)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 네트워크
  • 백준
  • java
  • 통계학
  • 열혈강의자료구조
  • 후위 표기법
  • 중위 표기법
  • 가장쉬운알고리즘책
  • CleanCode
  • spring security in action second edition

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dlise

시원한 냉장고

Java/Spring

Spring Security - Spring Security를 공부하는 이유

2024. 6. 4. 19:10

오늘부터 Spring Security in Action, Second Edition을 활용해 Spring Security를 공부할 것인데 먼저 학습 이유와 목적을 정리하고자 한다.

 

Security를 공부하는 이유

SW 개발은 크게

시스템에 주어지는 입력에 대한 출력에 대한 기능적 요구사항(Functional Requirements)과

보이지 않는 시스템의 속성이나 제약 사항에 대한  비기능적 요구사항(Non-Functional Requirements)으로 구분된다. (성능, 신뢰성, 보안성, 가용성 등)

 

사용자의 입장에선 기능적 요구사항이 직관적으로 보이기에 SW Application을 개발할 때, 특히 개발 학습 초기에 이에 중점을 두는 경우가 많지만 비기능적 요구사항이 더욱 결정적일 수 있기에 이도 크게 신경을 써야 한다.

 

예를 들어 은행 업무 Application이 사용자 경험에만 중점을 두고 비기능적 요구사항, 특히 보안에 신경을 쓰지 않는다면 개인정보가 쉽게 노출되며 이는 결국 Application 소유자의 수익에 직접적인 영향을 미친다.

 

 

Spring Security를 공부하는 이유

비기능적 요구사항에서 보안성을 만족하기 위해 우리는 Security를 학습해야 한다는 것은 알겠는데

어째서 다른 것이 아닌 Spring Security를 공부해야 하는 걸까?

 

그 이유는 Spring Security가 Spring App에서 Application Level 수준의 보안을 구현하기 위한 기본적인 선택지이기 때문이다. 

 

아래 페이지에서 Spring Security를 강력하고 커스터마이징이 가능한 인증, 인가 등을 제공하는 프레임워크로 사실상의 표준이라고 설명한다.

https://spring.io/projects/spring-security

 

Spring Security

Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authentication and authoriz

spring.io

즉, Spring Project를 진행할 때 보안 측면을 구현 및 관리하기 위해서 Spring Security를 활용하는 것이 기본이라는 것이다.

 

이번에 학습할 Spring Security는 Java 17, Spring 6, Spring Boot 3에 사용할 수 있다.

 

 

Spring Security를 공부하면서 생각할 점

Spring에서 제공하는 Annotaion, Bean, Spring context와 같이 Spring Security도 쉽게 활용할 수 있도록 구현되어 있으며 Spring의 주요 목적 중 하나인 '적은 양의 코드'를 따른다.

 

다만, Spring Security는 어디까지나 보안을 쉽게 할 수 있도록 '도구'를 제공하는 것에 불과하며 이를 어떻게 활용하는지는 전적으로 개발자의 몫이라는 것에 주의해야 한다.

 

이를 활용했음에도 불구하고 보안이 취약하다면 개발자의 잘못이며 이를 방지하기 위한 것이 Spring Security를 공부하는 이유 중 하나이다.

 

Spring Security가 모든 보안을 책임지지는 않기에 내용을 잘 학습한 후 이외의 부분을 따로 신경 써야 한다.

(예를 들어 저장된 데이터, 이동 중인 데이터를 보호하기 위해 따로 해싱 등을 활용해야 한다.)

 

 

앞으로 공부할 Spring Security

  • Spring Security 아키텍처, 기본 구성요소, Application 보호 방법
  • OAuth 2 및 OpenID Connect 흐름
  • Spring Security를 통한 인증, 인가 및 Application 적용 방법
  • 반응형 Application에서의 Spring Security 사용
  • 보안 구현 Test
  • etc

'Java > Spring' 카테고리의 다른 글

Spring Security - SSCM  (2) 2024.06.15
Spring Security - PasswordEncoder  (0) 2024.06.14
Spring Security - UserDetails, UserDetailService  (1) 2024.06.12
Spring Security - Spring Security 겉핥기  (0) 2024.06.11
    'Java/Spring' 카테고리의 다른 글
    • Spring Security - SSCM
    • Spring Security - PasswordEncoder
    • Spring Security - UserDetails, UserDetailService
    • Spring Security - Spring Security 겉핥기
    Dlise
    Dlise

    티스토리툴바