카테고리 보관물: 1. 새 글

비오비 11기 합격 후기

안녕하세요 오랫만에 글쓰네요

저번주 6월 22일에 BOB 11기 최종 합격자가 발표났습니다. 네 최종합격하였습니다.

보안을 전공한 디자이너 지인의 권유로_지원하였는데_최종합격하였네요.

10to10_600시간 교육 이라고_하던데_기대되네요

창파도서관 출입인증 AppleWallet Pass 제작 上편

방갑습니다 여러분 오랜만이에요

저는 흑우처럼 라이센스를 다시 샀습니다

6개월 풀할부로요

그러다 학교에서 공지가 떴습니다.

도서관 출입하려면 전자출결 들어가서 QR을 찍고 들어가라네요

실물 학생증 RF 태깅해서 들어가게 해주면 되지 굳이 저딴식으로 에휴;;;;

QR 생성 방식은 간단했습니다. 걍 학번 QR로 만든거였음;;;

그래서 Apple Pass로 만들어서 넣어다니려구요

결론은 만들었습니다. 이렇게요

도서관 좌표도 넣어서 도서관 앞에 가면 뜹니다. 학과랑 학번 이름까지 뜨게 해놓음

나 경영학과임 암튼 그럼ㅋㅋ

다들 게이트 앞에서 폰 만지작 거릴 때 바로 들어가면 기분 좋음 ㅋㅋ

코드 관련해서는 속편에 이어서 하겠습니다 그럼 이만

docker swarm

docker 는 작은 단위로 앱을 배포할 수 있게 해주는 서비스 입니다.

이미지를 만들어놓고 실행하는 상태를 컨테이너라고 하는데요. 분산 처리 목적으로 여러 서버에 컨테이너를 올리려면 상당히 번거롭습니다.

그래서 컨테이너를 자동으로 배치해주고 다양한 통합 기능을 제공하는 docker swarm 에 대해 간단하게 소개 드리겠습니다.

컨테이너를 자동으로 배치해주고 다양한 통합 기능을 제공하는걸 컨테이너 오케스트레이션 이라고 합니다. 직접 여러 서버에 접속해서 같은 명령어를 입력하는 수고를 자동화해준다고 보시면 되겠습니다.

swarm 모드에는 manager 와 worker 가 있습니다. 매니저는 매니저 노드와 worker 노드에 컨테이너를 분산 하여 실행시킵니다.

그림에서 나오는 것 처럼 고 가용성을 위해 매니저 노드는 최소 3개를 설정해야 합니다. 이렇게 설정하면 1개 노드가 죽어도 네트워크에 액세스 할 수 있습니다.

또 하나의 swarm 특징이 overlay 네트워크인데요, 어느 노드에 접속해도 동일한 네트워크에 접속한 것 처럼 가상의 망을 구축해 줍니다.

제2회 DU-IF 창업아이디어 경진대회 준비

대구대학교 교내 경진대회로 제2회 창업아이디어 경진대회 공고가 올라왔다. 생애최초청년예비창업에서 만난 사람들과 같이 나가기로 하였다.

준비한건 없지만 서류평가에 붙어서 다음주(30일) 발표하러 가야한다. 리번에도 상 타와야지

(미완성) DU Attend 서비스에서 식별 정보 관리

서론

DU Attend 는 QR코드를 미리 휴대폰에 저장해두고 앉은자리에서 편리하게 출석체크 해 주는 서비스입니다.

시대의 흐름에 따라 개인정보의 중요성이 커져가면서 본인의 데이터가 안전한지 궁금해하는 사용자들이 많습니다. 서비스를 만드는 입장에서는 귀찮아할 일이 아니라 데이터 관리를 어떻게 하는지 적극적으로 알려드려야 할 부분 같습니다. 이러한 문화가 많이 퍼졌으면 좋겠습니다.

수집하는 식별정보

DU Attend 서비스에서는 사용자의 정보를 최소한으로 수집합니다. 순수 무료 목적으로 만들어졌기 때문에 다음과 같은 정보만 수집합니다.

  1. 아이디 -> 학번으로 유도
  2. 암호

DU Attend 서비스에서 다른 서비스들과 다른 점은 아이디를 학번이랑 동일하게 해야 합니다.
사실 학번을 사용하지 않고 무작위 8자리 숫자를 사용해도 됩니다. 학번을 사용하는 이유는 출석 시스템에서 학번을 사용하기 때문입니다. 무작위 8자리로 가입하거나 다른 사람의 학번으로 가입하게 되면 출석 기능이 제대로 동작하지 않을 것 입니다.

출석 QR과 관련된 정보는 나중에 다른 글로 정리하겠습니다.

암호는 tigers(종합정보시스템) 암호가 아닙니다. DU Attend 에서 개별적으로 사용하는 암호입니다. 현재 암호 정책은 최소 4자리 최대 36자리 로 제한하고 있습니다. 숫자 4자리로 해도 되지만 좀 더 강력한 암호를 사용하시면 좋겠습니다. 암호의 중요성은 잘 아실 거라 생각합니다.

암호 저장방법

암호 정보는 해시 함수를 사용하여 저장합니다. 해시 함수란 위키백과에 잘 정리되어 있습니다.

해시함수(hash函數)는 하나의 주어진 출력에 대하여 이 출력으로 사상시키는 하나의 입력을 찾는 것이 계산적으로 불가능하고, 하나의 주어진 입력에 대하여 같은 출력으로 사상시키는 또 다른 입력을 찾는 것이 계산적으로 불가능하다는 두 가지 성질을 만족하면서 임의의 비트열을 고정된 길이의 비트열로 사상시키는 함수이다.

한마디로 입력값을 해시 함수에 통과시키면 무작위 문자로 보이는 결과물이 출력됩니다. 해시 함수는 출력값으로 입력값을 유추할 수 없어야 합니다.

그리고 해시 함수의 알고리즘은 널리 알려져 있습니다. 알고리즘이 공개되어 있어도 많은 곳에서 사용한다는 것은 안전하다는 뜻이기도 합니다.

DU Attend 에서 사용하는 해시 함수는 bcrypt 입니다. bcrypt 의 장점은 많은 언어에서 구현되어 있어 사용하기 편리하고(개발 속도가 빠르고) 아직 알려진 문제가 없다는 점 입니다. 그리고 해시를 생성할 때 마다 다른 출력값이 나온다는 점 입니다.

https://bcrypt-generator.com/ 에서 쉽게 해볼 수 있습니다. 아무 값이나 입력하고 Encrypt 버튼을 여러번 눌러 보세요. 생성할 때 마다 다른 값이 나옵니다. 자주 쓰는 패스워드를 해커가 알고 있어도 같은 결과값을 찾기는 불가능에 가깝습니다. 이것을 salt 라고 하는데요… 여기에서 보시죠.
https://ko.wikipedia.org/wiki/%EC%86%94%ED%8A%B8_(%EC%95%94%ED%98%B8%ED%95%99)

이런 방법으로 암호를 저장하면 안전합니다. 하지만 아직 많이 남았습니다.

암호 정보의 흐름

로그인 페이지에 암호를 입력하고 로그인에 성공하고 메인페이지를 보기까지 서버에서는 많은 일이 일어납니다.