GoWoong의 개발 블로그
close
프로필 배경
프로필 로고

GoWoong의 개발 블로그

  • 분류 전체보기 (219) N
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (51) N
      • CS (15)
      • OS (33) N
      • 아키텍처 (2)
    • 백엔드 개발 (1)
      • 파이썬 (0)
      • 자바 스프링 (1)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
    • 사이드프로젝트 (7)
  • 홈
  • 자소서
  • 포트폴리오
  • 이력서

[OSTEP] 스터디 22주차 Security Access

1. 도입우리는 우리의 보안 목표가 무엇인지 알고 있고, 우리가 강제하고자 하는 보안 정책에 대한 최소한의 일반적인 감을 잡았으며, 우리의 정책을 위반할 수도(혹은 위반하지 않을 수도) 있는 다양한 시스템 서비스를 요청하는 주체가 누구인지에 대한 증거를 가지고 있다. 이제 우리는 그 정보를 가져와서 소프트웨어가 우리를 대신해 수행할 수 있는 실질적으로 실행 가능한 무언가로 전환해야 한다.여기에는 두 가지 중요한 단계가 있다:해당 요청이 우리의 보안 정책 내에 적합한지 판단한다.적합하다면 작업을 수행하고, 그렇지 않다면 작업이 수행되지 않도록 확실히 보장한다.첫 번째 단계를 일반적으로 접근 제어(Access Control)라고 부른다. 우리는 어떤 시스템 자원이나 서비스가 어떤 주체에 의해, 어떤 방식으로..

  • format_list_bulleted Deep Dive/OS
  • · 2026. 2. 3.
  • textsms

[OSTEP] 스터디 21주차 Security

OSTEP의 최신? 버전에 포함된 Security를 학습하기로 스터디에서 결정했다. 내가 가진 책에는 포함된 내용이 아니라 https://pages.cs.wisc.edu/~remzi/OSTEP/ PDF에서 제공하는 자료로 학습을 진행한다.1. 복숭아로 이해하는 보안의 3대 요소 (CIA)OSTEP에서는 보안의 3대 요소를 복숭아에 비유해 설명한다. 우리가 가진 소중한 자원을 복숭아라고 생각한다면 보안은 다음 세가지를 지키는 것이라고 한다.1. 기밀성 (Confidentiality)비유: 내가 잠시 고개를 돌린 사이, 누군가 내 복숭아를 훔쳐가는 것을 원치 않는 것.정의: 오직 인가된 사용자나 시스템만이 자산에 접근할 수 있도록 보장하는 것.컴퓨터에서: 개인의 비밀번호, 신용카드 정보, 민감한 개인 파일 ..

  • format_list_bulleted Deep Dive/OS
  • · 2026. 1. 20.
  • textsms

[사이드 프로젝트] 디지털 굿즈 플랫폼 개발기 #7 - Spring Security + JWT + Redis로 구축하는 강력한 인증 시스템 (2편: 하이브리드 로그인 구현)

1편에서는 Redis 환경 구축과 Security 설정, 그리고 JWT 컴포넌트들을 만들었다. 이제 이 부품들을 조립하여 실제로 작동하는 로그인 서비스와, 웹(Web)과 앱(App) 클라이언트 모두를 만족시키는 하이브리드 컨트롤러를 구현해 본다.1. UserDetailsService 구현 (DB 연결고리)Spring Security는 기본적으로 우리 DB에 User 테이블이 있는지 모른다. 시큐리티가 유저 정보를 가져올 수 있도록 연결해 주는 어댑터가 필요하다.CustomUserDetailsService.javaUserDetailsService 인터페이스를 구현하여, 이메일로 회원을 찾고 시큐리티 전용 객체(UserDetails)로 변환해 주는 로직을 작성했다.package com.creators.pho..

  • format_list_bulleted 사이드프로젝트
  • · 2026. 1. 19.
  • textsms

[사이드 프로젝트] 디지털 굿즈 플랫폼 개발기 #6 - Spring Security + JWT + Redis로 구축하는 강력한 인증 시스템 (1편: 설계와 설정)

회원가입 기능을 완성했으니, 이제 서비스의 대문인 로그인(인증) 시스템을 구축할 차례다. 단순히 "로그인이 된다"를 넘어, 보안성과 확장성을 고려하여 JWT(JSON Web Token) 방식을 채택했다.특히 이번 구현에서는 보안 강화를 위해 RTR(Refresh Token Rotation) 방식을 도입하고, 성능 이슈를 해결하기 위해 Redis를 저장소로 선택했다. 1. 왜 Refresh Token, Redis와 RTR인가?Refresh TokenAccess Token은 탈취 위험 때문에 수명을 짧게(30분) 가져간다. 대신 Refresh Token으로 토큰을 갱신한다. Refresh Token은 만료된 Access Token을 새로 발급받는 용도로 수명을 7~30일 혹은 더 길게 잡기도 한다. Refr..

  • format_list_bulleted 사이드프로젝트
  • · 2026. 1. 19.
  • textsms
[사이드 프로젝트] 디지털 굿즈 플랫폼 개발기 #5 - Controller 구현과 입력값 유효성 검증

[사이드 프로젝트] 디지털 굿즈 플랫폼 개발기 #5 - Controller 구현과 입력값 유효성 검증

지난 포스팅까지 우리는 데이터를 저장하는 Repository와 비즈니스 로직을 수행하는 Service를 구현했다. 하지만 이 코드들은 아직 내 컴퓨터 안에서만 동작할 뿐, 외부 세상(프론트엔드, 앱)과는 단절되어 있다.이번에는 클라이언트의 요청을 받아 서비스 계층으로 연결해 주는 컨트롤러(Controller) 를 구현하고, 들어오는 데이터를 안전하게 검사하는 유효성 검증(Validation) 과정을 다룬다.1. 컨트롤러의 책임: "선은 넘지 말자"초보 개발자가 흔히 하는 실수 중 하나는 컨트롤러에 비즈니스 로직을 넣는 것이다. 컨트롤러는 "교통 정리"만 해야 한다.해야 할 일 (O): HTTP 요청받기, 입력값 검증(@Valid), 서비스 호출, HTTP 상태 코드(200, 201, 400...) 결정...

  • format_list_bulleted 사이드프로젝트
  • · 2026. 1. 15.
  • textsms

[사이드 프로젝트] 디지털 굿즈 플랫폼 개발기 #4 - Service 계층 구현과 Mockito 단위 테스트

지난 포스팅에서 Testcontainers를 이용해 데이터 접근 계층(Repository)의 신뢰성을 확보했다. 이제는 이 데이터를 가공하여 실제 비즈니스 로직을 수행하는 서비스(Service) 계층을 구현할 차례다.1. DTO 설계: Entity를 밖으로 노출하지 마라서비스 계층의 첫 단추는 데이터를 주고받을 그릇(DTO)을 만드는 것이다. Entity를 컨트롤러 파라미터로 직접 받으면, 원치 않는 필드가 변경되거나 스펙 변경 시 DB 구조까지 흔들리는 부작용이 있다.Java 17의 record를 사용하여 불변(Immutable) DTO를 만들었다.public record MemberSignupRequest( @NotBlank String email, @NotBlank Stri..

  • format_list_bulleted 사이드프로젝트
  • · 2026. 1. 15.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 37
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (219) N
    • 크래프톤 정글 (83)
    • 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57)
      • 3장 프로그램의 기계수준 표현 (16)
      • 6장 메모리 계층구조 (6)
      • 7장 링커 (6)
      • 8장 예외적 제어 흐름 (7)
      • 9장 가상 메모리 (16)
      • 11장 네트워크 프로그래밍 (6)
    • 클라우드 (4)
      • [AWS] AWS IoT Core (4)
      • DevOps (0)
    • Deep Dive (51) N
      • CS (15)
      • OS (33) N
      • 아키텍처 (2)
    • 백엔드 개발 (1)
      • 파이썬 (0)
      • 자바 스프링 (1)
    • 자격증 공부 (5)
      • AWS Cloud Practitioner (2)
      • 정보처리기사 (1)
      • AWS SAA-C03 (2)
    • 앱 개발 (5)
      • Flutter (5)
    • AI & LLM (1)
    • 문제 기록 (0)
    • 커뮤니티 참석 후기 (2)
    • 일상 기록 (1)
    • 사이드프로젝트 (7)
최근 글
인기 글
최근 댓글
태그
  • #IOT
  • #saa-c03
  • #AWS Community Day
  • #AWS
  • #aws #iot
  • #AWSKRUG
  • #Cloud Practitioner
  • #CLF-C01
  • #serverless
  • #AWS 자격증
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바