CIA(Confidentiality, Integrity, Avaliability) CIA는 데이터 가져야 하는 3가지의 속성이라고 생각하면 된다. 아래 세가지의 속성은 균형을 가추고 있는 속성으로 하나라도 문제가 생기면 기밀성, 진실성, 유효성이 깨짐. 기밀성 (Confidentiality) : 보안과 같은 의미로 승인되지 않은 사용자가 사용하지 못하게 하는 것을 말함. 무결성 (Integrity) : 변경되지 말아야 하는 정보가 특별한 승인을 가지는 경우가 아닐 때, 변경 되지 않아야 한다는 것을 말함. 가용성(Avaliability) : 승인을 받은 사용자가 문서를 읽을 수 있는 것을 말함. RSA 이 체제를 개발한 Ron Rivest, Adi Shamir, Leonard Adleman 세 사람의 성..
OSI 7계층 네트워크에서 통신이 일어나는 과정을 7단계로 나눈것이다. 계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악하고 중간에 문제가 생길경우, 파악하기 좀 더 쉽다. 응용 계층 (Application Layer) : 데이터를 받을 수 있게 유저에게 보여지는 계층. 네트워크 소프트웨어 UI부분, 사용자의 입출력(I/O)를 담당함. 프리젠테이션 계층 (Presentaion Layer) : 암호화 및 압축을 담당하는 계층. 코드 간의 번역을 담당하고 인코딩이나 암화등의 동작을 수행 세션 계층 (Session계층) : 데이터를 받는 상대방이 데이터를 받을 수 있는지 여부를 확인하는 계층. 트랜스포트 (Transport Layer) : TCP 또는 UDP 프로토콜을 이용하여 데이터를 받는 부분임. ..
Session 세션이란 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법을 말한다. 사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고함. Cookie 쿠키는 서버에서 받은 세션정보를 사용자가 저장한 것을 말하는데 이러한 저장과정을 거치는 이유는 매번 서버에 접근할 때마다 세션을 생성하는것은 서버에 많은 무리가 가고 느려지기 때문에 이러한 정보를 사용자가 가지게 함. 세션형성과 쿠키 최초로 client가 웹에 접근시 server가 세션을 만들어서 client에게 보냄 최초로 server에서 respond시 http headers에 세션ID 을 담아서 보냄. 세션을 받은 client는 해당 세션을 쿠키에 저장함. 이후 다시 같은 server에 접속시 쿠키를 server..
1편과 2편은 같이 봐야하니 1편을 보지 않았다면 아래 링크로 가서 보시길 바랍니다. Boot Security (1) IndexController 해당 메소드들은 컨트롤러에 있는 메소드들로 이루어져 있음. 전체적인 설명은 아래와 같다. 회원가입 폼에 있는 데이터를 받으면 그 데이터를 post 로 받음. user 객체의 Role(권한)을 R jamesblog95.tistory.com Entity User에 대한 Entity 클래스를 생성 해주어야 함. @Data 는 Getter와 Setter를 한번에 생성 시켜주는 어노테이션이다. @CreationTimestamp는 생성될 때의 시간을 저장시켜주는 어노테이션이다. @Entity @Data public class User { @Id @GeneratedValu..
IndexController 해당 메소드들은 컨트롤러에 있는 메소드들로 이루어져 있음. 전체적인 설명은 아래와 같다. 회원가입 폼에 있는 데이터를 받으면 그 데이터를 post 로 받음. user 객체의 Role(권한)을 ROLE_USER로 지정. rawPassword 는 사용자가 입력한 초기 비밀번호임. encPassword는 한번의 암호화가 진행된 비밀번호임. 암호화가 진행된 번호를 다시 user 객체에 설정. 설정이 끝난 user 객체를 데이터 베이스에 저장 @PostMapping("/join") public String join(User user){ System.out.println(user); user.setRole("ROLE_USER"); String rawPassword = user.getPa..
Spring에서 로그인에 대한 권한 부여 설정이 어떻게 되는가 궁금하여 인프런 강의를 통해 공부를 시작했다. 필요한 분들은 아래 링크를 통해 공부를 해보시길 추천합니다. [무료] 스프링부트 시큐리티 & JWT 강의 - 인프런 | 강의 스프링부트 시큐리티에 대한 개념이 잡힙니다., - 강의 소개 | 인프런... www.inflearn.com 기본 설정 JDK와 Java를 11버젼으로 잡아줍니다. dependecy는 아래 사진과 같이 추가 해주면 됩니다. 버젼 설정 및 수정 사항 안타깝게도 버젼을 잡고 몇 개 추가만 한다고 바로 실행을 할 수 없다. 그렇기에 추가적인 변경이 필요함. pom.xml에 들어갑니다. Boot의 버젼을 2.5.7 로 잡아줍니다. 아마도 mysql connector가 에러가 뜬 것을..