2009-02-03 2 views
0

내 은행 웹 사이트에는 은행 거래를 할 수있는 기계를 등록 할 수있는 보안 기능이 있습니다. 누군가 내 비밀번호를 도용하면 컴퓨터에서 돈을 이체 할 수 없습니다. 내 개인 컴퓨터 만 내 계정에서 트랜 스크립트를 만들 수 있습니다. 그래서 ...웹 시스템에서 시스템 그룹에 대한 액세스를 제한하는 접근 방법은 무엇입니까?

웹 시스템에서 시스템 그룹에 대한 액세스를 제한하는 접근 방법은 무엇입니까?

즉, 웹 서버에서 http 요청을 한 컴퓨터를 식별하는 방법은 무엇입니까?

+0

익명의 기계 또는 귀사/귀사의 통제하에있는 기계? 신뢰할만한 어떤 종류의 양방향 트러스트는 인증서 생성 및 설치 (최종 사용자 측뿐만 아니라)와 어떤 식 으로든 그들을 사용하기 위해 확립되어야합니다. –

답변

2

이유인가 호스트의 인증서 저장소 내부 또는 임의의 원하는 컴퓨터에 연결할 수있는 스마트 카드와 같은 암호 토큰 내부 클라이언트 인증서를 사용하지?

업데이트 : 당신은 고유의 컴퓨터를 식별 고려해야 HTML 페이지에 임베디드 코드에 unaccessable 상대적으로 낮은 수준에 뭔가 얻는 것을 의미 설치하지 않는 한, (자바 스크립트, 애플릿 또는 ActiveX에 서명하지) 원하는 컴퓨터에서 (또는 애플릿 또는 activeX와 같은 서명 된 것을 실행하여)

컴퓨터마다 고유 한 점은 이더넷 카드의 MAC 주소입니다. 이더넷 카드의 MAC 주소는 거의 현대적이며 현대적이지 않은 모든 컴퓨터에서 거의 유비쿼터스입니다. 그러나 많은 카드가 MAC 주소를 변경할 수 있으므로 충분히 안전하지 않을 수 있습니다.

펜티엄 III는 CPU 내부에서 고유 한 일련 번호를 사용했기 때문에 사용하기에 완벽 할 수 있습니다. 단점은 대부분의 사용자의 개인 정보 보호 문제로 인해 최신 CPU가 제공되지 않는다는 것입니다.

CPU id (모델, 속도 등), 마더 보드 모델, 하드 디스크 공간, 설치된 메모리 등과 같은 컴퓨터의 많은 요소를 결합 할 수도 있습니다. 나는 Windows XP가 해시을 먹이기 위해 이러한 유형의 정보를 수집하여 정품 인증 목적으로 컴퓨터를 고유하게 식별했다고 생각합니다.

업데이트 2 : 하드 디스크에는 소프트웨어로 검색 할 수있는 일련 번호가 있습니다. Here은 정품 인증 목적으로 사용하는 방법에 대한 예입니다 (해당 경우). 그러나 sb가 HD를 다른 컴퓨터에 가져 가면 작동합니다. 그럼에도 불구하고 컴퓨터에서 더 많은 고유 한 데이터 (예 : 앞에서 말한 MAC 주소)와 결합 할 수 있습니다. 나는 또한 사용자를 위해 생성 된 고유 한 키를 추가하고 시스템을 식별하는 hash function을 먹이기 위해 자신의 데이터베이스 (서버에서 온라인으로 검색 할 수 있음)와 나머지 데이터베이스에 보관합니다.

+0

하드웨어가 필요없는 솔루션이 더 바람직합니다. 감사! –

0

계정 생성 요청을하는 컴퓨터의 IP 주소를 찾는 경우 요청에서 쉽게 가져올 수 있습니다. ASP.NET에서는 다음을 사용합니다.

문자열 IPAddress = Request.UserHostAddress;

그런 다음 계정 레코드로 저장하고 해당 IP 주소의 해당 계정에 대한 로그인 만 수락 할 수 있습니다. 물론 문제는 이것이 공개 사이트에서 전혀 작동하지 않는다는 것입니다. 대부분의 사람들은 IP 주소를 동적으로 할당하는 ISP를 방문합니다. 항상 인터넷에 연결되어 있더라도 ISP는 때때로 연결을 끊었다가 다시 열어 IP 주소가 변경됩니다.

어쨌든,이게 당신이 찾고 있는게 있나요?

업데이트 : 특정 컴퓨터를 등록하려는 경우 쿠키 사용을 고려 했습니까? 단점은 물론 누군가가 쿠키를 삭제하여 컴퓨터를 "등록 취소"할 수 있다는 것입니다. 문제는 웹이 컴퓨터에 너무 많이 액세스 할 수 있으므로 컴퓨터를 "등록"하는 바보 같은 방법이 없다는 것입니다. ActiveX 컨트롤을 설치하더라도 제거 또는 삭제할 수 있습니다 (쿠키보다 지속적입니다). 결국, 최종 사용자에게 항상 재 등록 방법을 제공해야합니다. 그리고 그렇게하면 어쨌든 로그인 할 수 있습니다.

+0

아니요 ... NAT 때문에 IP가 신뢰할 수 없습니다 (동일한 IP가 여러 컴퓨터에서 사용될 수 있음). 또한 IP는 동적 일 수 있습니다. 특정 컴퓨터를 식별하는 방법이 필요합니다. –

+0

흠 ... 나는 심지어 NAT를 생각조차하지 않았다. (어쨌든 우발적 인 말장난). 글쎄, 내 생각에 만약 당신이 정말로 하나의 컴퓨터에 그것을 제한하고 싶다면 당신은 로그인시 쿠키를 버려야하고 영원히 그것이 남을 것을 요구한다. 물론 누군가가 쿠키를 지우면 ... –

0

실제로 설치 했습니까?

Mark Brittingham이 IP 주소에 대해 언급 한 것 이상으로, 내가 뭔가를 설치했다면 은행의 컴퓨터에만 알려져 있고 컴퓨터가 작동한다는 해시 코드가 있다고 생각합니다. 그러나 아주 강력한 암호가 없으면 다른 사람이 컴퓨터를 "등록"하여 돈을 훔치지 못하게 할 수 있습니까?

+0

내 은행 시스템에서 컴퓨터를 등록하는 과정은 그다지 간단하지 않습니다. 이 경우 컴퓨터를 등록한 후 전화로 은행에 연락하여 등록 된 컴퓨터의 잠금을 해제해야합니다. 그런 다음에 만 거래를 할 수 있습니다. –

+0

그런데 ... 그들은 Java 애플릿을 사용합니다. –

0

신뢰할 수있는 애플릿을 사용하여 은행에서 사용하고있는 것으로 추측 할 수 있습니다. 제 은행은 비슷한 접근 방식을 사용 했었습니다. (정직하게 생각하면 조금 혼란스러운 생각이었습니다. 대신 지금은 계산기와 유사한 코드 생성기를 사용하고 있습니다.). 신뢰할 수있는 애플릿은 파일 시스템에 대한 액세스 권한을 가지므로 시스템의 파일에 일종의 식별자를 쓸 수 있고 나중에 검색 할 수 있습니다.

A tutorial on using trusted applets.

+0

예 ... 그게 그들이하는 일입니다.하지만이 질문은 다양한 승인을 논의하는 것입니다. –

0

Gears을 사용하여 컴퓨터가 등록되었음을 알리는 해시 무언가를 로컬에 저장하려고 생각합니다.

관련 문제