분류 전체보기 108

Springboot 웹서버 인증서 발급하여 HTTPS 443 포트로 백엔드 실행하기

HTTPS의 프론트 서버를 연동하려면 이 서버와 연결되어있는 백엔드 서버도 HTTPS 443 포트의 ssl인증을 받은 웹서버여야 한다. 그래서 항상 개발을 해서 ssl 인증을 받을때면 이 복잡한 방법을 매번 찾아서 수행하는데, 귀찮아서 기록해두고 새 프로젝트 할때마다 따라하며 수행하려 한다.   먼저 SSL은 해당 웹 서버의 IP가 신뢰할 수 있는 서버인지 검증하는 절차를 수행하기 때문에,발급받는 key도 당연히 배포하는 서버에서 받아야 한다. 따라서 만약에 EC2 인스턴스에서 SSL 키를 발급받으려고 한다면 인스턴스 안에서 발급받은 뒤에 해당 키를 Springboot 프로젝트가 있는 컴퓨터로 옮기던지 해야 함.  나는 EC2 우분투 OS 환경에서 배포하고 있기 때문에 우분투 환경의 터미널에서 certb..

프로그래밍 2024.11.16

[웹개발일지] ubuntu 원격 서버에 docker 이미지 배포하기

도커 이미지를 빌드하는 OS와 배포하는 OS가 다르면 빌드시 플랫폼을 특정해줘야 함. $ docker build --platform linux/amd64 -t your_image .  -> docker build --platform linux/amd64 -t songarden/letsnote:v1.0.x  그후 push 후 tag까지 수행 그러고 docker pull (이미지명) 그리고 docker 실행 시 명령어 -> docker run --name letsnote(컨테이너명) -d -p 8080:8080 songarden/letsnote:v1.0.x sleep infinity sleep infinity는 도커 중지되지 않도록 하는 명령어

프로그래밍 2024.11.15

[웹서버 개발 기록] docker 설치

개발할 때, 요즘은 docker를 사용하는게 워낙 편하다보니까 많이들 사용한다. mysql, 웹서버 자체 배포등.. 컨테이너로 관리할 수 있는 이점이 좋은 듯 하다. 게다가 demon으로 실시간으로 실행할 수 있고 또 포트도 임의로 변경할 수 있는 점도 편한 것 같다. 오늘은 가볍게 그냥 docker 설치하는 방법 메모해두고 마무리하겠다. 오늘부터 이제 조금씩 시간을 투자해서 아이들의 음악교실인 Let's Note 웹서버 개발을 다시 이어가려고 한다. 이후 초등학교에서는 가상의 피아노로 음악 공부를 하게 될 것이고,태블릿이 교과서 역할을 수행하게 되면서 웹을 활용한 수업이 보편화 될것이라고 예상했다. 그래서 올해 초에 음악을 작업하고 나만의 악보를 저장하고 또 노래를 같은 방에 모여 음성통화하며 만드는 ..

프로그래밍 2024.11.15

[Wi-Fi Network] Wi-Fi 의 protocol들

Wifi에는 여러가지 기능을 제공하는 프로토콜들이 존재한다. 프로토콜은 규약이라는 뜻으로,말그대로 어떤 기능, 규격 들을 이름짓는데 많이 사용되는데IEEE 802.11 이라는 이름으로 Wifi는 규격 이름이 지어진다. 오늘은 IEEE 802.11에 있는 네가지 특징적인 기능을 규격화한 프로토콜을 알아보자  1. 802.11k 첫번째 프로토콜은 802.11k 프로토콜로 무선 자원 관리와 네트워크 성능 최적화라는 역할을 수행한다. 해당 프로토콜은 디바이스의 주변 AP 정보를 제공하고 무선 통신 환경을 모니터링하면서특정 AP에 많은 디바이스가 연결되어있지는 않은지 확인한다. 즉, 특정 네트워크가 완화되어야 하는 상태는 아닌지 확인하는 역할을 한다.  2. 802.11v  v 프로토콜은 네트워크에서의 무선 장치..

모바일 2024.11.14

[Wifi Network Study] 암호화 방식 별 특징

오늘은 Wifi Network의 암호화 방식을 학습할 예정이다. Wifi Network는 비밀번호가 있는 경우와 없는 경우 두가지가 있는 것 같지만사실 발전하는 보안 방식에 의해 여러가지의 암호화 방식이 존재한다. 이 암호화 방식은 Wifi가 나온 초기부터 당시엔 신경을 써서 도입하였지만,방식별로 새롭게 계속 등장하는 공격 방법을 억제하기 위해 새로운 보안 방식이 계속 등장했다. 그래서 이 암호화 방식을 시대 별로 나열하고 각각 어떤 특징이 있으며,어떻게 발전해왔는지 확인해보도록 하겠다.   1. WEP 와이파이의 암호화 설명 순서는 등장한 시대순으로 나열했다.각 암호화의 기능과 한계를 살펴보면서 보안 성능을 어떻게 발전해왔는지에 초점을 두고 설명하겠다.가장 먼저 무선 네트워크의 첫 보안 방안으로 199..

모바일 2024.11.12

Wifi Network Authentication - 4-way Handshake process

요즘 회사 퇴근하고 블로그 쓰는데 쓰고나면 기분이 좋다. 챌린지끝나고도 쓰고 싶은데, 나 언제까지 갈 수 있을까..?  오늘은 Wifi 네트워크의 인증 절차 중 아주 중요한 요소인 4-way handshake의 과정에 대해 설명하려 한다. 지금까지 Web 개발을 공부하면서 3 ways handshake는 많이 들었다.TCP 통신 시 양 단의 소켓을 생성하는 과정이었던걸로 기억하는데..(확실히는 아직도 잘 모르겠다) Wifi에서 무선 네트워크 통신 시 누군가 패킷을 훔쳐 데이터를 확인하더라도데이터를 알아볼 수 없게 난수화하여 데이터를 보내게 된다. 이 데이터는 해석할 수 있는 key를 가지고 있어야만 복호화 함수에 적용하여 데이터를 추출해낼 수 있는데이 비밀 Key를 생성하고 주고 받는 과정이 4-Way ..

모바일 2024.11.11

Wifi Network - IEEE 802.1X Authentication process

오늘은 지난 10월에 세미나를 통해 학습했던 내용 중 WIFI WPA2/3 의 인증 과정 중 하나인 IEEE 802.1X의 패킷 분석 내용에 대해 설명하려고 한다.   802.1X Authentication Protocol   먼저 802.1X란 WIFI의 수많은 통신 프로토콜인 802.11x와 매우 유사한 이름을 가지고 있지만, 그 특성 자체는 전혀 다른 종류의 프로토콜이다. 이 프로토콜은 WPA2 이후의 암호화 방식에서 Enterprise 모드의 더 고급화된 암호화 방식을 추가하기 위해 생겨난 방식이다. web에서 TLS를 활용하여 HTTPS로 통신 패킷을 보안하듯이 이 보안 방식 또한 TLS 터널링이라는 과정을 포함하여 패킷을 보안하여, 이후 암호화 과정에서 통신을 수행할 때 사용하는 Key를 안전..

모바일 2024.11.10

WiFi Enable process 분석 - Wifi Scanning (3)

블챌 3일차! 오늘은 어제 분석해보았던 WifiScan 요청의 시작의 흐름을 이어서 Wifi 탐색 요청을 어떻게 수행하는지그리고 주변 Wifi AP를 탐색한 결과를 Android Framework가 어떻게 받아오는지를 알아보자.     WifiManager.startScan() - Scan 요청의 시작  지난 포스팅에서 마지막으로 WifiManager의 startScan()으로 Wifi의 스캔 요청을 수행한다고 설명했다. 그리고 Android Framework에서는 사용자 측면에서 기기의 설정을 제어하기 위해 Manager를 사용하는데이는 권한문제때문에 Service 클래스와 격리되어있다. 그래서 Manager는 사용자 측면에서 요청을 대리로 수행하고, 권한이 필요한 내부 동작은 Manager가 Serv..

모바일 2024.11.09

WiFi Enable process 분석 - Wifi Scanning (2)

오블완 챌린지 2일차! 언제까지 유지되나 함 보자 싶지만,오늘까지는 일단써보자 (대충 내일 일기 쓸 궁리중) 오늘은 어제 리뷰한 State Machine을 사용해서 Wifi가 연결하기 위해 주변 AP를 Scanning하는 코드를 분석하겠다. 하면서 항상 느끼지만 나처럼 이런 내용을 분석해주는 사람이 단 한명도 없어서 골머리를 앓고 있는데누가 나대신 분석해서 이렇게 친절히 정리좀 해줬으면 좋겠음.    Wifi Scanning   Wifi Scanning을 하기 위해 이전 Wifi 버튼을 ON해서 따라오던 흐름으로 돌아가보자. WIFI_TOGGLED 명령어를 전달하여 Controller의 StateMachine에 전달되는데,이때 WifiController의 State가 당연히 아직 Wifi가 꺼져있었기 때..

모바일 2024.11.08

WiFi Enable process 분석 - StateMachine이란 ? (1)

나는 디바이스 제조 기업에서 무선통신 기능을 구현하는 Wireless team Engineer로 근무중이다.티스토리 블챌이 시작되서 참여하는김에 안드로이드 프레임워크의 Wifi 기능 코드를 분석한 내용을 리뷰하겠다.코드 분석한 내용은 'WiFi를 사용자가 켰을때 어떤 동작이 수행되는가'로 초점하였다.사용자가 Wifi를 켜는 순간 실행되는 코드  Wifi의 toggle이 onClick 이벤트를 발생시켜 STATE_ENABLE 상태로 전환된다. 그리고 Android의 wifiManager를 통해 setWifiEnabled가 실행된다.   WifiManager는 Binder를 통해 곧장 Framework layer의 WifiServiceImpl과 연결되어 있다. 이 연결 과정은 총 두가지인데, Manager ..

모바일 2024.11.07