2014-09-24 7 views
0

MVC 프로젝트에서 작업 중입니다. 일부 정보를 암호화하고 숨겨진 필드에 저장해야합니다. 이 솔루션은 인트라넷 시나리오에 배포되며 정보는 비공개이지만 중요하지는 않지만 암호화하는 것이 최상의 방법입니다. 우리는 Windows 인증을 사용하고 있습니다.MVC 응용 프로그램의 숨겨진 필드에 정보 암호화

사용자가 이러한 값을 보지 못하도록 Rijndael Encryption 메서드를 사용하여 암호화 된 문자열을 만든 다음 암호화 된 값을 16 진수 문자열로 변환하고 숨겨진 필드에 배치합니다.

저는 현재 Key와 IV에 대한 값을 하드 코딩하고 있습니다 (web.config에 저장하고 암호화 함). 나는 IV가 매 암호화마다 달라야한다는 것을 읽었다. 그러나 나는 각 IV 서버 측을 저장하고 포스트 백에서 검색해야하는 것을 정말로 원하지 않는다.

모든 요청에 ​​대해 새로운 IV 키를 생성하는 것이 얼마나 중요합니까?

생성 된 값을 필요로하지 않는보다 적합한 암호화 알고리즘이 있습니까?

+0

각 사용자의 키와 IV 값을 데이터베이스에 저장할 수 있습니까? 각 요청시 생성되는 것을 방지하지만 웹 응용 프로그램에 액세스하는 각 직원마다 고유해야합니다. – aleha

+0

시간을내어 회신 해 주셔서 감사합니다. 그것은 좋은 타협일지도 모른다. 필요한 경우 Key와 IV를 밤새 재생성 할 수 있습니다. – Jake

+0

도움이된다면 이것을 ansver로 추가했습니다. – aleha

답변

0

각 사용자의 키와 IV 값을 데이터베이스에 저장할 수 있습니다. 각 요청마다 생성되는 것을 방지하지만 웹 응용 프로그램에 액세스하는 각 직원에 대해 고유하게 만듭니다.

Windows 서비스 또는 SQL 작업을 사용하여 각 자정을 만들 수 있습니다.

+0

이 방법은 정보가 얼마나 안전해야하는지에 따라 모든 시나리오에 적합하지 않을 수 있습니다. 하지만 이것은 내 시나리오에서 합리적인 타협 인 것처럼 보일 것입니다. 이 솔루션을 웹에 배치하면 숨겨진 필드에 암호화 된 정보를 저장하지 않고 서버 측에 저장합니다. – Jake

관련 문제