문제

내부 네트워크의 회사 클라이언트 웹 서버에서 호스팅되는 ASP.Net 응용 프로그램이 있습니다.

알려진 다양한 라이선스 조건(만료일/사용자 수 등)을 시행하고 싶습니다.

키/값 쌍으로 용어가 포함된 암호화된 XML 문서를 사용하고 이를 암호화된 일반 텍스트 파일로 웹 서버에 저장할 계획입니다.

그런 다음 사용자 정의 보안 httpmodule을 사용하여 암호화 된 파일을 해독하고 메모리 (응용 프로그램?)에 용어를 추출한 다음 응용 프로그램의 관련 영역에 대한 각 페이지 요청 중에 용어를 시행 할 계획입니다.

웹 애플리케이션에 대한 라이센스 조건을 시행하는 더 나은 접근 방식이 있습니까?

도움이 되었습니까?

해결책

나는 다른 경로를 선택했습니다:Http모듈에 대해 걱정할 필요가 없도록 라이센스 정보를 데이터베이스의 암호화된 필드에 배치하기만 하면 됩니다.SQL Server에는 암호화된 데이터를 매우 쉽게 가져오거나 넣을 수 있는 EncryptByKey 및 DecryptByKey 기능이 있습니다.또한 전체 프로세스를 매우 쉽게 관리할 수 있도록 간단한 암호 키를 사용했습니다.귀하의 접근 방식에 감사드립니다. 정말 영리한 접근 방식입니다. 하지만 제 생각에는 귀하가 인생을 스스로 너무 힘들게 만든 것 같습니다!

보안 측면에서는 실제로 소스 코드를 제공하지 않는 한 비교적 안전합니다.유일한 단점은 암호나 기타 암호화 기술을 추출하기 위해 코드를 분해할 가능성이 있다는 것입니다(이는 Httpmodule 접근 방식에도 해당될 수 있습니다).이것은 ~ 아니다 그러나 제가 주로 Fortune 500대 기업과 협력하고 있고 "분해 금지" 조항을 포함하는 법적 계약을 맺고 있기 때문에 걱정되는 부분이 있습니다.대다수의 회사는 단지 몇 가지 추가 기능을 얻거나 데이터베이스를 확장하기 위해 이러한 작업을 수행함으로써 발생할 수 있는 법적 위험에 대해 위험을 무릅쓰지 않습니다.반면에 수천 명의 익명 사용자에게 배포하는 경우에는 다른 이야기가 될 수 있습니다.

업데이트:SQL Server를 사용하지 않는 경우 코드 기반 암호화를 사용하여 라이선스 정보를 저장/검색할 수도 있습니다.암호화 클래스가 필요한 경우 간단하지만 매우 강력한 AES 클래스를 업로드했습니다. 이전 답변.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top