To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Trademark (computer security)

From Wikipedia, the free encyclopedia

A Trademark in computer security is a contract between code that verifies security properties of an object and code that requires that an object have certain security properties. As such it is useful in ensuring secure information flow. In object-oriented languages, trademarking is analogous to signing of data but can often be implemented without cryptography.

YouTube Encyclopedic

  • 1/3
    Views:
    1 534
    5 214
    4 164
  • Oracle Database Advanced Security
  • You Are Hacked: End-to-End Java EE Security in Practice
  • Java EE Security in Practice with Java EE 6 and GlassFish

Transcription

Operations

A trademark has two operations:

ApplyTrademark!(object)

This operation is analogous to the private key in a digital signature process, so must not be exposed to untrusted code. It should only be applied to immutable objects, and makes sure that when VerifyTrademark? is called on the same value that it returns true.

VerifyTrademark?(object)

This operation is analogous to the public key in a digital signature process, so can be exposed to untrusted code. Returns true if-and-only-if, ApplyTrademark! has been called with the given object.

Relationship to taint checking

Trademarking is the inverse of taint checking. Whereas taint checking is a black-listing approach that says that certain objects should not be trusted, trademarking is a white-listing approach that marks certain objects as having certain security properties.

Relationship to memoization

The apply trademark can be thought of as memoizing a verification process.

Relationship to contract verification

Sometimes a verification process does not need to be done because the fact that a value has a particular security property can be verified statically. In this case, the apply property is being used to assert that an object was produced by code that has been formally verified to only produce outputs with the particular security property.

Example

One way of applying a trademark in java:

  public class Trademark {
    /* Use a weak identity hash set 
         instead if a.equals(b) && check(a) 
         does not imply check(b). */
    private final WeakHashSet<?> trademarked = ...;

    public synchronized void apply(Object o) {
      trademarked.add(o);
    }

    public synchronized boolean check(Object o) {
      return trademarked.contains(o);
    }
  }

  public class HtmlSanitizer {
    // The apply operation is kept secret.
    private static final Trademark TM = new Trademark(); 
    public String sanitizeHtml(String rawHtml) {
      // Remove all but safe tags
      String safeHtml = ...;
      // java.lang.String is immutable so can be trademarked.
      TM.apply(safeHtml);
      return safeHtml;
    }
    public boolean isSanitized(String html) {
      return TM.check(html);
    }
  }

External links

This page was last edited on 1 October 2021, at 08:39
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.