Forums | developer.brewmp.com Forums | developer.brewmp.com

Developer

Forums

Forums:

Currently, I have an application that does a number of things:
1. Contains a UI for managing a user's account on a web server.
2. Contains a "background" process that monitors phone usage and reports to same server.

Despite my best efforts to make the application work in both modes (foreground UI and background "witness"), the application continues to exhibit some strange properties (wakes up from background and opens display from time to time).

I am considering an alternate design:
UI App --> Extension
Witness --> Extension

Three components where once there was one. The Extension would consist of common routines used by both components which includes file i/o operations and some security information used to authenticate to the web server. So, security of the extension (access by other applications) is of paramount concern to me. I believe I want the extension to be protected and dynamic.

Questions:
1. Can I prevent others from using my extension? Strictly speaking, a clever individual could reverse engineer or steal the extension's header file, in which case they can call it. Protected extensions are not really protected, if I understand protection, correctly, since the calling app can check the appropriate box in the MIF.
2. Does my protected extension need to pass TBT as a separate module? Have I just created three TBT projects instead of two (formerly, one)?
3. File security and scope is limited to calling application's scope, so in this regard, we have security. However, how do I get both applications to live in the same security/scope? I would like the two applications to co-exist on the phone and use the same files and security setup.

Thank you.

Quote:1. Can I prevent others from using my extension? Strictly speaking, a clever individual could reverse engineer or steal the extension's header file, in which case they can call it. Protected extensions are not really protected, if I understand protection, correctly, since the calling app can check the appropriate box in the MIF.
You'll need to set a dependency in your MIF for a protected extension. If the extension is protected, it is only available to the extensions manufacturer when the application is submitted for TBT. More info here: https://brewx.qualcomm.com/bws/content/dx/docs/developercontent/80-D7459...
Quote:2. Does my protected extension need to pass TBT as a separate module? Have I just created three TBT projects instead of two (formerly, one)?
Nope, only if it is public.
Quote:3. File security and scope is limited to calling application's scope, so in this regard, we have security. However, how do I get both applications to live in the same security/scope? I would like the two applications to co-exist on the phone and use the same files and security setup.
File security is controlled through BREW ACLs. You can define groups (class IDs) who can access certain files or directories (defined in the MIF). Then an application must list this group in their MIF file to access those files/directories. BREW offers the standard type of security: r, rw, etc...

Quote:1. Can I prevent others from using my extension? Strictly speaking, a clever individual could reverse engineer or steal the extension's header file, in which case they can call it. Protected extensions are not really protected, if I understand protection, correctly, since the calling app can check the appropriate box in the MIF.
You'll need to set a dependency in your MIF for a protected extension. If the extension is protected, it is only available to the extensions manufacturer when the application is submitted for TBT. More info here: https://brewx.qualcomm.com/bws/content/dx/docs/developercontent/80-D7459...
Quote:2. Does my protected extension need to pass TBT as a separate module? Have I just created three TBT projects instead of two (formerly, one)?
Nope, only if it is public.
Quote:3. File security and scope is limited to calling application's scope, so in this regard, we have security. However, how do I get both applications to live in the same security/scope? I would like the two applications to co-exist on the phone and use the same files and security setup.
File security is controlled through BREW ACLs. You can define groups (class IDs) who can access certain files or directories (defined in the MIF). Then an application must list this group in their MIF file to access those files/directories. BREW offers the standard type of security: r, rw, etc...