blob: 70af8f19f4da0acb8eb64e3b46fef05b4c40c25c [file] [log] [blame]
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
# Begin: page-specific settings. Change these.
$pageTitle = "Equinox Security";
$pageKeywords = "equinox, security";
$pageAuthor = "Equinox committers";
$html = <<<EOHTML
<div id="midcolumn">
<h2>$pageTitle</h2>
<p>To ensure the Equinox runtime (and the Eclipse product) is secure, enabling users and administrators to confidently use and
deploy products built on it in environments where not all users and/or code sources are friendly. Providing integrated security
functionality will allow Equinox and Eclipse-based applications to protect their data, to authenticate and authorize valid users,
and to protect against potentially malicious code packaged and distributed as bundles.
</p>
<h3>Goals</h3>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td width="2%" align=RIGHT valign=TOP><img src="/equinox/images/arrow.png" /></td>
<td width="98%"><strong>Support <u>user credential management</u>:</strong><br>
When dealing with user's credentials - such as passwords, keys, and certificates - applications need to use some form of
secure storage backend for sensitive materials. In the 3.4 release we have added support for 'Secure Storage', a
preferences-style interface that can be used to store encrypted data, such as passwords. Support for integrated management
of other types of credentials, such as keys and certificates, is intended for a future release.
</td>
</tr>
<tr>
<td width="2%" align=RIGHT valign=TOP><img src="/equinox/images/arrow.png" /></td>
<td width="98%"><strong>Provide an extensible <u>user authentication framework</u>:</strong><br>
In many environments, there are applications which require the user to login before interacting with the system, and provide
a different user experience based on the user's login. The Eclipse RCP does not yet support login, and the goal is to provide
a framework that will manage the lifecycle of login for an RCP application. Java provides a pluggable system called the
<a href="http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/JAASRefGuide.html">Java Authentication and Authorization
Service (JAAS)</a>, similar to the <a href="http://www.kernel.org/pub/linux/libs/pam/">pluggable authentication module
(PAM)</a> systems used in many Linux distributions.
In the 3.4 release, we have added support for declarative wiring of JAAS components, a factory for generating context objects
for managing login state, and an event model around the lifecycle of login.
</td>
</tr>
<tr>
<td width="2%" align=RIGHT valign=TOP><img src="/equinox/images/arrow.png" /></td>
<td width="98%"><strong>Enable flexible mechanisms for <u>code authorization</u>:</strong><br>
As the Eclipse platform grows as a basis for rich desktop applications, it will become more of a target for authors of malicious viruses. Java provides mechanisms for
cryptographically signing Jar files, and ships with a powerful architecture for fine-grained code authorization.
<a href="http://en.wikipedia.org/wiki/Sandbox_%28computer_security%29">Sandboxing</a> is done by enabling
a <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityManager.html">SecurityManager</a> and granting
<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/security/Permission.html">Permissions</a> to application code. Eclipse should
provide the ability to enable a SecurityManager and manage Permissions granted to plug-in code via integrated UI. In addition to the
fine-grained <u>run-time</u> but resource intensive mechanisms enabled by Java, Eclipse should also explore less granular but potentially more
performant and manageable authorization mechanisms - such as checking signatures at bundle <u>install-time</u>, or bundle <u>load-time</u>.
</td>
</tr>
<tr>
<td width="2%" align=RIGHT valign=TOP><img src="/equinox/images/arrow.png" /></td>
<td width="98%"><strong>Integrate with and <u>support security-aware projects</u>:</strong><br>
Several Eclipse projects have already expressed interest in
standardized solutions for security fundamentals like the ones listed above. Integrating well with projects like
<a href="http://www.eclipse.org/higgins/">Higgins</a> and the <a href="http://www.eclipse.org/ecf/">Eclipse Communications Framework</a>
is a core goal of the platform security initiative.
</td>
</tr>
</table>
<h3>Community</h3>
<p>We are actively looking for contributors (with or without technology) with interest in this area who are
willing to contribute time and resources.
</p>
</div>
EOHTML;
generateRapPage( $App, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html );
?>