В iframe:
parent.postMessage(JSON.stringify({key: 'value'}), 'http://адрес-родительского-окна');
Вторым параметром в postMessage можно передать '*' - тогда сообщение будет доступно для всех окон.
Сериализация в JSON первого параметра нужна для поддержки IE ниже не то 8 не то 9 версии, точно не вспомню. 
В родительском окне:
function handlerMessage(e){
    var data = JSON.parse(e.data);
    var origin = e.origin;
    if(origin !== 'http://адрес_iframe'){
        return false;
    }
    // здесть можно использовать data как объект.
}
if(window.addEventListener){
    window.addEventListener('message', handlerMessage);
} else {
    window.attachEvent('message', handlerMessage);
}
Код на 100% рабочий, с боевого проекта.