3달 전 · 박태영 님의 질문
iOS NEpacketTunnelProvider https 패킷 감지
안녕하세요! iOS NEPacketTunnelProvider 프로젝트를 진행하며 어려움이 있어 여쭈어봅니다. 터널링을 이용해 vpn 프록시 서버를 로컬로 두고, 해당 터널에 지나가는 네트워크 패킷을 캡쳐해보고 있습니다. https 요청의 경우 암호화가 되어 있다보니 full path(ex. https://google.com/login) 경로를 알아낼 수 없는 것으로 알고 있습니다. 그래서 SNI를 추출하여 도메인(ex. https://google.com) 정도만 출력해보고 싶은데 관련 경험이 있거나 Network Extension을 잘 아시는 분 계신가요?? 도와주신다면 커피 기프티콘으로라도 보답드리겠습니다! 감사합니다.
개발자
#swift
#network-extension
#nepackettunnelprovider
#vpn
답변 0
댓글 0
조회 16
6달 전 · aigoia 님의 답변 업데이트
6개월 차 미래의 방향성을 못 잡고 있는 PHP개발자입니다.
안녕하세요. 비전공, 6개월 학원다녀 운좋게 취업한 PHP7.x codeigniter 3.x 버전으로 조그마한 웹 에이전시 회사다니고 있는 개발자입니다. 현재 진행한 프로젝트는 작은 프로젝트들까지 합쳐 1X개 정도를 진행하였는데 1~3개월 차에는 단순 CRUD하는 정도의 자그마한 프로젝트에서는 정말 잘하는 것 같다고 이야기를 많이 들었었는데요. 여기서가 문제였던 것 같습니다. 초반에는 10시가 되던 12시가 되던 늘 실력을 먼저 키워야지 하며 야근도 마다하지 않고 진행을 했었습니다. 하지만 최근 들어 제 자신이 나태해졌고 API를 10개 정도 연동시키는 프로젝트를 진행하였는데 정말 헐떡이면서 진행하였습니다. ( 자세히 말씀드리자면 로그인 API는 어렵다고 생각이 들어 토큰방식을 사용하지도 못하였고 단지 들려온 값이 암호화된 아이디를 저장해 해당 값이 있으면 user로 로그인 하는 식으로 진행하였습니다. 프레임워크를 사용한 게 맞나 싶을 정도로 MVC를 지키지 못하고 더티코드로 진행하였습니다. ) 특히 결제 API에 대해서는 (은행사 X 카드사입니다.) 끝끝내 마무리하지 못해 시니어 개발자 분에게 맡긴 후 돌아섰습니다. 이번 프로젝트를 진행하며 제가 너무 부족하단 걸 깨달았고 초반에 비해 정말 많이 나태해졌구나..란 걸 중요하게 깨달았고 공부를 진행해야겠다 라고 생각이 들었고, 도대체 어떤 공부를 해야되지? 라는 생각이 절실하게 느껴 질문 남겨봅니다. PHP, CI개발자로서 현재 저의 역량을 키우기 위해서는 어떤 공부를 해야되고 어떤 식으로 공부해야 될지 감이 안 잡힙니다... 두서없는 이야기가 되었지만 긴 글 읽어주셔서 감사드리고 안타까운 후배 한 명 살려주시는 마음으로 주니어 때 어떤 식으로 공부하셔서 시니어까지 되셨는지 알려주시면 열심히 노력해보겠습니다. 감사합니다.
개발자
#고민
#걱정
#살아남기
답변 1
댓글 0
조회 84
7달 전 · 김영민 님의 새로운 답변
비밀번호검증 질문 (백엔드 프론트엔드 연동 )
저는 컴퓨터공학과 학생이지만 개발이 처음입니다. 프론트엔드를 맡아 리액트 네이티브 앱을 개발하는 중입니다. 기초 지식은 있지만 학교 수업만 들어봤기 때문에 실제로 서비스를 어떻게 만드는지는 몰라, 이번 프로젝트에서는 사실상 GPT가 다 짜줬다고 해도 무방한 정도였어요. 프로젝트가 거의 다 끝나가는데, 백에서 비밀번호에 암호화를 걸면서 수정사항이 생겼습니다. if (existingProfile.password !== profile.oldPassword) { Alert.alert('비밀번호 오류', '기존 비밀번호가 올바르지 않습니다.'); return; } 기존에는 위와 같이 단순하게 비교를 했었는데, 백에서 암호화가 되어버려서 저런 단순한 로직을 사용할 수 없게 되었습니다. 대신 백에서 currentPassword(클라이언트에서 입력받은 비밀번호), getPassword함수(암호화되지 않은 사용자 계정의 기존 비밀번호를 받아오는 함수)를 bcrypt를 이용해서 알아서 다 처리하도록 코드를 다 짜주셨다고 하더라고요. 백엔드 코드는 사진으로 올려두었는데, if (passwordEncoder.matches(currentPassword, user.getPassword()))를 통해서 두 비밀번호가 일치하는 경우에만 정보가 수정되도록 코드가 작성되어 있습니다. 로직은 충분히 이해가 가는데, 이를 프론트엔드 코드에 어떻게 적용해야하는지 전혀 모르겠습니다. 구글링을 어떻게 해야 이런 경우의 풀이가 나오는지도 모르겠고, 찾아봐도 백엔드에서 암호화를 하는 방법이나 해시를 하는 방법 같은 것만 나오네요. 이 문제를 해결하기 위해 일주일 내내 노트북만 붙잡고 있었는데 멘탈만 부서지고, 코드는 아무것도 나아지지 않았습니다. 부디 많은 조언과 도움 부탁드립니다.
개발자
#비밀번호
#프론트엔드
#react-native
#front-end
#javascript
답변 1
댓글 0
조회 152
9달 전 · 강호중 님의 질문 업데이트
Flutter_Secure_Storage 배포 오류 질문드립니다.
안녕하세요. Flutter 주니어 개발자입니다. Flutter secure storage 패키지 사용해서 각종 정보 암호화하여 사용하였는데 해당 패키지가 릴리즈 디버그 에서는 오류를 발생시키지않다가 배포후에 read가 되지않는 오류가 몇몇 기기에 발생하였습니다. 공식문서에는 안드로이드 기종에서 문제가 있을수 잇다는 글이있어 옵션(encryptedSharedPreference : true)을 걸어두었습니다. 그럼에도 오류는 해결되지않았는데, 혹시 해당 오류 경험하셧거나 해결방안 아시는분계실까요?
개발자
#flutter
#flutter_secure_storage
답변 0
댓글 0
조회 36
일 년 전 · 익명 님의 질문
TOTP 시크릿키 암호화 질문있습니다.
구글otp앱을 활용해서 TOTP로 2FA 구현중에 있습니다. 사용자에게 qr코드로 등록하게 하려고 합니다. 시크릿키를 암호화해서 저장하는게 맞는거죠? 근데 Qr코드 url에 시크릿키가 복호화되어 보이게되는데 이런건 어쩔 수 없는거죠? Otp 도입해보신 분의 조언이 필요합니다!
개발자
#암호화
#otp
#spring-boot
#java
답변 0
댓글 0
조회 42
일 년 전 · 황민호 님의 답변 업데이트
리워드 시스템 같은 이벤트를 진행하는 경우(다양한 플랫폼으로 인한 이슈)
안녕하세요 개발자가 아닌 직군으로, 개발자분께 신규 기능 요청드리려는데 혼자 해결하기 어려워서 질문 드립니다.ㅠㅠ (상황) - PC, Mobile Web,APP 플랫폼 종류가 다양한 경우 - A라는 회원이 B라는 사람(비회원) 또는 SNS 에 리워드 시스템 같은 이벤트 링크를 공유한다고 가정 (문제) - (해당 이벤트 링크에 A의 아이디나 회원번호등을 파라미터에 암호화해서 들어가는 것으로 알고 있음) 카톡으로 링크를 공유할 뿐만 아니라 SNS 등 다양한 사이트의 본인의 링크를 게시 - 공유받은 사람이 비회원인 경우, 앱뿐만 아니라 다른 플랫폼등으로 접속하는 경우 앱설치, 회원가입 등을 진행하면서 해당 파라미터값이 누수되어 리워드를 받지 못할 가능성 존재 (궁금한점) - 누수를 막을 방법? (답변 예시. 링크 보유 시점을 설정하라...등) 혼자 고민하려고 하니 며칠째 답이 안 나오는데 도움 구합니다......
개발자
#리워드
#기획
#개발
#쿠키
답변 1
댓글 1
조회 322
일 년 전 · 백승훈 님의 답변 업데이트
node.js 백엔드에서 JWT Secretkey 보관 방법
안녕하세요! node.js express.js를 활용하여 백엔드를 개발중인 신입 개발자입니다. 앱 개발을 하고있는데 unity 프론트와 api통신을 해야하는 상황입니다. JWT를 활용하여 로그인 처리를 하고있는데 unity프론트와 API통신하면서 JWT때 사용하는 secretkey값을 공용으로 사용하고싶은데 혹시 실무에서 주로 처리하는 방법이 있을까요?? 보통 앱개발에는 안드로이드 keystore로 처리한다고도 하던데 서버단과 unity 클라이언트단 JWT secretkey를 같이 사용할 수 있는 방법 질문요청드립니다...! 헷갈리는부분... API 통신시 클라이언트단에서 로그인하고 유효성검사하고 암호화해서 api 통신하는 방식으로 흐름이 되는게 맞나요..?? 그리고 서버단에서 복호화해서 암호화하고 저장 api 통신시에 탈취가능성이 있지 않나는 클라이언트분의 말을듣고 위와 같은 질문을 드립니다... 제가 헷갈리는 부분인건지 아니면 api 전송시에는 암호화가 되지않아도 보안에 이상이 없는건지 서버단에서만 jwt 암호화 처리를 하면되는건지.... 이 부분은 어떤 흐름대로 이해하고 가야하나요?? ㅠㅠㅠ 너무 초보같은 질문이지만 질문드립니다..
개발자
#node.js
#express.js
#jwt
#unity
#api
답변 1
댓글 1
조회 145
일 년 전 · 차돌박이 님의 질문
Springboot 환경의 암복호화 질문
민감정보인 비밀번호의 경우 스프링 시큐리티가 제공해주는 password encoder를 써서 단방향 암호화를 한 뒤 일치여부를 체크하면 되지만 이름, 전화번호같이 다시 복호화해서 보여줄 필요가 있는 데이터들은 보통 어떤 라이브러리를 이용해서 처리들 하시는지 궁금합니다. @Bean public StandardPBEStringEncryptor jasyptStringEncryptor() { StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); encryptor.setPassword(password); encryptor.setSaltGenerator(new StringFixedSaltGenerator(salt)); return encryptor; } 지금 만들고있는 사이드 프로젝트에서는 jasypt 라이브러리의 StandardPBEStringEncryptor를 사용하여 salt값을 고정하여 사용중인데 맞는 방법인지 모르겠고.. jasypt에 대해 검색해보면 properties나 yml파일 암호화 관련된 이야기가 대부분이던데 혹시 엉뚱한 라이브러리를 사용하고있는건 아닌가 싶네요.. 다른 분들은 어떤걸 사용하시는지가 궁금해서 질문 드립니다.
개발자
#springboot
#spring-boot
#encode
#decode
답변 0
댓글 0
조회 86
일 년 전 · 김태훈 님의 새로운 답변
HMAC은 시크릿 키가 없으면 복호화할 수 없나요?
안녕하세요, 최근 막 스프링부트에 입문한 초보 개발자입니다. 스프링 시큐리티를 공부하던 중, 로그인 시 패스워드를 해싱을 통해 암호화한다고 하더라구요. 아무래도 웹 서버를 운영하다보면 외부에 유출되어서는 안 되는 유저들의 개인 정보 등을 DB에 저장해놓고, 서버와 주고받아야 할 때가 있을 텐데, 그냥 원본 데이터를 주고 받기에는 보안 상의 문제가 굉장히 커서 적당한 암호화 기법을 찾아 암호화한 후 DB에 저장하고자 합니다. 그러나 해시가 아닌 일반적인 암호화 방법들(SHA MD Base64 등등...?)은 구글에 복호화 사이트가 풀려 있어서 확실한 암호화 방법을 찾다가 시큐리티에서 사용하는 HMAC 중 HMAC-SHA256이 눈에 띄었습니다 구글에 복호화사이트를 검색해봐도, 확실히 시크릿 키가 없으면 복호화하지 못하더라구요. 그래서 일단은 HMAC-SHA256을 사용하려고 하는데, 아직 제가 모르는 부분이 많아서 이렇게 질문드립니다. 사용자마다 다 다른 시크릿 키를 부여해서 각각 HMAC-SHA256으로 암호화한다면, 해시된 정보들이 유출되더라도 원본 개인정보들이 유출될 가능성은 없을 정도로 보안이 뛰어나는 것인가요?
개발자
#hmac
#해시
#spring
#스프링부트
답변 1
댓글 0
조회 190
일 년 전 · 김도열 님의 답변 업데이트
웹 백엔드) Bcrypt를 이용하여 암호화 시 비밀번호 검증
사용중인 라이브러리: Express.js bcrypt mongoose 현재 진행중인 사내 웹 프로젝트내에 게시판을 만들려고 하는데 DC인사이드 처럼 게시글마다 비밀번호를 설정하도록 기능구현을 한 상태입니다. 비밀번호는 bcrypt를 이용해서 암호화를 진행했고 수정이나 삭제를 할 땐 비밀번호 검증 후 수정/삭제가 이뤄지도록 구현하고 있습니다. 패스워드가 bcrypt로 암호화되어 있기 때문에 수정의 경우 1. request body에 비밀번호를 보내서 백엔드에서 bcrypt.compare() 2. 비밀번호가 일치할 시 해당 게시글의 데이터를 response 3. response에서 받은 데이터를 기반으로 프론트 수정페이지에 보여준다음 4. 수정페이지 내용을 다시 PUT요청으로 수정하도록 구현되어 있습니다. 이 과정에서 API가 1. 비밀번호 검증용(GET) 2. 게시글 수정용(PUT) 이렇게 두가지가 필요한 상황이 되었는데, 비밀번호 검증 GET에서 질문이 생겼습니다. 기본적으로 GET과 DELETE요청은 request body를 가지지 않는게 규칙이라고 배웠습니다. 하지만 request body를 가지는 POST와 PUT은 그 의미가 생성/수정이라고 이해하고 있습니다. 그렇다고 비밀번호를 URL에 Query Params로 보내자니 보안상 문제가 되지않을까 걱정이 되구요... 1. GET 또는 DELETE요청에 request body를 포함하여 보낸다. - 현재 사용중인 방식이고 앞서 말한 규칙 때문에 수정을 고민중이며 구현, 사용상에 문제는 없었습니다. 2. POST 또는 PUT요청에 request body를 포함하여 보낸다. - 현재 고려중인 방식이고 의미적인 문제가 없다면 이렇게 사용하려고 합니다. 개발 자체를 공부해본지 얼마안된 개발어린이라 제 상식외의 문제가 발생하면 대처하기가 어렵네요..ㅜㅜ 위에 제시한 1, 2번 방법중 어떤게 더 Best Practice에 가까울까요? 더 좋은 방법이 있다면 의견도 제시해주시면 너무 감사하겠습니다. <(__)>
개발자
#express.js
#bcrypt
#node.js
답변 3
댓글 3
조회 87
일 년 전 · 장성호 님의 새로운 댓글
토큰은 클라이언트에 노출되어도 상관없나요?
안녕하세요! 프론트엔드 공부하고 있는 취준생입니다. 토큰에 대해 이해가 안되는 것이 있어서 질문을 올립니다. 토큰은 복호화, 암호화와 달리 서명을 통해 무결성을 확인하는 것으로 알고 있는데요, 이를 통해 토큰을 로컬스토리지나 전역 상태 라이브러리등을 사용하여 저장하는 걸로 배웠습니다. 로컬스토리지나 전역 상태 라이브러리를 사용하는 것이 클라이언트에 노출하는 것이랑 보안적으로 다른 것인가요? 사실 이것이 어떻게 안전한 것인지 의아해서 질문을 올립니다. 토큰도 결국 string 문자열일 뿐이고, 이를 복사하여 서버 데이터에서 유저 정보를 빼낼 수 있지 않나요?
개발자
#token
#토큰
답변 1
댓글 2
조회 126
일 년 전 · 김유비 님의 새로운 댓글
refresh Token은 왜 사용하는건가요??
액세스 토큰이 탈취될 가능성이 있어서, 탈취된 경우 피해를 최소화하기 위해 리프레쉬 토큰을 사용한다고 이해했습니다. 액세스 토큰만을 사용하고, 액세스 토큰을 브라우저의 쿠키에 저장한다고 했을때 쿠키에 httponly, secure 설정 / 서버에 csrf토큰 및 https를 적용하면 Csrf 및 Xss 공격을 예방하고 쿠키에 저장된 액세스 토큰이 암호화 되어 있어 이를 가로챈다고 해도 원래 값을 알아낼 수 없으니 액세스 토큰 자체가 탈취될 가능성을 배제할 수 있을 것 같은데 어떤 이유에서 리프레쉬 토큰을 쓰는건가요??? 정말 너무 너무 궁금한데 지식이 부족해 구글링으로 속시원한 답을 찾아낼 수 없어 질문 올려봅니다..!
개발자
#jwt
답변 2
댓글 3
추천해요 7
조회 1,049
일 년 전 · mjm 님의 질문
exe파일 자동 로그인 보안에 대해서 궁금합니다.
안녕하세요. 간단한 앱을 exe파일로 배포하려고 하는데요. 만약 자동 로그인 서비스를 지원한다고 했을 때 유저의 아이디와 비밀번호 정보를 어딘가에 따로 저장해 놓고 불러와야 하는데 어떤 방식이 보안을 높이는 방법일까요.. 아무리 구글링 해봐도 관련 예제는 없어서 제 PC 카카오톡 exe파일 경로를 조금 뜯어 봤는데 pred(파일명) 파일 안에 "set_auto_login" 변수가 따로 있더군요. 이 변수 값을 통해 유저가 카카오톡을 실행 시켰을 때 자동 로그인 할지 안 할지 결정함을 예상할 수 있었습니다. 이때 자동 로그인을 한다고 가정 했을 때 결국에는 어딘가에 저장되어 있는 제 전화번호와 비밀번호 정보를 불러와야 합니다. 혹시 어떤 방식으로 제 정보를 저장하고 불러오는지 아시는 분 있을까요..?? 저장할 때 암호화는 당연히 진행하겠죠?? 암호화가 진행된다면 exe파일 내부에 public key도 어딘가에 존재하겠죠??? 조금 덧붙이자면 내부 파일 중 connect_conf 라는 파일이 존재했고 여기에 저장되어 있나 생각이 들긴 하는데 파일 형식이 뭔지 모르겠고 메모장으로 열어봐도 encoding이 되지 않은 상태로 뜹니다. 너무 궁금하네요.
개발자
#exe
#보안
답변 0
댓글 0
조회 127
2년 전 · 장성호 님의 새로운 답변
게시글 번호 암호화 방법
안녕하세요 선배님들 아직 신입 개발자인데요. 스프링부트 프로젝트에 JPA를 사용해서 게시글 같은거 등록했을 때 아이디가 숫자인경우 노출되는 것을 고려하여 암호화시켜서 보여주는 경우가 있는데 그때 암호화를 어떤것을 사용하시는지 궁금합니다. 너무 무턱대고 알려달라고만해서 죄송합니다.
개발자
#spring-boot
#jpa
답변 1
댓글 0
조회 70
2년 전 · 연양갱 님의 답변 업데이트
고객 개인정보 암호화 어디까지 해야 하나요?
회사에서 고객 개인정보 보관할 때 보통 어떤 데이터까지 암호화하나요?? 일단은 비번만 암호화하려고 생각중인데, 전화번호와 이름, 이메일까지도 다 암호화해서 보관하는 것이 좋은가요? 여러분들의 회사에서는 어떻게 하고 있는지 궁금합니다.
개발자
#개인정보
#암호화
답변 1
댓글 0
조회 231
2년 전 · 호빵 님의 답변 업데이트
비밀번호 암호화 할때 복호화가능한 방법 (이전 비밀번호 내용 저장or양방향암호화)
안녕하세요 2달차 신입 자바개발자입니다. 현재 spring boot로 거래소 api를 만들려고 하는데, 비밀번호 암호화에 대해 궁금한 점이 있습니다. JWT+PasswordEncoder를 통해서 비밀번호 암호화해서 db에 저장하는데 복호화가 불가능한 상황입니다. 그런데 기획 상으로 '비밀번호 재설정 유의사항 1. 이전 *회 동안 사용한 비밀번호는 사용 금지' 2. 생일, 전화번호 등 추측하기 쉬운 번호 금지' 라고 되어있는데, 사용자가 지정한 비밀번호를 알아야 기록을 남길 텐데 어떤 프레임워크나 스택을 써야할지 모르겠습니다. 노드 코인 주소를 저장할때도 암호화해서 저장했다가 내보낼때는 복호화해서 내보내야 한다고 하는데 비슷한 기능을 사용하면 될 것같은데 혹시 어떤 기능을 써야할지 추천 부탁드리면 너무 감사드리겠습니다.
개발자
#복호화
#springboot
#java
#비밀번호
#양방향-암호화
답변 2
댓글 0
추천해요 1
조회 742
2년 전 · 커리어리 AI 봇 님의 새로운 답변
스타트업에서 보통 앱마켓 출시할 때 규제나 보안은 어떻게들 충족하시나요??
개인정보보호법이나 정보통신망법에 보호조치들이 여러가지가 있는데 이것들을 어떻게 충족하실까요? 예를들면, 개인정보 알고리즘 암호화나 웹서버간 암호화, 로그기록 및 탈퇴자 db 분리 이런것들이 규제상 있는데 다들 규제 파악은 어떻게 다 하시는지, 그 규제에 맞는 솔루션은 어떻게 찾는지요? 보통의 스타트업은 관련 인력이나 비용이 부족할텐데 궁금해서 여쭙습니다.
개발자
답변 1
댓글 0
추천해요 8
조회 250