체크섬에 대해 아직 모르시나요?

가장 기본 개념이기도 하며, 설계 면접 문제에도 등장할 수 있는 개념입니다. 데이터가 유저로 부터 데이터베이스에 저장되기 까지 네트워크 레이어에서 오류나 injection등으로 인해 손실이 일어날 수 있습니다. 손실된 데이터를 data corruption이라고 하는데, 이를 보호하는 방법 중 체크섬을 사용합니다. 👉 센더(sender)가 체크섬을 만들고, 체크섬을 함께 보내고 리시버(receiver)가 자체 계산한 체크섬과 센더가 보낸 체크섬을 확인한다. 센더와 리시버 간 체크섬이 매칭하지 않는 경우, 시스템은 데이터 손실이 일어난 것으로 판단한다. 👉 암호화 해시 함수(Cryptographic Hash Function) - MD5 - SHA-1 - SHA-256 - SHA-512 MD5(Message Digest Algorithm 5)는 1992년도에 만들어졌고, 126-bit체크섬을 만든다. MD5암호 알고리즘은 SHA(Security Hash Algorithms)보다 빠르지만 덜 안전하다. SHA-512가 SHA-256보다 더 안전하다. Data Integrity의 중요성에 따라 다른 암호화 해시 함수를 사용한다. 👉 체크섬을 만들 때 암호화 해시 함수를 이용한다. 그리고 만들어진 체크섬을 데이터와 함께 저장한다. 👉 데이터를 Write할 때 유저가 보낸 데이터를 기반으로 체크섬이 만들어지고 데이터베이스에 도달하기 전에 거치는 서비스 간 체크섬 확인이 이루어진 후 데이터베이스에 저장된다. 👉 데이터를 Read할 때는 데이터베이스에 저장된 체크섬이 계산된 체크섬과 같은지 확인한다. 📌 추가 - 시스템을 설계할 때 End-to-End Checksum이 되도록 해야 합니다. 하위 시스템 설계에서 체크섬 갭이 있다면 체크섬이 있어도 데이터 손실이 일어날 수 있습니다. - 해시 함수에 관해 공부할 때 해시 충돌(hash collision)에 대해 함께 공부하면 좋습니다. MD5는 SHA에 비해 해시 충돌 저항성이 적습니다. 100% 해시 충돌 저항성을 보장하는 알고리즘은 아니지만 충돌 가능성을 거의 희박하게 합니다. - 순환 중복 검사/CRC(Cyclic Redundancy Check) 개념도 간략하게 함께 알아두면 좋을 것 같습니다. 암호 해시 함수는 주어진 데이터에 안전한 해시값을 계산하는 알고리즘이고, CRC는 주로 오류 감지에 사용됩니다. https://www.youtube.com/watch?v=toYnC5PoM08

Checksum Explained | System Design Concepts | Data Integrity | What is Checksum | Interview Question

www.youtube.com

Checksum Explained | System Design Concepts | Data Integrity | What is Checksum | Interview Question

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 7월 4일 오후 3:12

 • 

저장 204조회 8,535

댓글 0

    함께 읽은 게시물

    < 왜 나는 그때 그 선배의 말을 듣지 않았을까? >​

    1. 모든 학습 곡선에는 같은 패턴이 있다. 어떤 분야의 초보자가 있다고 하자. 이제 몇 가지 지식을 배운다. 그럼 마치 그 분야를 완전히 이해한 것처럼 느낀다. 누구나 0점에서 80점까지는 쉽다. 문제는 80점부터다. 전문가의 영역이다.

    ... 더 보기


    < 당신에게 필요한 건, 딱 100미터 앞의 시야면 충분해요 >

    1. 야간 주행을 생각해보라. 헤드라이트는 고작 50~100미터 앞밖에 비추지 못하지만 당신은 그 차를 몰고 캘리포니아에서 뉴욕까지라도 갈 수 있다.

    ... 더 보기

    📣 아미고(Ameego) 전화 걸어주기 출시!! (Beta)

    ... 더 보기

     • 

    저장 1 • 조회 737


    올해로 개발자 생활이 햇수로 20년째다

    2005년 7월에 일을 시작했으니, 올해로 개발자 생활이 햇수로 20년째다. 중간에 공백이 조금씩 있었으니 꽉 채운 스무 해는 아니지만, 숫자가 주는 무게는 여전하다. 20년이라는 시간이 흘렀다는 사실이 새삼 신기하게 느껴진다.

    ... 더 보기

    [🇺🇸미국과 캐나다 근무 환경 차이점?🇨🇦]

    미국과 캐나다 대기업의 근무 환경에 약간의 차이점이 있다는 걸 느꼈습니다. ✨첫 번째: 업무 스트레스 캐나다에서 개발자로 일했었을 때 업무 스트레스가 훨씬 적었습니다. 그 이유는 캐나다 정서 특성상 "laid back", 즉 좀 여유로움이 묻어 있어서 그런지 모두가 5시만 되면 칼퇴근했었습니다. 미국은 영주권 절차가 최소 2년 최대 10년 이상 걸립니다. 결혼 영주권은 빠르다고 생각하나, 요즘 결혼 영주권도 최소 2년 걸립니다. 반면에 캐나다의 경우 6개월 만에 영주권 수령했었습니다. 영주권이 주는 건 "freedom". 언제든 맡은 업무가 적성에 맞지 않거나 높은 연봉을 받으려고 다른 회사로 이직할 수 있기 때문에 마음이 편했습니다. ✨두 번째: 연차, 공휴일 차이점 미국과 캐나다를 비교했을 때 캐나다는 매 달 공휴일이 최소 하루 정도 있었습니다. 회사마다 또는 주마다 천차만별이나, 미국은 최소 6일 정도 있는 반면 캐나다는 적어도 1년에 12일 정도 있었었습니다. 한 달에 한 번씩 주말이 3일인 주가 있었기 때문에 여행을 자주 다닐 수 있었습니다. ✨세 번째: 팀 다양성 미국의 경우 취업 비자와 영주권 ... 더 보기