Tiny Core Linux

General TC => General TC Talk => Topic started by: concom on November 06, 2012, 07:21:35 AM

Title: Realisation of a Context Computer based on Tiny Core Linux
Post by: concom on November 06, 2012, 07:21:35 AM
Questions to the TCL developers

In connection with our reflections on the implementation of contexts in dynamically configurable computers (see www contextcomputer.org) we came across your developments to Tiny Core Linux.
Taking a closer study of TCL, we got the impression that your work on TCL has a similar motivation as our work on context computers and that, therefore, our approaches could complement each other. In our paper Realisation of a Context Computer based on Tiny Core Linux we outlined how this could be done. Since we are no recognized Linux experts, we are not sure how far we have succeeded. We would, therefore, be grateful if you could look closer at our attempt and provide answers to the following questions:

1. Is our mapping of context computer constructs to TCL runtime constructs appropriate or should we choose another mapping?
2. Can the TCL boot process be modified in such a way
that it supports the two-step login process (subject login followed by a context-login) as it is favourable for Context Computers;
that TCL runtime environments for contexts can be generated automatically from the corresponding context configuration files?
3. For each context, a protection level (low, medium, high, very high) is defined that is to be realised by corresponding security packages (S1, S2, S3, S4). These security packages by which security capsules are made around contexts would have to be integrated into the corresponding TCL runtime environments. How could this best be done?
4. In accordance with the security requirements of their context, context-bound resources have to be stored encrypted to ensure that they are not usable outside of their context capsule. How can the decryption and encryption be automated, independently of the user?
Title: Re: Realisation of a Context Computer based on Tiny Core Linux
Post by: Lee on November 07, 2012, 04:22:40 PM
I think some Tiny Core users are running special instances of Tiny Core in VMs for such uses as secure web browsing (banking and such), but I don't recall reading of anyone putting as much thought into it as you apparently have or as much effort as you seem to be planning.  I haven't found it necessary to go to even that extent, though I have taken a few steps to keep my web browsing "safe".

I'd be interested to hear more about your project as it advances.

I've downloaded your pdf file ("Realisation of a Context Computer based on Tiny Core") and visited your web page but I haven't really grasped all of the ideas well enough to make any kind of statements about the mapping of CC constructs - and I'm not the one to answer your questions anyway.  I suspect you could use Tiny Core as a starting point for what you are building and massage it into a Context Computer OS - but how much work would that take and how much would it still resemble Tiny Core in the end are big questions.
Title: Re: Realisation of a Context Computer based on Tiny Core Linux
Post by: concom on November 12, 2012, 06:56:48 AM
Thank you for your response.
To motivate the ideas of the concept "Context Computer" (abbreviated as CC), let me start with a general remark: suppose that we could protect all the resources in the world. This project would not only fail because of the huge number of the resources, but also because of their interdependencies and even contradictions in use.
Therefore, we must have formal criteria by means of which we may separate the required resources from those that are not needed. Such criteria should be able to reduce the resources we have to look for and show the interdependencies between the required resources. Even more, no contradictions in use should happen.

For example, if you plan to bake a Sacher torte (work context “Sacher torte”), you need a certain amount of flour, eggs, chocolate, sugar, etc. (context-bound resources).  Furthermore, you need someone who can bake a Sacher torte. Which in turn requires - so that he can play his role as a pastry chef - equipment to produce the dough. In addition, it requires an oven and possibly other objects that he receives from a pool of freely available resources (context-free resources). After work (i.e. after the termination of the work context session) he puts it back in the pool of context-free resources (clean, so no signs of wear!)

Remark:
If a text editor (instead of an oven, for example) is taken back in the pool of context-free resources, this is done with no signs of wear (e.g. no temporary files must exist).

Getting back to the Internet. Just now the work context was to bake a Sacher torte, now online banking may be the work context chosen. Here again, the user - in the role of the customer - needs very little of the superabundance of functions and their options available on the Internet. It must not be that programs are loaded while running an online-banking session or that communication paths can be opened to all and sundry. In the work context “online banking” the computer must serve no other purpose (for example, not to take a camera or a microphone in operation)! After the termination of the session, the computer can be configured to a different work context.
Many tasks can be clearly defined and the exact amount of resources needed can be identified. Each of these tasks represents a work context, and the computer can be configured with respect to this context (see the examples in “Realisation of a Context Computer based on Tiny Core Linux”). Now it is much easier for the experts to gain an understanding and to understand the scope of the effects of protective mechanisms.
How should computers be structured to realise work contexts? The answer is: the logical structure of a computer should follow the architecture of a context computer. Please note, that this architecture does not imply an implementation structure! The mapping from CC to TCL may serve as an example.
In terms of context computers, all resources needed to run a specific work context are described in the associated configuration file. From this file, an appropriate runtime environment is generated in an automatic way.
In terms of TCL, this information is recorded in (see administration context in “Realisation of a Context Computer based on Tiny Core Linux”):
hda1/tce/mydata.tgz: Context-Configuration-Files for the contexts AC, Co1, Co2, Co3

Would it be possible in TCL to generate with the aid of this information, an appropriate runtime environment?