드랍박스, nDrive 등과 같은 클라우드 스토리지 서비스들은 데이터를 어떻게 저장하는지에 대한 이론적 내용과 실제 구현 내용을 살펴봅니다. 이 발표에서는 OpenStack 의 swift라는 Object Storage 를 이용하여 이론이 어떻게 구현되어있는지 알아봅니다.
AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다...JooHyung Kim
AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다루기
Youtube: https://www.youtube.com/watch?v=nbEodu0s5VA&t=4750s
AWS Nitro Enclave 를 활용하여 어플리케이션을 어떻게 개발할 수 있는지 증명 기능을 활용한 AWS KMS 연동 방법에 대해서 설명합니다.
드랍박스, nDrive 등과 같은 클라우드 스토리지 서비스들은 데이터를 어떻게 저장하는지에 대한 이론적 내용과 실제 구현 내용을 살펴봅니다. 이 발표에서는 OpenStack 의 swift라는 Object Storage 를 이용하여 이론이 어떻게 구현되어있는지 알아봅니다.
AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다...JooHyung Kim
AWS Community Day 2022 - Nitro Enclave를 이용하여 안전하게 고객 정보 다루기
Youtube: https://www.youtube.com/watch?v=nbEodu0s5VA&t=4750s
AWS Nitro Enclave 를 활용하여 어플리케이션을 어떻게 개발할 수 있는지 증명 기능을 활용한 AWS KMS 연동 방법에 대해서 설명합니다.
GitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-Repository 활용하기
-branches, releases
-깃허브 프로젝트 문서화
깃허브란?
• 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
• 다른 사람들과의 협업을 매우 용이하게 해줌
Repository 활용하기
Issue , Pull requests
• Issue 카테고리는 왜 사용하는가요?
• 버그를 기록하거나 요구사항을 전달할려고 사용
• Pull requests 카테고리는 왜 사용하는가요?
• 현재 진행중인 작업이 무엇인지 알게해줌. • 수정사항을 Merge 시킬 때 사용.
Pull requests로 넣은 수정사항이 Merge됨에 따라 Contributor가 될 수 있습니다!
branches, releases
branches
• 테스트 해보거나 새로운 기능을 개발하기 위해 사용하는 독립적인 commit
• Master branch : 기본 branch이자, 최종적으로 마무리 되는 branch
깃허브 문서화
README
• 해당 프로젝트의 개요나 설명, 설치법에 대해서 설명
• ‘README.md’ 파일을 인식
README’s Labels
• Badge images • Custom badge
https://shields.io/
README’s Labels
• Travis CI
• Continuous Integration : 푸시할 때 자동화된 빌드 및 테스트가 실 행되고 소프트웨어 품질을 향상시키는 개발 방식
• https://travis-ci.org/
Issue & Pull requests Template
• Maintainer에게 좀 더 정확하 게 의견을 전달하기 위해 만듬
• Insights > Comminuty 에서 추가 가능
LICENSE
네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
그 외의 Community profile
• Code of conduct
• Contributing guidelines
그 외에 프로젝트 관리에 도움되는 것
OpenHub 어플리케이션
Git Bash (Git bash 사용법 : http://gbsb.tistory.com/10)
GitHub Desktop
참고
• 네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
• 실제로 사용한 프로젝트 https://github.com/kuj0210/IoT-Pet-Home-System
4. 4
2. 배경
- SSL이란?
• SSL 디지털 인증서
- 제 3자가 통신을 보증하는 문서
- 서버가 클라이언트에게 인증서 전달
- 인증서 검증(인증된 기관에서 발급받았는지)
- 인증, 기밀성, 무결성 보장
Secure Socket Layer
웹 서버와 클라이언트 사이의 보안을 위해 개발
HTTPS프로토콜 통신의 기본 모델
5. 5
2. 배경
대칭키와 공개키 암호 혼용
- SSL 암호화
• 대칭키 : 실제 데이터
• 공개키 : 대칭키의 키
대칭키
공개키
대칭키
7. 7
2. 배경
SHA1, SHA2, SHA3, SHA5
- SHA(해쉬 알고리즘)
SHA1은 SSL에서 채택 되지 않음
- 2013년 마크 스티븐스 해쉬 충돌 가능성 제시
( 해시 충돌: 해쉬함수가 서로 다른 두 개의 입력값에
대해 동일한 출력값을 내는 상황 )
- 구글 & 네덜란드 암스테르담 국립수학전산학연구소
JPEG 이미지 데이터 영역에 충돌 블록삽입
SHA1 충돌 증명
- 실제로는 SHA256 알고리즘 사용
14. 3. Let’s Encrypt
- Let’s Encrypt 이란?
TLS 암호화를 위해 무료 X.509 인증서를 제공하는 인증 기관
스폰서 : Mozilla, Akamai, Cisco, eff, Identrust
콘솔상에서 인증서 발급/갱신/설치 가능한 편리성 제공
HTTPS Everywhere 를 추구하는 비영리 프로젝트
15. 15
3. 설계
서버 설계 및 개발 환경
• 개발 환경 : AWS EC2 Instance
• 운영 체제 : Ubuntu 16. 04. 4 LTS
• 사용 언어 : Python (버전: 3.5.2)
• 사용한 웹 프레임워크 : Flask
• 테스트에 사용한 툴 : Postman, Whale 브라우저
16. 16
4. 구현
웹 프레임워크에 SSL 인증서 링크-
• Let’s Encrypt로 발급받은 SSL 인증서의 경로를 링크
• HTTPS 를 지원하는 443번 포트를 사용
17. 17
4. 구현
웹 프레임워크에 SSL 인증서 링크-
• Let’s Encrypt로 발급받은 SSL 인증서의 경로를 링크
• HTTPS 를 지원하는 443번 포트를 사용