Apps Messaging: security

John Taylor jontayler at gmail.com
Tue Apr 10 05:08:44 PDT 2007


On 10 Apr 2007, at 12:59, Mark Taylor wrote:

> On Fri, 6 Apr 2007, John Taylor wrote:
>
>> Security
>> ------------
>> The question of applications spoofing one another has come up a  
>> few times.
>> While I don't really believe it's a serious risk (those astronomers -
>> they're such jokers!), I set out below a simple modification to  
>> the above
>> protocol that would make it more secure.  This is  based on  
>> proposals by
>> Mark Taylor in discussions we had a year ago - if they don't make  
>> any sense
>> then blame my faulty memory rather than Mark.
>>
>> The register operation could be changed as follows:
>> (id, application-secret) = register*(hub-secret)
>>
>> The hub-secret is a secret that can only be easily known by  
>> applications
>> running under the user's uid and is intended to defeat other users  
>> on the
>> same machine who might try (e.g.) port scanning.  For instance, it  
>> could be
>> a random string written into the .ivoamsg file.  The application- 
>> secret is a
>> per-application secret that apps must keep track of and use along  
>> with their
>> id to identify themselves.  Thus, operations 2-8 would all include  
>> this as
>> an extra parameter (though it wouldn't be transmitted to any  
>> receiving
>> application by the hub.)  This prevents Topcat pretending to be  
>> Aladin and
>> vice versa (you guys!).
>
> John,
>
> I think this is what I proposed before, but if we're starting from
> scratch it can be a bit simpler: the register message is
>
>    secret-id = register*(hub-secret)
>
> and the returned secret-id is used, as per your existing method  
> signatures, as sender identification for every communication  
> between the application and the hub, e.g.
>
>    unregister(secret-id)
>
> this application secret-id is never seen by any other application  
> though.  The hub will maintain a separate and parallel list of ids
> which serve as public identifiers for each application to use for
> instance as return values for the getApplicationIds() method.

Good point - I'll make that change.  Can you think of a situation  
where an application would need to know its own public-id?


>
> Mark
>
> -- 
> Mark Taylor   Astronomical Programmer   Physics, Bristol  
> University, UK
> m.b.taylor at bris.ac.uk +44-117-928-8776 http://www.star.bris.ac.uk/ 
> ~mbt/
>



More information about the apps mailing list