Sunday, July 19, 2015

Bit Chat v3.1 Released

Technitium Bit Chat is a secure, peer-to-peer (p2p), open source instant messenger designed to provide end-to-end encryption. Primary aim of developing this instant messenger is to provide privacy which is achieved using strong cryptography. It can be used over Internet and private LAN networks for instant messaging and file transfer.

Technitium Bit Chat version 3.1 (alpha) is now available to download from the main website and via automatic update mechanism for existing installations. The software checks for new update automatically with every start but, you can also use the Check For Updates option in the main menu to get an update instantly.

The latest update includes many changes which are not compatible with previous versions, due to this, all peers will need to update to the latest version to be able to chat. New features in this update are mentioned below:

  • One-to-one private chat feature is added in addition to the existing group chat feature. This feature will allow users to do one-to-one secure chat by entering each other's email address and an optional shared secret.
  • Profile certificate registration process now allows you to import RSA private key in PEM format. So, you can use an existing key or generate a new key using OpenSSL and import it.
  • Profile certificate now can be reissued with ease using new Reissue button in profile manager. This feature allows you to make changes to your profile data, keeping the same email address and profile settings intact.
  • Additional authentication feature added in the protocol to verify if the peer has generated the same master key during the protocol handshake.
  • User typing notification feature added to let you know when peer on opposite end is tying message.
  • Copy files and paste it into the message text box to share them instantly.
  • User profile viewer now displays the cipher suite being used to secure the peer-to-peer communication.
  • Improved local peer discovery design implemented to avoid periodic announcements on local LAN. This module allows peers to discover each other over LAN networks to allow communication over private network without Internet connectivity.

And as always, send your feedback to support@bitchat.im.

Sunday, June 21, 2015

Bit Chat Version 3.0 Released With Upgraded Cryptography!

Technitium Bit Chat version 3.0 (alpha) is now available to download from the main website and via automatic update mechanism for existing installations. The software checks for new update automatically with every start but, you can also use the Check For Updates option in the main menu to get an update instantly.

The latest version has protocol level updates which makes it incompatible with the previous versions and thus all peers must use the updated version to be able to chat. You wont notice any changes in the user interface (UI) since the changes are only related to the protocol.

The primary aim of this update is to improve the cryptography implementation used in Bit Chat. The newly added code provides strong cryptography with following features:
  • The new protocol (v3) implements Perfect Forward Secrecy (PFS) using Elliptic Curve Diffie-Hellman (ECDHE_RSA 256bits) and Diffie Hellman (DHE_RSA 2048bits) for ephemeral key exchange mechanism with RSA for authentication using certificate (Bit Chat profile certificate). Mono framework doesn't implement ECDHE algorithm and hence Linux version of Bit Chat can use only DHE algorithm while Windows version of Bit Chat is able to use both the algorithms. AES 256bits in CBC mode is used to encrypt the data as it was in previous protocol.
  • Key re-negotiation feature is added to protocol to negotiate new ephemeral key for data encryption based on time and data transferred. This allows the encrypted data channel to remain always ON while ensuring the protocol security by using different ephemeral keys.
  • Authenticated encryption (Encrypt-then-MAC) is implemented using HMAC-SHA256 to check if the encrypted data was authentic (that is, to check if the encrypted data was modified in any manner while in transit).
  • In addition to profile certificate based authentication, pre-shared key is used to establish the encrypted channel. The pre-shared key used here is the Group Chat password that was set while creating the chat. So, using a password for your Group Chat will improve the protocol security.
  • The security of encrypted profile file (which is stored on your computer and contains your RSA private key for the profile certificate) is also improved by implementing PBKFD2 using HMAC-SHA256 with 200,000 iterations. This implementation will improve security of the file against password cracking or brute force attacks.

The above features updates are in addition to the existing ones listed below:
  • Peer-to-peer architecture similar to how Bittorrent works. Infact, Bit Chat uses Bittorrent trackers to find peers in your group chat. So, you connect directly to peers without any server in the middle! Another advantage is that the data is routed through shortest path, that is, if your friend uses Internet from the same service provider as that of you, then the communication is not going to leave the local network of the service provider. And if your friend is on private LAN network, the communication stays in the private network itself, so you don't even need Internet for private LAN chat!
  • A complete end-to-end encryption with digital certificate (profile certificate) based authentication combined with peer-to-peer network means nobody can snoop on your messages and you can ensure the identity of your friends.
  • Transfer huge files with ease! All peers in the group that participate in file transfer share the bandwidth. It works similar to how files are shared using Bittorrent but, in a close group of users. Also, files transfered are encrypted just like your messages.

The source code is updated on GitHub and you can inspect the TechnitiumLibrary.Security .Cryptography project for verifying the implementation. And as always, send your feedback to support@bitchat.im.

Tuesday, May 12, 2015

Running Bit Chat on Ubuntu Linux

This post is written for Ubuntu Linux but, you can easily follow similar steps on your favorite distro. Technitium Bit Chat is developed in c# and requires you to have Mono Framework installed on Linux to run it.

Start Terminal and follow the steps below to run Bit Chat on Ubuntu:
  1. Download Bit Chat from the website using wget as shown below.
    $ wget https://technitium.com/download/bitchat/linux/BitChatSetup.tar.gz
  2. Extract the files and run install.sh as root.
    $ tar -xvzf BitChatSetup.tar.gz
    $ cd BitChat
    $ sudo ./install.sh
    
  3. To run Bit Chat each time do following:
    $ ./start.sh
    
The install.sh is not really an application installer. It will just help you to install mono-complete and import root certificates. Below is the install.sh file contents if you wish to run the commands manually.
#!/bin/sh

apt-get install mono-complete
mozroots --import --ask-remove

./start.sh
If you encounter the below error message during Profile Certificate registration, it means the mono framework's root certificate store is empty. Due to this, mono applications won't trust any SSL certificate and you will see this error for every HTTPS website that gets called by a mono application.
Technitium Bit Chat Profile Registration Error
Technitium Bit Chat Profile Registration Error

To resolve this error you need to import root certificates as shown below:
$ sudo mozroots --import --ask-remove
For any related queries, feel free to comment on this post.

Sunday, May 10, 2015

Technitium Bit Chat Released!

I am happy to announce the release of Technitium Bit Chat which is currently available for both Windows and Linux platforms. Version 2.1 (alpha) can be downloaded from here. You will need Mono Framework to run it on Linux.

Technitium Bit Chat
Technitium Bit Chat

Introduction

Technitium Bit Chat is a secure, peer-to-peer (p2p), open source instant messenger designed to provide end-to-end encryption. Primary aim of developing this instant messenger is to provide privacy which is achieved using strong cryptography. It can be used over Internet and private LAN networks for instant messaging and file transfer.

The architecture is designed keeping in mind the security principle that everybody is secure or no one is. There is no meta data generated when you use Bit Chat. The only thing that we know, is the email address of the user who registered for a digital certificate. The digital certificate tells that the email address was verified, which is similar, in concept, to any domain validated SSL certificate issued to a website.

Development is still in progress and new features will be made available as an when they are coded. The software has automatic update feature which will keep you updated with latest version available.

Read Frequently Asked Questions (FAQ)

Features

  • Provides end-to-end encryption using peer-to-peer technology, designed for privacy, delivered using strong cryptography.
  • Many-to-many group chat using peer-to-peer technology, so no servers involved in message delivery!
  • Can be used as a LAN chat instant messenger in your private LAN network the same way you can use it on the Internet.
  • Allows file transfer which works similar to torrents. File is split in parts and each peer participating the file sharing distributes different parts to each other. This leads to better network bandwidth utilization.
  • Each user has to perform a one-time profile registration. A profile digital certificate is issued to each user after email address verification. So, you can make sure that the person on the other side is really your friend by checking the profile email address.
  • Profile digital certificate is signed using RSA 4096bit key and SHA-256 hash algorithm.
  • Profile data is stored securely on your computer by encrypting with a profile password. So all your settings are encrypted using AES-256 encryption.
  • The peer-to-peer connection is completely encrypted using AES-256.
  • Automatic port forwarding using UPnP implemented for your home router/access point.
  • Automatic software update to keep you updated with the latest version.

The Concept

Since the software architecture is peer-to-peer, the usual concept of having a 'username' and 'password' for authentication and identification doesn't work here. There is no 'log in' or 'log out' here in that sense, due to the fact that there are no centralized servers involved to do the logging! Nobody knows if you left the chat group or you just went offline, unless of course, you tell them that yourself!

To understand this better, just imagine meeting with one or more friends at a place. You call up the people willing to meet and tell them a location and time. Everyone gets to the decided location, have fun and leave.

Bit Chat is exactly the same thing just over Internet. You email or message your friends and ask them to come on Bit Chat and give a chat group name. Everyone starts their client and join a chat with the decided name. The software does its peer-to-peer connectivity and everyone is connected to each other. Then you chat, transfer files, go offline and come back again to same chat group later or leave the chat group.

To make sure the identity of the peer in your group, you can check the email address of the peer. Each peer has to register for a profile certificate which is basically a digital certificate issued after email address verification. So, the email address in the profile certificate helps you make sure that you are chatting with the right person.

A chat group name is converted into an identifier which each peer in group tries to connect to using Bit-torrent trackers. Thus anyone who enters a chat group will get connected to other peers with the same chat group name. To avoid connecting to unintended people on the Internet, you can set an optional password or a shared secret to the chat group. The password will be used to generate the identifier for the chat group and only the people who enter a correct group name and password combination will be able to connect to each other. So, if you suddenly see some unknown people joining your group, don't panic, just leave current chat group and create another group with a different password.

The messenger connects each peer in a chat group in a mesh network topology, that is, a peer is connected to all other peers in that chat group to form a network. To find a peer on the Internet, Bit-torrent trackers are used and to find peers on local network, local peer discovery via UDP broadcast is used. If you are behind a router, you can enable UPnP feature in the router or access point and Bit Chat will do automatic port forwarding for you.

The network strength icon against each person's name indicates the current status of connectivity of that person. If the icon is green, it means, the peer is connected to all other peers in the group. An orange icon will indicate that the peer is not connected to someone in the group. You can click on any of the peers and check to whom they are connected to and to whom they are not.

It is important to note that, for Bit Chat to work successfully, at least one person in your chat group must be able to accept incoming TCP connection. If UPnP feature is available in your router/access point, automatic port forwarding will be performed. Otherwise, you will need to manually configure port forwarding. Bit Chat is designed to allow virtual connections to be made via another peer thus, just one peer able to accept incoming connection will make the entire chat group to work well.

In Windows, automatic firewall configuration feature will add entries for the application to accept incoming connections. For Linux, if there is any firewall configured, you will need to perform manual configuration to allow the software to accept incoming connections.

Features Planned

There are many features that are thought about to be implemented in Bit Chat however, following list gives some of the important features that are planned. There are no timelines for the implementation but they will be made available as soon as the implementation is completed.

  • NAT-PMP port mapping support.
  • Distributed Hash Tracking (DHT) support to rely less on torrent trackers.
  • One-to-one voice chat.
  • Emoticons support.
  • Alternate display name and profile picture support.
  • Store chat messages in the encrypted profile file.
  • Android mobile app with all the features.

Open Source

Technitium Bit Chat source code is available under GNU General Public Licence v3 on GitHub. The software code is made open source to increase confidence in the security that we intend to provide.

Alpha Version

Technitium Bit Chat current release is in alpha version. This means the software is not fully complete and will undergo major changes in its protocol or user interface design. There may be noticeable bugs which will be addressed with an automatic update. You are welcome to report any issues by sending an email to support@technitium.com.

Further, you may like to read the original concept in this old blog post.

Sunday, March 22, 2015

Technitium MAC Address Changer v6.0.6 Released

New update for Technitium MAC Address Changer is available for direct download and via Automatic Updates. You can download the complete setup from here. Separate update is available to download from here.

Official torrent for the complete setup can be downloaded from this magnet url.

The software will check for update automatically as per a fixed schedule. If you want the update before the automatic update triggers, just start the software, click on Help > Check For Software Updates menu to get it done instantly.

This update fixes minor bugs including an error that occurs while updating OUI file into local database from IEEE.ORG.

If you find any problem with the latest update just post a comment below. You may send screenshot(s) of the software if there is any critical issue to support (at) technitium (dot) com.

Tuesday, June 10, 2014

Fixing Wrong Original MAC Address in TMAC

If you believe TMAC is displaying incorrect original MAC address then you can fix this by using following command:

tmac -n Local Area Connection -ro

Checkout this link for more info on TMAC command line options.

Note: Make sure that you run CMD.exe as administrator. To do so, right click on the CMD icon and click 'Run as administrator' option.


Sorting TMAC Installation Failure

In certain scenario, its possible that TMAC fails to install due to misconfiguration or missing components on your computer. This small post will describe how to resolve this issue.

You will first need to uninstall TMAC completely from your system if it got partially installed. Check files in the installation folder that you can find under Program Files (x86) folder and delete them. You then have to find and delete following files from your computer:

MSCHRT20.OCX
MSCOMCTL.OCX
TABCTL32.OCX

After deleting above files, run the TMAC installer again. The above method should fix the installation issue.

Saturday, December 21, 2013

Technitium.com Listed In Nmap's 'Icons of the Web' Project!

The Nmap Project released the 'Icons of the Web' project, which is a 5 gigapixel image containing favicon of popular websites (as ranked by Alexa).

I am happy to announce that Technitium.com is listed as a popular favicon in the 5 gigapixel image!

The icons are scaled in the image as per each site's monthly reach (popularity).You can have a look at the image here: http://nmap.org/favicon/?search=technitium.com

The project is an update to a similar project Nmap had performed in 2010. It was very popular and was mentioned in the New York Times and also got its place in Guinness Book of World Records.

Thursday, October 31, 2013

Technitium.com Hosting Down Temporarily [Updated]

Technitium.com is down due to issue at web hosting service provider end. The site will be made working as soon as new web hosting provider is selected.

Mean while you can download Technitium MAC Address Changer via Torrent or via Download.com

Will update the status on this soon.

Update:
Website is up and running with exception to file downloads. You can download the latest version from Download.com.

Sunday, October 20, 2013

Technitium MAC Address Changer v6.0.5 Released

New update for Technitium MAC Address Changer is available for direct download and via Automatic Updates. You can download the complete setup from here. Separate update is available to download from here.

Official torrent for the complete setup can be downloaded from here.

The software will check for update automatically as per a fixed schedule. If you want the update before the automatic update triggers, just start the software, click on Help > Check For Software Updates menu to get it done instantly.

This update fixes minor bugs including an error that occurs while updating OUI file into local database from IEEE.ORG.

If you find any problem with the latest update just post a comment below. You may send screenshot(s) of the software if there is any critical issue to support (at) technitium (dot) com.