728x90
반응형

security 7

Authentication vs Authorization 웹 애플리케이션 컨텍스트의 차이점

질문 : 인증 대 권한 부여 웹 애플리케이션 컨텍스트의 차이점은 무엇입니까? 나는 약어 "auth"를 많이 본다. 인증 또는 인증을 의미합니까? 아니면 둘 다입니까? 답변 인증 은 누군가가 실제로 자신이 주장하는 사람임을 확인하는 과정입니다. 승인 은 누가 무엇을 할 수 있는지 결정하는 규칙을 의미합니다. 예를 들어 Adam은 데이터베이스를 만들고 삭제할 수있는 권한이있는 반면 Usama는 읽기 권한 만 있습니다. 두 개념은 완전히 직교하고 독립적이지만 둘 다 보안 설계의 핵심이며 둘 중 하나를 올바르게 가져 오지 못하면 타협의 여지가 열립니다. 웹 앱의 관점에서 말하자면, 인증은 로그인 자격 증명을 확인하여 사용자가 로그인 한 것으로 인식하는지 확인하는 것이고, 인증은 사용자가보기, 편집, 삭제를 허용..

개발관련/other 2021.12.09

REST API / 웹 서비스 보안을위한 모범 사례

질문 : REST API / 웹 서비스 보안을위한 모범 사례 [닫힌] REST API 또는 서비스를 설계 할 때 보안 (인증, 권한 부여, ID 관리)을 처리하기 위해 확립 된 모범 사례가 있습니까? SOAP API를 빌드 할 때 WS-Security를 가이드로 사용하고 주제에 대한 많은 문헌이 있습니다. REST 엔드 포인트 보안에 대한 정보가 적습니다. REST가 WS- *와 유사한 사양을 의도적으로 가지고 있지 않다는 것을 이해하지만 모범 사례 또는 권장 패턴이 나타났기를 바랍니다. 관련 문서에 대한 모든 토론이나 링크는 대단히 감사하겠습니다. 중요한 경우 .NET Framework v3.5를 사용하여 빌드 된 REST API / 서비스에 대해 POX / JSON 직렬화 된 메시지와 함께 WCF를 ..

개발관련/other 2021.12.04

APK 파일의 리버스 엔지니어링을 피하는 방법

질문 : APK 파일의 리버스 엔지니어링을 피하는 방법은 무엇입니까? Android 용 결제 처리 앱 을 개발 중이며 해커가 APK 파일의 리소스, 자산 또는 소스 코드에 액세스하지 못하도록하고 싶습니다. 누군가 .apk 확장자를 .zip으로 변경하면 압축을 풀고 모든 앱의 리소스와 자산에 쉽게 액세스 할 수 있으며 dex2jar 및 Java 디 컴파일러를 사용하여 소스 코드에도 액세스 할 수 있습니다. Android APK 파일을 리버스 엔지니어링하는 것은 매우 쉽습니다. 자세한 내용은 스택 오버플로 질문 APK 파일에서 프로젝트로 리버스 엔지니어링을 참조하십시오. Android SDK와 함께 제공되는 Proguard 도구를 사용했습니다. 서명 된 키 저장소 및 Proguard를 사용하여 생성 된 AP..

개발관련/other 2021.11.03

웹 사이트에 "내 정보 기억"을 구현하는 가장 좋은 방법

질문 : 웹 사이트에 "내 정보 기억"을 구현하는 가장 좋은 방법은 무엇입니까? 사용자가 내 웹 사이트를 방문 할 때마다 로그인 할 필요가 없도록 내 웹 사이트에 사용자가 클릭 할 수있는 확인란이 있기를 원합니다. 이를 구현하려면 쿠키를 컴퓨터에 저장해야한다는 것을 알고 있지만 해당 쿠키에 무엇이 포함되어야합니까? 또한이 쿠키가 '내 기억하기'기능을 제공하면서 피할 수있는 보안 취약점을 제공하지 않도록주의해야하는 일반적인 실수가 있습니까? 답변 여기에 설명 된이 전략 을 모범 사례 (2006) 또는 여기에 설명 된 업데이트 된 전략 (2015)으로 사용할 수 있습니다. 이 접근 방식은 심층 방어를 제공합니다. 누군가가 데이터베이스 테이블을 유출하는 경우 공격자에게 사용자를 가장 할 수있는 열린 문을 제공..

JWT (JSON Web Token) 만료 자동 연장

질문 : JWT (JSON Web Token) 만료 자동 연장 새로운 REST API에 JWT 기반 인증을 구현하고 싶습니다. 그러나 토큰에 만료가 설정되어 있으므로 자동으로 연장 할 수 있습니까? 사용자가 해당 기간에 애플리케이션을 적극적으로 사용하는 경우 X 분마다 로그인 할 필요가 없습니다. 그것은 엄청난 UX 실패입니다. 그러나 만료 기간을 연장하면 새 토큰이 생성됩니다 (이전 토큰은 만료 될 때까지 여전히 유효합니다). 그리고 각 요청 후에 새 토큰을 생성하는 것은 어리석은 것처럼 들립니다. 둘 이상의 토큰이 동시에 유효한 경우 보안 문제처럼 들립니다. 물론 블랙리스트를 사용하여 이전에 사용 된 것을 무효화 할 수 있지만 토큰을 저장해야합니다. 그리고 JWT의 장점 중 하나는 스토리지가 없다는 ..

PHP 암호를위한 보안 해시 및 솔트

질문 : PHP 암호를위한 보안 해시 및 솔트 현재 MD5는 부분적으로 안전하지 않다고합니다. 이를 고려하여 암호 보호에 사용할 메커니즘을 알고 싶습니다. 이 질문 은 "이중 해싱"이 암호를 한 번만 해싱하는 것보다 덜 안전합니까? 여러 번 해싱하는 것이 좋은 생각 일 수 있지만 개별 파일에 대한 암호 보호를 구현하는 방법은 무엇입니까? 소금 사용을 제안합니다. PHP를 사용하고 있습니다. 안전하고 빠른 암호 암호화 시스템을 원합니다. 암호를 백만 번 해시하는 것이 더 안전 할 수 있지만 느릴 수도 있습니다. 속도와 안전 사이의 균형을 잘 잡는 방법은 무엇입니까? 또한 결과가 일정한 수의 문자를 갖는 것을 선호합니다. 또한 데이터베이스에 두 개의 필드를 저장해야합니까 (예 : MD5를 사용하는 필드와 S..

PHP에서 SQL 공격(injection)을 방지하는 방법

질문 : PHP에서 SQL 주입을 어떻게 방지 할 수 있습니까? 사용자 입력이 SQL 쿼리에 수정없이 삽입되면 다음 예제와 같이 애플리케이션이 SQL 주입에 취약 해집니다. $unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')"); 사용자가 값과 같은 것을 입력 할 수 있기 때문입니다 value'); DROP TABLE table;-- , 쿼리는 다음과 같습니다. INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--') 이를 방지하기 위해 무엇을 할 수 있습니까? 답변 준비된 문과 매개 변수..

728x90
반응형