Closed BomLee427 closed 10 months ago
보통 대칭키로 암호화하는 Converter class를 생성하고, @Convert
어노데이션을 이용하여 암호화하고자 하는 데이터에만 붙여주는 식으로 사용하였었습니다
암호화하는데 다양한 방식이 있어서 다른 분들의 의견을 듣고 여러가지 사용 케이스를 확인 후 결정하면 좋을 것 같습니다!
코드 예시 올려놓습니다! Marketplace-Backend-feature-db-converter.zip
참고 URL: https://sungjk.github.io/2020/11/28/data-encryption-entity.html
저도 보통 채영님과 같이 작업하였습니다! 어떤 컬럼을 암호화하면 좋을지 결정하는것도 좋을 것 같습니다!.(이메일, 닉네임 <- 할지말지..)
@Convert
에 사용할 대칭키 암호 알고리즘 중, 논의를 통해 알고리즘 확정하면 좋을 것 같습니다! (Seed, AES 등)
암호화 알고리즘 리스트
PreBook
User
저도 연락처, oauthProviderUniqueKey는 암호화하는것이 좋다고 생각합니다. @Convert에 사용할 알고리즘은 리서칭 & 상의후에 결정하면 좋을것 같습니다 :)
@Convert(converter = AES256ToStringConverter.class)
추가
import com.compono.ibackend.common.converter.AES256ToStringConverter;
@Entity
@Table(name = "user
")
public class User {
@Convert(converter = AES256ToStringConverter.class)
private String email;
}
논의사항
DB 암호화 방식 결정
상세
채영님께서 DB 암호화 방식은 어떻게 하는 것이 좋을지 여쭤봐주셔서 스터디 후 결정하기로 했습니다. (참조: https://www.notion.so/231221-e7d5d1b9dde54914a9c0da17546eb070?pvs=4) 논의 자체는 디스코드에서 하면 될 것 같지만, 내용 기록 및 일정관리에 용이할 것 같아 우선 이슈로 작성해 둡니다!
논의 결과 (updateAt. 231228)
@Converter