1. 보안
사용자 가입과 로그인
: 가입 : 사용자 정보를 저장
: 로그인 : 사용자 정보를 전송
비밀번호 저장
: 비밀번호 암호화 저장
: 복호화 필요하지 않다
네트워크로 데이터 전송
: 데이터 암호화 - 전달
: 전달받은 암호화된 데이터 복호화
: 암호화 종류
: 복호화가 불가능한 암호화
: 복호화가 가능한 암호화
: 암/복호화
: 암호화
: 원본데이터를 변조해서 알수 없도록 변환
: 복호화
: 원본데이터로 변환
: 사용자 비밀번호 암호화 저장
: 복호화 불필요
: 해쉬
: 사용자 개인정보 전송
: 복호화 필요
: 대칭/비대칭 키 암호화
: HTTPS
2. 해시
: 해시란?
: 단반향으로 생성하는 값, 함수
: 해시 특징
: 고정 크기의 해쉬값
: 입력값이 같으면 해시값도 같다
: 해시값이 같아도 입력값이 같다는 보장은 없다
: 단점, 한계임
: 해시 알고리즘
: MD5, SHA
3. 사용자 인증 정보 암호화
: 사용자 입력 해쉬 = DB 저장된 해쉬
: 사용자 암호에 소금 치기
: hash(charlie + !) // !가 솔트임.
: 솔트는 길게!
: 암호화 모듈
: crypto : 기본 모듈
: bcrypt : 확장 모듈
4. 암호화
암호화 종류
: 대칭암호
: 같은 키로 암호화/복호화
: 키를 분배해야 한다
: 알고리즘
: DES, AES(레인달 알고리즘)
: 비대칭 암호
: 서로 다른 키(개인키, 공개키)로 암호화/복호화
: 개인키 : 공개안함
: 개인키로 암호화 - 공개키로 복호화
: 공개키로 암호화 - 개인키로 복호화
: 대칭 암호에 비해서 느리다
보안서버 만들기
: HTTPS(HTTP over SSL)
: 데이터 암호화 통신
: SSL
: 넷스케이프 SSL -> IETF의 TLS
: 대칭키 방식
: SSL 인증서
: 서비스를 제공하는 서버의 정보
: 신뢰성있는 인증기관 (CA)의 서버 인증
: 서버 공개키 : 비대칭 암호화 용
인증서 발급
: 공인된 인증 기관에서 인증서 발급
: 유료
: 인증기관, Verisign, Comodo
: 사설 인증서 발급
: 키와 인증서 생성 프로그램 : openssl
: 경고발생
사설 인증서로 보안서버 만들기
: 보안 서버를 만들기 위해 필요한 것
: 키
: 인증서
: 인증서 발급 단계
: 키 생성
: 키에서 인증서 발급 요청(csr) 생성
: 인증서 발급 요청에서 인증서 발급
사설 인증서로 보안 서버 만들기
: https 모듈 사용
: 보안서버 생성
: https.createServer(option, [])
: option 에 key, cert, passphase가 있어야함.
: express를 사용해서도 가능
: 영리 목적으로하는 개인 정보 수집 서비스는 사용해야함.
: 보안 서버 의무화
: 무료
: www.startssl.com
: letsencrypt.org
'프로그래밍 > Nodejs' 카테고리의 다른 글
디버깅과 테스트와 프로세스 관리 (0) | 2017.04.28 |
---|---|
passport를 통한 인증 (0) | 2017.04.28 |
인증 (0) | 2017.04.27 |
socket.io 를 이용한 실시간 웹서비스 (0) | 2017.04.27 |
소켓을 이용한 실시간 서비스 (0) | 2017.04.27 |