브렌쏭의 Veritas_Garage

서버 분할, 눈물의 쇼 - 그리고 로그인의 역사 본문

[Project_하다]/[Project_공부]

서버 분할, 눈물의 쇼 - 그리고 로그인의 역사

브렌쏭 2022. 4. 8. 16:47

https://brunch.co.kr/@jehovah/20

 

Redis 기본 정리

캐시를 알아야 하는 순간! | 캐시를 접하게 되는 순간 서비스를 처음 운영할 때는 WEB-WAS-DB의 전형적인 3티어 구조를 취하는 편이 보통입니다. 사용자가 몇 명 되지 않는 서비스의 경우에는 3티어

brunch.co.kr

https://sanghun219.tistory.com/22

 

#9. 분산 서버 구조

9.분산 서버 구조 분산 서버 구조 1. 수직 확장과 수평 확장 확장성 사용자 수가 늘어나더라도 쉽게 대응할 수 있어야 한다는 의미 확장성의 목표 최대로 처리할 수 있는 사용자 수가 무제한이어

sanghun219.tistory.com

https://d2.naver.com/helloworld/206816

https://d2.naver.com/search?keyword=%EB%B6%84%EC%82%B0&sort= 

수직/수평 분할, 파티셔닝 (샤딩)

https://3dmpengines.tistory.com/1913

 

샤딩(sharding)과 파티셔닝(partitioning)의 차이

이글은 Quora에 올라온 “What’s the difference between sharding and partition?“글의 질문과 모자이크 CTO가 답변한 내용을 번역한 글입니다. 샤딩(sharding)과 파티셔닝(partitioning)의 차이가 무엇인가?..

3dmpengines.tistory.com

해쉬, 암호화

https://d2.naver.com/helloworld/24942

https://d2.naver.com/helloworld/318732

https://d2.naver.com/helloworld/1336

 

1.  암호화

암호화의 두가지 방식은 단방향 암호화 (hash), 양방향 암호화 (encrypt) 가 있다

1-1. 단방향 암호화

암호화를 하고 복호화가 불가능하다. 한쪽 방향으로만 암호화가 되고, 같은 값을 암호화 한다면 그 값은 늘 같다

2-1. 양방향 암호화

키를 가지고 있다면 암호화된 값을 다시 복호화 하여 원래 값을 알아낼 수 있다.

2.  로그인에는 단방향 암호화를 쓴다

데이터 베이스가 본디 유저가 사용하는 암호의 원래 값을 알고 있을 필요가 없고, 같은 값이라는 점만 기억하면 되기 때문에, 해시를 이용한다. 대용량 파일의 체크섬을 확인할 때 쓰기도 한다. 본래 파일의 모습과 조금만 달라졌어도 전혀 다른 값이 나오기 때문이다.

https://namu.wiki/w/%ED%95%B4%EC%8B%9C

재미있다. 자료구조에도 적용된단 것은 소름돋는다.....

2-1.  양방향 암호화는 왜

아무리 잘 지키고 있더라도, 한번 뚫리면 눈사태다. 보통 같은 비밀번호를 돌려쓰는 경우도 있기 때문에 저런 사이트에서 비밀번호가 유출되면 그냥 끝장아닌가,

3.  우연히 같은 결과가 나와버리는 경우..?

있다. 해시 충돌은 필연적...이라기 보다는 사이즈의 문제인데, 최대한 안나오게 하면 된다.

4. 해시는 못뚫는거임?

그냥 브루트 포스로 냅다 꽂아버리거나, 예상 데이터를 추려서 일일히 대조하는 식의 레인보우 테이블 전략을 쓰면 뚫리긴 한다. 그럼 어떻게 할까. 그럼 해시를 더 복잡하고 길게 만들면 된다. 해싱으로 일정 길이가 넘어가면 뭐 한도 끝도 없지. 비트코인 같은 것도 그냥 이 해시가 더럽게 길어서 뚫을 수가 없는 것이다.

5. 뭘로 함

bCrypt 를 자주 쓴다 카더라.

Comments