Monday, 9 July 2012

Use of CAPTCHA

CAPTCHA stands for Completely Automated Public Turing Test to Tell
Computers and Humans Apart (Pinkas and Sander, 2002). In this scheme,
some challenge is put forward to the user while attempting to login. It has
been established that these challenges, for example a distorted and
cluttered image of a word with textured background, are easy for humans
to respond but rather difficult for computers (an online attacker is
essentially a programmed computer) to answer. Until recently, this scheme
was an effective countermeasure against online dictionary attacks.
However, due to recent developments in Artificial Intelligence and Computer
Vision, programs are available which can quickly interpret and answer these
challenges. EZ-Gimpy and Gimpy for example are word based CAPTCHAs
that have been broken by Greg Mori and Jitendra Malik of UC Berkeley
Computer Vision Group (Berkeley, 2004). Due to these developments, even
CAPTCHA is not considered to be a secure technique to prevent online
dictionary attacks.



A few major web based service providers who were earlier using the
CAPTCHA technique have now resorted to highly inconvenient account
locking in order to counter online dictionary attacks. Clearly, a better and
elegant method for solving this pressing problem is required.

Sunday, 8 July 2012

Multicast for Multirate Wireless LANs

Most research efforts on multicasting in IEEE 802.11
WLANs have focused on improving the service reliability by
integrating ARQ mechanisms into the protocol architecture.
The Leader-Based Protocol (LBP) ARQ mechanism has
been introduced to provide the multicast service with some
level of reliability. To address the ACK implosion problem,
LBP assigns the role of group leader to the multicast receiver
exhibiting the worst signal quality in the group. The group
leader holds the responsibility to acknowledge the multicast
packets on behalf of all the multicast group members, whereas
other MTs may issue Negative Acknowledgement (NACK)
frames when they detect errors in the transmission process.

The 802.11MX reliable multicast scheme described in
uses an ARQ mechanism supplemented by a busy tone signal.
When an MT associated to a multicast group receives a
corrupted packet, it sends a NACK tone instead of actually
transmitting a NACK frame. Upon detecting the NACK tone,
the sender will retransmit the data packet. Since the 802.11MX
mechanism does not need a leader to operate, it performs
better than the LBP protocol in terms of both data throughput
and reliability. However, this mechanism is very costly since
it requires a signaling channel to send the NACK frames and
busy tones. Moreover, both LBP and 802.11MX schemes do
not adapt the multicast PHY rate to the state of receivers.

Very recently, the RAM scheme has been proposed in
for reliable multicast delivery. Similar to the LBP and
802.11MX schemes, the transmitter has first to send a RTS
frame to indicate the beginning of a multicast transmission.
However, in RAM the RTS frame is used by all the multicast
receivers to measure the Receiver Signal Strength (RSS).
Then, each multicast receiver has to send a variable length
dummy CTS frame whose length depends on the selected
PHY transmission mode. Finally, the transmitter senses the
channel to measure the collision duration and can adapt the
PHY rate transmission of the multicast data frame accordingly.
This smart solution is more practical than 802.11 MX since
it does not require a signaling channel but still requires the
use of RTS/CTS mechanism and targets reliable transmission
applications.

In SNR-based Auto Rate for Multicast (SARM) is
proposed for multimedia streaming applications. In SARM,
multicast receivers measure the SNR of periodically broadcast
beacon frames and transmit back this information to the AP.
To minimize feedback collision, the backoff time to send
this feedback increases linearly with the received SNR value.
Then, the AP selects the lowest received SNR to adapt the
PHY rate transmission. The main problem with this approach
is that the transmission mode cannot be adapted for each
multicast frame. The multicast PHY rate of SARM is adapted
at each beacon intervals. SARM does not make use of any
error recovery mechanism, such as, data retransmission.

Note that at the exception of RAM and SARM, the mechanisms
just described above only focus on solving the reliability
of the multicast service in WLANs. Only RAM and SARM
adapt the PHY transmission rate of the multicast data frames.
In this paper, we define an architecture by integrating the
following facilities: 1) the optimal channel rate adaptation
of the multicast service in IEEE 802.11 WLANs, 2) a more
reliable transmission of the multicast data, 3) the limitation
on the overhead required by the signaling mechanism, and
4) the support of heterogeneity of receivers by using different
multicast groups and hierarchical video coding. The definition
of the proposed cross layer architecture is based on the
multirate capabilities present in the PHY layer of IEEE 802.11
WLANs.

Saturday, 7 July 2012

Contextual e-Commerce Knowledge

Contextual e-Commerce Knowledge (CCK) in the
negotiation life cycle contributes to the formation of the
fundamental knowledge framework of the current negotiation
context. It mainly includes buyer’s RFQ, supplier’s quotes,
negotiators’ profiles, and negotiation traces.


The proposed negotiation model supports multi-attribute
RFQ. Typically a buyer creates a RFQ for a procurement
request of product, be it either a goods or service. The RFQ
consists of a list of attributes describing the product. Each
attribute makes a reference to a physical characteristic or
negotiable condition or term. Supplier’s quote is created
respectively based on what he can offer and what the RFQ is
requesting. Proposals are messages bids exchanged between

two negotiating parties. For every proposal, the buyer will
refer to the original set of attributes from RFQ, update the
values of the attributes accordingly. This will repeat during
the bargaining process. An agreement is the final proposal
agreed by both parties if the negotiation succeeds at the end.


In general we use proposal or bid to denote RFQ, quote,
agreement, and contract. Not only that all types of proposals
are defined within the appropriate domains, each proposal is
subject to a particular concept. A concept in the procurement
context is the buyer or supplier’s perception of the product
specified in the proposal. For example, it is a norm for
suppliers to consider purchasing orders that could only be
fulfilled by a stringent time constraint. For orders that must
meet a deadline, we call them urgent orders otherwise normal
orders. Therefore we have two concepts urgent and normal in
this case. They have different specifications, e.g. a large
quantity is not required if the materials cannot be delivered on
time for the forthcoming round of production, and a discount
is not of a relevant attribute for negotiation in urgent orders.
The supplier can then specify the conditions under which a
specific concept could be offered. By preparing the possible
concepts, their corresponding specifications, and associated
constraints in advance, the process for choosing the best deal
could be delegated to the negotiation agents rather than
involving both the supplier and buyer in time-consuming
negotiation rounds.

Traders’ profiles are established to keep track of both buyer
and supplier’s information. In our negotiation model which is
buyer-centric, buyer’s profile is created to describe the
common procurement preferences of a specific buyer.
Supplier’s profile is created to record the supplier’s credit
which is used for assessment of a particular suppler by the
buyer. It is also used for the buyer to choose the appropriate
negotiation strategy in negotiating with the supplier.

A negotiation trace is a log of all the messages exchanged
between two negotiation partners in a negotiation process. For
successful negotiation in which an agreement is produced in
the end, the negotiation trace contains useful knowledge
describing the nature and progress of the negotiation.

Tuesday, 3 July 2012

EMBEDDED PROCESSING ARCHITECTURES FOR SECURITY

In the past, embedded systems tended to perform one or a few fixed functions.
The trend is for embedded systems to perform multiple functions and
also to provide the ability to download new software to implement new or
updated applications in the field, rather than only in the more controlled environment
of the factory. While this certainly increases the flexibility and
useful lifetime of an embedded system, it poses new challenges in terms
of the increased likelihood of attacks by malicious parties. An embedded
system should ideally provide required security functions, implement them
efficiently and also defend against attacks by malicious parties. We discuss
these below, especially in the context of the additional challenges faced
by resource-constrained embedded systems in an environment of ubiquitous
networking and pervasive computing.

Figure 1 illustrates the architectural design space for secure embedded
processing systems. Different macro-architecture models are listed in the
first row, and described further below. These include embedded general
purpose processor (EP) vs. application-specific instruction set processor
(ASIP) vs. EP with custom hardware accelerators connected to the processor
bus, etc.). The second row details instruction-set architecture and
micro-architecture choices for tuning the base processor where appropriate.
The third row articulates security processing features that must be chosen
or designed. For example, choosing the functionality to be implemented
by custom instructions, hardware accelerators or general-purpose instruction
primitives. The fourth row involves selection of attack-resistant features
in the embedded processor and embedded system design.
This may include an enhanced memory management unit to manage a secure
memory space, process isolation architecture, additional redundant circuitry
for thwarting power analysis attacks, and fault detection circuitry.

Figure 1: Architectural design space for secure information processing

Sunday, 1 July 2012

SCATTERNET PROTOCOL

We developed a new scatternet protocol (SNP) layer that
makes the Bluetooth communication transparent. A user who
wants to send data to any other device in a Bluetooth network
simply sends a packet with the address of the receiver
into the network. The SNP is responsible for finding the
shortest path through the network and to guarantee that the
packet is received by the target device. When the network
is changed the SNP is adapting and learning new paths.
Only local information is used to find the shortest path.
The SNP extracts the routing information by looking at
the data packets that are passing the Bluetooth device it
is running on. The SNP also supports broadcasts and gives
full remote control for all connected Bluetooth devices. This
allows a user to control all Bluetooth devices in a scatternet
from a single host device. To support these functionalities
we added three new mechanisms to the original Bluetooth
stack: (1) SNP addresses are new user defined addresses. (2)
SNP packets are responsible to carry the payload through
the scatternet. (3) SNP friend tables contain local routing
information that is used to forward the SNP packets towards
the receiver.


Fig. 1. SNP packets. The header contains 5 Bytes specifying the command,
the SNP addresses of the receiver and sender, the number of hops a packet
was traveling as well as 1 Byte giving the amount of payload that the packet
contains.

Wednesday, 27 June 2012

Bynum about Computer Ethics

In 1989 Terrell Ward Bynum developed another broad definition of
computer ethics following a suggestion of Moor in 1985. According to
this view, computer ethics identifies and analyzes the impacts of
information technology on such social and human values as health,
wealth, work, opportunity, freedom, democracy, knowledge, privacy,
security, self-fulfillment, etc. This very broad view of computer ethics
employs applied ethics, sociology of computing, technology assessment,
computer law, and related fields. It employs concepts, theories, and
 methodologies from these and other relevant disciplines. This conception
of computer ethics is motivated by the belief that – eventually – information
technology will profoundly affect everything that human beings hold dear.

Monday, 25 June 2012

Shared Queue Pattern

In many parallel algorithms, a queue is very common data structure that is
to be shared among multiple units of execution (UE). For example, many
graph traversal algorithms maintain a queue that contains a set of vertexes
that need to be traversed in the next span. Parallel graph traversal involves
efficient sharing of the queue among concurrent UEs. Also, a task queue
is commonly used as a scheduling and load‐balancing framework,
which implements the Master/Worker pattern.

Forces

1. Simple protocols vs. increased concurrency: Simple concurrency‐control
protocols employing a single synchronization construct are easy to implement
correctly and hence are less error prone. However, if concurrency‐control
protocols encompass too much of the shared queue in a single synchronization
construct, they will increase the chances that UEs will remain blocked waiting to
access the queue and will limit available concurrency. On the contrary, if the
protocols are finely tuned, they will increase the available concurrency but such
tuning requires more synchronization constructs getting complicated, thus more
error‐prone.

2. Single queue abstraction vs. multiple queue abstraction: Depending on
the memory hierarchy of the underlying hardware and on the number of UEs,
maintaining a single queue can cause excess contention and increase parallel
overhead. Solutions may need to break with the single‐queue abstraction and
use multiple or distributed queues.