>> This is typically done with digital signatures. The owner of the private
>> key signs the data with it. Your client has the public key and can use
[quoted text clipped - 52 lines]
>>>
>>>can someone point me into the right direction?
> If the "behind the scenes" app is on a separate server, then perhaps you can
> secure the communications betweeen them with some authentication and
> authorization? Perhaps you could use web services with WSE SSL or
> something? There are a variety of ways to ensure that your data isn't
> tampered with.
unfotunately this is not possible, because the templates i mentioned
earlier, will be stored on the target machine. and there it can be
tempered with. i know that i can securly transfer it between the main
app nad the "behind the scenes" one. the problem is that this data in
template and final form will be stored on the machine that runs main app
and thus it will not be safe. so the only thing that came to my mind was
to somehow prove at the end that the final data was generated from valid
template that came from trusted source.
hah, now when i write and think about it i might have found a sollution.
if the template data is just an object serialized into the xml file,
then maybe i could associate with it some hash (ordinal md5 generated
for part of the xml template file should do it). then when the final
data will arrive back to the "behind the scenes" app i could check if
the apropriate part of it generates correct hash that is the same as one
stored with the templates collection on the "behind the scenes" machine.
this is theoretically possible because i am able to exctract the
template from the final data. this is tricky, but possible. if asymetric
encryption and signing cannot help here this looks like the only
reasonable sollution. unfortunately it forces me to store lots of
aditional data on the "behind the scenes" machine.
what do you think of this sollution?
> You are correct that it is difficult to prevent a hacker from doing stuff to
> your code if you install on his system. He can always run a debugger and
[quoted text clipped - 58 lines]
>>>>
>>>>can someone point me into the right direction?
Joe Kaplan (MVP - ADSI) - 25 Jan 2006 16:06 GMT
The hash would probably work. If the templates are XML files, can you just
use XML digital signatures?
The idea would be that you would ensure that they are placed on the local
file system signed and would then verify the signatures before using them.
The signature is slightly stronger than the plain hash as you have some
guarantee that the hash then came from a specific source.
Remember too though that you can't stop a determined hacker once you install
code on his machine.
Joe K.
>> If the "behind the scenes" app is on a separate server, then perhaps you
>> can
[quoted text clipped - 90 lines]
>>>>>
>>>>>can someone point me into the right direction?
SharpCoderMP - 25 Jan 2006 16:32 GMT
> The hash would probably work. If the templates are XML files, can you just
> use XML digital signatures?
i don't know :) haven't thought of it. probalby yes. i'll take a look at
the sdk and see which way is better for me. this way or another it looks
like there is quite a few lines of code i'll have to write to make this
work nice and smooth....
after quick glimpse at the sdk it looks like i'll have to store the key
*and* the signature on the "behind the scenes" machine and test parts of
the final data with it. sounds easy :P but needs some aditional coding
to extract template data from the final data.
> The idea would be that you would ensure that they are placed on the local
> file system signed and would then verify the signatures before using them.
[quoted text clipped - 101 lines]
>>>>>>
>>>>>>can someone point me into the right direction?
Joe Kaplan (MVP - ADSI) - 25 Jan 2006 17:28 GMT
That sounds basically right. Good luck. I hope you find a solution you
like.
Joe K.
> i don't know :) haven't thought of it. probalby yes. i'll take a look at
> the sdk and see which way is better for me. this way or another it looks
[quoted text clipped - 5 lines]
> the final data with it. sounds easy :P but needs some aditional coding
> to extract template data from the final data.