2012-05-09 3 views
1

프로젝트 중 하나에서 XML을 데이터베이스로 사용하고 있습니다. 나중에 우리는 데이터의 보안이 문제라는 것을 깨달았습니다. 노트 패드를 사용하여 애플리케이션의 사용자가 모든 데이터를 수정할 수 있습니다. 아래는 데이터베이스를 보호하기 위해 할 수있는 몇 가지 작업입니다.XML 데이터베이스의 보안

응용 프로그램은 닷넷으로 작성됩니다.

  1. 암호화 전체 XML, 프로그램은 암호 해독하고 암호화를 저장하는 동안, 그것을 사용하고. (성능 문제)

  2. 우리는 노드를 암호화 할 수 있습니다 닷 넷 어셈블리를 사용하여 저장합니다. (성능 문제와 많이 코드의 암호화하고 메모를 해독하기 위해 작성해야합니다.

사용자가 간단하게 메모장을 사용하여 수정할 수 있도록 방법으로 XML을 확보 할 수있는 가장 좋은 방법이 있습니까.?

+0

Win app? 웹 앱? 어느 데브? ... – walther

+0

그리고 암호 해독 키를 어디에 저장할 것인가? 사용자가 기본적으로 프로그램을 실행하고 있기 때문에 기본적으로 읽기 액세스 권한이 필요합니까? 데이터 액세스를 제어하기 위해 일종의 외부 서비스가 필요한 것 같습니다. –

+0

무결성이나 보안이 걱정 되십니까? 어떤 수준에서 후자의 경우. 변경할 수없는 다른 권한 수준을 볼 수 없습니까? –

답변

0

SQL Server가 옵션이고 기본 목표가 데이터 스누핑을 방지하는 것이라면 SQL Server의 XML 처리 및 내장 암호화 기능 (예 : 인증서, TDE 등)을 암호화합니다. 이렇게하면 설명하는 대부분의 수동 작업이 제거됩니다.

http://technet.microsoft.com/en-us/library/bb510663.aspx

데이터가 필요한 경우

전체 과정에서 암호화 할 (예를 들면, 어플리케이션의 메모리 공간에있는 경우) 또는 데이터가 사용자의 컴퓨터에 있으면 SQL 기반 암호화 못해 실용적 또는 충분하다. 코드의 우리는 노드를 암호화 할 수 있습니다 닷 넷 어셈블리를 사용

. (성능 문제 및 많은 암호화하고 메모를 해독하기 위해 작성해야합니다.

나는 이것이 인 것을 말하는 게 아니에요 당신이 충분한 정보를 제공하지 않았기 때문에 올바른 해결책은. 그러나, 나는 당신이 잘못된 가정하에 운영되고 있다고 생각합니다. .NET에서

  • 암호화는 매우 강력하고 코드의 100 개 미만 라인을 수행 할 수 있습니다. 너 표준 암호화 알고리즘을 사용하거나 Windows 인증서 서비스와 통합 할 수 있습니다.

  • 물론 성능에 영향이 있지만 최신 CPU는 암호화에 필요한 수학을 처리하는 훌륭한 작업을 수행합니다. 파일이 크지 않고 매초 수백 개의 파일을 처리하지 않는 한, 성능에 대한 염려는하지 않습니다.

궁극적으로 데이터가 사용자 시스템에있는 경우 가장 큰 문제는 키의 위치와 보안입니다.

+0

그는 XML 데이터베이스라고했습니다. SQL 서버가 원시 XML 파일을 저장 매체로 사용할 수 있습니까? – walther

+0

@walther - ugh ...그 부분을 완전히 잘못 읽고 "SQL"을 어떻게 든 보았습니다. 그 점을 지적 해 주셔서 감사합니다. 사실 SQL은'FILESTREAM'을 사용하여 외부 파일을 참조하는 데 사용할 수 있습니다. 옵션 일 수 있습니다. –

+0

난 그냥 데이터를 저장하기위한 일반 텍스트 XML 파일을 사용하고 있습니다. 모든 데이터베이스 관리 시스템을 사용하지 않습니다. – Saran

관련 문제